mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-03-04 18:43:15 +00:00
* Implement 3D layers
* Remove unneeded files
* Fix bug where a single hidden layer would ignore all of the layers on top when exporting
* Fix pxo loading
* Remove junk nodes from 3DShapeEdit
Seems like they were created when I copied from the old 3D Options.tscn panel to the new 3D Shape Edit tool.
* Make light gizmos half the size, and hide gizmos when rotating
* Fix crash when using the 3D shape edit tool on a group layer
* Remove unneeded code in Canvas.gd
* Add torus in the Cel3DObject.Type enumerator
Torus isn't currently supported in Godot 3.5, but it is in 3.6 and 4.0, so this is just future-proofing. May break compatibility with .pxo files that were exported with 3D layers before this change.
* Toggle 3D object visibility
* Change texts and some variable names
* Fill translation strings
* Fix crash on group blending, and make the code in Export.blend_layers() more general
* Fix errors when attempting to draw on a 3D cel
Can occur when multiple cels are selected, some of them 3D and some of them pixel
* Make scene properties and objects be per-cel instead of per-layer
Breaks compatibility with previous .pxo files that had 3D layers. Also introduces serialize() and deserialize() methods to BaseCel
* Use if not layer is get_script() in GroupLayer.blend_children()
* Flip the condition in GroupLayer.blend_children()
* Fix bug where locked/invisible layers could get drawn
Regression from c2f6bf0f3f
* Move gizmo code to 3DShapeEdit's draw_start(), move some undo/redo logic to 3DShapeEdit
* Move all of the undo/redo code to 3DShapeEdit, simplify code in Cel3D
* Store Cel3D image data to pxo, for easy usage by external software
This makes importing projects with 3D layers to other software, such as Godot using godot_pixelorama_importer easier.
* Make the linter happy
* Fix bug where the previously selected object would remain selected when it got removed with undo
101 lines
3.1 KiB
Text
101 lines
3.1 KiB
Text
[gd_scene load_steps=6 format=2]
|
|
|
|
[ext_resource path="res://src/UI/Nodes/ValueSlider.gd" type="Script" id=1]
|
|
[ext_resource path="res://src/UI/Nodes/ValueSliderV3.gd" type="Script" id=2]
|
|
[ext_resource path="res://assets/graphics/misc/lock_aspect_2.png" type="Texture" id=3]
|
|
[ext_resource path="res://assets/graphics/misc/lock_aspect_guides.png" type="Texture" id=4]
|
|
[ext_resource path="res://assets/graphics/misc/lock_aspect.png" type="Texture" id=5]
|
|
|
|
[node name="ValueSliderV3" type="HBoxContainer"]
|
|
margin_right = 45.0
|
|
margin_bottom = 52.0
|
|
script = ExtResource( 2 )
|
|
|
|
[node name="GridContainer" type="GridContainer" parent="."]
|
|
margin_right = 45.0
|
|
margin_bottom = 80.0
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="X" type="TextureProgress" parent="GridContainer"]
|
|
margin_right = 45.0
|
|
margin_bottom = 24.0
|
|
rect_min_size = Vector2( 32, 24 )
|
|
mouse_default_cursor_shape = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = "ValueSlider"
|
|
nine_patch_stretch = true
|
|
stretch_margin_left = 3
|
|
stretch_margin_top = 3
|
|
stretch_margin_right = 3
|
|
stretch_margin_bottom = 3
|
|
script = ExtResource( 1 )
|
|
prefix = "X:"
|
|
|
|
[node name="Y" type="TextureProgress" parent="GridContainer"]
|
|
margin_top = 28.0
|
|
margin_right = 45.0
|
|
margin_bottom = 52.0
|
|
rect_min_size = Vector2( 32, 24 )
|
|
mouse_default_cursor_shape = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = "ValueSlider"
|
|
nine_patch_stretch = true
|
|
stretch_margin_left = 3
|
|
stretch_margin_top = 3
|
|
stretch_margin_right = 3
|
|
stretch_margin_bottom = 3
|
|
script = ExtResource( 1 )
|
|
prefix = "Y:"
|
|
|
|
[node name="Z" type="TextureProgress" parent="GridContainer"]
|
|
margin_top = 56.0
|
|
margin_right = 45.0
|
|
margin_bottom = 80.0
|
|
rect_min_size = Vector2( 32, 24 )
|
|
mouse_default_cursor_shape = 2
|
|
size_flags_horizontal = 3
|
|
theme_type_variation = "ValueSlider"
|
|
nine_patch_stretch = true
|
|
stretch_margin_left = 3
|
|
stretch_margin_top = 3
|
|
stretch_margin_right = 3
|
|
stretch_margin_bottom = 3
|
|
script = ExtResource( 1 )
|
|
prefix = "Z:"
|
|
|
|
[node name="Ratio" type="Control" parent="."]
|
|
visible = false
|
|
margin_left = 36.0
|
|
margin_right = 52.0
|
|
margin_bottom = 80.0
|
|
rect_min_size = Vector2( 16, 0 )
|
|
|
|
[node name="RatioGuides" type="NinePatchRect" parent="Ratio" groups=["UIButtons"]]
|
|
anchor_bottom = 1.0
|
|
margin_right = 9.0
|
|
rect_min_size = Vector2( 9, 0 )
|
|
texture = ExtResource( 4 )
|
|
region_rect = Rect2( 0, 0, 9, 44 )
|
|
patch_margin_top = 15
|
|
patch_margin_bottom = 13
|
|
|
|
[node name="RatioButton" type="TextureButton" parent="Ratio" groups=["UIButtons"]]
|
|
unique_name_in_owner = true
|
|
anchor_left = 0.5
|
|
anchor_top = 0.5
|
|
anchor_right = 0.5
|
|
anchor_bottom = 0.5
|
|
margin_left = -8.0
|
|
margin_top = -8.0
|
|
margin_right = 8.0
|
|
margin_bottom = 8.0
|
|
hint_tooltip = "Lock aspect ratio"
|
|
mouse_default_cursor_shape = 2
|
|
toggle_mode = true
|
|
texture_normal = ExtResource( 3 )
|
|
texture_pressed = ExtResource( 5 )
|
|
|
|
[connection signal="value_changed" from="GridContainer/X" to="." method="_on_X_value_changed"]
|
|
[connection signal="value_changed" from="GridContainer/Y" to="." method="_on_Y_value_changed"]
|
|
[connection signal="value_changed" from="GridContainer/Z" to="." method="_on_Z_value_changed"]
|
|
[connection signal="toggled" from="Ratio/RatioButton" to="." method="_on_RatioButton_toggled"]
|