mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-31 07:29:49 +00:00
Guides get saved in .pxo files
This commit is contained in:
parent
122f42b361
commit
36b462c30a
13
Main.tscn
13
Main.tscn
|
@ -57,6 +57,7 @@ anchor_bottom = 1.0
|
||||||
custom_constants/separation = 0
|
custom_constants/separation = 0
|
||||||
|
|
||||||
[node name="MenuContainer" type="Panel" parent="MenuAndUI"]
|
[node name="MenuContainer" type="Panel" parent="MenuAndUI"]
|
||||||
|
editor/display_folded = true
|
||||||
margin_right = 1152.0
|
margin_right = 1152.0
|
||||||
margin_bottom = 28.0
|
margin_bottom = 28.0
|
||||||
rect_min_size = Vector2( 0, 28 )
|
rect_min_size = Vector2( 0, 28 )
|
||||||
|
@ -121,6 +122,7 @@ text = "[64×64]"
|
||||||
align = 2
|
align = 2
|
||||||
|
|
||||||
[node name="UI" type="HBoxContainer" parent="MenuAndUI"]
|
[node name="UI" type="HBoxContainer" parent="MenuAndUI"]
|
||||||
|
editor/display_folded = true
|
||||||
margin_top = 28.0
|
margin_top = 28.0
|
||||||
margin_right = 1152.0
|
margin_right = 1152.0
|
||||||
margin_bottom = 648.0
|
margin_bottom = 648.0
|
||||||
|
@ -129,6 +131,7 @@ size_flags_vertical = 3
|
||||||
custom_constants/separation = 0
|
custom_constants/separation = 0
|
||||||
|
|
||||||
[node name="ToolPanel" type="Panel" parent="MenuAndUI/UI"]
|
[node name="ToolPanel" type="Panel" parent="MenuAndUI/UI"]
|
||||||
|
editor/display_folded = true
|
||||||
margin_right = 242.0
|
margin_right = 242.0
|
||||||
margin_bottom = 620.0
|
margin_bottom = 620.0
|
||||||
rect_min_size = Vector2( 242, 0 )
|
rect_min_size = Vector2( 242, 0 )
|
||||||
|
@ -512,6 +515,7 @@ enabled_focus_mode = 0
|
||||||
script = ExtResource( 8 )
|
script = ExtResource( 8 )
|
||||||
|
|
||||||
[node name="ViewportandVerticalRuler" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportAndRulers"]
|
[node name="ViewportandVerticalRuler" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportAndRulers"]
|
||||||
|
editor/display_folded = true
|
||||||
margin_top = 16.0
|
margin_top = 16.0
|
||||||
margin_right = 686.0
|
margin_right = 686.0
|
||||||
margin_bottom = 478.0
|
margin_bottom = 478.0
|
||||||
|
@ -566,17 +570,16 @@ margin_right = 319.0
|
||||||
margin_bottom = 464.0
|
margin_bottom = 464.0
|
||||||
|
|
||||||
[node name="ViewportContainer2" type="ViewportContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer"]
|
[node name="ViewportContainer2" type="ViewportContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer"]
|
||||||
editor/display_folded = true
|
|
||||||
visible = false
|
visible = false
|
||||||
margin_left = 319.0
|
margin_left = 345.0
|
||||||
margin_right = 634.0
|
margin_right = 686.0
|
||||||
margin_bottom = 464.0
|
margin_bottom = 478.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
stretch = true
|
stretch = true
|
||||||
|
|
||||||
[node name="Viewport" type="Viewport" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportContainer2"]
|
[node name="Viewport" type="Viewport" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportContainer2"]
|
||||||
size = Vector2( 315, 464 )
|
size = Vector2( 341, 478 )
|
||||||
handle_input_locally = false
|
handle_input_locally = false
|
||||||
render_target_update_mode = 0
|
render_target_update_mode = 0
|
||||||
script = ExtResource( 13 )
|
script = ExtResource( 13 )
|
||||||
|
|
|
@ -58,10 +58,10 @@ func _on_HorizontalRuler_pressed() -> void:
|
||||||
var mouse_pos := get_local_mouse_position()
|
var mouse_pos := get_local_mouse_position()
|
||||||
if mouse_pos.x < RULER_WIDTH: #For double guides
|
if mouse_pos.x < RULER_WIDTH: #For double guides
|
||||||
Global.vertical_ruler._on_VerticalRuler_pressed()
|
Global.vertical_ruler._on_VerticalRuler_pressed()
|
||||||
var line_2d := Guide.new()
|
var guide := Guide.new()
|
||||||
line_2d.type = line_2d.TYPE.HORIZONTAL
|
guide.type = guide.TYPE.HORIZONTAL
|
||||||
line_2d.default_color = Color.purple
|
guide.default_color = Color.purple
|
||||||
line_2d.add_point(Vector2(-99999, Global.canvas.current_pixel.y))
|
guide.add_point(Vector2(-99999, Global.canvas.current_pixel.y))
|
||||||
line_2d.add_point(Vector2(99999, Global.canvas.current_pixel.y))
|
guide.add_point(Vector2(99999, Global.canvas.current_pixel.y))
|
||||||
Global.canvas.add_child(line_2d)
|
Global.canvas.add_child(guide)
|
||||||
Global.has_focus = false
|
Global.has_focus = false
|
||||||
|
|
|
@ -296,14 +296,14 @@ func _on_OpenSprite_file_selected(path : String) -> void:
|
||||||
var frame := 0
|
var frame := 0
|
||||||
var frame_line := file.get_line()
|
var frame_line := file.get_line()
|
||||||
clear_canvases()
|
clear_canvases()
|
||||||
while frame_line == "--":
|
while frame_line == "--": #Load frames
|
||||||
var canvas : Canvas = load("res://Prefabs/Canvas.tscn").instance()
|
var canvas : Canvas = load("res://Prefabs/Canvas.tscn").instance()
|
||||||
Global.canvas = canvas
|
Global.canvas = canvas
|
||||||
var width := file.get_16()
|
var width := file.get_16()
|
||||||
var height := file.get_16()
|
var height := file.get_16()
|
||||||
var layer_line := file.get_line()
|
|
||||||
|
|
||||||
while layer_line == "-":
|
var layer_line := file.get_line()
|
||||||
|
while layer_line == "-": #Load layers
|
||||||
var buffer := file.get_buffer(width * height * 4)
|
var buffer := file.get_buffer(width * height * 4)
|
||||||
var layer_name := file.get_line()
|
var layer_name := file.get_line()
|
||||||
var image := Image.new()
|
var image := Image.new()
|
||||||
|
@ -314,6 +314,21 @@ func _on_OpenSprite_file_selected(path : String) -> void:
|
||||||
canvas.layers.append([image, tex, layer_name, true])
|
canvas.layers.append([image, tex, layer_name, true])
|
||||||
layer_line = file.get_line()
|
layer_line = file.get_line()
|
||||||
|
|
||||||
|
var guide_line := file.get_line()
|
||||||
|
while guide_line == "|": #Load guides
|
||||||
|
var guide := Guide.new()
|
||||||
|
guide.default_color = Color.purple
|
||||||
|
guide.type = file.get_8()
|
||||||
|
if guide.type == guide.TYPE.HORIZONTAL:
|
||||||
|
guide.add_point(Vector2(-99999, file.get_16()))
|
||||||
|
guide.add_point(Vector2(99999, file.get_16()))
|
||||||
|
else:
|
||||||
|
guide.add_point(Vector2(file.get_16(), -99999))
|
||||||
|
guide.add_point(Vector2(file.get_16(), 99999))
|
||||||
|
guide.has_focus = false
|
||||||
|
canvas.add_child(guide)
|
||||||
|
guide_line = file.get_line()
|
||||||
|
|
||||||
canvas.size = Vector2(width, height)
|
canvas.size = Vector2(width, height)
|
||||||
Global.canvases.append(canvas)
|
Global.canvases.append(canvas)
|
||||||
canvas.frame = frame
|
canvas.frame = frame
|
||||||
|
@ -337,7 +352,6 @@ func _on_OpenSprite_file_selected(path : String) -> void:
|
||||||
Global.right_color_picker.get_picker().add_preset(color)
|
Global.right_color_picker.get_picker().add_preset(color)
|
||||||
|
|
||||||
#Load custom brushes
|
#Load custom brushes
|
||||||
#Global.custom_brushes.clear()
|
|
||||||
Global.custom_brushes.resize(Global.brushes_from_files)
|
Global.custom_brushes.resize(Global.brushes_from_files)
|
||||||
Global.remove_brush_buttons()
|
Global.remove_brush_buttons()
|
||||||
|
|
||||||
|
@ -364,15 +378,27 @@ func _on_SaveSprite_file_selected(path) -> void:
|
||||||
var err := file.open(path, File.WRITE)
|
var err := file.open(path, File.WRITE)
|
||||||
if err == 0:
|
if err == 0:
|
||||||
file.store_line(ProjectSettings.get_setting("application/config/Version"))
|
file.store_line(ProjectSettings.get_setting("application/config/Version"))
|
||||||
for canvas in Global.canvases:
|
for canvas in Global.canvases: #Store frames
|
||||||
file.store_line("--")
|
file.store_line("--")
|
||||||
file.store_16(canvas.size.x)
|
file.store_16(canvas.size.x)
|
||||||
file.store_16(canvas.size.y)
|
file.store_16(canvas.size.y)
|
||||||
for layer in canvas.layers:
|
for layer in canvas.layers: #Store layers
|
||||||
file.store_line("-")
|
file.store_line("-")
|
||||||
file.store_buffer(layer[0].get_data())
|
file.store_buffer(layer[0].get_data())
|
||||||
file.store_line(layer[2])
|
file.store_line(layer[2])
|
||||||
file.store_line("END_LAYERS")
|
file.store_line("END_LAYERS")
|
||||||
|
|
||||||
|
for child in canvas.get_children(): #Store guides
|
||||||
|
if child is Guide:
|
||||||
|
file.store_line("|")
|
||||||
|
file.store_8(child.type)
|
||||||
|
if child.type == child.TYPE.HORIZONTAL:
|
||||||
|
file.store_16(child.points[0].y)
|
||||||
|
file.store_16(child.points[1].y)
|
||||||
|
else:
|
||||||
|
file.store_16(child.points[1].x)
|
||||||
|
file.store_16(child.points[0].x)
|
||||||
|
file.store_line("END_GUIDES")
|
||||||
file.store_line("END_FRAMES")
|
file.store_line("END_FRAMES")
|
||||||
|
|
||||||
#Save tool options
|
#Save tool options
|
||||||
|
|
|
@ -55,10 +55,10 @@ func _draw() -> void:
|
||||||
draw_line(Vector2(RULER_WIDTH * 0.66, position.y), Vector2(RULER_WIDTH, position.y), Color.white)
|
draw_line(Vector2(RULER_WIDTH * 0.66, position.y), Vector2(RULER_WIDTH, position.y), Color.white)
|
||||||
|
|
||||||
func _on_VerticalRuler_pressed() -> void:
|
func _on_VerticalRuler_pressed() -> void:
|
||||||
var line_2d := Guide.new()
|
var guide := Guide.new()
|
||||||
line_2d.type = line_2d.TYPE.VERTICAL
|
guide.type = guide.TYPE.VERTICAL
|
||||||
line_2d.default_color = Color.purple
|
guide.default_color = Color.purple
|
||||||
line_2d.add_point(Vector2(Global.canvas.current_pixel.x, -99999))
|
guide.add_point(Vector2(Global.canvas.current_pixel.x, -99999))
|
||||||
line_2d.add_point(Vector2(Global.canvas.current_pixel.x, 99999))
|
guide.add_point(Vector2(Global.canvas.current_pixel.x, 99999))
|
||||||
Global.canvas.add_child(line_2d)
|
Global.canvas.add_child(guide)
|
||||||
Global.has_focus = false
|
Global.has_focus = false
|
||||||
|
|
Loading…
Reference in a new issue