1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-03-12 22:35:18 +00:00

Moved some variables away from Global

This commit is contained in:
Manolis Papadeas 2021-11-23 02:36:22 +02:00
parent c921344b04
commit 536250f517
10 changed files with 69 additions and 75 deletions

View file

@ -3,7 +3,6 @@ extends Node
enum GridTypes {CARTESIAN, ISOMETRIC, ALL}
enum PressureSensitivity {NONE, ALPHA, SIZE, ALPHA_AND_SIZE}
enum Direction {UP, DOWN, LEFT, RIGHT}
enum ThemeTypes {DARK, BLUE, CARAMEL, LIGHT}
enum TileMode {NONE, BOTH, X_AXIS, Y_AXIS}
enum PanelLayout {AUTO, WIDESCREEN, TALLSCREEN}
@ -22,11 +21,6 @@ var current_project_index := 0 setget project_changed
var panel_layout = PanelLayout.AUTO
# Indices are as in the Direction enum
# This is the total time the key for
# that direction has been pressed.
var key_move_press_time := [0.0, 0.0, 0.0, 0.0]
# Canvas related stuff
var layers_changed_skip := false
var can_draw := false
@ -35,7 +29,6 @@ var cursor_image = preload("res://assets/graphics/cursor.png")
var left_cursor_tool_texture := StreamTexture.new()
var right_cursor_tool_texture := StreamTexture.new()
var image_clipboard := Image.new()
var play_only_tags := true
var show_x_symmetry_axis := false
var show_y_symmetry_axis := false
@ -115,7 +108,7 @@ var notification_label_node = preload("res://src/UI/NotificationLabel.tscn")
onready var root : Node = get_tree().get_root()
onready var control : Node = root.get_node("Control")
onready var top_menu_container : Panel = control.find_node("TopMenuContainer")
onready var left_cursor : Sprite = control.find_node("LeftCursor")
onready var right_cursor : Sprite = control.find_node("RightCursor")
onready var canvas : Canvas = control.find_node("Canvas")
@ -131,46 +124,36 @@ onready var cameras = [Global.camera, Global.camera2, Global.camera_preview]
onready var horizontal_ruler : BaseButton = control.find_node("HorizontalRuler")
onready var vertical_ruler : BaseButton = control.find_node("VerticalRuler")
onready var transparent_checker : ColorRect = control.find_node("TransparentChecker")
onready var preview_zoom_slider : VSlider = control.find_node("PreviewZoomSlider")
onready var tool_panel : Panel = control.find_node("ToolPanel")
onready var right_panel : Panel = control.find_node("RightPanel")
onready var brushes_popup : Popup = control.find_node("BrushesPopup")
onready var patterns_popup : Popup = control.find_node("PatternsPopup")
onready var palette_panel : PalettePanel = control.find_node("PalettePanel")
onready var top_menu_container : Panel = control.find_node("TopMenuContainer")
onready var rotation_level_button : Button = control.find_node("RotationLevel")
onready var rotation_level_spinbox : SpinBox = control.find_node("RotationSpinbox")
onready var zoom_level_button : Button = control.find_node("ZoomLevel")
onready var zoom_level_spinbox : SpinBox = control.find_node("ZoomSpinbox")
onready var cursor_position_label : Label = control.find_node("CursorPosition")
onready var current_frame_mark_label : Label = control.find_node("CurrentFrameMark")
onready var tool_panel : Panel = control.find_node("ToolPanel")
onready var right_panel : Panel = control.find_node("RightPanel")
onready var tabs_container : PanelContainer = control.find_node("TabsContainer")
onready var recent_projects_submenu : PopupMenu = PopupMenu.new()
onready var new_image_dialog : ConfirmationDialog = control.find_node("CreateNewImage")
onready var open_sprites_dialog : FileDialog = control.find_node("OpenSprite")
onready var save_sprites_dialog : FileDialog = control.find_node("SaveSprite")
onready var save_sprites_html5_dialog : ConfirmationDialog = control.find_node("SaveSpriteHTML5")
onready var export_dialog : AcceptDialog = control.find_node("ExportDialog")
onready var preferences_dialog : AcceptDialog = control.find_node("PreferencesDialog")
onready var unsaved_changes_dialog : ConfirmationDialog = control.find_node("UnsavedCanvasDialog")
onready var color_switch_button : BaseButton = control.find_node("ColorSwitch")
onready var brushes_popup : Popup = control.find_node("BrushesPopup")
onready var patterns_popup : Popup = control.find_node("PatternsPopup")
onready var animation_timeline : Panel = control.find_node("AnimationTimeline")
onready var animation_timer : Timer = animation_timeline.find_node("AnimationTimer")
onready var frame_properties : ConfirmationDialog = control.find_node("FrameProperties")
onready var frame_ids : HBoxContainer = animation_timeline.find_node("FrameIDs")
onready var current_frame_mark_label : Label = control.find_node("CurrentFrameMark")
onready var onion_skinning_button : BaseButton = animation_timeline.find_node("OnionSkinning")
onready var loop_animation_button : BaseButton = animation_timeline.find_node("LoopAnim")
onready var play_forward : BaseButton = animation_timeline.find_node("PlayForward")
onready var play_backwards : BaseButton = animation_timeline.find_node("PlayBackwards")
onready var layers_container : VBoxContainer = animation_timeline.find_node("LayersContainer")
onready var frames_container : VBoxContainer = animation_timeline.find_node("FramesContainer")
onready var tag_container : Control = animation_timeline.find_node("TagContainer")
onready var tag_dialog : AcceptDialog = animation_timeline.find_node("FrameTagDialog")
onready var remove_frame_button : BaseButton = animation_timeline.find_node("DeleteFrame")
onready var move_left_frame_button : BaseButton = animation_timeline.find_node("MoveLeft")
@ -183,11 +166,7 @@ onready var merge_down_layer_button : BaseButton = animation_timeline.find_node(
onready var layer_opacity_slider : HSlider = animation_timeline.find_node("OpacitySlider")
onready var layer_opacity_spinbox : SpinBox = animation_timeline.find_node("OpacitySpinBox")
onready var preview_zoom_slider : VSlider = control.find_node("PreviewZoomSlider")
onready var palette_panel : PalettePanel = control.find_node("PalettePanel")
onready var error_dialog : AcceptDialog = control.find_node("ErrorDialog")
onready var quit_dialog : ConfirmationDialog = control.find_node("QuitDialog")
onready var quit_and_save_dialog : ConfirmationDialog = control.find_node("QuitAndSaveDialog")
onready var current_version : String = ProjectSettings.get_setting("application/config/Version")

View file

@ -631,5 +631,5 @@ func save_project_to_recent_list(path : String) -> void:
Global.config_cache.set_value("data", "recent_projects", top_menu_container.recent_projects)
Global.recent_projects_submenu.clear()
Global.top_menu_container.recent_projects_submenu.clear()
top_menu_container.update_recent_projects_submenu()

View file

@ -17,6 +17,7 @@ onready var color_and_tool_options := $MenuAndUI/UI/RightPanel/MarginContainer/P
onready var canvas_preview_container := $MenuAndUI/UI/RightPanel/MarginContainer/PreviewAndPalettes/CanvasPreviewContainer
onready var tool_panel := $MenuAndUI/UI/ToolsAndCanvas/ToolPanel
onready var scroll_container := $MenuAndUI/UI/RightPanel/MarginContainer/PreviewAndPalettes/ToolAndPaletteVSplit/ColorAndToolOptions/ScrollContainer
onready var quit_dialog : ConfirmationDialog = find_node("QuitDialog")
func _ready() -> void:
@ -386,9 +387,9 @@ func _can_draw_true() -> void:
func show_quit_dialog() -> void:
if !Global.quit_dialog.visible:
if !quit_dialog.visible:
if !Global.current_project.has_changed:
Global.quit_dialog.call_deferred("popup_centered")
quit_dialog.call_deferred("popup_centered")
else:
Global.quit_and_save_dialog.call_deferred("popup_centered")
@ -399,7 +400,7 @@ func _on_QuitAndSaveDialog_custom_action(action : String) -> void:
if action == "Save":
is_quitting_on_save = true
Global.save_sprites_dialog.popup_centered()
Global.quit_dialog.hide()
quit_dialog.hide()
Global.dialog_open(true)

View file

@ -99,7 +99,7 @@ func set_action_shortcut(action : String, old_input : InputEventKey, new_input :
Global.update_hint_tooltips()
# Set shortcut to switch colors button
if action == "switch_colors":
Global.color_switch_button.shortcut.shortcut = InputMap.get_action_list("switch_colors")[0]
Global.control.find_node("ColorSwitch").shortcut.shortcut = InputMap.get_action_list("switch_colors")[0]
func _on_Shortcut_button_pressed(button : Button) -> void:

View file

@ -2,11 +2,15 @@ extends Camera2D
enum Cameras {MAIN, SECOND, SMALL}
enum Direction {UP, DOWN, LEFT, RIGHT}
const low_speed_move_rate := 150.0
const medium_speed_move_rate := 750.0
const high_speed_move_rate := 3750.0
# Indices are as in the Direction enum
# This is the total time the key for that direction has been pressed.
var key_move_press_time := [0.0, 0.0, 0.0, 0.0]
var tween : Tween
var zoom_min := Vector2(0.005, 0.005)
var zoom_max := Vector2.ONE
@ -106,7 +110,7 @@ func dir_move_zoom_multiplier(press_time : float) -> float:
func reset_dir_move_time(direction) -> void:
Global.key_move_press_time[direction] = 0.0
key_move_press_time[direction] = 0.0
const key_move_action_names := ["ui_up", "ui_down", "ui_left", "ui_right"]
@ -137,18 +141,18 @@ func is_action_direction_released(event: InputEvent) -> bool:
# if not a direction event return null
func get_action_direction(event: InputEvent): # -> Optional[Direction]
if event.is_action("ui_up"):
return Global.Direction.UP
return Direction.UP
elif event.is_action("ui_down"):
return Global.Direction.DOWN
return Direction.DOWN
elif event.is_action("ui_left"):
return Global.Direction.LEFT
return Direction.LEFT
elif event.is_action("ui_right"):
return Global.Direction.RIGHT
return Direction.RIGHT
return null
# Holds sign multipliers for the given directions nyaa
# (per the indices in Global.gd defined by Direction)
# (per the indices defined by Direction)
# UP, DOWN, LEFT, RIGHT in that order
const directional_sign_multipliers := [
Vector2(0.0, -1.0),
@ -166,8 +170,8 @@ func process_direction_action_pressed(event: InputEvent) -> void:
return
var increment := get_process_delta_time()
# Count the total time we've been doing this ^.^
Global.key_move_press_time[dir] += increment
var this_direction_press_time : float = Global.key_move_press_time[dir]
key_move_press_time[dir] += increment
var this_direction_press_time : float = key_move_press_time[dir]
var move_speed := dir_move_zoom_multiplier(this_direction_press_time)
offset = offset + move_speed * increment * directional_sign_multipliers[dir].rotated(rotation) * zoom
update_rulers()

View file

@ -1,6 +1,9 @@
extends Tabs
onready var unsaved_changes_dialog : ConfirmationDialog = Global.control.find_node("UnsavedCanvasDialog")
func _on_Tabs_tab_changed(tab : int) -> void:
Global.current_project_index = tab
@ -10,9 +13,9 @@ func _on_Tabs_tab_close(tab : int) -> void:
return
if Global.projects[tab].has_changed:
if !Global.unsaved_changes_dialog.is_connected("confirmed", self, "delete_tab"):
Global.unsaved_changes_dialog.connect("confirmed", self, "delete_tab", [tab])
Global.unsaved_changes_dialog.popup_centered()
if !unsaved_changes_dialog.is_connected("confirmed", self, "delete_tab"):
unsaved_changes_dialog.connect("confirmed", self, "delete_tab", [tab])
unsaved_changes_dialog.popup_centered()
Global.dialog_open(true)
else:
delete_tab(tab)
@ -47,5 +50,5 @@ func delete_tab(tab : int) -> void:
else:
if tab < Global.current_project_index:
Global.current_project_index -= 1
if Global.unsaved_changes_dialog.is_connected("confirmed", self, "delete_tab"):
Global.unsaved_changes_dialog.disconnect("confirmed", self, "delete_tab")
if unsaved_changes_dialog.is_connected("confirmed", self, "delete_tab"):
unsaved_changes_dialog.disconnect("confirmed", self, "delete_tab")

View file

@ -1,5 +1,6 @@
extends Panel
var is_animation_running := false
var animation_loop := 1 # 0 is no loop, 1 is cycle loop, 2 is ping-pong loop
var animation_forward := true
@ -14,6 +15,9 @@ var timeline_scroll : ScrollContainer
var tag_scroll_container : ScrollContainer
var fps_spinbox : SpinBox
onready var onion_skinning_button : BaseButton = find_node("OnionSkinning")
onready var loop_animation_button : BaseButton = find_node("LoopAnim")
func _ready() -> void:
timeline_scroll = find_node("TimelineScroll")
@ -218,7 +222,7 @@ func _on_CopyFrame_pressed(frame := -1) -> void:
func _on_FrameTagButton_pressed() -> void:
Global.tag_dialog.popup_centered()
find_node("FrameTagDialog").popup_centered()
func _on_MoveLeft_pressed() -> void:
@ -238,7 +242,7 @@ func _on_MoveRight_pressed() -> void:
func _on_OnionSkinning_pressed() -> void:
Global.onion_skinning = !Global.onion_skinning
Global.canvas.update()
var texture_button : TextureRect = Global.onion_skinning_button.get_child(0)
var texture_button : TextureRect = onion_skinning_button.get_child(0)
if Global.onion_skinning:
Global.change_button_texturerect(texture_button, "onion_skinning.png")
else:
@ -246,24 +250,24 @@ func _on_OnionSkinning_pressed() -> void:
func _on_OnionSkinningSettings_pressed() -> void:
$OnionSkinningSettings.popup(Rect2(Global.onion_skinning_button.rect_global_position.x - $OnionSkinningSettings.rect_size.x - 16, Global.onion_skinning_button.rect_global_position.y - 106, 136, 126))
$OnionSkinningSettings.popup(Rect2(onion_skinning_button.rect_global_position.x - $OnionSkinningSettings.rect_size.x - 16, onion_skinning_button.rect_global_position.y - 106, 136, 126))
func _on_LoopAnim_pressed() -> void:
var texture_button : TextureRect = Global.loop_animation_button.get_child(0)
var texture_button : TextureRect = loop_animation_button.get_child(0)
match animation_loop:
0: # Make it loop
animation_loop = 1
Global.change_button_texturerect(texture_button, "loop.png")
Global.loop_animation_button.hint_tooltip = "Cycle loop"
loop_animation_button.hint_tooltip = "Cycle loop"
1: # Make it ping-pong
animation_loop = 2
Global.change_button_texturerect(texture_button, "loop_pingpong.png")
Global.loop_animation_button.hint_tooltip = "Ping-pong loop"
loop_animation_button.hint_tooltip = "Ping-pong loop"
2: # Make it stop
animation_loop = 0
Global.change_button_texturerect(texture_button, "loop_none.png")
Global.loop_animation_button.hint_tooltip = "No loop"
loop_animation_button.hint_tooltip = "No loop"
func _on_PlayForward_toggled(button_pressed : bool) -> void:
@ -564,7 +568,6 @@ func _on_OpacitySlider_value_changed(value) -> void:
var cel : Cel = Global.current_project.frames[Global.current_project.current_frame].cels[Global.current_project.current_layer]
cel.opacity = value / 100
Global.layer_opacity_slider.value = value
Global.layer_opacity_slider.value = value
Global.layer_opacity_spinbox.value = value
Global.canvas.update()

View file

@ -4,6 +4,7 @@ extends Button
var frame := 0
onready var popup_menu : PopupMenu = $PopupMenu
onready var frame_properties : ConfirmationDialog = Global.control.find_node("FrameProperties")
func _ready() -> void:
@ -67,10 +68,10 @@ func _on_PopupMenu_id_pressed(id : int) -> void:
3: # Move Right
change_frame_order(1)
4: # Frame Properties
Global.frame_properties.popup_centered()
frame_properties.popup_centered()
Global.dialog_open(true)
Global.frame_properties.set_frame_label(frame)
Global.frame_properties.set_frame_dur(Global.current_project.frames[frame].duration)
frame_properties.set_frame_label(frame)
frame_properties.set_frame_dur(Global.current_project.frames[frame].duration)
func change_frame_order(rate : int) -> void:

View file

@ -8,20 +8,23 @@ enum ImageMenuId {SCALE_IMAGE, CENTRALIZE_IMAGE, CROP_IMAGE, RESIZE_CANVAS, FLIP
enum SelectMenuId {SELECT_ALL, CLEAR_SELECTION, INVERT}
enum HelpMenuId {VIEW_SPLASH_SCREEN, ONLINE_DOCS, ISSUE_TRACKER, OPEN_LOGS_FOLDER, CHANGELOG, ABOUT_PIXELORAMA}
var file_menu : PopupMenu
var view_menu : PopupMenu
var zen_mode := false
var recent_projects := []
onready var file_menu_button : MenuButton = find_node("FileMenu")
onready var edit_menu_button : MenuButton = find_node("EditMenu")
onready var view_menu_button : MenuButton = find_node("ViewMenu")
onready var image_menu_button : MenuButton = find_node("ImageMenu")
onready var select_menu_button : MenuButton = find_node("SelectMenu")
onready var help_menu_button : MenuButton = find_node("HelpMenu")
onready var window_opacity_dialog : AcceptDialog = Global.control.find_node("WindowOpacityDialog")
onready var tile_mode_submenu : PopupMenu = PopupMenu.new()
onready var panel_layout_submenu : PopupMenu = PopupMenu.new()
var file_menu : PopupMenu
var view_menu : PopupMenu
var zen_mode := false
var recent_projects := []
onready var new_image_dialog : ConfirmationDialog = Global.control.find_node("CreateNewImage")
onready var window_opacity_dialog : AcceptDialog = Global.control.find_node("WindowOpacityDialog")
onready var tile_mode_submenu := PopupMenu.new()
onready var panel_layout_submenu := PopupMenu.new()
onready var recent_projects_submenu := PopupMenu.new()
func _ready() -> void:
@ -64,16 +67,16 @@ func setup_file_menu() -> void:
func setup_recent_projects_submenu(item : String) -> void:
recent_projects = Global.config_cache.get_value("data", "recent_projects", [])
Global.recent_projects_submenu.connect("id_pressed", self, "on_recent_projects_submenu_id_pressed")
recent_projects_submenu.connect("id_pressed", self, "on_recent_projects_submenu_id_pressed")
update_recent_projects_submenu()
file_menu.add_child(Global.recent_projects_submenu)
file_menu.add_submenu_item(item, Global.recent_projects_submenu.get_name())
file_menu.add_child(recent_projects_submenu)
file_menu.add_submenu_item(item, recent_projects_submenu.get_name())
func update_recent_projects_submenu() -> void:
for project in recent_projects:
Global.recent_projects_submenu.add_item(project.get_file())
recent_projects_submenu.add_item(project.get_file())
func setup_edit_menu() -> void:
@ -245,7 +248,7 @@ func file_menu_id_pressed(id : int) -> void:
func on_new_project_file_menu_option_pressed() -> void:
Global.new_image_dialog.popup_centered()
new_image_dialog.popup_centered()
Global.dialog_open(true)
@ -424,7 +427,7 @@ func toggle_zen_mode() -> void:
Global.animation_timeline.visible = zen_mode
Global.tool_panel.visible = zen_mode
Global.right_panel.visible = zen_mode
Global.tabs_container.visible = zen_mode
Global.control.find_node("TabsContainer").visible = zen_mode
Global.control.tallscreen_hsplit_container.visible = zen_mode
zen_mode = !zen_mode
view_menu.set_item_checked(ViewMenuId.ZEN_MODE, zen_mode)

View file

@ -8,8 +8,8 @@ func _ready() -> void:
func _on_ViewportContainer_mouse_entered() -> void:
Global.has_focus = true
Global.left_cursor.visible = true
Global.right_cursor.visible = true
Global.left_cursor.visible = Global.show_left_tool_icon
Global.right_cursor.visible = Global.show_right_tool_icon
func _on_ViewportContainer_mouse_exited() -> void: