mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 17:19:50 +00:00
Added a boolean to check if new frames will be linked and an array of linked frames to Global.layers
This doesn't add any new functionality right now
This commit is contained in:
parent
f9ee251b01
commit
a60efccbfd
21
Main.tscn
21
Main.tscn
|
@ -1229,7 +1229,6 @@ columns = 5
|
|||
[node name="SplashDialog" parent="." instance=ExtResource( 27 )]
|
||||
|
||||
[node name="CreateNewImage" parent="." instance=ExtResource( 28 )]
|
||||
window_title = "Please Confirm..."
|
||||
|
||||
[node name="OpenSprite" type="FileDialog" parent="."]
|
||||
margin_right = 515.0
|
||||
|
@ -1239,8 +1238,8 @@ resizable = true
|
|||
mode = 0
|
||||
access = 2
|
||||
filters = PoolStringArray( "*.pxo ; Pixelorama Project" )
|
||||
current_dir = "/home/marco/Pixelorama"
|
||||
current_path = "/home/marco/Pixelorama/"
|
||||
current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama"
|
||||
current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/"
|
||||
|
||||
[node name="SaveSprite" type="FileDialog" parent="."]
|
||||
anchor_left = 0.5
|
||||
|
@ -1255,35 +1254,27 @@ window_title = "Save Sprite as .pxo"
|
|||
resizable = true
|
||||
access = 2
|
||||
filters = PoolStringArray( "*.pxo ; Pixelorama Project" )
|
||||
current_dir = "/home/marco/Pixelorama"
|
||||
current_path = "/home/marco/Pixelorama/"
|
||||
current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama"
|
||||
current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/"
|
||||
|
||||
[node name="ImportSprites" parent="." instance=ExtResource( 29 )]
|
||||
current_dir = "/home/marco/Pixelorama"
|
||||
current_path = "/home/marco/Pixelorama/"
|
||||
|
||||
[node name="ExportSprites" parent="." instance=ExtResource( 30 )]
|
||||
current_dir = "/home/marco/Pixelorama"
|
||||
current_path = "/home/marco/Pixelorama/"
|
||||
|
||||
[node name="ScaleImage" parent="." instance=ExtResource( 31 )]
|
||||
window_title = "Please Confirm..."
|
||||
|
||||
[node name="PreferencesDialog" parent="." instance=ExtResource( 32 )]
|
||||
|
||||
[node name="RotateImage" parent="." instance=ExtResource( 38 )]
|
||||
window_title = "Please Confirm..."
|
||||
|
||||
[node name="OutlineDialog" parent="." instance=ExtResource( 33 )]
|
||||
visible = false
|
||||
window_title = "Please Confirm..."
|
||||
|
||||
[node name="AboutDialog" parent="." instance=ExtResource( 34 )]
|
||||
|
||||
[node name="QuitDialog" type="ConfirmationDialog" parent="."]
|
||||
margin_right = 200.0
|
||||
margin_bottom = 70.0
|
||||
window_title = "Please Confirm..."
|
||||
resizable = true
|
||||
dialog_text = "Are you sure you want to exit Pixelorama?"
|
||||
|
||||
|
@ -1309,8 +1300,8 @@ dialog_text = "This is an error message!"
|
|||
|
||||
[node name="PaletteImportFileDialog" parent="." instance=ExtResource( 37 )]
|
||||
filters = PoolStringArray( "*.json ; JavaScript Object Notation", "*.gpl ; Gimp Palette Library", "*.png; Portable Network Graphics" )
|
||||
current_dir = "/home/marco/Pixelorama"
|
||||
current_path = "/home/marco/Pixelorama/"
|
||||
current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama"
|
||||
current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/"
|
||||
|
||||
[node name="LeftCursor" type="Sprite" parent="."]
|
||||
visible = false
|
||||
|
|
|
@ -145,8 +145,9 @@ func add_layer(is_new := true) -> void:
|
|||
|
||||
var new_layers : Array = Global.layers.duplicate()
|
||||
|
||||
# Store [Layer name, Layer visibility boolean, Layer lock boolean, Frame container]
|
||||
new_layers.append([layer_name, true, false, HBoxContainer.new()])
|
||||
# Store [Layer name (0), Layer visibility boolean (1), Layer lock boolean (2), Frame container (3),
|
||||
# will new frames be linked boolean (4), Array of linked frames (5)]
|
||||
new_layers.append([layer_name, true, false, HBoxContainer.new(), false, []])
|
||||
|
||||
Global.undos += 1
|
||||
Global.undo_redo.create_action("Add Layer")
|
||||
|
|
|
@ -10,8 +10,9 @@ func _on_CreateNewImage_confirmed() -> void:
|
|||
var fill_color : Color = fill_color_node.color
|
||||
Global.control.clear_canvases()
|
||||
Global.layers.clear()
|
||||
# Store [Layer name, Layer visibility boolean, Layer lock boolean, Frame container]
|
||||
Global.layers.append([tr("Layer") + " 0", true, false, HBoxContainer.new()])
|
||||
# Store [Layer name (0), Layer visibility boolean (1), Layer lock boolean (2), Frame container (3),
|
||||
# will new frames be linked boolean (4), Array of linked frames (5)]
|
||||
Global.layers.append([tr("Layer") + " 0", true, false, HBoxContainer.new(), false, []])
|
||||
Global.current_layer = 0
|
||||
Global.canvas = load("res://Prefabs/Canvas.tscn").instance()
|
||||
Global.canvas.size = Vector2(width, height).floor()
|
||||
|
|
|
@ -373,8 +373,9 @@ func _ready() -> void:
|
|||
|
||||
error_dialog = find_node_by_name(root, "ErrorDialog")
|
||||
|
||||
# Store [Layer name, Layer visibility boolean, Layer lock boolean, Frame container]
|
||||
layers.append([tr("Layer") + " 0", true, false, HBoxContainer.new()])
|
||||
# Store [Layer name (0), Layer visibility boolean (1), Layer lock boolean (2), Frame container (3),
|
||||
# will new frames be linked boolean (4), Array of linked frames (5)]
|
||||
layers.append([tr("Layer") + " 0", true, false, HBoxContainer.new(), false, []])
|
||||
|
||||
# Thanks to https://godotengine.org/qa/17524/how-to-find-an-instanced-scene-by-its-name
|
||||
func find_node_by_name(root, node_name) -> Node:
|
||||
|
|
|
@ -4,12 +4,14 @@ extends Button
|
|||
var i := 0
|
||||
var visibility_button : BaseButton
|
||||
var lock_button : BaseButton
|
||||
var linked_button : BaseButton
|
||||
var label : Label
|
||||
var line_edit : LineEdit
|
||||
|
||||
func _ready() -> void:
|
||||
visibility_button = Global.find_node_by_name(self, "VisibilityButton")
|
||||
lock_button = Global.find_node_by_name(self, "LockButton")
|
||||
linked_button = Global.find_node_by_name(self, "LinkButton")
|
||||
label = Global.find_node_by_name(self, "Label")
|
||||
line_edit = Global.find_node_by_name(self, "LineEdit")
|
||||
|
||||
|
@ -27,6 +29,13 @@ func _ready() -> void:
|
|||
lock_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Unlock.png" % Global.theme_type)
|
||||
lock_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Unlock_Hover.png" % Global.theme_type)
|
||||
|
||||
if Global.layers[i][4]: # If new layers will be linked
|
||||
linked_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Linked_Layer.png" % Global.theme_type)
|
||||
linked_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Linked_Layer_Hover.png" % Global.theme_type)
|
||||
else:
|
||||
linked_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Unlinked_Layer.png" % Global.theme_type)
|
||||
linked_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Unlinked_Layer_Hover.png" % Global.theme_type)
|
||||
|
||||
func _input(event : InputEvent) -> void:
|
||||
if (event.is_action_released("ui_accept") or event.is_action_released("ui_cancel")) and line_edit.visible and event.scancode != KEY_SPACE:
|
||||
save_layer_name(line_edit.text)
|
||||
|
@ -49,22 +58,11 @@ func save_layer_name(new_name : String) -> void:
|
|||
Global.layers[i][0] = new_name
|
||||
|
||||
func _on_VisibilityButton_pressed() -> void:
|
||||
if Global.layers[i][1]:
|
||||
Global.layers[i][1] = false
|
||||
visibility_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Layer_Invisible.png" % Global.theme_type)
|
||||
visibility_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Layer_Invisible_Hover.png" % Global.theme_type)
|
||||
else:
|
||||
Global.layers[i][1] = true
|
||||
visibility_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Layer_Visible.png" % Global.theme_type)
|
||||
visibility_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Layer_Visible_Hover.png" % Global.theme_type)
|
||||
Global.layers[i][1] = !Global.layers[i][1]
|
||||
Global.canvas.update()
|
||||
|
||||
func _on_LockButton_pressed() -> void:
|
||||
if Global.layers[i][2]:
|
||||
Global.layers[i][2] = false
|
||||
lock_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Unlock.png" % Global.theme_type)
|
||||
lock_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Unlock_Hover.png" % Global.theme_type)
|
||||
else:
|
||||
Global.layers[i][2] = true
|
||||
lock_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Lock.png" % Global.theme_type)
|
||||
lock_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Lock_Hover.png" % Global.theme_type)
|
||||
Global.layers[i][2] = !Global.layers[i][2]
|
||||
|
||||
func _on_LinkButton_pressed() -> void:
|
||||
Global.layers[i][4] = !Global.layers[i][4]
|
||||
|
|
|
@ -189,11 +189,11 @@ func _input(event : InputEvent) -> void:
|
|||
Global.left_cursor.texture = Global.left_cursor_tool_texture
|
||||
Global.right_cursor.position = get_global_mouse_position() + Vector2(32, 32)
|
||||
Global.right_cursor.texture = Global.right_cursor_tool_texture
|
||||
|
||||
|
||||
if event is InputEventKey && (event.scancode == KEY_ENTER || event.scancode == KEY_KP_ENTER):
|
||||
if get_focus_owner() is LineEdit:
|
||||
get_focus_owner().release_focus()
|
||||
|
||||
|
||||
if event.is_action_pressed("toggle_fullscreen"):
|
||||
OS.window_fullscreen = !OS.window_fullscreen
|
||||
|
||||
|
@ -415,8 +415,12 @@ func _on_OpenSprite_file_selected(path : String) -> void:
|
|||
var layer_name := file.get_line()
|
||||
var layer_visibility := file.get_8()
|
||||
var layer_lock := file.get_8()
|
||||
# Store [Layer name, Layer visibility boolean, Layer lock boolean, Frame container]
|
||||
Global.layers.append([layer_name, layer_visibility, layer_lock, HBoxContainer.new()])
|
||||
var layer_new_frames_linked := file.get_8()
|
||||
var linked_frames = file.get_var()
|
||||
|
||||
# Store [Layer name (0), Layer visibility boolean (1), Layer lock boolean (2), Frame container (3),
|
||||
# will new frames be linked boolean (4), Array of linked frames (5)]
|
||||
Global.layers.append([layer_name, layer_visibility, layer_lock, HBoxContainer.new(), layer_new_frames_linked, linked_frames])
|
||||
global_layer_line = file.get_line()
|
||||
|
||||
var frame_line := file.get_line()
|
||||
|
@ -433,7 +437,9 @@ func _on_OpenSprite_file_selected(path : String) -> void:
|
|||
if version_number < (0.7 - 0.01):
|
||||
var layer_name_old_version = file.get_line()
|
||||
if frame == 0:
|
||||
Global.layers.append([layer_name_old_version, true, false, HBoxContainer.new()])
|
||||
# Store [Layer name (0), Layer visibility boolean (1), Layer lock boolean (2), Frame container (3),
|
||||
# will new frames be linked boolean (4), Array of linked frames (5)]
|
||||
Global.layers.append([layer_name_old_version, true, false, HBoxContainer.new(), false, []])
|
||||
var layer_transparency := 1.0
|
||||
if version_number > 0.5:
|
||||
layer_transparency = file.get_float()
|
||||
|
@ -528,6 +534,8 @@ func _on_SaveSprite_file_selected(path : String) -> void:
|
|||
file.store_line(layer[0]) # Layer name
|
||||
file.store_8(layer[1]) # Layer visibility
|
||||
file.store_8(layer[2]) # Layer lock
|
||||
file.store_8(layer[4]) # Future frames linked
|
||||
file.store_var(layer[5]) # Linked frames
|
||||
file.store_line("END_GLOBAL_LAYERS")
|
||||
|
||||
for canvas in Global.canvases: # Store frames
|
||||
|
|
Loading…
Reference in a new issue