Implement janky input buffering.

This commit is contained in:
2025-06-24 19:41:34 -06:00
parent 827f333e72
commit b182b4264a
19 changed files with 161 additions and 154 deletions
@@ -187,4 +187,4 @@ Anim={
"zfar": 4000.01, "zfar": 4000.01,
"znear": 0.05 "znear": 0.05
} }
selected_nodes=Array[NodePath]([]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Caves")])
+9 -9
View File
@@ -2,15 +2,15 @@
dock_3_selected_tab_idx=0 dock_3_selected_tab_idx=0
dock_4_selected_tab_idx=0 dock_4_selected_tab_idx=0
dock_5_selected_tab_idx=0 dock_5_selected_tab_idx=1
dock_floating={} dock_floating={}
dock_filesystem_h_split_offset=240 dock_filesystem_h_split_offset=240
dock_filesystem_v_split_offset=0 dock_filesystem_v_split_offset=0
dock_filesystem_display_mode=0 dock_filesystem_display_mode=0
dock_filesystem_file_sort=0 dock_filesystem_file_sort=0
dock_filesystem_file_list_display_mode=1 dock_filesystem_file_list_display_mode=1
dock_filesystem_selected_paths=PackedStringArray("res://sounds/pound_sound.wav") dock_filesystem_selected_paths=PackedStringArray("res://cg/")
dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://sprites/", "res://scripts/", "res://objects/", "res://objects/projectiles/", "res://objects/fx/") dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://sprites/", "res://sounds/", "res://scripts/", "res://objects/", "res://objects/projectiles/", "res://objects/fx/")
dock_node_current_tab=0 dock_node_current_tab=0
dock_history_include_scene=true dock_history_include_scene=true
dock_history_include_global=true dock_history_include_global=true
@@ -29,30 +29,30 @@ dock_5="Inspector,Node,History"
[EditorNode] [EditorNode]
open_scenes=PackedStringArray("res://rooms/labs.tscn", "res://rooms/caves.tscn", "res://objects/npcs/zombie.tscn", "res://objects/player.tscn", "res://objects/projectiles/pound_ice.tscn", "res://objects/projectiles/pound_bullet.tscn", "res://objects/fx/jump_dust.tscn", "res://objects/fx/roll_dust.tscn") open_scenes=PackedStringArray("res://rooms/labs.tscn", "res://rooms/caves.tscn", "res://objects/npcs/zombie.tscn", "res://objects/player.tscn", "res://objects/projectiles/pound_ice.tscn", "res://objects/projectiles/pound_bullet.tscn", "res://objects/fx/jump_dust.tscn", "res://objects/fx/roll_dust.tscn")
current_scene="res://objects/projectiles/pound_bullet.tscn" current_scene="res://rooms/caves.tscn"
center_split_offset=0 center_split_offset=-376
selected_default_debugger_tab_idx=0 selected_default_debugger_tab_idx=0
selected_main_editor_idx=2 selected_main_editor_idx=2
selected_bottom_panel_item=9 selected_bottom_panel_item=0
[EditorWindow] [EditorWindow]
screen=0 screen=0
mode="maximized" mode="maximized"
position=Vector2i(1920, 28) position=Vector2i(0, 28)
[ScriptEditor] [ScriptEditor]
open_scripts=["res://rooms/caves.gd", "res://objects/door_zone.gd", "res://scripts/dust_particle.gd", "res://objects/player.gd", "res://objects/player_sprite.gd", "res://objects/projectiles/pound_bullet.gd", "res://objects/npcs/zombie.gd", "res://objects/npcs/zombie_sprite.gd"] open_scripts=["res://rooms/caves.gd", "res://objects/door_zone.gd", "res://scripts/dust_particle.gd", "res://objects/player.gd", "res://objects/player_sprite.gd", "res://objects/projectiles/pound_bullet.gd", "res://objects/npcs/zombie.gd", "res://objects/npcs/zombie_sprite.gd"]
selected_script="res://objects/player.gd" selected_script="res://objects/player.gd"
open_help=["PhysicsBody2D"] open_help=["PhysicsBody2D", "StringName"]
script_split_offset=200 script_split_offset=200
list_split_offset=0 list_split_offset=0
zoom_factor=1.0 zoom_factor=1.0
[GameView] [GameView]
floating_window_rect=Rect2i(2714, 28, 972, 767) floating_window_rect=Rect2i(1114, 571, 972, 767)
floating_window_screen=0 floating_window_screen=0
[ShaderEditor] [ShaderEditor]
Binary file not shown.
+119 -120
View File
@@ -1,121 +1,120 @@
72322a848ab928aa5c89f0cb78209805 72322a848ab928aa5c89f0cb78209805
::res://::1750738217 ::res://::1750795340
default_bus_layout.tres::AudioBusLayout::4741568517670630625::1721080169::0::1::::<><><>0<>0<><>:: default_bus_layout.tres::AudioBusLayout::4741568517670630625::1750795288::0::1::::<><><>0<>0<><>::
export_presets.cfg::TextFile::-1::1720829650::0::1::::<><><>0<>0<><>:: export_presets.cfg::TextFile::-1::1750795288::0::1::::<><><>0<>0<><>::
global.gd::GDScript::6948329511365658777::1750567624::0::1::::<>CanvasLayer<><>0<>0<><>:: global.gd::GDScript::6948329511365658777::1750795288::0::1::::<>CanvasLayer<><>0<>0<><>::
global.tscn::PackedScene::5188239327491606205::1750556552::0::1::::<><><>0<>0<><>::uid://c5828brdwf0ef::::res://global.gd<>uid://crgyul2o4b36b::::res://music/area_0.ogg global.tscn::PackedScene::5188239327491606205::1750795288::0::1::::<><><>0<>0<><>::uid://c5828brdwf0ef::::res://global.gd<>uid://crgyul2o4b36b::::res://music/area_0.ogg
icon.svg::CompressedTexture2D::2031252219591621688::1720799243::1750691150::1::::<><><>0<>0<>d452074079756133125f91d1887b10c3<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex:: icon.svg::CompressedTexture2D::2031252219591621688::1750795288::1750795288::1::::<><><>0<>0<>d452074079756133125f91d1887b10c3<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex::
::res://backgrounds/::1750691150 ::res://backgrounds/::1750795288
lab-background.png::CompressedTexture2D::2055195269937713909::1750562612::1750691150::1::::<><><>0<>0<>17641aed2f55c71948c3fe72f9cb6988<>res://.godot/imported/lab-background.png-af2585ad1cd88c2453fe08aa1aeecb61.ctex:: lab-background.png::CompressedTexture2D::2055195269937713909::1750795288::1750795288::1::::<><><>0<>0<>17641aed2f55c71948c3fe72f9cb6988<>res://.godot/imported/lab-background.png-af2585ad1cd88c2453fe08aa1aeecb61.ctex::
lab-foreground.png::CompressedTexture2D::3201141159394102470::1750562625::1750691150::1::::<><><>0<>0<>4311e647984597607b7e9c082d5e89d7<>res://.godot/imported/lab-foreground.png-f458ead3de93179b0e34957b179f35b3.ctex:: lab-foreground.png::CompressedTexture2D::3201141159394102470::1750795288::1750795288::1::::<><><>0<>0<>4311e647984597607b7e9c082d5e89d7<>res://.godot/imported/lab-foreground.png-f458ead3de93179b0e34957b179f35b3.ctex::
::res://cg/::1750691150 ::res://cg/::1750795288
demon_cg.png::CompressedTexture2D::8359161399023591508::1750551437::1750691150::1::::<><><>0<>0<>17e41cc4d86bce5ab32ef549311f0b29<>res://.godot/imported/demon_cg.png-35e296c7adfd3427d083b30af37884f6.ctex:: demon_cg.png::CompressedTexture2D::8359161399023591508::1750795288::1750795288::1::::<><><>0<>0<>17e41cc4d86bce5ab32ef549311f0b29<>res://.godot/imported/demon_cg.png-35e296c7adfd3427d083b30af37884f6.ctex::
doc_cg.png::CompressedTexture2D::8067680774382417650::1750551437::1750691150::1::::<><><>0<>0<>56b26642d5aaf3be334321f8dac726fe<>res://.godot/imported/doc_cg.png-9a6c378f49d87eb756740781ddbe9a4a.ctex:: doc_cg.png::CompressedTexture2D::8067680774382417650::1750795288::1750795288::1::::<><><>0<>0<>56b26642d5aaf3be334321f8dac726fe<>res://.godot/imported/doc_cg.png-9a6c378f49d87eb756740781ddbe9a4a.ctex::
generic_cg.png::CompressedTexture2D::8582757386628132707::1750551437::1750691150::1::::<><><>0<>0<>4405805105dc90d138b0224f2e941a0f<>res://.godot/imported/generic_cg.png-501538e97bf67c2cb2f5fe0c8213656d.ctex:: generic_cg.png::CompressedTexture2D::8582757386628132707::1750795288::1750795288::1::::<><><>0<>0<>4405805105dc90d138b0224f2e941a0f<>res://.godot/imported/generic_cg.png-501538e97bf67c2cb2f5fe0c8213656d.ctex::
lb_cg.png::CompressedTexture2D::1557455387691020633::1750551437::1750691150::1::::<><><>0<>0<>3309bb4d0a297f2b993366596e20d78a<>res://.godot/imported/lb_cg.png-d8d979a315f5353f5704b56dc05c43c1.ctex:: lb_cg.png::CompressedTexture2D::1557455387691020633::1750795288::1750795288::1::::<><><>0<>0<>3309bb4d0a297f2b993366596e20d78a<>res://.godot/imported/lb_cg.png-d8d979a315f5353f5704b56dc05c43c1.ctex::
met_cg.png::CompressedTexture2D::520434181903943370::1750551437::1750691150::1::::<><><>0<>0<>96d85041f01246bcc6024ead1f774260<>res://.godot/imported/met_cg.png-c570dff39e1f4010d05a8f2d025e92dd.ctex:: met_cg.png::CompressedTexture2D::520434181903943370::1750795288::1750795288::1::::<><><>0<>0<>96d85041f01246bcc6024ead1f774260<>res://.godot/imported/met_cg.png-c570dff39e1f4010d05a8f2d025e92dd.ctex::
spid_cg.png::CompressedTexture2D::242836261703893051::1750551437::1750691150::1::::<><><>0<>0<>59ba6bfab482084faa4a932732de319f<>res://.godot/imported/spid_cg.png-7ba8afaaa950ec3f2d82473935743524.ctex:: spid_cg.png::CompressedTexture2D::242836261703893051::1750795288::1750795288::1::::<><><>0<>0<>59ba6bfab482084faa4a932732de319f<>res://.godot/imported/spid_cg.png-7ba8afaaa950ec3f2d82473935743524.ctex::
suc_cg.png::CompressedTexture2D::2512209861520528737::1750551437::1750691150::1::::<><><>0<>0<>d56f22511d600a4f4a7b7a6cbad8f6ec<>res://.godot/imported/suc_cg.png-a6bafc5dbdfa314a931c84da0ebf177c.ctex:: suc_cg.png::CompressedTexture2D::2512209861520528737::1750795288::1750795288::1::::<><><>0<>0<>d56f22511d600a4f4a7b7a6cbad8f6ec<>res://.godot/imported/suc_cg.png-a6bafc5dbdfa314a931c84da0ebf177c.ctex::
::res://fonts/::1750691150 ::res://fonts/::1750795288
Kenney Mini Square.ttf::FontFile::1938262454714673245::1453271262::1750691150::1::::<><><>0<>0<>542788ee824eef02cfe731e42b3397b2<>res://.godot/imported/Kenney Mini Square.ttf-1f4c1a99a59ae08657fdeadcb5ed3ee0.fontdata:: Kenney Mini Square.ttf::FontFile::1938262454714673245::1750795288::1750795288::1::::<><><>0<>0<>542788ee824eef02cfe731e42b3397b2<>res://.godot/imported/Kenney Mini Square.ttf-1f4c1a99a59ae08657fdeadcb5ed3ee0.fontdata::
Kenney Mini.ttf::FontFile::1135465313385483486::1453271234::1750691150::1::::<><><>0<>0<>dff44e61f6924ef8a01d950b72fc29c3<>res://.godot/imported/Kenney Mini.ttf-7e07372b7d2e719119d99587e44ddefb.fontdata:: Kenney Mini.ttf::FontFile::1135465313385483486::1750795288::1750795288::1::::<><><>0<>0<>dff44e61f6924ef8a01d950b72fc29c3<>res://.godot/imported/Kenney Mini.ttf-7e07372b7d2e719119d99587e44ddefb.fontdata::
::res://menus/::1750620660 ::res://menus/::1750795288
continue_game_menu.tscn::PackedScene::6116708658199591154::1750552285::0::1::::<><><>0<>0<><>:: continue_game_menu.tscn::PackedScene::6116708658199591154::1750795288::0::1::::<><><>0<>0<><>::
main_menu.gd::GDScript::1967680497933307927::1750552266::0::1::::<>TextureRect<><>0<>0<><>:: main_menu.gd::GDScript::1967680497933307927::1750795288::0::1::::<>TextureRect<><>0<>0<><>::
main_menu.tscn::PackedScene::5961113186009049631::1750620660::0::1::::<><><>0<>0<><>::uid://d01fm68pwgnvc::::res://ui/default_theme.tres<>uid://w7m2ybuqy1bw::::res://ui/background.png<>uid://3bfn7lgm1s3h::::res://menus/main_menu.gd<>uid://bqlbo0yh111fw::::res://objects/ui/sound_button.tscn<>uid://3p3r68ntjf4u::::res://sounds/ui/menu_click.wav<>uid://cs58kp03yj1kf::::res://sounds/ui/menu_confirm.wav main_menu.tscn::PackedScene::5961113186009049631::1750795288::0::1::::<><><>0<>0<><>::uid://d01fm68pwgnvc::::res://ui/default_theme.tres<>uid://w7m2ybuqy1bw::::res://ui/background.png<>uid://3bfn7lgm1s3h::::res://menus/main_menu.gd<>uid://bqlbo0yh111fw::::res://objects/ui/sound_button.tscn<>uid://3p3r68ntjf4u::::res://sounds/ui/menu_click.wav<>uid://cs58kp03yj1kf::::res://sounds/ui/menu_confirm.wav
new_game_menu.gd::GDScript::915522276040726856::1750552323::0::1::::<>Control<><>0<>0<><>:: new_game_menu.gd::GDScript::915522276040726856::1750795288::0::1::::<>Control<><>0<>0<><>::
new_game_menu.tscn::PackedScene::4990018891270925652::1750620660::0::1::::<><><>0<>0<><>::uid://d01fm68pwgnvc::::res://ui/default_theme.tres<>uid://nbqru7pv7cxc::::res://menus/new_game_menu.gd<>uid://bqlbo0yh111fw::::res://objects/ui/sound_button.tscn<>uid://beomt8bs2wra2::::res://ui/empty_ico.png<>uid://3p3r68ntjf4u::::res://sounds/ui/menu_click.wav<>uid://kwsk0b5ff8k1::::res://ui/fire_ico.png<>uid://dh8ike5vblov0::::res://ui/ice_ico.png<>uid://cs58kp03yj1kf::::res://sounds/ui/menu_confirm.wav<>uid://v0wt3up1lrkm::::res://ui/laser_ico.png<>uid://pk0b46lb6tmo::::res://ui/cryo_image.tres<>uid://h6prwf5a5wwr::::res://objects/ui/sound_button.gd new_game_menu.tscn::PackedScene::4990018891270925652::1750795288::0::1::::<><><>0<>0<><>::uid://d01fm68pwgnvc::::res://ui/default_theme.tres<>uid://nbqru7pv7cxc::::res://menus/new_game_menu.gd<>uid://bqlbo0yh111fw::::res://objects/ui/sound_button.tscn<>uid://beomt8bs2wra2::::res://ui/empty_ico.png<>uid://3p3r68ntjf4u::::res://sounds/ui/menu_click.wav<>uid://kwsk0b5ff8k1::::res://ui/fire_ico.png<>uid://dh8ike5vblov0::::res://ui/ice_ico.png<>uid://cs58kp03yj1kf::::res://sounds/ui/menu_confirm.wav<>uid://v0wt3up1lrkm::::res://ui/laser_ico.png<>uid://pk0b46lb6tmo::::res://ui/cryo_image.tres<>uid://h6prwf5a5wwr::::res://objects/ui/sound_button.gd
options_menu.gd::GDScript::4440408493494160629::1721094031::0::1::::<>Control<><>0<>0<><>:: options_menu.gd::GDScript::4440408493494160629::1750795288::0::1::::<>Control<><>0<>0<><>::
options_menu.tscn::PackedScene::6253358267390139520::1750551533::0::1::::<><><>0<>0<><>::uid://d01fm68pwgnvc::::res://ui/default_theme.tres<>uid://b4i745jtfepbh::::res://menus/options_menu.gd options_menu.tscn::PackedScene::6253358267390139520::1750795288::0::1::::<><><>0<>0<><>::uid://d01fm68pwgnvc::::res://ui/default_theme.tres<>uid://b4i745jtfepbh::::res://menus/options_menu.gd
splash_screen.gd::GDScript::8582636975384722305::1750552206::0::1::::<>TextureRect<><>0<>0<><>:: splash_screen.gd::GDScript::8582636975384722305::1750795288::0::1::::<>TextureRect<><>0<>0<><>::
splash_screen.tscn::PackedScene::219342553163428562::1750552323::0::1::::<><><>0<>0<><>::uid://dl708xax0net7::::res://ui/splash.png<>uid://dujq1ojabysqj::::res://menus/splash_screen.gd splash_screen.tscn::PackedScene::219342553163428562::1750795288::0::1::::<><><>0<>0<><>::uid://dl708xax0net7::::res://ui/splash.png<>uid://dujq1ojabysqj::::res://menus/splash_screen.gd
::res://music/::1750691150 ::res://music/::1750795288
area_0.ogg::AudioStreamOggVorbis::5979931519603097575::1720811397::1750691150::1::::<><><>0<>0<>a3ce7f557a3360acffbb03932ae4c17f<>res://.godot/imported/area_0.ogg-698a37b00e191da3849aacf81b06191a.oggvorbisstr:: area_0.ogg::AudioStreamOggVorbis::5979931519603097575::1750795288::1750795288::1::::<><><>0<>0<>a3ce7f557a3360acffbb03932ae4c17f<>res://.godot/imported/area_0.ogg-698a37b00e191da3849aacf81b06191a.oggvorbisstr::
area_1.ogg::AudioStreamOggVorbis::2940933060406592714::1720811397::1750691150::1::::<><><>0<>0<>3c45845695b06c8e8ab93dea4312436c<>res://.godot/imported/area_1.ogg-0e4736dd73553438db5039531904b03b.oggvorbisstr:: area_1.ogg::AudioStreamOggVorbis::2940933060406592714::1750795288::1750795288::1::::<><><>0<>0<>3c45845695b06c8e8ab93dea4312436c<>res://.godot/imported/area_1.ogg-0e4736dd73553438db5039531904b03b.oggvorbisstr::
area_2.ogg::AudioStreamOggVorbis::5483388114855926758::1720811398::1750691150::1::::<><><>0<>0<>a6dab899c647557c20589cd98c5da0da<>res://.godot/imported/area_2.ogg-f5a90f1530ed9ee4e755d08f5fe609b8.oggvorbisstr:: area_2.ogg::AudioStreamOggVorbis::5483388114855926758::1750795288::1750795288::1::::<><><>0<>0<>a6dab899c647557c20589cd98c5da0da<>res://.godot/imported/area_2.ogg-f5a90f1530ed9ee4e755d08f5fe609b8.oggvorbisstr::
area_3.ogg::AudioStreamOggVorbis::5909200030293024793::1720811399::1750691150::1::::<><><>0<>0<>d932a111b93b8eae441f0cc515fdd340<>res://.godot/imported/area_3.ogg-696854ba5bbb5873d0759cf7aef40d43.oggvorbisstr:: area_3.ogg::AudioStreamOggVorbis::5909200030293024793::1750795288::1750795288::1::::<><><>0<>0<>d932a111b93b8eae441f0cc515fdd340<>res://.godot/imported/area_3.ogg-696854ba5bbb5873d0759cf7aef40d43.oggvorbisstr::
area_4.ogg::AudioStreamOggVorbis::4014963219589510110::1720811400::1750691150::1::::<><><>0<>0<>20dcc8fcc4b153824ea3fd5b1ab64878<>res://.godot/imported/area_4.ogg-20ed11af33d4f9581ca42f87b4758bcd.oggvorbisstr:: area_4.ogg::AudioStreamOggVorbis::4014963219589510110::1750795288::1750795288::1::::<><><>0<>0<>20dcc8fcc4b153824ea3fd5b1ab64878<>res://.godot/imported/area_4.ogg-20ed11af33d4f9581ca42f87b4758bcd.oggvorbisstr::
ending_music.ogg::AudioStreamOggVorbis::1829946715165246158::1720811401::1750691150::1::::<><><>0<>0<>8e0f316154f19ab698d8447e64b65965<>res://.godot/imported/ending_music.ogg-d4fce01ab1e3374353771c26db2bf3ca.oggvorbisstr:: ending_music.ogg::AudioStreamOggVorbis::1829946715165246158::1750795288::1750795288::1::::<><><>0<>0<>8e0f316154f19ab698d8447e64b65965<>res://.godot/imported/ending_music.ogg-d4fce01ab1e3374353771c26db2bf3ca.oggvorbisstr::
game_over_music.ogg::AudioStreamOggVorbis::5269687320721226464::1720811402::1750691150::1::::<><><>0<>0<>d5d2e384d475b3469a5fa43a0c41a5d4<>res://.godot/imported/game_over_music.ogg-9a91a773036c7879e3fca3c22c46a438.oggvorbisstr:: game_over_music.ogg::AudioStreamOggVorbis::5269687320721226464::1750795288::1750795288::1::::<><><>0<>0<>d5d2e384d475b3469a5fa43a0c41a5d4<>res://.godot/imported/game_over_music.ogg-9a91a773036c7879e3fca3c22c46a438.oggvorbisstr::
::res://objects/::1750737880 ::res://objects/::1750795288
door_zone.gd::GDScript::6585260232913134177::1750703301::0::1::::DoorZone<>Area2D<><>0<>0<><>:: door_zone.gd::GDScript::6585260232913134177::1750795288::0::1::::DoorZone<>Area2D<><>0<>0<><>::
door_zone.tscn::PackedScene::7713934376021401873::1750567808::0::1::::<><><>0<>0<><>::uid://c027jkwb3uac4::::res://objects/door_zone.gd door_zone.tscn::PackedScene::7713934376021401873::1750795288::0::1::::<><><>0<>0<><>::uid://c027jkwb3uac4::::res://objects/door_zone.gd
player.gd::GDScript::8383636569304863995::1750737779::0::1::::Player<>CharacterBody2D<><>0<>0<><>:: player.gd::GDScript::8383636569304863995::1750795288::0::1::::Player<>CharacterBody2D<><>0<>0<><>::
player.png::CompressedTexture2D::5391872014729722203::1750736905::1750723748::1::::<><><>0<>0<>19e6728ac07912099d880a026e170d77<>res://.godot/imported/player.png-ce2a37186354540f2edbb662bd1e85b2.ctex:: player.png::CompressedTexture2D::5391872014729722203::1750795288::1750795288::1::::<><><>0<>0<>19e6728ac07912099d880a026e170d77<>res://.godot/imported/player.png-ce2a37186354540f2edbb662bd1e85b2.ctex::
player.tscn::PackedScene::1907163347070211091::1750737779::0::1::::<><><>0<>0<><>::uid://ci24lybfsaxd0::::res://objects/player.png<>uid://drpdjfp0o7bbv::::res://objects/player.gd<>uid://e6q7q0ljb34u::::res://scripts/state_collision.gd<>uid://cgeaq15vi0bnd::::res://objects/player_sprite.gd player.tscn::PackedScene::1907163347070211091::1750795288::0::1::::<><><>0<>0<><>::uid://ci24lybfsaxd0::::res://objects/player.png<>uid://drpdjfp0o7bbv::::res://objects/player.gd<>uid://cgeaq15vi0bnd::::res://objects/player_sprite.gd
player_camera_2d.gd::GDScript::8499122072640094153::1750573607::0::1::::PlayerCamera2D<>Camera2D<><>0<>0<><>:: player_camera_2d.gd::GDScript::8499122072640094153::1750795288::0::1::::PlayerCamera2D<>Camera2D<><>0<>0<><>::
player_sprite.gd::GDScript::5202261925850168873::1750737880::0::1::::<>AnimatedSprite2D<><>0<>0<><>:: player_sprite.gd::GDScript::5202261925850168873::1750795288::0::1::::<>AnimatedSprite2D<><>0<>0<><>::
::res://objects/fx/::1750738040 ::res://objects/fx/::1750795288
jump_dust.png::CompressedTexture2D::6093910176590466600::1750551491::1750691150::1::::<><><>0<>0<>6aa6a125bac4cacccea38cad95a2a660<>res://.godot/imported/jump_dust.png-341779febee3ef098cb2627403b1ea29.ctex:: jump_dust.png::CompressedTexture2D::6093910176590466600::1750795288::1750795288::1::::<><><>0<>0<>6aa6a125bac4cacccea38cad95a2a660<>res://.godot/imported/jump_dust.png-341779febee3ef098cb2627403b1ea29.ctex::
jump_dust.tscn::PackedScene::6824351214076789730::1750738040::0::1::::<><><>0<>0<><>::uid://cs262sxemhpum::::res://objects/fx/jump_dust.png<>uid://dgo1wtjored0j::::res://scripts/dust_particle.gd jump_dust.tscn::PackedScene::6824351214076789730::1750795288::0::1::::<><><>0<>0<><>::uid://cs262sxemhpum::::res://objects/fx/jump_dust.png<>uid://dgo1wtjored0j::::res://scripts/dust_particle.gd
roll_dust.png::CompressedTexture2D::7911025917473223871::1750551491::1750691150::1::::<><><>0<>0<>8a7c192e7e4cdf48d56db4db16ba61cc<>res://.godot/imported/roll_dust.png-f921e62c1104c1a75294133942b0d92b.ctex:: roll_dust.png::CompressedTexture2D::7911025917473223871::1750795288::1750795288::1::::<><><>0<>0<>8a7c192e7e4cdf48d56db4db16ba61cc<>res://.godot/imported/roll_dust.png-f921e62c1104c1a75294133942b0d92b.ctex::
roll_dust.tscn::PackedScene::3408465817884088527::1750620825::0::1::::<><><>0<>0<><>::uid://dkyfo8335hwnv::::res://objects/fx/roll_dust.png<>uid://dgo1wtjored0j::::res://scripts/dust_particle.gd roll_dust.tscn::PackedScene::3408465817884088527::1750795288::0::1::::<><><>0<>0<><>::uid://dkyfo8335hwnv::::res://objects/fx/roll_dust.png<>uid://dgo1wtjored0j::::res://scripts/dust_particle.gd
::res://objects/npcs/::1750703534 ::res://objects/npcs/::1750795288
zombie.gd::GDScript::3999911211607777699::1750619969::0::1::::Zombie<>CharacterBody2D<><>0<>0<><>:: zombie.gd::GDScript::3999911211607777699::1750795288::0::1::::Zombie<>CharacterBody2D<><>0<>0<><>::
zombie.png::CompressedTexture2D::7134390561405859050::1750618714::1750691150::1::::<><><>0<>0<>099eb7fc70add31e2ad29693311f5e7a<>res://.godot/imported/zombie.png-cd8c3c30f31f1b01ad0e7564be92c691.ctex:: zombie.png::CompressedTexture2D::7134390561405859050::1750795288::1750795288::1::::<><><>0<>0<>099eb7fc70add31e2ad29693311f5e7a<>res://.godot/imported/zombie.png-cd8c3c30f31f1b01ad0e7564be92c691.ctex::
zombie.tscn::PackedScene::308196846848181292::1750703534::0::1::::<><><>0<>0<><>::uid://c8v7mt7kbv7k5::::res://objects/npcs/zombie.png<>uid://bw8t7n771m0b4::::res://objects/npcs/zombie.gd<>uid://bsveyr6o3li86::::res://objects/npcs/zombie_sprite.gd<>uid://e6q7q0ljb34u::::res://scripts/state_collision.gd zombie.tscn::PackedScene::308196846848181292::1750795288::0::1::::<><><>0<>0<><>::uid://c8v7mt7kbv7k5::::res://objects/npcs/zombie.png<>uid://bw8t7n771m0b4::::res://objects/npcs/zombie.gd<>uid://bsveyr6o3li86::::res://objects/npcs/zombie_sprite.gd<>uid://e6q7q0ljb34u::::res://scripts/state_collision.gd
zombie_sprite.gd::GDScript::3693458470497568057::1750703312::0::1::::<>AnimatedSprite2D<><>0<>0<><>:: zombie_sprite.gd::GDScript::3693458470497568057::1750795288::0::1::::<>AnimatedSprite2D<><>0<>0<><>::
::res://objects/projectiles/::1750738121 ::res://objects/projectiles/::1750795288
blast.png::CompressedTexture2D::6093584782309974374::1750620753::1750691150::1::::<><><>0<>0<>925e8fe7b0757f702b16ffbd585a1c8b<>res://.godot/imported/blast.png-1e5c9a58118096a1044ef4f96ebba846.ctex:: blast.png::CompressedTexture2D::6093584782309974374::1750795288::1750795288::1::::<><><>0<>0<>925e8fe7b0757f702b16ffbd585a1c8b<>res://.godot/imported/blast.png-1e5c9a58118096a1044ef4f96ebba846.ctex::
blast.tscn::PackedScene::2546198143009428255::1750620707::0::1::::<><><>0<>0<><>:: blast.tscn::PackedScene::2546198143009428255::1750795288::0::1::::<><><>0<>0<><>::
pound.png::CompressedTexture2D::9203406040908212222::1750736801::1750737142::1::::<><><>0<>0<>6dafefe5107892ee39222fc64dc0a920<>res://.godot/imported/pound.png-6ee6ac380bf754456c2cc079349b4d65.ctex:: pound.png::CompressedTexture2D::9203406040908212222::1750795288::1750795288::1::::<><><>0<>0<>6dafefe5107892ee39222fc64dc0a920<>res://.godot/imported/pound.png-6ee6ac380bf754456c2cc079349b4d65.ctex::
pound_bullet.gd::GDScript::3027673964664734793::1750738121::0::1::::<>AnimatedSprite2D<><>0<>0<><>:: pound_bullet.gd::GDScript::3027673964664734793::1750795288::0::1::::<>AnimatedSprite2D<><>0<>0<><>::
pound_bullet.tscn::PackedScene::2147453580684251355::1750738121::0::1::::<><><>0<>0<><>::uid://bjevl3d4tu3e8::::res://objects/projectiles/pound_bullet.gd<>uid://d4eg0ukm83711::::res://objects/projectiles/pound.png pound_bullet.tscn::PackedScene::2147453580684251355::1750795288::0::1::::<><><>0<>0<><>::uid://bjevl3d4tu3e8::::res://objects/projectiles/pound_bullet.gd<>uid://d4eg0ukm83711::::res://objects/projectiles/pound.png
pound_ice.tscn::PackedScene::1302762331534600422::1750737172::0::1::::<><><>0<>0<><>:: pound_ice.tscn::PackedScene::1302762331534600422::1750795288::0::1::::<><><>0<>0<><>::
::res://objects/ui/::1750620660 ::res://objects/ui/::1750795288
sound_button.gd::GDScript::556259893831953221::1725568022::0::1::::<>Button<><>0<>0<><>:: sound_button.gd::GDScript::556259893831953221::1750795288::0::1::::<>Button<><>0<>0<><>::
sound_button.tscn::PackedScene::3532237405816616184::1750620660::0::1::::<><><>0<>0<><>::uid://h6prwf5a5wwr::::res://objects/ui/sound_button.gd sound_button.tscn::PackedScene::3532237405816616184::1750795288::0::1::::<><><>0<>0<><>::uid://h6prwf5a5wwr::::res://objects/ui/sound_button.gd
::res://rooms/::1750737986 ::res://rooms/::1750795288
caves.gd::GDScript::24882117089813922::1750617653::0::1::::<>Node2D<><>0<>0<><>:: caves.gd::GDScript::24882117089813922::1750795288::0::1::::<>Node2D<><>0<>0<><>::
caves.tscn::PackedScene::8840549584071536073::1750737986::0::1::::<><><>0<>0<><>::uid://cygngaiobann6::::res://tiles/tileset.tres<>uid://mb2mnfri0ti::::res://rooms/caves.gd<>uid://dtdbkfoaaejw0::::res://objects/player_camera_2d.gd<>uid://c027jkwb3uac4::::res://objects/door_zone.gd<>uid://enj7slqj7o2o::::res://objects/npcs/zombie.tscn caves.tscn::PackedScene::8840549584071536073::1750795288::0::1::::<><><>0<>0<><>::uid://cygngaiobann6::::res://tiles/tileset.tres<>uid://mb2mnfri0ti::::res://rooms/caves.gd<>uid://dtdbkfoaaejw0::::res://objects/player_camera_2d.gd<>uid://c027jkwb3uac4::::res://objects/door_zone.gd<>uid://enj7slqj7o2o::::res://objects/npcs/zombie.tscn
labs.gd::GDScript::37548097007580967::1750567803::0::1::::<>Node2D<><>0<>0<><>:: labs.gd::GDScript::37548097007580967::1750795288::0::1::::<>Node2D<><>0<>0<><>::
labs.tscn::PackedScene::7638760442327001900::1750621123::0::1::::<><><>0<>0<><>::uid://sgn85l66sax::::res://rooms/labs.gd<>uid://cuk2cxty66cah::::res://sprites/lab/map_screen.png<>uid://4js1bkdv4ind::::res://backgrounds/lab-background.png<>uid://bi5xvp1dfm0d7::::res://sprites/lab/map_blip.png<>uid://dyg5mvl45r1vy::::res://sprites/lab/emptypod.png<>uid://ffk8oj1bo227::::res://sprites/player/ pod_1_strip8.png<>uid://chtee26rjbrcp::::res://sprites/player/pod_2_strip17.png<>uid://bluwleimw435s::::res://backgrounds/lab-foreground.png<>uid://dtdbkfoaaejw0::::res://objects/player_camera_2d.gd<>uid://c027jkwb3uac4::::res://objects/door_zone.gd labs.tscn::PackedScene::7638760442327001900::1750795288::0::1::::<><><>0<>0<><>::uid://sgn85l66sax::::res://rooms/labs.gd<>uid://cuk2cxty66cah::::res://sprites/lab/map_screen.png<>uid://4js1bkdv4ind::::res://backgrounds/lab-background.png<>uid://bi5xvp1dfm0d7::::res://sprites/lab/map_blip.png<>uid://dyg5mvl45r1vy::::res://sprites/lab/emptypod.png<>uid://ffk8oj1bo227::::res://sprites/player/ pod_1_strip8.png<>uid://chtee26rjbrcp::::res://sprites/player/pod_2_strip17.png<>uid://bluwleimw435s::::res://backgrounds/lab-foreground.png<>uid://dtdbkfoaaejw0::::res://objects/player_camera_2d.gd<>uid://c027jkwb3uac4::::res://objects/door_zone.gd
::res://scripts/::1750629437 ::res://scripts/::1750795288
config.gd::GDScript::484579074222142259::1750551329::0::1::::Config<>Resource<><>0<>1<><>:: config.gd::GDScript::484579074222142259::1750795288::0::1::::Config<>Resource<><>0<>1<><>::
dust_particle.gd::GDScript::7610915343248037783::1710988865::0::1::::<>AnimatedSprite2D<><>0<>0<><>:: dust_particle.gd::GDScript::7610915343248037783::1750795288::0::1::::<>AnimatedSprite2D<><>0<>0<><>::
save.gd::GDScript::1578935055430542159::1750620390::0::1::::Save<>Resource<><>0<>1<><>:: save.gd::GDScript::1578935055430542159::1750795288::0::1::::Save<>Resource<><>0<>1<><>::
state_collision.gd::GDScript::345780581722804758::1750629437::0::1::::CollisionState2D<>CollisionShape2D<><>0<>0<><>:: state_collision.gd::GDScript::345780581722804758::1750795288::0::1::::CollisionState2D<>CollisionShape2D<><>0<>0<><>::
timespan.gd::GDScript::7847016038395551832::1720911990::0::1::::Timespan<>Node<><>0<>0<><>:: timespan.gd::GDScript::7847016038395551832::1750795288::0::1::::Timespan<>Node<><>0<>0<><>::
::res://shaders/::1750359997 ::res://shaders/::1750795288
grayscale.gdshader::Shader::2567683918940662498::1721530669::0::1::::<><><>0<>0<><>:: grayscale.gdshader::Shader::2567683918940662498::1750795288::0::1::::<><><>0<>0<><>::
grayscale.material::ShaderMaterial::204629878066640012::1720901562::0::1::::<><><>0<>0<><>::res://shaders/grayscale.gdshader grayscale.material::ShaderMaterial::204629878066640012::1750795288::0::1::::<><><>0<>0<><>::res://shaders/grayscale.gdshader
::res://sounds/::1750738217 ::res://sounds/::1750795288
hit_ground.wav::AudioStreamWAV::5347445845899515898::1750620989::1750691150::1::::<><><>0<>0<>239547e1032497772d7233232bb47a83<>res://.godot/imported/hit_ground.wav-31d3c81761ba8558f6320fa0cb58b43c.sample:: hit_ground.wav::AudioStreamWAV::5347445845899515898::1750795288::1750795288::1::::<><><>0<>0<>239547e1032497772d7233232bb47a83<>res://.godot/imported/hit_ground.wav-31d3c81761ba8558f6320fa0cb58b43c.sample::
jump_sound.wav::AudioStreamWAV::8999994836596893168::1710891148::1750691150::1::::<><><>0<>0<>5b8335c6292f8b3be4e8f61023390a16<>res://.godot/imported/jump_sound.wav-9affc2476180294080c55de8f48bec0b.sample:: jump_sound.wav::AudioStreamWAV::8999994836596893168::1750795288::1750795288::1::::<><><>0<>0<>5b8335c6292f8b3be4e8f61023390a16<>res://.godot/imported/jump_sound.wav-9affc2476180294080c55de8f48bec0b.sample::
pound_sound.wav::AudioStreamWAV::6074941637450975420::1750738213::1750738217::1::::<><><>0<>0<>6a371872952477b570f039e42ceb614a<>res://.godot/imported/pound_sound.wav-b136e0c4daaaf2a89c7ebb41d82364d8.sample:: pound_sound.wav::AudioStreamWAV::6074941637450975420::1750795288::1750795288::1::::<><><>0<>0<>6a371872952477b570f039e42ceb614a<>res://.godot/imported/pound_sound.wav-b136e0c4daaaf2a89c7ebb41d82364d8.sample::
::res://sounds/lab/::1740466985 ::res://sounds/ui/::1750795288
::res://sounds/ui/::1750691150 menu_click.wav::AudioStreamWAV::1997985402288459226::1750795288::1750795288::1::::<><><>0<>0<>0699b6cd89ba30bd6b1d52f70dbd3a51<>res://.godot/imported/menu_click.wav-a6fc5b50ad651f5ab9134277621be5e1.sample::
menu_click.wav::AudioStreamWAV::1997985402288459226::1710452569::1750691150::1::::<><><>0<>0<>0699b6cd89ba30bd6b1d52f70dbd3a51<>res://.godot/imported/menu_click.wav-a6fc5b50ad651f5ab9134277621be5e1.sample:: menu_confirm.wav::AudioStreamWAV::6100194231967931209::1750795288::1750795288::1::::<><><>0<>0<>4e716cbfe36b2b20e8f3dcb6ca77e09e<>res://.godot/imported/menu_confirm.wav-165a23549a9dd75ba4fe6e67d519e4fc.sample::
menu_confirm.wav::AudioStreamWAV::6100194231967931209::1710451860::1750691150::1::::<><><>0<>0<>4e716cbfe36b2b20e8f3dcb6ca77e09e<>res://.godot/imported/menu_confirm.wav-165a23549a9dd75ba4fe6e67d519e4fc.sample:: ::res://sprites/::1750795288
::res://sprites/::1750737142 h_scenes.png::CompressedTexture2D::4208166203866870506::1750795288::1750795288::1::::<><><>0<>0<>567c3c56e5ee782bc1feadedbbe829ee<>res://.godot/imported/h_scenes.png-92a1e2a3da19876c77ca7cb2b4fff5cc.ctex::
h_scenes.png::CompressedTexture2D::4208166203866870506::1750618734::1750691150::1::::<><><>0<>0<>567c3c56e5ee782bc1feadedbbe829ee<>res://.godot/imported/h_scenes.png-92a1e2a3da19876c77ca7cb2b4fff5cc.ctex:: ::res://sprites/lab/::1750795288
::res://sprites/lab/::1750691150 emptypod.png::CompressedTexture2D::8858024625567909650::1750795288::1750795288::1::::<><><>0<>0<>6eba387565c972b462ddd9442cc3a919<>res://.godot/imported/emptypod.png-3ea9a6e32380947aa552bfce3629914c.ctex::
emptypod.png::CompressedTexture2D::8858024625567909650::1720910609::1750691150::1::::<><><>0<>0<>6eba387565c972b462ddd9442cc3a919<>res://.godot/imported/emptypod.png-3ea9a6e32380947aa552bfce3629914c.ctex:: map_blip.png::CompressedTexture2D::3011297586083440506::1750795288::1750795288::1::::<><><>0<>0<>7a6aed7c14112e1b150bb22bff7fbf63<>res://.godot/imported/map_blip.png-ceef55ae52619255edd6686f32ea5201.ctex::
map_blip.png::CompressedTexture2D::3011297586083440506::1720909870::1750691150::1::::<><><>0<>0<>7a6aed7c14112e1b150bb22bff7fbf63<>res://.godot/imported/map_blip.png-ceef55ae52619255edd6686f32ea5201.ctex:: map_screen.png::CompressedTexture2D::6198906186601386423::1750795288::1750795288::1::::<><><>0<>0<>7c3521cbb614bbdc02649b5c116f3133<>res://.godot/imported/map_screen.png-5647ca2c75a5040e04eaca0337de0be0.ctex::
map_screen.png::CompressedTexture2D::6198906186601386423::1720909782::1750691150::1::::<><><>0<>0<>7c3521cbb614bbdc02649b5c116f3133<>res://.godot/imported/map_screen.png-5647ca2c75a5040e04eaca0337de0be0.ctex:: ::res://sprites/player/::1750795288
::res://sprites/player/::1750737142 pod_1_strip8.png::CompressedTexture2D::361932958500368546::1750795288::1750795342::1::::<><><>0<>0<>e176a602db1f43e55edc1887190f088a<>res://.godot/imported/ pod_1_strip8.png-091b6cdd48db3c02ccb1a09711911e86.ctex::
pod_1_strip8.png::CompressedTexture2D::361932958500368546::1720833564::1750738217::1::::<><><>0<>0<>e176a602db1f43e55edc1887190f088a<>res://.godot/imported/ pod_1_strip8.png-091b6cdd48db3c02ccb1a09711911e86.ctex:: pod_2_strip17.png::CompressedTexture2D::5303637928130129039::1750795288::1750795288::1::::<><><>0<>0<>727b6afa8dc0b5b6ba5e331c69bc0f6c<>res://.godot/imported/pod_2_strip17.png-d1cfd3450301e3676bd571ad840356ce.ctex::
pod_2_strip17.png::CompressedTexture2D::5303637928130129039::1720834018::1750691150::1::::<><><>0<>0<>727b6afa8dc0b5b6ba5e331c69bc0f6c<>res://.godot/imported/pod_2_strip17.png-d1cfd3450301e3676bd571ad840356ce.ctex:: ::res://tiles/::1750795288
::res://tiles/::1750702292 background0.png::CompressedTexture2D::648105552742881166::1750795288::1750795288::1::::<><><>0<>0<>f20052bda1b7bc72307dacff8112986e<>res://.godot/imported/background0.png-a12797f7f8f3b31b112b98b9411282ad.ctex::
background0.png::CompressedTexture2D::648105552742881166::1750551470::1750691150::1::::<><><>0<>0<>f20052bda1b7bc72307dacff8112986e<>res://.godot/imported/background0.png-a12797f7f8f3b31b112b98b9411282ad.ctex:: background7.png::CompressedTexture2D::376816099813597940::1750795288::1750795288::1::::<><><>0<>0<>fb28ff7dc09955ee45c5183c8520a1aa<>res://.godot/imported/background7.png-4d0c10d61d76442f67f1c7db9492d256.ctex::
background7.png::CompressedTexture2D::376816099813597940::1750551470::1750691150::1::::<><><>0<>0<>fb28ff7dc09955ee45c5183c8520a1aa<>res://.godot/imported/background7.png-4d0c10d61d76442f67f1c7db9492d256.ctex:: background8.png::CompressedTexture2D::8599100516977358228::1750795288::1750795288::1::::<><><>0<>0<>920e03e0d53719fa5d954220b75c2e2d<>res://.godot/imported/background8.png-8e6528c5e631a4cc7d04c24f1729c094.ctex::
background8.png::CompressedTexture2D::8599100516977358228::1750551470::1750691150::1::::<><><>0<>0<>920e03e0d53719fa5d954220b75c2e2d<>res://.godot/imported/background8.png-8e6528c5e631a4cc7d04c24f1729c094.ctex:: background14.png::CompressedTexture2D::9006621404830566164::1750795288::1750795288::1::::<><><>0<>0<>15383ab1cb0ec2a4b9130910270325de<>res://.godot/imported/background14.png-559829884ec90fb8f827206b90e564f3.ctex::
background14.png::CompressedTexture2D::9006621404830566164::1750551470::1750691150::1::::<><><>0<>0<>15383ab1cb0ec2a4b9130910270325de<>res://.godot/imported/background14.png-559829884ec90fb8f827206b90e564f3.ctex:: background16.png::CompressedTexture2D::525037801124894650::1750795288::1750795288::1::::<><><>0<>0<>f3bfe0fb13985438b7feb6b32ef0a9da<>res://.godot/imported/background16.png-907a31e0379fa60e463d89bcd25daef4.ctex::
background16.png::CompressedTexture2D::525037801124894650::1750551470::1750691150::1::::<><><>0<>0<>f3bfe0fb13985438b7feb6b32ef0a9da<>res://.godot/imported/background16.png-907a31e0379fa60e463d89bcd25daef4.ctex:: background32.png::CompressedTexture2D::1596485012775344667::1750795288::1750795288::1::::<><><>0<>0<>479725286717783c10d2d0204af543d7<>res://.godot/imported/background32.png-514698614e3e5f9420175d8af6c2de04.ctex::
background32.png::CompressedTexture2D::1596485012775344667::1750551470::1750691150::1::::<><><>0<>0<>479725286717783c10d2d0204af543d7<>res://.godot/imported/background32.png-514698614e3e5f9420175d8af6c2de04.ctex:: tiles.png::CompressedTexture2D::9169884353096323394::1750795288::1750795288::1::::<><><>0<>0<>0881074d5329a72a14da0cd8960864f0<>res://.godot/imported/tiles.png-c896668944bf22074c8d621d670bc5dd.ctex::
tiles.png::CompressedTexture2D::9169884353096323394::1750578478::1750691150::1::::<><><>0<>0<>0881074d5329a72a14da0cd8960864f0<>res://.godot/imported/tiles.png-c896668944bf22074c8d621d670bc5dd.ctex:: tileset.tres::TileSet::6470559929888614493::1750795288::0::1::::<><><>0<>0<><>::uid://d3v7wj3cud3yk::::res://tiles/tiles.png
tileset.tres::TileSet::6470559929888614493::1750702292::0::1::::<><><>0<>0<><>::uid://d3v7wj3cud3yk::::res://tiles/tiles.png ::res://ui/::1750795288
::res://ui/::1750691150 background.png::CompressedTexture2D::1610992731551526176::1750795288::1750795288::1::::<><><>0<>0<>64cf817ffdb784c4a9652df2cc002a65<>res://.godot/imported/background.png-2693c3f581a46c19cdd8c76a9b20c564.ctex::
background.png::CompressedTexture2D::1610992731551526176::1720802747::1750691150::1::::<><><>0<>0<>64cf817ffdb784c4a9652df2cc002a65<>res://.godot/imported/background.png-2693c3f581a46c19cdd8c76a9b20c564.ctex:: cryo_image.tres::AtlasTexture::1074997714292607898::1750795288::0::1::::<><><>0<>0<><>::uid://ffk8oj1bo227::::res://sprites/player/ pod_1_strip8.png
cryo_image.tres::AtlasTexture::1074997714292607898::1720900181::0::1::::<><><>0<>0<><>::uid://ffk8oj1bo227::::res://sprites/player/ pod_1_strip8.png default_theme.tres::Theme::8967983658039940528::1750795288::0::1::::<><><>0<>0<><>::uid://qga7hxbgghco::::res://fonts/Kenney Mini.ttf<>uid://dinirupft5uhs::::res://ui/slider.png<>uid://crprk32g1mmrj::::res://ui/slider_grabber.png
default_theme.tres::Theme::8967983658039940528::1750553214::0::1::::<><><>0<>0<><>::uid://qga7hxbgghco::::res://fonts/Kenney Mini.ttf<>uid://dinirupft5uhs::::res://ui/slider.png<>uid://crprk32g1mmrj::::res://ui/slider_grabber.png empty_ico.png::CompressedTexture2D::2696841616469620287::1750795288::1750795288::1::::<><><>0<>0<>88786f42d39238c0a6639c68974a7311<>res://.godot/imported/empty_ico.png-e26c4424a19468fde6db108c21f0a16c.ctex::
empty_ico.png::CompressedTexture2D::2696841616469620287::1720823438::1750691150::1::::<><><>0<>0<>88786f42d39238c0a6639c68974a7311<>res://.godot/imported/empty_ico.png-e26c4424a19468fde6db108c21f0a16c.ctex:: fire_ico.png::CompressedTexture2D::748416826777021674::1750795288::1750795288::1::::<><><>0<>0<>e0c6fb64f7715c63ade62f04828a1d61<>res://.godot/imported/fire_ico.png-a253b34cc8a2d544cd6fc0d7db9347b0.ctex::
fire_ico.png::CompressedTexture2D::748416826777021674::1720823415::1750691150::1::::<><><>0<>0<>e0c6fb64f7715c63ade62f04828a1d61<>res://.godot/imported/fire_ico.png-a253b34cc8a2d544cd6fc0d7db9347b0.ctex:: ice_ico.png::CompressedTexture2D::7719212273704145699::1750795288::1750795288::1::::<><><>0<>0<>5f55cdb6d82289517aef18e7d32195da<>res://.godot/imported/ice_ico.png-4aef9e34e400368f0aa520780dd69635.ctex::
ice_ico.png::CompressedTexture2D::7719212273704145699::1720823423::1750691150::1::::<><><>0<>0<>5f55cdb6d82289517aef18e7d32195da<>res://.godot/imported/ice_ico.png-4aef9e34e400368f0aa520780dd69635.ctex:: laser_ico.png::CompressedTexture2D::1526946366441850492::1750795288::1750795288::1::::<><><>0<>0<>5b3744c748d741c8d725ba3f90b941e4<>res://.godot/imported/laser_ico.png-62dc209fb28cc54cc4491815909d471a.ctex::
laser_ico.png::CompressedTexture2D::1526946366441850492::1720823408::1750691150::1::::<><><>0<>0<>5b3744c748d741c8d725ba3f90b941e4<>res://.godot/imported/laser_ico.png-62dc209fb28cc54cc4491815909d471a.ctex:: marker.png::CompressedTexture2D::3142929169415236542::1750795288::1750795288::1::::<><><>0<>0<>8242caad5df65f2c282722fd871e2f34<>res://.godot/imported/marker.png-c3705909188c95dc356f4aed5808d545.ctex::
marker.png::CompressedTexture2D::3142929169415236542::1720830878::1750691150::1::::<><><>0<>0<>8242caad5df65f2c282722fd871e2f34<>res://.godot/imported/marker.png-c3705909188c95dc356f4aed5808d545.ctex:: protag_image.tres::AtlasTexture::4938219553203889083::1750795288::0::1::::<><><>0<>0<><>::uid://dsxk6ix7sotmi::::res://sprites/player/player_stand_strip4.png
protag_image.tres::AtlasTexture::4938219553203889083::1720900035::0::1::::<><><>0<>0<><>::uid://dsxk6ix7sotmi::::res://sprites/player/player_stand_strip4.png slider.png::CompressedTexture2D::7748126879317693392::1750795288::1750795288::1::::<><><>0<>0<>2bf69b5de3ea5a60f538ff25b3e4d3d1<>res://.godot/imported/slider.png-4aaab0443ee997edf904938df9585ee2.ctex::
slider.png::CompressedTexture2D::7748126879317693392::1721075306::1750691150::1::::<><><>0<>0<>2bf69b5de3ea5a60f538ff25b3e4d3d1<>res://.godot/imported/slider.png-4aaab0443ee997edf904938df9585ee2.ctex:: slider_grabber.png::CompressedTexture2D::5998068935031094779::1750795288::1750795288::1::::<><><>0<>0<>bff106639bcc494b24a2f4785213564c<>res://.godot/imported/slider_grabber.png-eb124e65169988c16f7d5962d87762ad.ctex::
slider_grabber.png::CompressedTexture2D::5998068935031094779::1721078344::1750691150::1::::<><><>0<>0<>bff106639bcc494b24a2f4785213564c<>res://.godot/imported/slider_grabber.png-eb124e65169988c16f7d5962d87762ad.ctex:: slot_theme.tres::Theme::1947426276177635796::1750795288::0::1::::<><><>0<>0<><>::uid://qga7hxbgghco::::res://fonts/Kenney Mini.ttf
slot_theme.tres::Theme::1947426276177635796::1720824336::0::1::::<><><>0<>0<><>::uid://qga7hxbgghco::::res://fonts/Kenney Mini.ttf splash.png::CompressedTexture2D::7998977484361588110::1750795288::1750795288::1::::<><><>0<>0<>192f7069ae2ec1dc9278dabf4c3a2f3d<>res://.godot/imported/splash.png-408f9bd9f42eba055414b349938b0c03.ctex::
splash.png::CompressedTexture2D::7998977484361588110::1720917711::1750691150::1::::<><><>0<>0<>192f7069ae2ec1dc9278dabf4c3a2f3d<>res://.godot/imported/splash.png-408f9bd9f42eba055414b349938b0c03.ctex::
+1 -9
View File
@@ -1,12 +1,4 @@
res://objects/npcs/zombie.tscn
res://tiles/tileset.tres
res://rooms/caves.tscn res://rooms/caves.tscn
res://tiles/tileset.tres
res://objects/player.gd res://objects/player.gd
res://objects/door_zone.gd
res://objects/npcs/zombie_sprite.gd
res://objects/player_sprite.gd
res://objects/player.tscn res://objects/player.tscn
res://objects/projectiles/pound_bullet.tscn
res://objects/projectiles/pound_bullet.gd
res://objects/fx/jump_dust.tscn
res://rooms/labs.tscn
@@ -187,4 +187,4 @@ Anim={
"zfar": 4000.01, "zfar": 4000.01,
"znear": 0.05 "znear": 0.05
} }
selected_nodes=Array[NodePath]([]) selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Player")])
+2 -2
View File
@@ -4,13 +4,13 @@ select_mode=0
[editor_metadata] [editor_metadata]
executable_path="/var/home/sclark/Applications/Godot_v4.5-beta1_linux.x86_64" executable_path="/var/home/sclark/AppImages/godot"
use_advanced_connections=false use_advanced_connections=false
[recent_files] [recent_files]
scenes=["res://objects/fx/roll_dust.tscn", "res://objects/fx/jump_dust.tscn", "res://objects/projectiles/pound_bullet.tscn", "res://objects/projectiles/blast.tscn", "res://objects/player.tscn", "res://objects/npcs/zombie.tscn", "res://rooms/caves.tscn", "res://rooms/labs.tscn", "res://menus/splash_screen.tscn"] scenes=["res://objects/fx/roll_dust.tscn", "res://objects/fx/jump_dust.tscn", "res://objects/projectiles/pound_bullet.tscn", "res://objects/projectiles/blast.tscn", "res://objects/player.tscn", "res://objects/npcs/zombie.tscn", "res://rooms/caves.tscn", "res://rooms/labs.tscn", "res://menus/splash_screen.tscn"]
scripts=["res://scripts/dust_particle.gd", "res://objects/projectiles/pound_bullet.gd", "PhysicsBody2D", "res://objects/npcs/zombie.gd", "res://objects/npcs/zombie_sprite.gd", "res://objects/door_zone.gd", "res://objects/player_sprite.gd", "Array", "res://rooms/caves.gd", "res://objects/player.gd"] scripts=["StringName", "PhysicsBody2D", "res://scripts/dust_particle.gd", "res://objects/projectiles/pound_bullet.gd", "res://objects/npcs/zombie.gd", "res://objects/npcs/zombie_sprite.gd", "res://objects/door_zone.gd", "res://objects/player_sprite.gd", "Array", "res://rooms/caves.gd"]
[dialog_bounds] [dialog_bounds]
+3 -3
View File
@@ -3,11 +3,11 @@
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 1, "column": 18,
"folded_lines": Array[int]([]), "folded_lines": Array[int]([]),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 105, "row": 60,
"scroll_position": 81.0, "scroll_position": 42.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }
Binary file not shown.
+25 -9
View File
@@ -6,7 +6,7 @@ extends CharacterBody2D
signal state_change(old: States, new: States) signal state_change(old: States, new: States)
enum States {NULL, IDLE, RUN_START, RUN, ROLL, JUMP_START, JUMP, FALL, LAND, DAMAGE, RAGDOLL, BOUNCE, LAY, SHOOT, JAB, STRAIGHT, KICK, POUND, POUND_FALL} enum States {IDLE, RUN_START, RUN, ROLL, JUMP_START, JUMP, FALL, LAND, DAMAGE, RAGDOLL, BOUNCE, LAY, SHOOT, JAB, STRAIGHT, KICK, POUND, POUND_FALL}
const STATES_IMMOBILE = [States.ROLL, States.DAMAGE, States.RAGDOLL, States.BOUNCE, States.LAY, States.SHOOT, States.JAB, States.STRAIGHT, States.KICK, States.POUND, States.POUND_FALL] const STATES_IMMOBILE = [States.ROLL, States.DAMAGE, States.RAGDOLL, States.BOUNCE, States.LAY, States.SHOOT, States.JAB, States.STRAIGHT, States.KICK, States.POUND, States.POUND_FALL]
const STATES_MOVEMENT = [States.RUN_START, States.RUN, States.JUMP_START, States.JUMP, States.FALL] const STATES_MOVEMENT = [States.RUN_START, States.RUN, States.JUMP_START, States.JUMP, States.FALL]
@@ -32,7 +32,7 @@ const ROLL_VELOCITY = 150.0
const ROLL_DECEL = 1080 const ROLL_DECEL = 1080
var state: States = States.IDLE: set = _set_state var state: States = States.IDLE: set = _set_state
var state_buffer: States = States.NULL var input_buffer: StringName = ""
var direction: float var direction: float
func _set_state(s: States): func _set_state(s: States):
@@ -47,9 +47,23 @@ func _physics_process(delta):
if not is_on_floor(): if not is_on_floor():
velocity += get_gravity() * delta velocity += get_gravity() * delta
# Buffer inputs
if Input.is_action_just_pressed(&"jump"):
input_buffer = &"jump"
if Input.is_action_just_pressed(&"roll"):
input_buffer = &"roll"
if Input.is_action_just_pressed(&"roll_jump"):
input_buffer = &"roll_jump"
if Input.is_action_just_pressed(&"melee"):
input_buffer = &"melee"
# Jumping # Jumping
if state not in STATES_IMMOBILE and state not in STATES_AIRBORNE and Input.is_action_just_pressed("jump") and is_on_floor(): if state not in STATES_IMMOBILE and state not in STATES_AIRBORNE and input_buffer == "jump" and Input.is_action_pressed("jump") and is_on_floor():
state = States.JUMP_START state = States.JUMP_START
input_buffer = ""
audio_player.stream = JUMP_SOUND audio_player.stream = JUMP_SOUND
audio_player.play() audio_player.play()
@@ -62,7 +76,7 @@ func _physics_process(delta):
# Short hops # Short hops
if state in [States.JUMP_START, States.JUMP] and Input.is_action_just_released("jump") and !is_on_floor(): if state in [States.JUMP_START, States.JUMP] and Input.is_action_just_released("jump") and !is_on_floor():
velocity.y = velocity.y / 2 velocity.y /= 2
# Falling # Falling
if state in [States.IDLE] + STATES_MOVEMENT and velocity.y > 0: if state in [States.IDLE] + STATES_MOVEMENT and velocity.y > 0:
@@ -74,11 +88,12 @@ func _physics_process(delta):
state = States.RUN state = States.RUN
else: else:
state = States.LAND state = States.LAND
# Rolls # Rolls
if state not in STATES_IMMOBILE and state != States.ROLL and \ if state not in STATES_IMMOBILE and state != States.ROLL and input_buffer in ["roll", "roll_jump"] and \
(Input.is_action_just_pressed("roll_jump") or (Input.is_action_just_pressed("roll") and direction)): (Input.is_action_pressed("roll_jump") or (Input.is_action_pressed("roll") and direction)):
state = States.ROLL state = States.ROLL
input_buffer = ""
if is_on_floor(): if is_on_floor():
var roll_dust = ROLL_DUST.instantiate() var roll_dust = ROLL_DUST.instantiate()
@@ -91,11 +106,12 @@ func _physics_process(delta):
else: else:
velocity.x = -ROLL_VELOCITY velocity.x = -ROLL_VELOCITY
if velocity.y >= 0 && Input.is_action_just_pressed("roll_jump"): if velocity.y >= 0 && Input.is_action_pressed("roll_jump"):
velocity.y = -120 velocity.y = -120
# Melee # Melee
if state not in STATES_IMMOBILE and Input.is_action_just_pressed("melee"): if state not in STATES_IMMOBILE and input_buffer == "melee" and Input.is_action_pressed("melee"):
input_buffer = ""
if Input.is_action_pressed("roll"): if Input.is_action_pressed("roll"):
state = States.POUND state = States.POUND
velocity.x = 0 velocity.x = 0