From 32c6c7529e9380965d59c9a6bf2161a67f2bd1e7 Mon Sep 17 00:00:00 2001 From: Sara Date: Fri, 16 Jan 2026 11:09:28 +0100 Subject: [PATCH] fix: non-functional UI elements --- assets/icons/kenney_icons.svg | 27 ++++++++++-- project/assets/icons/delete.png | Bin 0 -> 774 bytes project/assets/icons/delete.png.import | 40 ++++++++++++++++++ project/assets/icons/duplicate.png | Bin 0 -> 584 bytes project/assets/icons/duplicate.png.import | 40 ++++++++++++++++++ project/assets/icons/redo.png | Bin 0 -> 1264 bytes project/assets/icons/redo.png.import | 40 ++++++++++++++++++ project/assets/icons/save.png | Bin 0 -> 533 bytes project/assets/icons/save.png.import | 40 ++++++++++++++++++ project/assets/icons/undo.png | Bin 0 -> 1252 bytes project/assets/icons/undo.png.import | 40 ++++++++++++++++++ project/scenes/editor.tscn | 9 +--- .../base_primitive_inspector.tscn | 34 ++++++++++++--- test-terrains/hills.terrain.res | Bin 889 -> 2472 bytes 14 files changed, 253 insertions(+), 17 deletions(-) create mode 100644 project/assets/icons/delete.png create mode 100644 project/assets/icons/delete.png.import create mode 100644 project/assets/icons/duplicate.png create mode 100644 project/assets/icons/duplicate.png.import create mode 100644 project/assets/icons/redo.png create mode 100644 project/assets/icons/redo.png.import create mode 100644 project/assets/icons/save.png create mode 100644 project/assets/icons/save.png.import create mode 100644 project/assets/icons/undo.png create mode 100644 project/assets/icons/undo.png.import diff --git a/assets/icons/kenney_icons.svg b/assets/icons/kenney_icons.svg index af02f854..96f5dd92 100644 --- a/assets/icons/kenney_icons.svg +++ b/assets/icons/kenney_icons.svg @@ -7,7 +7,7 @@ viewBox="0 0 16.933332 16.933332" version="1.1" id="svg1" - inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)" + inkscape:version="1.4.3 (0d15f75042, 2025-12-25)" sodipodi:docname="kenney_icons.svg" inkscape:export-batch-path="../../project/assets/icons" inkscape:export-batch-name="" @@ -25,9 +25,9 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#2b2b2b" inkscape:document-units="mm" - inkscape:zoom="3.9054994" - inkscape:cx="227.37169" - inkscape:cy="45.320708" + inkscape:zoom="2.7110516" + inkscape:cx="344.14689" + inkscape:cy="49.058453" inkscape:current-layer="layer1"> + @@ -90,5 +99,15 @@ d="m 83.533512,4.9852096 -0.465721,0.864913 -0.02218,0.044357 c -0.931446,1.8481071 -0.850129,3.7331753 0.24395,5.6552054 1.094081,2.010739 2.727806,3.053071 4.901178,3.126996 0.177418,0.01477 0.340054,-0.03695 0.487901,-0.15524 0.133055,-0.118281 0.206989,-0.273521 0.221772,-0.465723 0.162642,-1.064509 0.229166,-1.848108 0.199594,-2.350792 -0.01475,-0.177418 -0.07393,-0.332659 -0.177418,-0.465722 -0.118286,-0.133064 -0.273522,-0.199595 -0.465723,-0.199595 -0.901874,-0.07393 -1.58198,-0.495294 -2.040309,-1.2641061 l 0.02218,0.02218 C 85.995193,9.0584358 85.936054,8.3191961 86.26132,7.5799521 86.690081,6.5745809 87.414537,6.0423263 88.434693,5.9831883 h 0.02218 c 0.724456,-0.014769 1.34542,0.2365561 1.86289,0.7540273 C 89.595307,7.15119 89.08523,7.491243 88.789532,7.7573704 88.671246,7.8608625 88.597331,7.9865371 88.567759,8.134384 l 0.02218,0.4435455 0.310482,0.3326592 6.165284,3.5705423 0.487899,0.06653 c 0.162629,-0.01477 0.303091,-0.08871 0.421372,-0.221774 l 0.155235,-0.443545 -0.02218,-7.2297943 -0.08872,-0.377014 -0.266128,-0.2661273 -0.02218,-0.022179 -0.33266,-0.088715 -0.332658,0.088715 -1.55241,0.8870915 C 92.951448,4.120291 92.323096,3.5436824 91.628207,3.1444914 V 3.1223124 C 90.223644,2.2795748 88.759945,2.0504086 87.237106,2.4348171 85.773406,2.7896524 84.561049,3.617606 83.600033,4.918671 l -0.06654,0.066536" style="fill:#ffffff;stroke:none;stroke-width:0.264582" id="path1-9-7" /> + + diff --git a/project/assets/icons/delete.png b/project/assets/icons/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..2d51123342ee1056de3c0e3cd044ff62f7560837 GIT binary patch literal 774 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE9gP2NHH)lP4;wg45^s&cJ}_P z5J!>r{jniD>sTC*EXcg#q!iY*pw(3}Lbrq-5l%9*3rU(RWo;OXUN~g z==b*cbND>beDt$@~&WZZ@75%HOq#r&b!YasC#hRsbT4MTsS+gDB|Eljgfs(VE z1gEfNWH~U;xKJ`ppj7sPgn`HN)HUMzjgh$cm?;Cw^I>F~F)Ig`#cq&{F>%jnN&FZ^}sKbAQxaxPa4kKdPneY9ie|ITX- zx-C=VoNvAte_)rmVLPXHy7-ph2jT{tb6#!wTkdo>V)x@^mwv-S+)xWljGpGiNoO>PD#o*%@j)ReIA_XsvwZeUaDu{C~ZK*mH91 z+l~qdb*dk@Zp3&^^TVtS;`cRVnCDI7eDPCr0`CX02fk(pq8rR_GUPMfOJUx_S}~a% z!7ye!*FeGk@>J$EYmRR8#&XjVNGdHD0J2Q_Xdq8rR@ c^AE`HsaAXu$-eUo0|Nttr>mdKI;Vst03vxtY5)KL literal 0 HcmV?d00001 diff --git a/project/assets/icons/delete.png.import b/project/assets/icons/delete.png.import new file mode 100644 index 00000000..dfbc423c --- /dev/null +++ b/project/assets/icons/delete.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4gdegb25s1yc" +path="res://.godot/imported/delete.png-1a1c27a227e9b4f0c6cd8be5e5c0ab16.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/delete.png" +dest_files=["res://.godot/imported/delete.png-1a1c27a227e9b4f0c6cd8be5e5c0ab16.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project/assets/icons/duplicate.png b/project/assets/icons/duplicate.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa6f4b4b9a34804f969fe33f1fcd6eec785baa6 GIT binary patch literal 584 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 ABLDyZ literal 0 HcmV?d00001 diff --git a/project/assets/icons/save.png.import b/project/assets/icons/save.png.import new file mode 100644 index 00000000..5ea764c3 --- /dev/null +++ b/project/assets/icons/save.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duys3jsbt4bwi" +path="res://.godot/imported/save.png-dcc2a5e33a407ba0416163ad46af5821.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/save.png" +dest_files=["res://.godot/imported/save.png-dcc2a5e33a407ba0416163ad46af5821.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project/assets/icons/undo.png b/project/assets/icons/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..2db34321869b584fd7473e80986d097f3b1a6243 GIT binary patch literal 1252 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE9gP2NHH+56neTihE&XXJ1e&% z)K%hmeRyv7nJW`S4(ezd898e6D08TMXlA`A?V=yQNk=JIYf96CmK7|@i|JoV5w_KZRS^VtG&f*onn|~I~Pk&bVtp53# z+m@!Df96Y0wradm!s0R4A{9*dT@`izL z>RcCVRtfePt{6rgwzQNV{LJ?mW;bqcpIu9Zf0wsIRS2BAye(yF3I;K@1x?ygSHGhHD z2fYshuD>1{_B{8P^~!R|yXjXtY@XCs#9rDs&r&Wl=Ge(e+f0~ERQ4*q^lAS;tLXQP zlWD9S4~*>YDxH|HWa}ige}~IMJ?EbC-o9jGmx@Eba=`p0(X$WgO*fI*uYYh&=#tO} z)(?7mG*jG*jb;hha85n^^}uPnK0U^L?0)@I17}Mf`BPaN*|+ZLVlmyh-;5a}-ah^j zFUoM{n{_eEavR>h3+!JQ*bNq)XL`nXTqI{ZcSP$=-CKocChS!`cZJteT2*&~$uieB z!YX%_R>m2eOY{tm+VXxYj~H)W^8O{R>z24p{WvL3OCo=(wp*9@T+Bf79hx7TWS0HueAYGUqPwTvxoqeW$~vWd~&3B&L~M7FGW? z^@jBUt}~wc`p*;A9eT#d-N>!{WV7Ipi!UDrEVpmJWUZ=u@`rnDs`H2Xob-rid(%G5 zUf3+>$fj~vccr%WgvDp{Zv}I&|8<1FmPP8o=L59|?j105v)G;RH%x}<-N(X`vtMrO z?9XS_W6E1r@%-SOZ%3Xn%G|zxaR*C9*J69GTfH~C^cd{8{odaHBeqf3VD~=tnz^z4 z4(0~?BVWykp1tRGxO@`V2JszIKQ3=~x+b$>Z{#VJ&#cSToeyk1aK2J2^r6#{y?(z9 zTYf$-es8f_;eexzxR@LdgLi|k;?&g&3@!al`iAMf5B#65QgX0e{$C+&Wpu~mCC{Bh zS$^EQyk5RS=JVI%%`?*X3%vaicBB2Wf%N*xQ8%g#v#ZUYS?b?;c`?M5!63hF-H{rJ zjqIOq{_%VC#%yhfXM;*eDxZg&d&3pZCCii@Ua void: terrain.current_selected = null " +[sub_resource type="GDScript" id="GDScript_osefh"] +resource_name = "DuplicatePrimitive" +script/source = "extends Button + +@onready var terrain : TerrainMeshEditor = ($\"../../../..\" as LayerEditor).terrain +@onready var primitive : TerrainPrimitive = terrain.current_selected + +func _pressed() -> void: + terrain.add_primitive(primitive.duplicate_deep()) +" + [node name="Primitive" type="MarginContainer" unique_id=905749607] offset_right = 302.0 offset_bottom = 230.0 @@ -112,7 +128,7 @@ script = SubResource("GDScript_h3glg") [node name="Expression" type="TextEdit" parent="VBoxContainer" unique_id=1154146381] layout_mode = 2 size_flags_vertical = 3 -placeholder_text = "previous_height * previous_height" +placeholder_text = "Heightmap Override (float)" backspace_deletes_composite_character_enabled = true caret_blink = true caret_move_on_right_click = false @@ -121,7 +137,7 @@ draw_spaces = true script = SubResource("GDScript_2i6ni") [node name="ExpressionTimerBuffer" type="Timer" parent="VBoxContainer/Expression" unique_id=1376932514] -wait_time = 2.0 +wait_time = 0.5 [node name="ExpressionError" type="Label" parent="VBoxContainer" unique_id=1840569033] layout_mode = 2 @@ -131,7 +147,7 @@ text = "Error Text" layout_mode = 2 alignment = 2 -[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer" unique_id=1514690251] +[node name="DeleteButton" type="Button" parent="VBoxContainer/HBoxContainer" unique_id=1514690251] custom_minimum_size = Vector2(32, 32) layout_mode = 2 icon = ExtResource("1_h3glg") @@ -139,6 +155,14 @@ icon_alignment = 1 expand_icon = true script = SubResource("GDScript_ivj30") +[node name="DuplicateButton" type="Button" parent="VBoxContainer/HBoxContainer" unique_id=1329310966] +custom_minimum_size = Vector2(32, 32) +layout_mode = 2 +icon = ExtResource("3_ivj30") +icon_alignment = 1 +expand_icon = true +script = SubResource("GDScript_osefh") + [connection signal="item_selected" from="VBoxContainer/BlendModeSelector" to="VBoxContainer/BlendModeSelector" method="_on_item_selected"] [editable path="VBoxContainer/FloatEditor3"] diff --git a/test-terrains/hills.terrain.res b/test-terrains/hills.terrain.res index 3a728c7a8579e633a53c4bf2e36ee1266f8d35aa..e450c91eaa13eeb2f17e3a933b65822369225d80 100644 GIT binary patch literal 2472 zcmWFv4svFI0u}}a1~w?>WME(jPAp4xNi0c(N;5DpGcYjxhXS}D5e#Jp1_lWR28N>4 z;{4L0%ni;^fr4R0cj|xxB>OR0eJa28N`Z)V!4V-29YO1|B%KC^0V` zBAr@MP?TC+oSC1;z|O$Hker%Vl3E0Ie{oKJK`K}PAl1o5=0CE>xIxDjT6dI!7fPrc$N-ZfZ z%7ge@gn@w}B|kSYGcUe8v8W(EH7_wKCpCpZ5KSB$NMdM$iMa(inI)wusSM~ch!B)S z)00+&6ofK3Bw@iRk3$|QXmObj4rWjy21hbD;ec83#mR{|sSKb%g76WZ044RL#NyPP z%sfcSDk#d#%`C|TMJyGXZMGQ$$g`hBindp{ST;c~xls=gysqv{<28D$TTcPTZ4Fsz}*lcQOnxD!b4e~7m z0|RaYbBzp2%NVMl>hKt7XlRs|$nXG*LNq@cnCBH3GuVUj9ezKj7nGM|F&rkW(7-Iu zq=LbN0~FwBp_r4Hmx}N-#Okw9g#io<4Eh=QxvBcaiA9O}F8Rr&xv6<2#ro+fx&=k~ zS*gh-#rh?wMMa63dAg}7nI-u}`X#BwCAv_tV*QNFoSb4kC|9p2wU|L3lpq)w82A|& z7*PGq04gCt@d7F>awFe37BF%+gF*`=K69qzevm&wYzBroP9PUDVmAh41gI)BP1i=z>NfzmndllTwsCHDab_i1)R1Z6(Acx7?kEg;^)6l zwg=^J5c``(j6Ep9fY^RX8yrB10>r*rp=pooaMTnBE?t=zAQb_O25IBEuJ0%ZE#yJs zAPmaHAURvE>-Gu^4B)WSjLCO|84q&epz?&sI&~CJfE*9=gvdH}2bd?SMV#QCz>-El z=>Zh%Anj>s&+I`oD1ucP7#JY+k%F#5L4LUgtO(cF09ROAh6b8C3PzgXIti2-1ZO{V z`aFsK5XeA~As!EZA*F^7#JZtcq{cSH^&=ixi&H#)%_Vav50$q@|j zBuOA3Kna9=M@UNZ9I||H?;y+(mwY!NIbs27NT3uK;8X|7g&^O9-H0j;i>O&MFFGhf z6Dg<&f+bQ=Q2=iSfl{>+0|NsnrGpfJnlvCWkOmkVWEYGLG91PR*$-obya8i_N(>kq P*-VhdAU?=EP#X;ZpQ|5Z delta 227 zcmZ1>{F7}$DkJyAv@S(X1_p+t#NyPP%)C?vZUzR1f}+ga%#zHq)M5q@V43X5qQdl= zak3qYB8P!lo=F8m0n_9OEb2^OnI`XKiDK1ZW?*2Le1Khv`C-+r$yprM94d=WADSGe zb7-;#hdpzltrtkpXX}NDhkCL%I