commit 2cb740bf4a2aa1d208819074d9f899bcadb7e2b0 Author: Chris Bell Date: Sat Jan 11 21:56:01 2025 -0600 init diff --git a/steam-template/.godot/.gdignore b/steam-template/.godot/.gdignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/steam-template/.godot/.gdignore @@ -0,0 +1 @@ + diff --git a/steam-template/.godot/editor/editor_layout.cfg b/steam-template/.godot/editor/editor_layout.cfg new file mode 100644 index 0000000..31f5958 --- /dev/null +++ b/steam-template/.godot/editor/editor_layout.cfg @@ -0,0 +1,48 @@ +[docks] + +dock_3_selected_tab_idx=0 +dock_4_selected_tab_idx=0 +dock_5_selected_tab_idx=0 +dock_floating={} +dock_bottom=[] +dock_closed=[] +dock_split_2=0 +dock_split_3=0 +dock_hsplit_1=0 +dock_hsplit_2=270 +dock_hsplit_3=-270 +dock_hsplit_4=0 +dock_filesystem_h_split_offset=240 +dock_filesystem_v_split_offset=0 +dock_filesystem_display_mode=0 +dock_filesystem_file_sort=0 +dock_filesystem_file_list_display_mode=1 +dock_filesystem_selected_paths=PackedStringArray("res://") +dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://") +dock_3="Scene,Import" +dock_4="FileSystem" +dock_5="Inspector,Node,History" + +[EditorNode] + +open_scenes=PackedStringArray("res://assets/scenes/main.tscn") +current_scene="res://assets/scenes/main.tscn" +center_split_offset=0 +selected_default_debugger_tab_idx=0 +selected_main_editor_idx=1 + +[ScriptEditor] + +open_scripts=[] +selected_script="" +open_help=[] +script_split_offset=70 +list_split_offset=0 +zoom_factor=1.0 + +[ShaderEditor] + +open_shaders=[] +split_offset=0 +selected_shader="" +text_shader_zoom_factor=1.0 diff --git a/steam-template/.godot/editor/filesystem_cache8 b/steam-template/.godot/editor/filesystem_cache8 new file mode 100644 index 0000000..5f45f83 --- /dev/null +++ b/steam-template/.godot/editor/filesystem_cache8 @@ -0,0 +1,56 @@ +ea4bc82a6ad023ab7ee23ee620429895 +::res://::1736654062 +icon.svg::CompressedTexture2D::5853573955737780010::1736654058::1736654064::1::::<><>:: +::res://addons/::1736654058 +::res://addons/godotsteam/::1736654058 +godotsteam.gdextension::GDExtension::-1::1736654058::0::1::::<><>:: +license.txt::TextFile::-1::1736654058::0::1::::<><>:: +::res://addons/godotsteam/linux32/::1736654058 +::res://addons/godotsteam/linux64/::1736654058 +::res://addons/godotsteam/osx/::1736654058 +::res://addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/::1736654058 +::res://addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/::1736654058 +::res://addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/::1736654058 +::res://addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/::1736654058 +::res://addons/godotsteam/win32/::1736654058 +::res://addons/godotsteam/win64/::1736654058 +::res://addons/SteamMultiplayerPeer/::1736654058 +steam-multiplayer-peer.gdextension::GDExtension::-1::1736654058::0::1::::<><>:: +::res://addons/SteamMultiplayerPeer/android/::1736654058 +::res://addons/SteamMultiplayerPeer/ios/::1736654058 +::res://addons/SteamMultiplayerPeer/ios/ios.framework/::1736654058 +::res://addons/SteamMultiplayerPeer/linux/::1736654058 +::res://addons/SteamMultiplayerPeer/macos/::1736654058 +::res://addons/SteamMultiplayerPeer/macos/macos.framework/::1736654058 +::res://addons/SteamMultiplayerPeer/windows/::1736654058 +::res://assets/::1736654058 +::res://assets/audio/::1736654058 +bus.tres::AudioBusLayout::6413808998038059966::1736654058::0::1::::<><>:: +::res://assets/fonts/::1736654058 +kongtext.ttf::FontFile::1088383167244650192::1736654058::1736654064::1::::<><>:: +::res://assets/misc/::1736654058 +main_menu.tres::Theme::9112487806337798895::1736654058::0::1::::<><>::uid://prhrnt2u2q7y::::res://assets/fonts/kongtext.ttf +::res://assets/scenes/::1736654058 +main.tscn::PackedScene::5586118607814463779::1736654058::0::1::::<><>::res://assets/scripts/main.gd<>uid://bd47uqypshvxf::::res://assets/scenes/ui/main_menu.tscn +::res://assets/scenes/ui/::1736654058 +lobby.tscn::PackedScene::6486167834655621205::1736654058::0::1::::<><>::res://assets/scripts/ui/lobby.gd<>uid://d23flwkfyegxj::::res://assets/misc/main_menu.tres<>res://assets/scripts/ui/button.gd<>uid://bw1x8vi0s1g7g::::res://assets/scenes/ui/player_row.tscn +main_menu.tscn::PackedScene::2658833707276350367::1736654058::0::1::::<><>::res://assets/scripts/ui/main_menu.gd<>uid://d23flwkfyegxj::::res://assets/misc/main_menu.tres<>res://assets/scripts/ui/button.gd<>res://assets/scripts/ui/ui_state.gd<>res://assets/scripts/ui/focus_grabber.gd<>res://assets/scripts/ui/settings_ui.gd +player_row.tscn::PackedScene::3985705603877615854::1736654058::0::1::::<><>::uid://d23flwkfyegxj::::res://assets/misc/main_menu.tres +::res://assets/scripts/::1736654058 +main.gd::GDScript::-1::1736654058::0::1::::<>Node<>:: +::res://assets/scripts/globals/::1736654058 +game_manager.gd::GDScript::-1::1736654058::0::1::::<>Node<>:: +network_manager.gd::GDScript::-1::1736654058::0::1::::<>Node<>:: +settings.gd::GDScript::-1::1736654058::0::1::::<>Node<>:: +signal_bus.gd::GDScript::-1::1736654058::0::1::::<>Node<>:: +::res://assets/scripts/resources/::1736654058 +save_data.gd::GDScript::-1::1736654058::0::1::::SaveData<>Resource<>:: +::res://assets/scripts/ui/::1736654058 +button.gd::GDScript::-1::1736654058::0::1::::<>Button<>:: +focus_grabber.gd::GDScript::-1::1736654058::0::1::::<>HSlider<>:: +lobby.gd::GDScript::-1::1736654058::0::1::::<>CanvasLayer<>:: +main_menu.gd::GDScript::-1::1736654058::0::1::::UIManager<>CanvasLayer<>:: +settings_ui.gd::GDScript::-1::1736654058::0::1::::<>UIState<>:: +ui_state.gd::GDScript::-1::1736654058::0::1::::UIState<>Panel<>:: +::res://SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/::1736654058 +README.md::TextFile::-1::1736654058::0::1::::<><>:: diff --git a/steam-template/.godot/editor/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata-folding-25669e9f77ee0e2ba662866eade003f1.cfg b/steam-template/.godot/editor/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata-folding-25669e9f77ee0e2ba662866eade003f1.cfg new file mode 100644 index 0000000..e860dd4 --- /dev/null +++ b/steam-template/.godot/editor/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata-folding-25669e9f77ee0e2ba662866eade003f1.cfg @@ -0,0 +1,3 @@ +[folding] + +sections_unfolded=PackedStringArray() diff --git a/steam-template/.godot/editor/main.tscn-folding-87d948d20050d8a078e9ba4210cf9de4.cfg b/steam-template/.godot/editor/main.tscn-folding-87d948d20050d8a078e9ba4210cf9de4.cfg new file mode 100644 index 0000000..1d019fa --- /dev/null +++ b/steam-template/.godot/editor/main.tscn-folding-87d948d20050d8a078e9ba4210cf9de4.cfg @@ -0,0 +1,5 @@ +[folding] + +node_unfolds=[] +resource_unfolds=[] +nodes_folded=[] diff --git a/steam-template/.godot/editor/project_metadata.cfg b/steam-template/.godot/editor/project_metadata.cfg new file mode 100644 index 0000000..342fa2c --- /dev/null +++ b/steam-template/.godot/editor/project_metadata.cfg @@ -0,0 +1,7 @@ +[editor_metadata] + +executable_path="/nix/store/i76fyqxrimrr73ncrlj5ypwcxhp0vk1s-godot4-4.3-stable/bin/godot4" + +[recent_files] + +scenes=["res://assets/scenes/main.tscn"] diff --git a/steam-template/.godot/editor/script_editor_cache.cfg b/steam-template/.godot/editor/script_editor_cache.cfg new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/.godot/extension_list.cfg b/steam-template/.godot/extension_list.cfg new file mode 100644 index 0000000..b25804d --- /dev/null +++ b/steam-template/.godot/extension_list.cfg @@ -0,0 +1,2 @@ +res://addons/godotsteam/godotsteam.gdextension +res://addons/SteamMultiplayerPeer/steam-multiplayer-peer.gdextension diff --git a/steam-template/.godot/global_script_class_cache.cfg b/steam-template/.godot/global_script_class_cache.cfg new file mode 100644 index 0000000..78c669a --- /dev/null +++ b/steam-template/.godot/global_script_class_cache.cfg @@ -0,0 +1,19 @@ +list=Array[Dictionary]([{ +"base": &"Resource", +"class": &"SaveData", +"icon": "", +"language": &"GDScript", +"path": "res://assets/scripts/resources/save_data.gd" +}, { +"base": &"CanvasLayer", +"class": &"UIManager", +"icon": "", +"language": &"GDScript", +"path": "res://assets/scripts/ui/main_menu.gd" +}, { +"base": &"Panel", +"class": &"UIState", +"icon": "", +"language": &"GDScript", +"path": "res://assets/scripts/ui/ui_state.gd" +}]) diff --git a/steam-template/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex b/steam-template/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex new file mode 100644 index 0000000..b212427 Binary files /dev/null and b/steam-template/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex differ diff --git a/steam-template/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.md5 b/steam-template/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.md5 new file mode 100644 index 0000000..6c5ce64 --- /dev/null +++ b/steam-template/.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.md5 @@ -0,0 +1,3 @@ +source_md5="0eed98577cbbf02f0bdc0f5c9f70465b" +dest_md5="411b5d2fe36e6f2e5e4c615f024ce43b" + diff --git a/steam-template/.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata b/steam-template/.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata new file mode 100644 index 0000000..7e0111e Binary files /dev/null and b/steam-template/.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata differ diff --git a/steam-template/.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.md5 b/steam-template/.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.md5 new file mode 100644 index 0000000..d42a57d --- /dev/null +++ b/steam-template/.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.md5 @@ -0,0 +1,3 @@ +source_md5="6d6b5f51e552a050d2357c0cb91a400c" +dest_md5="16810123c822609a5d50b115090b67e5" + diff --git a/steam-template/.godot/scene_groups_cache.cfg b/steam-template/.godot/scene_groups_cache.cfg new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/.godot/shader_cache/BestFitNormalShaderRD/da50b1ee325fa09e8a9d2278e44bfbc4e716c11aa4475ca5323315d9d3e84d70/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/BestFitNormalShaderRD/da50b1ee325fa09e8a9d2278e44bfbc4e716c11aa4475ca5323315d9d3e84d70/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..eb33be5 Binary files /dev/null and b/steam-template/.godot/shader_cache/BestFitNormalShaderRD/da50b1ee325fa09e8a9d2278e44bfbc4e716c11aa4475ca5323315d9d3e84d70/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/BlitShaderRD/09b63e5347ccb6779fd79e54b093cfc915ec80510efa1f613c9ada9ff2e0f70d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/BlitShaderRD/09b63e5347ccb6779fd79e54b093cfc915ec80510efa1f613c9ada9ff2e0f70d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..017d7cc Binary files /dev/null and b/steam-template/.godot/shader_cache/BlitShaderRD/09b63e5347ccb6779fd79e54b093cfc915ec80510efa1f613c9ada9ff2e0f70d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/BokehDofShaderRD/39f32133b5111c9c24ab7cd9b202ca96bb3aeb73e0c73ebd7b7a5dae08cb759f/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/BokehDofShaderRD/39f32133b5111c9c24ab7cd9b202ca96bb3aeb73e0c73ebd7b7a5dae08cb759f/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..7bd3747 Binary files /dev/null and b/steam-template/.godot/shader_cache/BokehDofShaderRD/39f32133b5111c9c24ab7cd9b202ca96bb3aeb73e0c73ebd7b7a5dae08cb759f/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasOcclusionShaderRD/42f2245b35206bcace1cda9e39e9282519e9967978ba6d5956472809525b1150/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CanvasOcclusionShaderRD/42f2245b35206bcace1cda9e39e9282519e9967978ba6d5956472809525b1150/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..5df6628 Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasOcclusionShaderRD/42f2245b35206bcace1cda9e39e9282519e9967978ba6d5956472809525b1150/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasSdfShaderRD/f65579ae334cdfb6901aee2527afd18ed626d1067a35c91f12fb632b45ce7f21/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CanvasSdfShaderRD/f65579ae334cdfb6901aee2527afd18ed626d1067a35c91f12fb632b45ce7f21/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..9249df7 Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasSdfShaderRD/f65579ae334cdfb6901aee2527afd18ed626d1067a35c91f12fb632b45ce7f21/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..31ce1bf Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/45fb1ddc6499e56682916a355ce2839e61f42dfe.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/45fb1ddc6499e56682916a355ce2839e61f42dfe.vulkan.cache new file mode 100644 index 0000000..e052521 Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/45fb1ddc6499e56682916a355ce2839e61f42dfe.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/7d18bd726a158f1a35b723c8e73e7de5ebb3d37c.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/7d18bd726a158f1a35b723c8e73e7de5ebb3d37c.vulkan.cache new file mode 100644 index 0000000..86a38c8 Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/7d18bd726a158f1a35b723c8e73e7de5ebb3d37c.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/8a7277c8d3ac029b087c3fa9c55de85560be5119.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/8a7277c8d3ac029b087c3fa9c55de85560be5119.vulkan.cache new file mode 100644 index 0000000..f403ea6 Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/8a7277c8d3ac029b087c3fa9c55de85560be5119.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/9bcac378d4e61e619a04bca2518f348d5c571569.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/9bcac378d4e61e619a04bca2518f348d5c571569.vulkan.cache new file mode 100644 index 0000000..a5cfa1f Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/9bcac378d4e61e619a04bca2518f348d5c571569.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/c0a681ae42aa3e0b5abba232ccae0b036be455e4.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/c0a681ae42aa3e0b5abba232ccae0b036be455e4.vulkan.cache new file mode 100644 index 0000000..087533f Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/c0a681ae42aa3e0b5abba232ccae0b036be455e4.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/c58570947be7f76937b1582424c0fd3d81be0352.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/c58570947be7f76937b1582424c0fd3d81be0352.vulkan.cache new file mode 100644 index 0000000..c71b7dc Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/c58570947be7f76937b1582424c0fd3d81be0352.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/ddbe30d4d1be5d69b00075293fd27da8decd4af2.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/ddbe30d4d1be5d69b00075293fd27da8decd4af2.vulkan.cache new file mode 100644 index 0000000..82738a8 Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/ddbe30d4d1be5d69b00075293fd27da8decd4af2.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/f3e258e8f7ec2e7e740b62f3bc48ecf5c99fb0db.vulkan.cache b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/f3e258e8f7ec2e7e740b62f3bc48ecf5c99fb0db.vulkan.cache new file mode 100644 index 0000000..4e8cb9b Binary files /dev/null and b/steam-template/.godot/shader_cache/CanvasShaderRD/165f6964cfc63fea91c4221f04e7b8a54b5dc39d76b5a57aed5f99b20050b148/f3e258e8f7ec2e7e740b62f3bc48ecf5c99fb0db.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ClusterDebugShaderRD/2546937b6acfcec18164bde1022dd572463c5dc6a8dfb2db860e93b1f8cb6cf1/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ClusterDebugShaderRD/2546937b6acfcec18164bde1022dd572463c5dc6a8dfb2db860e93b1f8cb6cf1/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..e4e7e19 Binary files /dev/null and b/steam-template/.godot/shader_cache/ClusterDebugShaderRD/2546937b6acfcec18164bde1022dd572463c5dc6a8dfb2db860e93b1f8cb6cf1/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ClusterRenderShaderRD/e138dfa55627ca222eda3daa0739d50014770edfb2a8fbab0fa51e2130af04e8/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ClusterRenderShaderRD/e138dfa55627ca222eda3daa0739d50014770edfb2a8fbab0fa51e2130af04e8/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..778270f Binary files /dev/null and b/steam-template/.godot/shader_cache/ClusterRenderShaderRD/e138dfa55627ca222eda3daa0739d50014770edfb2a8fbab0fa51e2130af04e8/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ClusterStoreShaderRD/44efe54fdfa0811178ad2a7a0207ebc98532c6ae316489503cdc7c5c843a564e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ClusterStoreShaderRD/44efe54fdfa0811178ad2a7a0207ebc98532c6ae316489503cdc7c5c843a564e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..857b40c Binary files /dev/null and b/steam-template/.godot/shader_cache/ClusterStoreShaderRD/44efe54fdfa0811178ad2a7a0207ebc98532c6ae316489503cdc7c5c843a564e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CopyShaderRD/4a43f34799f84bc5a387aff816d36330149d91299172af9be2d3ab05cc0c4e9d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CopyShaderRD/4a43f34799f84bc5a387aff816d36330149d91299172af9be2d3ab05cc0c4e9d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..5835465 Binary files /dev/null and b/steam-template/.godot/shader_cache/CopyShaderRD/4a43f34799f84bc5a387aff816d36330149d91299172af9be2d3ab05cc0c4e9d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CopyToFbShaderRD/8668028c5ceed89276611359329de4a0f5d40702546caecc31456f63f6f9ffe8/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CopyToFbShaderRD/8668028c5ceed89276611359329de4a0f5d40702546caecc31456f63f6f9ffe8/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..123bb3e Binary files /dev/null and b/steam-template/.godot/shader_cache/CopyToFbShaderRD/8668028c5ceed89276611359329de4a0f5d40702546caecc31456f63f6f9ffe8/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CubeToDpShaderRD/e3db5adc31b15e80112f4d7497dc8563c39b7d64675a53dcce7f9511c5ca9f80/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CubeToDpShaderRD/e3db5adc31b15e80112f4d7497dc8563c39b7d64675a53dcce7f9511c5ca9f80/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..f5533eb Binary files /dev/null and b/steam-template/.godot/shader_cache/CubeToDpShaderRD/e3db5adc31b15e80112f4d7497dc8563c39b7d64675a53dcce7f9511c5ca9f80/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CubemapDownsamplerShaderRD/6376d8aae8d25aa5fed14d9e78a76a69c5566f021773d2b38defa77a573b20f1/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CubemapDownsamplerShaderRD/6376d8aae8d25aa5fed14d9e78a76a69c5566f021773d2b38defa77a573b20f1/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..875ac99 Binary files /dev/null and b/steam-template/.godot/shader_cache/CubemapDownsamplerShaderRD/6376d8aae8d25aa5fed14d9e78a76a69c5566f021773d2b38defa77a573b20f1/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CubemapFilterShaderRD/96fd6d20ed52761601cf4665fa909c5a27f13aeaa25940cf720f4e331158ef8e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CubemapFilterShaderRD/96fd6d20ed52761601cf4665fa909c5a27f13aeaa25940cf720f4e331158ef8e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..5405da8 Binary files /dev/null and b/steam-template/.godot/shader_cache/CubemapFilterShaderRD/96fd6d20ed52761601cf4665fa909c5a27f13aeaa25940cf720f4e331158ef8e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/CubemapRoughnessShaderRD/1d72ea29a087908b2262137858ecb047ac60acf75d2e625661f01be4ce0d3ce2/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/CubemapRoughnessShaderRD/1d72ea29a087908b2262137858ecb047ac60acf75d2e625661f01be4ce0d3ce2/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..23736a2 Binary files /dev/null and b/steam-template/.godot/shader_cache/CubemapRoughnessShaderRD/1d72ea29a087908b2262137858ecb047ac60acf75d2e625661f01be4ce0d3ce2/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/FsrUpscaleShaderRD/362fc0b19d06cf68dc6f6f2d99e1f9ccfd8afaef2a65e38a931df5dd9e183d7d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/FsrUpscaleShaderRD/362fc0b19d06cf68dc6f6f2d99e1f9ccfd8afaef2a65e38a931df5dd9e183d7d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..225d236 Binary files /dev/null and b/steam-template/.godot/shader_cache/FsrUpscaleShaderRD/362fc0b19d06cf68dc6f6f2d99e1f9ccfd8afaef2a65e38a931df5dd9e183d7d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/GiShaderRD/2b51ba5b3e4e6be7fc223f7517a8a8b80c61234f3fbd4ffa229da05d747f020a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/GiShaderRD/2b51ba5b3e4e6be7fc223f7517a8a8b80c61234f3fbd4ffa229da05d747f020a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..8002a07 Binary files /dev/null and b/steam-template/.godot/shader_cache/GiShaderRD/2b51ba5b3e4e6be7fc223f7517a8a8b80c61234f3fbd4ffa229da05d747f020a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/LuminanceReduceShaderRD/2687da76c0ac04fe197e7093fd065958200b5a2e8e378e0f61c445212a1a0ac4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/LuminanceReduceShaderRD/2687da76c0ac04fe197e7093fd065958200b5a2e8e378e0f61c445212a1a0ac4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..99a9238 Binary files /dev/null and b/steam-template/.godot/shader_cache/LuminanceReduceShaderRD/2687da76c0ac04fe197e7093fd065958200b5a2e8e378e0f61c445212a1a0ac4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/MotionVectorsShaderRD/cbf3cbdcba0d0a2026c9fbf248556f1acd11beacc38a2e8c5ce7009ee49a1560/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/MotionVectorsShaderRD/cbf3cbdcba0d0a2026c9fbf248556f1acd11beacc38a2e8c5ce7009ee49a1560/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..c5d19a0 Binary files /dev/null and b/steam-template/.godot/shader_cache/MotionVectorsShaderRD/cbf3cbdcba0d0a2026c9fbf248556f1acd11beacc38a2e8c5ce7009ee49a1560/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ParticlesCopyShaderRD/69566a7b0235d75ec40f504cd5555856aace22b5273899269166fde57287d26e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ParticlesCopyShaderRD/69566a7b0235d75ec40f504cd5555856aace22b5273899269166fde57287d26e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..b32d7d5 Binary files /dev/null and b/steam-template/.godot/shader_cache/ParticlesCopyShaderRD/69566a7b0235d75ec40f504cd5555856aace22b5273899269166fde57287d26e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ParticlesShaderRD/47fcf57848349fdf54197e5c1f64750a69c8d54787d3509ade4781c9faa31654/f128cab0b22fb7e0d9f023d6cdb81309be392d95.vulkan.cache b/steam-template/.godot/shader_cache/ParticlesShaderRD/47fcf57848349fdf54197e5c1f64750a69c8d54787d3509ade4781c9faa31654/f128cab0b22fb7e0d9f023d6cdb81309be392d95.vulkan.cache new file mode 100644 index 0000000..410d67a Binary files /dev/null and b/steam-template/.godot/shader_cache/ParticlesShaderRD/47fcf57848349fdf54197e5c1f64750a69c8d54787d3509ade4781c9faa31654/f128cab0b22fb7e0d9f023d6cdb81309be392d95.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ResolveShaderRD/4eed9a584e94b3db5e08b3dd178112267127e5cb55e97790e3791fff9eb617f7/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ResolveShaderRD/4eed9a584e94b3db5e08b3dd178112267127e5cb55e97790e3791fff9eb617f7/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..d5b29c4 Binary files /dev/null and b/steam-template/.godot/shader_cache/ResolveShaderRD/4eed9a584e94b3db5e08b3dd178112267127e5cb55e97790e3791fff9eb617f7/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/048236defb6bf03aff4593ae5e1ee179e6446005.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/048236defb6bf03aff4593ae5e1ee179e6446005.vulkan.cache new file mode 100644 index 0000000..5c9feec Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/048236defb6bf03aff4593ae5e1ee179e6446005.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/0f1bcf11b9f7757773a7866f1cd2e297cb2acf5f.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/0f1bcf11b9f7757773a7866f1cd2e297cb2acf5f.vulkan.cache new file mode 100644 index 0000000..6903a4b Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/0f1bcf11b9f7757773a7866f1cd2e297cb2acf5f.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/1d94d7653c04fb7febbe6df8d6c0f471ee8df8ed.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/1d94d7653c04fb7febbe6df8d6c0f471ee8df8ed.vulkan.cache new file mode 100644 index 0000000..cb1ecfe Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/1d94d7653c04fb7febbe6df8d6c0f471ee8df8ed.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/2b83ada958e476cf26531ce107fe1c0d75fac7be.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/2b83ada958e476cf26531ce107fe1c0d75fac7be.vulkan.cache new file mode 100644 index 0000000..434614d Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/2b83ada958e476cf26531ce107fe1c0d75fac7be.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/3ee92779f31d8b7471ea1440cef676bd33f29c3b.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/3ee92779f31d8b7471ea1440cef676bd33f29c3b.vulkan.cache new file mode 100644 index 0000000..3225d52 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/3ee92779f31d8b7471ea1440cef676bd33f29c3b.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/484574d6966da5fa625415ab5c4d35d8a9fde9f7.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/484574d6966da5fa625415ab5c4d35d8a9fde9f7.vulkan.cache new file mode 100644 index 0000000..65ae503 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/484574d6966da5fa625415ab5c4d35d8a9fde9f7.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/7fb66440f65dac23b75016fc52fb82ae26e9393f.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/7fb66440f65dac23b75016fc52fb82ae26e9393f.vulkan.cache new file mode 100644 index 0000000..8e2877d Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/7fb66440f65dac23b75016fc52fb82ae26e9393f.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/8c4a6577a4ef29bb59d10356dbe5e400d812d8bb.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/8c4a6577a4ef29bb59d10356dbe5e400d812d8bb.vulkan.cache new file mode 100644 index 0000000..ecbc741 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/8c4a6577a4ef29bb59d10356dbe5e400d812d8bb.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/8eb7aeac3861680a0202f049c0bfdcf05b99b274.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/8eb7aeac3861680a0202f049c0bfdcf05b99b274.vulkan.cache new file mode 100644 index 0000000..0c0e1ef Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/8eb7aeac3861680a0202f049c0bfdcf05b99b274.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/a6d99b637dfee75712ae57f13dc63ae39e299a45.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/a6d99b637dfee75712ae57f13dc63ae39e299a45.vulkan.cache new file mode 100644 index 0000000..5e9f90d Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/a6d99b637dfee75712ae57f13dc63ae39e299a45.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/a8d4cef55e3ab1332d431b88da8465c79f0e608a.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/a8d4cef55e3ab1332d431b88da8465c79f0e608a.vulkan.cache new file mode 100644 index 0000000..d5f8666 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/a8d4cef55e3ab1332d431b88da8465c79f0e608a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/aa0086cc160e9e167e95546ad5eb0423d596c5b3.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/aa0086cc160e9e167e95546ad5eb0423d596c5b3.vulkan.cache new file mode 100644 index 0000000..a147885 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/aa0086cc160e9e167e95546ad5eb0423d596c5b3.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/ab60f8b228c0dad11d9d882c2ab4f61eb6ca2f20.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/ab60f8b228c0dad11d9d882c2ab4f61eb6ca2f20.vulkan.cache new file mode 100644 index 0000000..0130bb5 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/ab60f8b228c0dad11d9d882c2ab4f61eb6ca2f20.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/afe1c0449d843047874ee4b0dda3f797decb0436.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/afe1c0449d843047874ee4b0dda3f797decb0436.vulkan.cache new file mode 100644 index 0000000..8a75142 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/afe1c0449d843047874ee4b0dda3f797decb0436.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/b7b2f398c116e26c751517dd8d44535f700f825f.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/b7b2f398c116e26c751517dd8d44535f700f825f.vulkan.cache new file mode 100644 index 0000000..227abf6 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/b7b2f398c116e26c751517dd8d44535f700f825f.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/c4c828897f8a3fe72e3713d35b4ba452d7ed9acf.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/c4c828897f8a3fe72e3713d35b4ba452d7ed9acf.vulkan.cache new file mode 100644 index 0000000..7d99e5e Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/c4c828897f8a3fe72e3713d35b4ba452d7ed9acf.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/c911b2eb203b7525047b1fc26929407fb3d4191d.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/c911b2eb203b7525047b1fc26929407fb3d4191d.vulkan.cache new file mode 100644 index 0000000..e9b0f31 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/c911b2eb203b7525047b1fc26929407fb3d4191d.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/fe8dec228868b5370e5ab7c53602014f601705fc.vulkan.cache b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/fe8dec228868b5370e5ab7c53602014f601705fc.vulkan.cache new file mode 100644 index 0000000..da84af9 Binary files /dev/null and b/steam-template/.godot/shader_cache/SceneForwardClusteredShaderRD/29edc2f36233c2e08b9662507bec9ae15ecd3ff18670dd6a9d9e3c22bb80d2b9/fe8dec228868b5370e5ab7c53602014f601705fc.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/dbd56507c7ba6e4548ad94d4267e97184ea703036185204db88001c82b622120/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/dbd56507c7ba6e4548ad94d4267e97184ea703036185204db88001c82b622120/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..0afdc7a Binary files /dev/null and b/steam-template/.godot/shader_cache/ScreenSpaceReflectionFilterShaderRD/dbd56507c7ba6e4548ad94d4267e97184ea703036185204db88001c82b622120/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/e5b92b2248f95dfc9534e9d5ec71a9d1fedfe58dd8fbbb2e903d8606c1ed8e0c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/e5b92b2248f95dfc9534e9d5ec71a9d1fedfe58dd8fbbb2e903d8606c1ed8e0c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..3b869a2 Binary files /dev/null and b/steam-template/.godot/shader_cache/ScreenSpaceReflectionScaleShaderRD/e5b92b2248f95dfc9534e9d5ec71a9d1fedfe58dd8fbbb2e903d8606c1ed8e0c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ScreenSpaceReflectionShaderRD/722d4571bebbe24c59b13360d89825ac27099da739a27f42e20a004e5e92da73/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ScreenSpaceReflectionShaderRD/722d4571bebbe24c59b13360d89825ac27099da739a27f42e20a004e5e92da73/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..9b2ca2b Binary files /dev/null and b/steam-template/.godot/shader_cache/ScreenSpaceReflectionShaderRD/722d4571bebbe24c59b13360d89825ac27099da739a27f42e20a004e5e92da73/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SdfgiDebugProbesShaderRD/41af92f24cfffd1d870ed50e96e7ae1bfd6c2cc11f728d520ef0a827972a1438/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SdfgiDebugProbesShaderRD/41af92f24cfffd1d870ed50e96e7ae1bfd6c2cc11f728d520ef0a827972a1438/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..e505c1d Binary files /dev/null and b/steam-template/.godot/shader_cache/SdfgiDebugProbesShaderRD/41af92f24cfffd1d870ed50e96e7ae1bfd6c2cc11f728d520ef0a827972a1438/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SdfgiDebugShaderRD/372719c6eef32a8635d4db9b69f2f8b01b907642dbac0cc26f37ea2a76eeb95d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SdfgiDebugShaderRD/372719c6eef32a8635d4db9b69f2f8b01b907642dbac0cc26f37ea2a76eeb95d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..c4cabde Binary files /dev/null and b/steam-template/.godot/shader_cache/SdfgiDebugShaderRD/372719c6eef32a8635d4db9b69f2f8b01b907642dbac0cc26f37ea2a76eeb95d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SdfgiDirectLightShaderRD/803c48e266e0d9c1590d25424071a668b88abc76bcda6fdde74b8524f298683c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SdfgiDirectLightShaderRD/803c48e266e0d9c1590d25424071a668b88abc76bcda6fdde74b8524f298683c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..48d7628 Binary files /dev/null and b/steam-template/.godot/shader_cache/SdfgiDirectLightShaderRD/803c48e266e0d9c1590d25424071a668b88abc76bcda6fdde74b8524f298683c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SdfgiIntegrateShaderRD/4647045d5ae8023ab209178c191d003ce94a58384c2bf158dfd5d1b256a1feb2/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SdfgiIntegrateShaderRD/4647045d5ae8023ab209178c191d003ce94a58384c2bf158dfd5d1b256a1feb2/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..986346f Binary files /dev/null and b/steam-template/.godot/shader_cache/SdfgiIntegrateShaderRD/4647045d5ae8023ab209178c191d003ce94a58384c2bf158dfd5d1b256a1feb2/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SdfgiPreprocessShaderRD/42b3acb8f8f580e0ad8624239eada43680eb33d7a90e0279cf34b99bad80ffc9/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SdfgiPreprocessShaderRD/42b3acb8f8f580e0ad8624239eada43680eb33d7a90e0279cf34b99bad80ffc9/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..1450ab0 Binary files /dev/null and b/steam-template/.godot/shader_cache/SdfgiPreprocessShaderRD/42b3acb8f8f580e0ad8624239eada43680eb33d7a90e0279cf34b99bad80ffc9/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/ShadowFrustumShaderRD/c9c1b6421f8f6625effc9ddfa4bb2c09cafda0942b62fb8e1414e90820e18fa0/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/ShadowFrustumShaderRD/c9c1b6421f8f6625effc9ddfa4bb2c09cafda0942b62fb8e1414e90820e18fa0/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..c396356 Binary files /dev/null and b/steam-template/.godot/shader_cache/ShadowFrustumShaderRD/c9c1b6421f8f6625effc9ddfa4bb2c09cafda0942b62fb8e1414e90820e18fa0/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SkeletonShaderRD/4964fd59acf4406110ae7bca4b716f23ae52cc19864e21a8a35aee53e141e17e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SkeletonShaderRD/4964fd59acf4406110ae7bca4b716f23ae52cc19864e21a8a35aee53e141e17e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..027255e Binary files /dev/null and b/steam-template/.godot/shader_cache/SkeletonShaderRD/4964fd59acf4406110ae7bca4b716f23ae52cc19864e21a8a35aee53e141e17e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/03e3b11c69e24394b2d955a8c0ba85587bb70839.vulkan.cache b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/03e3b11c69e24394b2d955a8c0ba85587bb70839.vulkan.cache new file mode 100644 index 0000000..a4f02a5 Binary files /dev/null and b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/03e3b11c69e24394b2d955a8c0ba85587bb70839.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/0a0fb987bd6ede673a5edeb59834f887758ae2a6.vulkan.cache b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/0a0fb987bd6ede673a5edeb59834f887758ae2a6.vulkan.cache new file mode 100644 index 0000000..e7b1c49 Binary files /dev/null and b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/0a0fb987bd6ede673a5edeb59834f887758ae2a6.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/301c34f080b0d9fb9ff1c17636ea175173a43e1c.vulkan.cache b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/301c34f080b0d9fb9ff1c17636ea175173a43e1c.vulkan.cache new file mode 100644 index 0000000..82e2245 Binary files /dev/null and b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/301c34f080b0d9fb9ff1c17636ea175173a43e1c.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/de678811d1bad3cad4892a8db7b6ea0be197d51d.vulkan.cache b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/de678811d1bad3cad4892a8db7b6ea0be197d51d.vulkan.cache new file mode 100644 index 0000000..4a10b42 Binary files /dev/null and b/steam-template/.godot/shader_cache/SkyShaderRD/4bc541bfde1c30032df77bb4c98974909ad0368d22557f44e6cf095b26c0490a/de678811d1bad3cad4892a8db7b6ea0be197d51d.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SortShaderRD/0b1e36114ab5330dc340cc740b0b946ed2dbf43098119b8d29cfa0222da18b7a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SortShaderRD/0b1e36114ab5330dc340cc740b0b946ed2dbf43098119b8d29cfa0222da18b7a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..159e5e4 Binary files /dev/null and b/steam-template/.godot/shader_cache/SortShaderRD/0b1e36114ab5330dc340cc740b0b946ed2dbf43098119b8d29cfa0222da18b7a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SpecularMergeShaderRD/a119881bb41d0ec2f36a7f060866ec38b88afa6d0e484a431c65b35b5a2e820b/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SpecularMergeShaderRD/a119881bb41d0ec2f36a7f060866ec38b88afa6d0e484a431c65b35b5a2e820b/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..a4e3a3a Binary files /dev/null and b/steam-template/.godot/shader_cache/SpecularMergeShaderRD/a119881bb41d0ec2f36a7f060866ec38b88afa6d0e484a431c65b35b5a2e820b/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsEffectsDownsampleShaderRD/d85ba7758123b2364d96690db4594bb43feabce176805e46abc91aa54c5874d4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsEffectsDownsampleShaderRD/d85ba7758123b2364d96690db4594bb43feabce176805e46abc91aa54c5874d4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..ca0d247 Binary files /dev/null and b/steam-template/.godot/shader_cache/SsEffectsDownsampleShaderRD/d85ba7758123b2364d96690db4594bb43feabce176805e46abc91aa54c5874d4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsaoBlurShaderRD/32baf23e3ccb90d5c6840258a705d953d950a779d125df3b5bb979bd1309f4d4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsaoBlurShaderRD/32baf23e3ccb90d5c6840258a705d953d950a779d125df3b5bb979bd1309f4d4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..558a022 Binary files /dev/null and b/steam-template/.godot/shader_cache/SsaoBlurShaderRD/32baf23e3ccb90d5c6840258a705d953d950a779d125df3b5bb979bd1309f4d4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsaoImportanceMapShaderRD/6d680b1500cda48a2de67225a98a208373d657c0f128c9e34a1528b50b3c2c5b/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsaoImportanceMapShaderRD/6d680b1500cda48a2de67225a98a208373d657c0f128c9e34a1528b50b3c2c5b/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..8ac0d4b Binary files /dev/null and b/steam-template/.godot/shader_cache/SsaoImportanceMapShaderRD/6d680b1500cda48a2de67225a98a208373d657c0f128c9e34a1528b50b3c2c5b/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsaoInterleaveShaderRD/d3d5b300acaef6d08dcd3d033f393c424ad653c5ab554883703c29ee6eedf528/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsaoInterleaveShaderRD/d3d5b300acaef6d08dcd3d033f393c424ad653c5ab554883703c29ee6eedf528/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..d20494e Binary files /dev/null and b/steam-template/.godot/shader_cache/SsaoInterleaveShaderRD/d3d5b300acaef6d08dcd3d033f393c424ad653c5ab554883703c29ee6eedf528/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsaoShaderRD/10348af53d51e568e9a1574f4be3c4bc66eb9b2b464c8e4f061d051e1a6c4de9/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsaoShaderRD/10348af53d51e568e9a1574f4be3c4bc66eb9b2b464c8e4f061d051e1a6c4de9/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..9ac6c06 Binary files /dev/null and b/steam-template/.godot/shader_cache/SsaoShaderRD/10348af53d51e568e9a1574f4be3c4bc66eb9b2b464c8e4f061d051e1a6c4de9/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsilBlurShaderRD/dc4c027d65e080b2b5b1af257e3733c6bc35899ce02c3f333249db264836bd41/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsilBlurShaderRD/dc4c027d65e080b2b5b1af257e3733c6bc35899ce02c3f333249db264836bd41/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..1a8bce4 Binary files /dev/null and b/steam-template/.godot/shader_cache/SsilBlurShaderRD/dc4c027d65e080b2b5b1af257e3733c6bc35899ce02c3f333249db264836bd41/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsilImportanceMapShaderRD/abbec59f40ae844d9bbca6d058972ef757a0baf48cdf91ef5836a8960f11569e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsilImportanceMapShaderRD/abbec59f40ae844d9bbca6d058972ef757a0baf48cdf91ef5836a8960f11569e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..4639667 Binary files /dev/null and b/steam-template/.godot/shader_cache/SsilImportanceMapShaderRD/abbec59f40ae844d9bbca6d058972ef757a0baf48cdf91ef5836a8960f11569e/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsilInterleaveShaderRD/76868dec9e116ecbddcf9a480d808d2509e42cf65d5f7182e4f4cad2e24c9c70/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsilInterleaveShaderRD/76868dec9e116ecbddcf9a480d808d2509e42cf65d5f7182e4f4cad2e24c9c70/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..462a00f Binary files /dev/null and b/steam-template/.godot/shader_cache/SsilInterleaveShaderRD/76868dec9e116ecbddcf9a480d808d2509e42cf65d5f7182e4f4cad2e24c9c70/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SsilShaderRD/20c3a95a7a0528ebb5844939feeb8fe446ac0dcde9d011e24c2fc54af67e6c6d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SsilShaderRD/20c3a95a7a0528ebb5844939feeb8fe446ac0dcde9d011e24c2fc54af67e6c6d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..eb127b6 Binary files /dev/null and b/steam-template/.godot/shader_cache/SsilShaderRD/20c3a95a7a0528ebb5844939feeb8fe446ac0dcde9d011e24c2fc54af67e6c6d/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/SubsurfaceScatteringShaderRD/43df2517be4d76d26d345b88762bb6d272983e54f79d503331a085ec082a97da/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/SubsurfaceScatteringShaderRD/43df2517be4d76d26d345b88762bb6d272983e54f79d503331a085ec082a97da/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..bd28536 Binary files /dev/null and b/steam-template/.godot/shader_cache/SubsurfaceScatteringShaderRD/43df2517be4d76d26d345b88762bb6d272983e54f79d503331a085ec082a97da/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/TaaResolveShaderRD/66482a84ae3398a2cbd07e92185df239a902d24d388424e0dff9fe998af3c0b4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/TaaResolveShaderRD/66482a84ae3398a2cbd07e92185df239a902d24d388424e0dff9fe998af3c0b4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..a2577ab Binary files /dev/null and b/steam-template/.godot/shader_cache/TaaResolveShaderRD/66482a84ae3398a2cbd07e92185df239a902d24d388424e0dff9fe998af3c0b4/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/TonemapShaderRD/1c4748b3de350503048a1f9eca4f1dc2b308086460692ea0a81bababfd80542a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/TonemapShaderRD/1c4748b3de350503048a1f9eca4f1dc2b308086460692ea0a81bababfd80542a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..df8c8ad Binary files /dev/null and b/steam-template/.godot/shader_cache/TonemapShaderRD/1c4748b3de350503048a1f9eca4f1dc2b308086460692ea0a81bababfd80542a/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/VolumetricFogProcessShaderRD/2c2d7b3b51e66f06069290afb842fc1ee9ee4f60f06a5168b0cee5bd380366bc/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/VolumetricFogProcessShaderRD/2c2d7b3b51e66f06069290afb842fc1ee9ee4f60f06a5168b0cee5bd380366bc/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..50b9908 Binary files /dev/null and b/steam-template/.godot/shader_cache/VolumetricFogProcessShaderRD/2c2d7b3b51e66f06069290afb842fc1ee9ee4f60f06a5168b0cee5bd380366bc/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/VolumetricFogShaderRD/22de546a38a6b3caaa1d02360e0e62d85133e560e5667f2f3f5e34e3145679af/9a227745af2d65830f930370a9fbba551fbd6f60.vulkan.cache b/steam-template/.godot/shader_cache/VolumetricFogShaderRD/22de546a38a6b3caaa1d02360e0e62d85133e560e5667f2f3f5e34e3145679af/9a227745af2d65830f930370a9fbba551fbd6f60.vulkan.cache new file mode 100644 index 0000000..563015d Binary files /dev/null and b/steam-template/.godot/shader_cache/VolumetricFogShaderRD/22de546a38a6b3caaa1d02360e0e62d85133e560e5667f2f3f5e34e3145679af/9a227745af2d65830f930370a9fbba551fbd6f60.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/VoxelGiDebugShaderRD/83ec08f78c119345f086a6cbcb0da5d67f664d19fd7ba3259c4948638b76fb8c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/VoxelGiDebugShaderRD/83ec08f78c119345f086a6cbcb0da5d67f664d19fd7ba3259c4948638b76fb8c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..4dfc758 Binary files /dev/null and b/steam-template/.godot/shader_cache/VoxelGiDebugShaderRD/83ec08f78c119345f086a6cbcb0da5d67f664d19fd7ba3259c4948638b76fb8c/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/VoxelGiShaderRD/8bfb40cf41510d02f432927249e4d6d6708843a0953b4faf61a2f2e3786d4fd0/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/VoxelGiShaderRD/8bfb40cf41510d02f432927249e4d6d6708843a0953b4faf61a2f2e3786d4fd0/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..ecc698f Binary files /dev/null and b/steam-template/.godot/shader_cache/VoxelGiShaderRD/8bfb40cf41510d02f432927249e4d6d6708843a0953b4faf61a2f2e3786d4fd0/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/shader_cache/VrsShaderRD/def705023965d273a669c1ac6acfd7494138bde25b3e3bde0969c3c7a32c3aae/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache b/steam-template/.godot/shader_cache/VrsShaderRD/def705023965d273a669c1ac6acfd7494138bde25b3e3bde0969c3c7a32c3aae/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache new file mode 100644 index 0000000..d03fb39 Binary files /dev/null and b/steam-template/.godot/shader_cache/VrsShaderRD/def705023965d273a669c1ac6acfd7494138bde25b3e3bde0969c3c7a32c3aae/087916079fba7c625e62b0c2cca570e0fb87c99a.vulkan.cache differ diff --git a/steam-template/.godot/uid_cache.bin b/steam-template/.godot/uid_cache.bin new file mode 100644 index 0000000..c0c34d9 Binary files /dev/null and b/steam-template/.godot/uid_cache.bin differ diff --git a/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/.gitignore b/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/.gitignore new file mode 100644 index 0000000..d9aac21 --- /dev/null +++ b/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/.gitignore @@ -0,0 +1,15 @@ +# Godot 4+ specific ignores +.godot/ + +# Godot-specific ignores +.import/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation + +# Mono-specific ignores +.mono/ +data_*/ +mono_crash.*.json diff --git a/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/LICENSE b/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/LICENSE new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/README.md b/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/README.md new file mode 100644 index 0000000..6c99607 --- /dev/null +++ b/steam-template/SteamGodotTemplate-ecc80e2551f4a16725450602ec434786111ef315/README.md @@ -0,0 +1,18 @@ +# Steam Godot Template +This project uses [Gramps' GodotSteam addon](https://github.com/GodotSteam/GodotSteam) and [Expresso Bits' SteamMultiplayerPeer addon](https://github.com/expressobits/steam-multiplayer-peer). +Made with Godot 4.3 +This project contains a main menu with saved and applied settings, the ability to create and join LAN servers, and the ability to create and join Steam servers. +Invite friends directly through Steam. +Will work for a 2D or 3D project. + +My goal for this is for it to eliminate as much boilerplate code as possible while still being easy to modify / personalize. + +Creates 4 player lobbies by default. Does not include lobby browser. Lobbies are friends only by default. +I may create a branch with a lobby browser but I don't use them in my own games so we'll see. +UI is controllable via controller, mouse, or keyboard. + +SC of a LAN lobby: +![image](https://github.com/user-attachments/assets/e96f0b55-0593-45da-8cd1-3a9c38fc5de6) + +SC of the settings page: +![settings](https://github.com/user-attachments/assets/853d9b53-aee4-4c3f-bafe-bb4b0b122371) diff --git a/steam-template/addons/SteamMultiplayerPeer/LICENSE b/steam-template/addons/SteamMultiplayerPeer/LICENSE new file mode 100644 index 0000000..0cefe81 --- /dev/null +++ b/steam-template/addons/SteamMultiplayerPeer/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Expresso Bits + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/steam-template/addons/SteamMultiplayerPeer/android/.gitkeep b/steam-template/addons/SteamMultiplayerPeer/android/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/addons/SteamMultiplayerPeer/ios/ios.framework/.gitkeep b/steam-template/addons/SteamMultiplayerPeer/ios/ios.framework/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/addons/SteamMultiplayerPeer/linux/.gitkeep b/steam-template/addons/SteamMultiplayerPeer/linux/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/addons/SteamMultiplayerPeer/linux/libsteam-multiplayer-peer.linux.template_debug.x86_64.so b/steam-template/addons/SteamMultiplayerPeer/linux/libsteam-multiplayer-peer.linux.template_debug.x86_64.so new file mode 100644 index 0000000..63b6f87 Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/linux/libsteam-multiplayer-peer.linux.template_debug.x86_64.so differ diff --git a/steam-template/addons/SteamMultiplayerPeer/linux/libsteam-multiplayer-peer.linux.template_release.x86_64.so b/steam-template/addons/SteamMultiplayerPeer/linux/libsteam-multiplayer-peer.linux.template_release.x86_64.so new file mode 100644 index 0000000..09e6707 Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/linux/libsteam-multiplayer-peer.linux.template_release.x86_64.so differ diff --git a/steam-template/addons/SteamMultiplayerPeer/macos/.gitkeep b/steam-template/addons/SteamMultiplayerPeer/macos/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/addons/SteamMultiplayerPeer/macos/macos.framework/libsteam-multiplayer-peer.macos.template_debug b/steam-template/addons/SteamMultiplayerPeer/macos/macos.framework/libsteam-multiplayer-peer.macos.template_debug new file mode 100644 index 0000000..72e496f Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/macos/macos.framework/libsteam-multiplayer-peer.macos.template_debug differ diff --git a/steam-template/addons/SteamMultiplayerPeer/macos/macos.framework/libsteam-multiplayer-peer.macos.template_release b/steam-template/addons/SteamMultiplayerPeer/macos/macos.framework/libsteam-multiplayer-peer.macos.template_release new file mode 100644 index 0000000..7c87364 Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/macos/macos.framework/libsteam-multiplayer-peer.macos.template_release differ diff --git a/steam-template/addons/SteamMultiplayerPeer/steam-multiplayer-peer.gdextension b/steam-template/addons/SteamMultiplayerPeer/steam-multiplayer-peer.gdextension new file mode 100644 index 0000000..17b1514 --- /dev/null +++ b/steam-template/addons/SteamMultiplayerPeer/steam-multiplayer-peer.gdextension @@ -0,0 +1,19 @@ +[configuration] +entry_symbol = "steam_multiplayer_peer_init" +compatibility_minimum = 4.2 + +[libraries] +linux.debug.x86_64 = "linux/libsteam-multiplayer-peer.linux.template_debug.x86_64.so" +linux.release.x86_64 = "linux/libsteam-multiplayer-peer.linux.template_release.x86_64.so" +macos.debug = "macos/libsteam-multiplayer-peer.macos.template_debug.framework" +macos.release = "macos/libsteam-multiplayer-peer.macos.template_release.framework" +windows.debug.x86_64 = "windows/steam-multiplayer-peer.windows.template_debug.x86_64.dll" +windows.release.x86_64 = "windows/steam-multiplayer-peer.windows.template_release.x86_64.dll" +windows.debug.x86_32 = "windows/steam-multiplayer-peer.windows.template_debug.x86_32.dll" +windows.release.x86_32 = "windows/steam-multiplayer-peer.windows.template_release.x86_32.dll" + +[dependencies] +macos.universal = { "macos/libsteam_api.dylib": "" } +windows.x86_64 = { "windows/steam_api64.dll": "" } +windows.x86_32 = { "windows/steam_api.dll": "" } +linux.x86_64 = { "linux/libsteam_api.so": "" } \ No newline at end of file diff --git a/steam-template/addons/SteamMultiplayerPeer/windows/.gitkeep b/steam-template/addons/SteamMultiplayerPeer/windows/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_debug.x86_32.dll b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_debug.x86_32.dll new file mode 100644 index 0000000..755db49 Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_debug.x86_32.dll differ diff --git a/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_debug.x86_64.dll b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_debug.x86_64.dll new file mode 100644 index 0000000..c16c04e Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_debug.x86_64.dll differ diff --git a/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_release.x86_32.dll b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_release.x86_32.dll new file mode 100644 index 0000000..c1a28f9 Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_release.x86_32.dll differ diff --git a/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_release.x86_64.dll b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_release.x86_64.dll new file mode 100644 index 0000000..61b9d3b Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/windows/steam-multiplayer-peer.windows.template_release.x86_64.dll differ diff --git a/steam-template/addons/SteamMultiplayerPeer/windows/steam_api64.dll b/steam-template/addons/SteamMultiplayerPeer/windows/steam_api64.dll new file mode 100644 index 0000000..9ad453c Binary files /dev/null and b/steam-template/addons/SteamMultiplayerPeer/windows/steam_api64.dll differ diff --git a/steam-template/addons/godotsteam/godotsteam.gdextension b/steam-template/addons/godotsteam/godotsteam.gdextension new file mode 100644 index 0000000..d3d5551 --- /dev/null +++ b/steam-template/addons/godotsteam/godotsteam.gdextension @@ -0,0 +1,21 @@ +[configuration] +entry_symbol = "godotsteam_init" +compatibility_minimum = "4.1" + +[libraries] +macos.debug = "osx/libgodotsteam.macos.template_debug.framework" +macos.release = "osx/libgodotsteam.macos.template_release.framework" +windows.debug.x86_64 = "win64/libgodotsteam.windows.template_debug.x86_64.dll" +windows.debug.x86_32 = "win32/libgodotsteam.windows.template_debug.x86_32.dll" +windows.release.x86_64 = "win64/libgodotsteam.windows.template_release.x86_64.dll" +windows.release.x86_32 = "win32/libgodotsteam.windows.template_release.x86_32.dll" +linux.debug.x86_64 = "linux64/libgodotsteam.linux.template_debug.x86_64.so" +linux.debug.x86_32 = "linux32/libgodotsteam.linux.template_debug.x86_32.so" +linux.release.x86_64 = "linux64/libgodotsteam.linux.template_release.x86_64.so" +linux.release.x86_32 = "linux32/libgodotsteam.linux.template_release.x86_32.so" + +[dependencies] +windows.x86_64 = { "win64/steam_api64.dll": "" } +windows.x86_32 = { "win32/steam_api.dll": "" } +linux.x86_64 = { "linux64/libsteam_api.so": "" } +linux.x86_32 = { "linux32/libsteam_api.so": "" } diff --git a/steam-template/addons/godotsteam/license.txt b/steam-template/addons/godotsteam/license.txt new file mode 100644 index 0000000..923b05b --- /dev/null +++ b/steam-template/addons/godotsteam/license.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-Current | CoaguCo Industries and GP Garcia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/steam-template/addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so b/steam-template/addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so new file mode 100644 index 0000000..c9c456a Binary files /dev/null and b/steam-template/addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so differ diff --git a/steam-template/addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so b/steam-template/addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so new file mode 100644 index 0000000..0268e8f Binary files /dev/null and b/steam-template/addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so differ diff --git a/steam-template/addons/godotsteam/linux32/libsteam_api.so b/steam-template/addons/godotsteam/linux32/libsteam_api.so new file mode 100644 index 0000000..d0e9958 Binary files /dev/null and b/steam-template/addons/godotsteam/linux32/libsteam_api.so differ diff --git a/steam-template/addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so b/steam-template/addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so new file mode 100644 index 0000000..734e6de Binary files /dev/null and b/steam-template/addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so differ diff --git a/steam-template/addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so b/steam-template/addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so new file mode 100644 index 0000000..5960cd9 Binary files /dev/null and b/steam-template/addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so differ diff --git a/steam-template/addons/godotsteam/linux64/libsteam_api.so b/steam-template/addons/godotsteam/linux64/libsteam_api.so new file mode 100644 index 0000000..99c9164 Binary files /dev/null and b/steam-template/addons/godotsteam/linux64/libsteam_api.so differ diff --git a/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/Info.plist b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/Info.plist new file mode 100644 index 0000000..ae9993d --- /dev/null +++ b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleExecutable + libgodotsteam.debug + CFBundleIdentifier + org.coaguco.godotsteam + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + libgodotsteam.debug + CFBundlePackageType + FMWK + CFBundleShortVersionString + 4.5.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 4.5.2 + LSMinimumSystemVersion + 10.12 + + \ No newline at end of file diff --git a/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libgodotsteam.macos.template_debug b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libgodotsteam.macos.template_debug new file mode 100644 index 0000000..8fcb480 Binary files /dev/null and b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libgodotsteam.macos.template_debug differ diff --git a/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libsteam_api.dylib b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libsteam_api.dylib new file mode 100644 index 0000000..0bbdeeb Binary files /dev/null and b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libsteam_api.dylib differ diff --git a/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/Info.plist b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/Info.plist new file mode 100644 index 0000000..383935f --- /dev/null +++ b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleExecutable + libgodotsteam + CFBundleIdentifier + org.coaguco.godotsteam + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + libgodotsteam + CFBundlePackageType + FMWK + CFBundleShortVersionString + 4.5.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 4.5.2 + LSMinimumSystemVersion + 10.12 + + \ No newline at end of file diff --git a/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libgodotsteam.macos.template_release b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libgodotsteam.macos.template_release new file mode 100644 index 0000000..3d3a08b Binary files /dev/null and b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libgodotsteam.macos.template_release differ diff --git a/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libsteam_api.dylib b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libsteam_api.dylib new file mode 100644 index 0000000..0bbdeeb Binary files /dev/null and b/steam-template/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libsteam_api.dylib differ diff --git a/steam-template/addons/godotsteam/osx/libsteam_api.dylib b/steam-template/addons/godotsteam/osx/libsteam_api.dylib new file mode 100644 index 0000000..0bbdeeb Binary files /dev/null and b/steam-template/addons/godotsteam/osx/libsteam_api.dylib differ diff --git a/steam-template/addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll b/steam-template/addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll new file mode 100644 index 0000000..2c2d798 Binary files /dev/null and b/steam-template/addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll differ diff --git a/steam-template/addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll b/steam-template/addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll new file mode 100644 index 0000000..399301b Binary files /dev/null and b/steam-template/addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll differ diff --git a/steam-template/addons/godotsteam/win32/steam_api.dll b/steam-template/addons/godotsteam/win32/steam_api.dll new file mode 100644 index 0000000..7fde3a3 Binary files /dev/null and b/steam-template/addons/godotsteam/win32/steam_api.dll differ diff --git a/steam-template/addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll b/steam-template/addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll new file mode 100644 index 0000000..d835185 Binary files /dev/null and b/steam-template/addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll differ diff --git a/steam-template/addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll b/steam-template/addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll new file mode 100644 index 0000000..8904eb3 Binary files /dev/null and b/steam-template/addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll differ diff --git a/steam-template/addons/godotsteam/win64/steam_api64.dll b/steam-template/addons/godotsteam/win64/steam_api64.dll new file mode 100644 index 0000000..9ad453c Binary files /dev/null and b/steam-template/addons/godotsteam/win64/steam_api64.dll differ diff --git a/steam-template/assets/audio/bus.tres b/steam-template/assets/audio/bus.tres new file mode 100644 index 0000000..a7d157f --- /dev/null +++ b/steam-template/assets/audio/bus.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://cxm5q5xewt0xu"] + +[resource] +bus/1/name = &"Music" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"Master" +bus/2/name = &"SFX" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" diff --git a/steam-template/assets/fonts/KONGTEXT_LICENSE b/steam-template/assets/fonts/KONGTEXT_LICENSE new file mode 100644 index 0000000..bbb229a --- /dev/null +++ b/steam-template/assets/fonts/KONGTEXT_LICENSE @@ -0,0 +1,17 @@ +Thanks for downloading one of codeman38's retro video game fonts, as seen on Memepool, BoingBoing, and all around the blogosphere. + +So, you're wondering what the license is for these fonts? Pretty simple; it's based upon that used for Bitstream's Vera font set . + +Basically, here are the key points summarized, in as little legalese as possible; I hate reading license agreements as much as you probably do: + +With one specific exception, you have full permission to bundle these fonts in your own free or commercial projects-- and by projects, I'm referring to not just software but also electronic documents and print publications. + +So what's the exception? Simple: you can't re-sell these fonts in a commercial font collection. I've seen too many font CDs for sale in stores that are just a repackaging of thousands of freeware fonts found on the internet, and in my mind, that's quite a bit like highway robbery. Note that this *only* applies to products that are font collections in and of themselves; you may freely bundle these fonts with an operating system, application program, or the like. + +Feel free to modify these fonts and even to release the modified versions, as long as you change the original font names (to ensure consistency among people with the font installed) and as long as you give credit somewhere in the font file to codeman38 or zone38.net. I may even incorporate these changes into a later version of my fonts if you wish to send me the modifed fonts via e-mail. + +Also, feel free to mirror these fonts on your own site, as long as you make it reasonably clear that these fonts are not your own work. I'm not asking for much; linking to zone38.net or even just mentioning the nickname codeman38 should be enough. + +Well, that pretty much sums it up... so without further ado, install and enjoy these fonts from the golden age of video games. + +[ codeman38 | cody@zone38.net | http://www.zone38.net/ ] diff --git a/steam-template/assets/fonts/kongtext.ttf b/steam-template/assets/fonts/kongtext.ttf new file mode 100644 index 0000000..5e4d65f Binary files /dev/null and b/steam-template/assets/fonts/kongtext.ttf differ diff --git a/steam-template/assets/fonts/kongtext.ttf.import b/steam-template/assets/fonts/kongtext.ttf.import new file mode 100644 index 0000000..691b638 --- /dev/null +++ b/steam-template/assets/fonts/kongtext.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://prhrnt2u2q7y" +path="res://.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata" + +[deps] + +source_file="res://assets/fonts/kongtext.ttf" +dest_files=["res://.godot/imported/kongtext.ttf-75d8f42187131bab073735d7d26c1b37.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/steam-template/assets/misc/main_menu.tres b/steam-template/assets/misc/main_menu.tres new file mode 100644 index 0000000..fe68694 --- /dev/null +++ b/steam-template/assets/misc/main_menu.tres @@ -0,0 +1,36 @@ +[gd_resource type="Theme" load_steps=8 format=3 uid="uid://d23flwkfyegxj"] + +[ext_resource type="FontFile" uid="uid://prhrnt2u2q7y" path="res://assets/fonts/kongtext.ttf" id="1_j334i"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cvekl"] +bg_color = Color(1, 1, 1, 0) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1a5tc"] +bg_color = Color(0.6, 0.6, 0.6, 0) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jsvqh"] +bg_color = Color(1, 1, 1, 1) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pljxy"] +bg_color = Color(1, 1, 1, 1) + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_krv0t"] +color = Color(0.2484, 0.2484, 0.2484, 1) +thickness = 2 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fk8lp"] +bg_color = Color(0, 0, 0, 1) + +[resource] +default_font = ExtResource("1_j334i") +default_font_size = 28 +Button/colors/font_color = Color(0.875, 0.875, 0.875, 1) +Button/colors/font_disabled_color = Color(0.237539, 0.237539, 0.237539, 0.501961) +Button/styles/focus = SubResource("StyleBoxFlat_cvekl") +Button/styles/hover = SubResource("StyleBoxFlat_cvekl") +Button/styles/normal = SubResource("StyleBoxFlat_cvekl") +Button/styles/pressed = SubResource("StyleBoxFlat_1a5tc") +HSlider/styles/grabber_area = SubResource("StyleBoxFlat_jsvqh") +HSlider/styles/grabber_area_highlight = SubResource("StyleBoxFlat_pljxy") +HSlider/styles/slider = SubResource("StyleBoxLine_krv0t") +Panel/styles/panel = SubResource("StyleBoxFlat_fk8lp") diff --git a/steam-template/assets/scenes/main.tscn b/steam-template/assets/scenes/main.tscn new file mode 100644 index 0000000..f445395 --- /dev/null +++ b/steam-template/assets/scenes/main.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=3 uid="uid://clt7s7jihrd4f"] + +[ext_resource type="Script" path="res://assets/scripts/main.gd" id="1_m8bhc"] +[ext_resource type="PackedScene" uid="uid://bd47uqypshvxf" path="res://assets/scenes/ui/main_menu.tscn" id="1_rmc40"] + +[node name="Main" type="Node"] +script = ExtResource("1_m8bhc") + +[node name="MainMenu" parent="." instance=ExtResource("1_rmc40")] + +[node name="StaticAudio" type="Node" parent="."] + +[node name="UIAudio" type="AudioStreamPlayer" parent="StaticAudio"] +max_polyphony = 10 +bus = &"Music" + +[node name="MusicAudio" type="AudioStreamPlayer" parent="StaticAudio"] +bus = &"Music" diff --git a/steam-template/assets/scenes/ui/lobby.tscn b/steam-template/assets/scenes/ui/lobby.tscn new file mode 100644 index 0000000..1ccbdec --- /dev/null +++ b/steam-template/assets/scenes/ui/lobby.tscn @@ -0,0 +1,161 @@ +[gd_scene load_steps=6 format=3 uid="uid://cyn7ibrfqnds4"] + +[ext_resource type="Script" path="res://assets/scripts/ui/lobby.gd" id="1_w0i6f"] +[ext_resource type="Theme" uid="uid://d23flwkfyegxj" path="res://assets/misc/main_menu.tres" id="2_rvpx7"] +[ext_resource type="Script" path="res://assets/scripts/ui/button.gd" id="4_43473"] +[ext_resource type="PackedScene" uid="uid://bw1x8vi0s1g7g" path="res://assets/scenes/ui/player_row.tscn" id="4_m1llm"] + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_r5h3g"] +color = Color(0.525101, 0.525101, 0.525101, 1) +thickness = 10 + +[node name="Lobby" type="CanvasLayer"] +follow_viewport_enabled = true +script = ExtResource("1_w0i6f") +row = ExtResource("4_m1llm") + +[node name="Panel" type="Panel" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource("2_rvpx7") + +[node name="RichTextLabel" type="RichTextLabel" parent="Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 32.0 +offset_top = 27.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_vertical = 3 +theme = ExtResource("2_rvpx7") +theme_override_font_sizes/normal_font_size = 32 +bbcode_enabled = true +text = "SOMEONE'S LOBBY" + +[node name="Title" type="RichTextLabel" parent="Panel"] +layout_mode = 2 +offset_left = 656.0 +offset_top = 101.0 +offset_right = 1151.0 +offset_bottom = 137.0 +size_flags_vertical = 3 +theme = ExtResource("2_rvpx7") +theme_override_font_sizes/normal_font_size = 28 +text = "CONNECTED PLAYERS" + +[node name="Borders" type="Control" parent="Panel"] +anchors_preset = 0 +theme = ExtResource("2_rvpx7") + +[node name="Panel7" type="Panel" parent="Panel/Borders"] +layout_mode = 0 +offset_left = 636.0 +offset_top = 139.0 +offset_right = 1152.0 +offset_bottom = 139.0 +theme = ExtResource("2_rvpx7") +theme_override_styles/panel = SubResource("StyleBoxLine_r5h3g") + +[node name="Panel" type="Panel" parent="Panel/Borders"] +layout_mode = 0 +offset_top = 81.0 +offset_right = 1151.0 +offset_bottom = 92.0 +theme = ExtResource("2_rvpx7") +theme_override_styles/panel = SubResource("StyleBoxLine_r5h3g") + +[node name="Panel2" type="Panel" parent="Panel/Borders"] +layout_mode = 0 +offset_top = 563.0 +offset_right = 528.0 +offset_bottom = 574.0 +scale = Vector2(2.2, 1) +theme = ExtResource("2_rvpx7") +theme_override_styles/panel = SubResource("StyleBoxLine_r5h3g") + +[node name="Panel4" type="Panel" parent="Panel/Borders"] +layout_mode = 0 +offset_left = 921.004 +offset_top = 564.0 +offset_right = 2072.0 +offset_bottom = 575.0 +rotation = 1.5708 +theme = ExtResource("2_rvpx7") +theme_override_styles/panel = SubResource("StyleBoxLine_r5h3g") + +[node name="Panel6" type="Panel" parent="Panel/Borders"] +layout_mode = 0 +offset_left = 636.0 +offset_top = 82.0 +offset_right = 1787.0 +offset_bottom = 93.0 +rotation = 1.5708 +theme = ExtResource("2_rvpx7") +theme_override_styles/panel = SubResource("StyleBoxLine_r5h3g") + +[node name="Exit" type="Button" parent="Panel"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -562.0 +offset_top = 272.0 +offset_right = 26.0 +offset_bottom = 301.0 +grow_horizontal = 2 +grow_vertical = 2 +focus_neighbor_left = NodePath("../Ready") +focus_neighbor_right = NodePath("../Start") +focus_next = NodePath("../Start") +focus_previous = NodePath("../Ready") +theme = ExtResource("2_rvpx7") +text = " EXIT TO MAIN MENU " +script = ExtResource("4_43473") + +[node name="Ready" type="Button" parent="Panel"] +layout_mode = 0 +offset_left = 928.004 +offset_top = 598.0 +offset_right = 1124.0 +offset_bottom = 627.0 +focus_neighbor_left = NodePath("../Start") +focus_neighbor_right = NodePath("../Exit") +focus_next = NodePath("../Exit") +focus_previous = NodePath("../Start") +theme = ExtResource("2_rvpx7") +text = ">READY" +script = ExtResource("4_43473") +_focused = true + +[node name="Start" type="Button" parent="Panel"] +layout_mode = 0 +offset_left = 644.0 +offset_top = 594.0 +offset_right = 904.0 +offset_bottom = 631.0 +focus_neighbor_left = NodePath("../Exit") +focus_neighbor_right = NodePath("../Ready") +focus_next = NodePath("../Ready") +focus_previous = NodePath("../Exit") +theme = ExtResource("2_rvpx7") +theme_override_colors/font_color = Color(0.829817, 0.978527, 0.822901, 1) +disabled = true +text = " START " +script = ExtResource("4_43473") + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel"] +layout_mode = 1 +offset_left = 648.0 +offset_top = 164.0 +offset_right = 1143.0 +offset_bottom = 548.0 +theme = ExtResource("2_rvpx7") diff --git a/steam-template/assets/scenes/ui/main_menu.tscn b/steam-template/assets/scenes/ui/main_menu.tscn new file mode 100644 index 0000000..0a9fdcc --- /dev/null +++ b/steam-template/assets/scenes/ui/main_menu.tscn @@ -0,0 +1,594 @@ +[gd_scene load_steps=17 format=3 uid="uid://bd47uqypshvxf"] + +[ext_resource type="Script" path="res://assets/scripts/ui/main_menu.gd" id="1_5mr7l"] +[ext_resource type="Theme" uid="uid://d23flwkfyegxj" path="res://assets/misc/main_menu.tres" id="2_uanxr"] +[ext_resource type="Script" path="res://assets/scripts/ui/button.gd" id="4_12gtt"] +[ext_resource type="Script" path="res://assets/scripts/ui/ui_state.gd" id="5_nbyv8"] +[ext_resource type="Script" path="res://assets/scripts/ui/focus_grabber.gd" id="7_3jetc"] +[ext_resource type="Script" path="res://assets/scripts/ui/settings_ui.gd" id="7_vrko7"] + +[sub_resource type="Animation" id="Animation_bsp0i"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("VBoxContainer/RichTextLabel4:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_wbb8u"] +resource_name = "loop" +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("VBoxContainer/RichTextLabel4:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.233333, 0.5, 0.733333), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [true, false, true, false] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_mct42"] +_data = { +"RESET": SubResource("Animation_bsp0i"), +"loop": SubResource("Animation_wbb8u") +} + +[sub_resource type="InputEventAction" id="InputEventAction_qwbi3"] +action = &"back" + +[sub_resource type="InputEventAction" id="InputEventAction_iw55c"] +action = &"start" + +[sub_resource type="InputEventAction" id="InputEventAction_vxb0v"] +action = &"ui_select" + +[sub_resource type="Shortcut" id="Shortcut_nit6e"] +events = [SubResource("InputEventAction_qwbi3"), SubResource("InputEventAction_iw55c"), SubResource("InputEventAction_vxb0v")] + +[sub_resource type="Animation" id="Animation_2geqd"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("VBoxContainer/RichTextLabel:text") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": ["[center]LOADING[/center]"] +} + +[sub_resource type="Animation" id="Animation_vn3rx"] +resource_name = "load" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("VBoxContainer/RichTextLabel:text") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": ["LOADING", "LOADING.", "LOADING..", "LOADING..."] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3h0fr"] +_data = { +"RESET": SubResource("Animation_2geqd"), +"load": SubResource("Animation_vn3rx") +} + +[node name="MainMenu" type="CanvasLayer"] +follow_viewport_enabled = true +script = ExtResource("1_5mr7l") + +[node name="Start" type="Panel" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("5_nbyv8") +can_go_back = false + +[node name="VBoxContainer" type="VBoxContainer" parent="Start"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -400.0 +offset_top = -229.0 +offset_right = 400.0 +offset_bottom = 307.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +alignment = 1 + +[node name="RichTextLabel" type="RichTextLabel" parent="Start/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_font_sizes/normal_font_size = 128 +bbcode_enabled = true +text = "[center]TITLE[/center]" + +[node name="RichTextLabel4" type="RichTextLabel" parent="Start/VBoxContainer"] +clip_contents = false +layout_mode = 2 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_font_sizes/normal_font_size = 24 +bbcode_enabled = true +text = " + + + + + + +[center]PRESS START[/center]" +scroll_active = false + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Start"] +libraries = { +"": SubResource("AnimationLibrary_mct42") +} +autoplay = "loop" + +[node name="start" type="Button" parent="Start"] +layout_mode = 0 +offset_left = 439.0 +offset_top = 527.0 +offset_right = 708.0 +offset_bottom = 567.0 +shortcut = SubResource("Shortcut_nit6e") +shortcut_in_tooltip = false + +[node name="Main" type="Panel" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("5_nbyv8") +can_go_back = false + +[node name="Title" type="RichTextLabel" parent="Main"] +layout_mode = 1 +offset_top = 7.0 +offset_right = 1149.0 +offset_bottom = 167.0 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_colors/default_color = Color(0.262932, 0.262932, 0.262932, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_y = 2 +theme_override_constants/shadow_offset_x = -2 +theme_override_constants/shadow_outline_size = 6 +theme_override_font_sizes/normal_font_size = 128 +bbcode_enabled = true +text = "TITLE" + +[node name="options" type="VBoxContainer" parent="Main"] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = 48.0 +offset_top = -26.0 +offset_right = 494.0 +offset_bottom = 244.0 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +alignment = 1 + +[node name="Play" type="Button" parent="Main/options"] +layout_mode = 2 +focus_neighbor_top = NodePath("../Quit") +theme = ExtResource("2_uanxr") +text = ">PLAY +" +alignment = 0 +script = ExtResource("4_12gtt") +_focused = true + +[node name="Settings" type="Button" parent="Main/options"] +layout_mode = 2 +theme = ExtResource("2_uanxr") +text = " SETTINGS" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="Quit" type="Button" parent="Main/options"] +layout_mode = 2 +focus_neighbor_bottom = NodePath("../Play") +theme = ExtResource("2_uanxr") +text = " QUIT" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="Play" type="Panel" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("5_nbyv8") + +[node name="Title" type="RichTextLabel" parent="Play"] +layout_mode = 1 +offset_top = 7.0 +offset_right = 1149.0 +offset_bottom = 167.0 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_colors/default_color = Color(0.262932, 0.262932, 0.262932, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_y = 2 +theme_override_constants/shadow_offset_x = -2 +theme_override_constants/shadow_outline_size = 6 +theme_override_font_sizes/normal_font_size = 128 +bbcode_enabled = true +text = "TITLE" + +[node name="options" type="VBoxContainer" parent="Play"] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = 48.0 +offset_top = -26.0 +offset_right = 494.0 +offset_bottom = 244.0 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +alignment = 1 + +[node name="Online" type="Button" parent="Play/options"] +layout_mode = 2 +focus_neighbor_top = NodePath("../LAN") +theme = ExtResource("2_uanxr") +text = ">CREATE LOBBY +" +alignment = 0 +script = ExtResource("4_12gtt") +_focused = true + +[node name="LAN" type="Button" parent="Play/options"] +layout_mode = 2 +focus_neighbor_bottom = NodePath("../Online") +theme = ExtResource("2_uanxr") +text = " LAN" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="LAN" type="Panel" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("5_nbyv8") + +[node name="Title" type="RichTextLabel" parent="LAN"] +layout_mode = 1 +offset_top = 7.0 +offset_right = 1149.0 +offset_bottom = 167.0 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_colors/default_color = Color(0.262932, 0.262932, 0.262932, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_y = 2 +theme_override_constants/shadow_offset_x = -2 +theme_override_constants/shadow_outline_size = 6 +theme_override_font_sizes/normal_font_size = 128 +bbcode_enabled = true +text = "TITLE" + +[node name="options" type="VBoxContainer" parent="LAN"] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = 48.0 +offset_top = -26.0 +offset_right = 494.0 +offset_bottom = 244.0 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +alignment = 1 + +[node name="Host" type="Button" parent="LAN/options"] +layout_mode = 2 +focus_neighbor_top = NodePath("../Join") +theme = ExtResource("2_uanxr") +text = ">HOST +" +alignment = 0 +script = ExtResource("4_12gtt") +_focused = true + +[node name="Join" type="Button" parent="LAN/options"] +layout_mode = 2 +focus_neighbor_bottom = NodePath("../Host") +theme = ExtResource("2_uanxr") +text = " JOIN" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="Settings" type="Panel" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("7_vrko7") + +[node name="Title" type="RichTextLabel" parent="Settings"] +layout_mode = 0 +offset_top = 7.0 +offset_right = 1149.0 +offset_bottom = 167.0 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_colors/default_color = Color(0.262932, 0.262932, 0.262932, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_y = 2 +theme_override_constants/shadow_offset_x = -2 +theme_override_constants/shadow_outline_size = 6 +theme_override_font_sizes/normal_font_size = 128 +bbcode_enabled = true +text = "TITLE" + +[node name="options" type="VBoxContainer" parent="Settings"] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = 238.0 +offset_top = -199.0 +offset_right = 882.0 +offset_bottom = 185.0 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +alignment = 1 + +[node name="Fullscreen" type="Button" parent="Settings/options"] +layout_mode = 2 +focus_neighbor_top = NodePath("../../Apply") +theme = ExtResource("2_uanxr") +text = " WINDOW : WINDOWED +" +alignment = 0 +script = ExtResource("4_12gtt") +_focused = true + +[node name="VSync" type="Button" parent="Settings/options"] +layout_mode = 2 +theme = ExtResource("2_uanxr") +text = " VSYNC : ENABLED" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="FPS" type="Button" parent="Settings/options"] +layout_mode = 2 +theme = ExtResource("2_uanxr") +text = " FPS TARGET : 0" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="Music" type="Control" parent="Settings/options"] +layout_mode = 2 +theme = ExtResource("2_uanxr") + +[node name="RichTextLabel" type="RichTextLabel" parent="Settings/options/Music"] +custom_minimum_size = Vector2(0, 30) +layout_mode = 0 +offset_right = 476.0 +offset_bottom = 30.0 +theme = ExtResource("2_uanxr") +text = " MUSIC VOL :" + +[node name="HSlider" type="HSlider" parent="Settings/options/Music" node_paths=PackedStringArray("affected_text")] +layout_mode = 0 +offset_left = 426.0 +offset_top = 7.0 +offset_right = 651.0 +offset_bottom = 23.0 +size_flags_horizontal = 4 +theme = ExtResource("2_uanxr") +max_value = 1.0 +step = 0.05 +value = 0.5 +script = ExtResource("7_3jetc") +affected_text = NodePath("../RichTextLabel") + +[node name="SFX" type="Control" parent="Settings/options"] +layout_mode = 2 +theme = ExtResource("2_uanxr") + +[node name="RichTextLabel" type="RichTextLabel" parent="Settings/options/SFX"] +custom_minimum_size = Vector2(0, 30) +layout_mode = 0 +offset_top = 30.0 +offset_right = 476.0 +offset_bottom = 60.0 +theme = ExtResource("2_uanxr") +text = " SFX VOL :" + +[node name="HSlider" type="HSlider" parent="Settings/options/SFX" node_paths=PackedStringArray("affected_text")] +custom_minimum_size = Vector2(225, 0) +layout_mode = 0 +offset_left = 426.0 +offset_top = 37.0 +offset_right = 651.0 +offset_bottom = 53.0 +size_flags_horizontal = 4 +theme = ExtResource("2_uanxr") +max_value = 1.0 +step = 0.05 +value = 0.5 +script = ExtResource("7_3jetc") +affected_text = NodePath("../RichTextLabel") + +[node name="Mouse" type="Control" parent="Settings/options"] +layout_mode = 2 +theme = ExtResource("2_uanxr") + +[node name="RichTextLabel" type="RichTextLabel" parent="Settings/options/Mouse"] +custom_minimum_size = Vector2(0, 30) +layout_mode = 0 +offset_top = 60.0 +offset_right = 476.0 +offset_bottom = 90.0 +theme = ExtResource("2_uanxr") +text = " MOUSE SENS :" + +[node name="HSlider" type="HSlider" parent="Settings/options/Mouse" node_paths=PackedStringArray("affected_text")] +custom_minimum_size = Vector2(225, 0) +layout_mode = 0 +offset_left = 426.0 +offset_top = 67.0 +offset_right = 651.0 +offset_bottom = 83.0 +size_flags_horizontal = 4 +theme = ExtResource("2_uanxr") +max_value = 1.0 +step = 0.05 +value = 0.5 +script = ExtResource("7_3jetc") +affected_text = NodePath("../RichTextLabel") + +[node name="Apply" type="Button" parent="Settings"] +layout_mode = 0 +offset_left = 499.0 +offset_top = 578.0 +offset_right = 667.0 +offset_bottom = 607.0 +focus_neighbor_bottom = NodePath("../options/Fullscreen") +theme = ExtResource("2_uanxr") +text = " APPLY" +alignment = 0 +script = ExtResource("4_12gtt") + +[node name="Loading" type="Panel" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("5_nbyv8") +can_go_back = false + +[node name="VBoxContainer" type="VBoxContainer" parent="Loading"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -400.0 +offset_top = -35.0 +offset_right = 400.0 +offset_bottom = 225.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +alignment = 1 + +[node name="RichTextLabel" type="RichTextLabel" parent="Loading/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_font_sizes/normal_font_size = 72 +bbcode_enabled = true +text = "[center]LOADING[/center]" + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Loading"] +libraries = { +"": SubResource("AnimationLibrary_3h0fr") +} +autoplay = "load" + +[node name="Error" type="Panel" parent="."] +visible = false +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_uanxr") +script = ExtResource("5_nbyv8") +can_go_back = false + +[node name="RichTextLabel" type="RichTextLabel" parent="Error"] +layout_mode = 2 +offset_left = 73.0 +offset_top = 71.0 +offset_right = 1073.0 +offset_bottom = 471.0 +size_flags_vertical = 3 +theme = ExtResource("2_uanxr") +theme_override_font_sizes/normal_font_size = 52 +bbcode_enabled = true +text = "[center]ERROR MSG HERE[/center]" + +[node name="Return" type="Button" parent="Error"] +layout_mode = 0 +offset_left = 354.0 +offset_top = 533.0 +offset_right = 802.0 +offset_bottom = 562.0 +theme = ExtResource("2_uanxr") +shortcut_in_tooltip = false +text = " RETURN TO MENU " +alignment = 0 +script = ExtResource("4_12gtt") +_focused = true + +[connection signal="pressed" from="Start/start" to="." method="transition" binds= ["main"]] +[connection signal="pressed" from="Main/options/Play" to="." method="transition" binds= ["play"]] +[connection signal="pressed" from="Main/options/Settings" to="." method="transition" binds= ["settings"]] +[connection signal="pressed" from="Main/options/Quit" to="." method="_on_quit"] +[connection signal="pressed" from="Play/options/Online" to="." method="_on_host" binds= [false]] +[connection signal="pressed" from="Play/options/LAN" to="." method="transition" binds= ["lan"]] +[connection signal="pressed" from="LAN/options/Host" to="." method="_on_host" binds= [true]] +[connection signal="pressed" from="LAN/options/Join" to="." method="_on_join_lan"] +[connection signal="pressed" from="Settings/options/Fullscreen" to="." method="_toggle_fullscreen"] +[connection signal="pressed" from="Settings/options/VSync" to="." method="_set_vsync"] +[connection signal="pressed" from="Settings/options/FPS" to="." method="_set_fps"] +[connection signal="value_changed" from="Settings/options/Music/HSlider" to="." method="_set_music"] +[connection signal="value_changed" from="Settings/options/SFX/HSlider" to="." method="_set_sfx"] +[connection signal="value_changed" from="Settings/options/Mouse/HSlider" to="." method="_on_mouse_sensitivity"] +[connection signal="pressed" from="Error/Return" to="." method="transition" binds= ["main"]] diff --git a/steam-template/assets/scenes/ui/player_row.tscn b/steam-template/assets/scenes/ui/player_row.tscn new file mode 100644 index 0000000..ff70ed3 --- /dev/null +++ b/steam-template/assets/scenes/ui/player_row.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=3 format=3 uid="uid://bw1x8vi0s1g7g"] + +[ext_resource type="Theme" uid="uid://d23flwkfyegxj" path="res://assets/misc/main_menu.tres" id="1_4h1ox"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_q20na"] +bg_color = Color(0.261159, 0.713552, 0, 1) + +[node name="PlayerRow" type="HBoxContainer"] +custom_minimum_size = Vector2(0, 35) +theme = ExtResource("1_4h1ox") + +[node name="Label" type="RichTextLabel" parent="."] +clip_contents = false +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource("1_4h1ox") +theme_override_font_sizes/normal_font_size = 22 +scroll_active = false + +[node name="Ready" type="Panel" parent="."] +visible = false +custom_minimum_size = Vector2(40, 0) +layout_mode = 2 +theme = ExtResource("1_4h1ox") +theme_override_styles/panel = SubResource("StyleBoxFlat_q20na") diff --git a/steam-template/assets/scripts/globals/game_manager.gd b/steam-template/assets/scripts/globals/game_manager.gd new file mode 100644 index 0000000..7c7c1e6 --- /dev/null +++ b/steam-template/assets/scripts/globals/game_manager.gd @@ -0,0 +1,5 @@ +extends Node + +var main_menu : CanvasLayer +@onready var lobby : CanvasLayer = preload("res://assets/scenes/ui/lobby.tscn").instantiate() +var main : Node diff --git a/steam-template/assets/scripts/globals/network_manager.gd b/steam-template/assets/scripts/globals/network_manager.gd new file mode 100644 index 0000000..3415746 --- /dev/null +++ b/steam-template/assets/scripts/globals/network_manager.gd @@ -0,0 +1,167 @@ +extends Node + +var multiplayer_peer = null + +var lobby_id = 0 +var players : Dictionary = {} +var lan : bool = false + +func _ready(): + OS.set_environment("SteamAppID", str(480)) + OS.set_environment("SteamGameID", str(480)) + Steam.steamInit(480) + Steam.lobby_created.connect(_on_lobby_created) + Steam.lobby_joined.connect(_on_lobby_joined) + Steam.join_requested.connect(_on_lobby_join_requested) + multiplayer.connected_to_server.connect(_connected_to_server) + multiplayer.peer_disconnected.connect(_peer_disconnected) + multiplayer.connection_failed.connect(_connection_failed) + check_command_line() + +func _connection_failed() -> void: + multiplayer.multiplayer_peer.close() + SignalBus.display_error.emit('FAILED TO CONNECT...') + +func _peer_disconnected(id: int) -> void: + if id == 1: + _leave_lobby() + else: + players.erase(id) + SignalBus.players_changed.emit() + +func _connected_to_server() -> void: + var id = multiplayer.get_unique_id() + if lan: + sync_info.rpc("", id) + else: + var my_name : String = Steam.getPersonaName() + if len(my_name) > 17: + my_name = my_name.substr(0,17) + '...' + players[id] = {"name": my_name, "id": Steam.getSteamID()} + sync_info.rpc(players[id]["name"], players[id]["id"]) + +@rpc +func _receive_player_data(data : Dictionary, id:int) -> void: + players = data + if id == multiplayer.get_unique_id(): + _transition_to_lobby() + else: + SignalBus.players_changed.emit() + +@rpc("any_peer") +func sync_info(name_: String, id: int) -> void: + var peer_id = multiplayer.get_remote_sender_id() + if lan: + players[peer_id] = {"name": "Player " + str(len(multiplayer.get_peers())), "id": id} + else: + players[peer_id] = {"name": name_, "id": id} + var minimum_data = {} + for p in players: + minimum_data[p] = {"name": players[p]["name"], "id": players[p]["id"]} + _receive_player_data.rpc(minimum_data, peer_id) + SignalBus.players_changed.emit() + +func _process(_d:float) -> void: + Steam.run_callbacks() + +func _on_lobby_created(conn, id) -> void: + if conn == 1: + lobby_id = id + var my_name : String = Steam.getPersonaName() + if len(my_name) > 17: + my_name = my_name.substr(0,17) + '...' + Steam.setLobbyData(lobby_id, "name", (my_name+"'s Lobby")) + Steam.setLobbyJoinable(lobby_id, true) + multiplayer_peer = SteamMultiplayerPeer.new() + var error = multiplayer_peer.create_host(0) # this is virtual port not player limit do not change + if error != OK: + multiplayer_peer.close() + Steam.leaveLobby(lobby_id) + SignalBus.display_error.emit("ERROR CREATING HOST CLIENT\nCODE: " + str(error)) + return + multiplayer.set_multiplayer_peer(multiplayer_peer) + players[1] = {"name": my_name, "id": Steam.getSteamID()} + Steam.allowP2PPacketRelay(true) + _transition_to_lobby() + else: + SignalBus.display_error.emit('ERROR CREATING STEAM LOBBY\nCODE: '+str(conn)) + +func _on_lobby_joined(lobby: int, _permissions: int, _locked: bool, response: int) -> void: + if response == 1: + var id = Steam.getLobbyOwner(lobby) + if id != Steam.getSteamID(): + lobby_id = lobby + players[1] = {"name": Steam.getFriendPersonaName(id), "id": id} + multiplayer_peer = SteamMultiplayerPeer.new() + var error = multiplayer_peer.create_client(id, 0) + if error != OK: + multiplayer_peer.close() + Steam.leaveLobby(lobby_id) + SignalBus.display_error.emit("ERROR CREATING CLIENT\nCODE: " + str(error)) + return + multiplayer.set_multiplayer_peer(multiplayer_peer) + else: + var FAIL_REASON: String + match response: + 2: FAIL_REASON = "This lobby no longer exists." + 3: FAIL_REASON = "You don't have permission to join this lobby." + 4: FAIL_REASON = "The lobby is now full." + 5: FAIL_REASON = "Something unexpected happened!" + 6: FAIL_REASON = "You are banned from this lobby." + 7: FAIL_REASON = "You cannot join due to having a limited account." + 8: FAIL_REASON = "This lobby is locked or disabled." + 9: FAIL_REASON = "This lobby is community locked." + 10: FAIL_REASON = "A user in the lobby has blocked you from joining." + 11: FAIL_REASON = "A user you have blocked is in the lobby." + SignalBus.display_error.emit(FAIL_REASON) + +func _transition_to_lobby() -> void: + await get_tree().process_frame + GameManager.main.add_child(GameManager.lobby) + GameManager.main.remove_child(GameManager.main_menu) + +func _leave_lobby() -> void: + GameManager.main.remove_child(GameManager.lobby) + GameManager.main.add_child(GameManager.main_menu) + GameManager.main_menu.enter() + if !lan: + Steam.leaveLobby(lobby_id) + multiplayer.multiplayer_peer.close() + players.clear() + +func _on_join_lan() -> void: + lan = true + multiplayer_peer = ENetMultiplayerPeer.new() + var error = multiplayer_peer.create_client("localhost", 8565) + if error != OK: + SignalBus.display_error.emit("FAILED TO CREATE CLIENT\nCODE: " + str(error)) + multiplayer_peer.close() + return + multiplayer.multiplayer_peer = multiplayer_peer + +func _on_host_lan() -> void: + lan = true + multiplayer_peer = ENetMultiplayerPeer.new() + var error = multiplayer_peer.create_server(8565, 3) # allow 3 peers for 4 player lobby + if error != OK: + SignalBus.display_error.emit("FAILED TO CREATE HOST\nCODE: " + str(error)) + multiplayer_peer.close() + return + multiplayer.multiplayer_peer = multiplayer_peer + players[1] = {"name": "Player 1 (you)", "id": 1} + _transition_to_lobby() + +func _on_host_steam() -> void: + lan = false + Steam.createLobby(Steam.LOBBY_TYPE_FRIENDS_ONLY, 4) # 4 player lobby + +func check_command_line() -> void: + var these_arguments: Array = OS.get_cmdline_args() + if these_arguments.size() > 0: + if these_arguments[0] == "+connect_lobby": + if int(these_arguments[1]) > 0: + Steam.joinLobby(int(these_arguments[1])) + +func _on_lobby_join_requested(this_lobby_id: int, friend_id: int) -> void: + lan = false + Steam.joinLobby(int(this_lobby_id)) diff --git a/steam-template/assets/scripts/globals/settings.gd b/steam-template/assets/scripts/globals/settings.gd new file mode 100644 index 0000000..a546323 --- /dev/null +++ b/steam-template/assets/scripts/globals/settings.gd @@ -0,0 +1,73 @@ +extends Node + +var fps := 0 +var vsync := 1 +var music := AudioServer.get_bus_index("Music") +var sfx := AudioServer.get_bus_index("SFX") +var music_vol := 1.0 +var sfx_vol := 1.0 +var mouse_sensitivity := 0.5 +var fullscreen := true +var vsync_modes : Dictionary = { + 0 : "DISABLED", + 1 : "ENABLED", + 2 : "ADAPTIVE", + 3 : "MAILBOX" +} + +var fps_options : Array = [ + 0, + 30, + 60, + 90, + 120, + 240 +] + +var fps_index := 0 + +func _ready() -> void: + if ResourceLoader.exists("user://data.res"): + var data : SaveData = ResourceLoader.load("user://data.res") + fps_index = data.fps_index + fullscreen = data.fullscreen + vsync = data.vsync + music_vol = data.music_vol + sfx_vol = data.sfx_vol + mouse_sensitivity = data.mouse_sensitivity + fps = fps_options[fps_index] + change_settings() + else: + var data := SaveData.new() + fps_index = data.fps_index + fullscreen = data.fullscreen + vsync = data.vsync + music_vol = data.music_vol + sfx_vol = data.sfx_vol + mouse_sensitivity = data.mouse_sensitivity + fps = fps_options[fps_index] + change_settings() + +func iterate_fps(): + fps_index += 1 + if fps_index >= len(fps_options): + fps_index = 0 + fps = fps_options[fps_index] + +func change_settings(): + SignalBus.change_settings.emit() + Engine.set_max_fps(fps) + DisplayServer.window_set_vsync_mode(vsync) + AudioServer.set_bus_volume_db(music, linear_to_db(music_vol)) + AudioServer.set_bus_volume_db(sfx, linear_to_db(sfx_vol)) + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN if fullscreen else DisplayServer.WINDOW_MODE_MAXIMIZED) + _save_game() + +func _save_game(): + var data = SaveData.new() + data.fps_index = fps_index + data.fullscreen = fullscreen + data.vsync = vsync + data.music_vol = music_vol + data.sfx_vol = sfx_vol + ResourceSaver.save(data, "user://data.res") diff --git a/steam-template/assets/scripts/globals/signal_bus.gd b/steam-template/assets/scripts/globals/signal_bus.gd new file mode 100644 index 0000000..bb9bfa2 --- /dev/null +++ b/steam-template/assets/scripts/globals/signal_bus.gd @@ -0,0 +1,8 @@ +@warning_ignore("unused_signal") +extends Node + +signal ui_focus_changed +signal players_changed +signal change_settings +signal display_error +signal play_music diff --git a/steam-template/assets/scripts/main.gd b/steam-template/assets/scripts/main.gd new file mode 100644 index 0000000..7782a75 --- /dev/null +++ b/steam-template/assets/scripts/main.gd @@ -0,0 +1,30 @@ +extends Node + +@onready var audio : AudioStreamPlayer = $StaticAudio/UIAudio +@onready var musicAudio : AudioStreamPlayer = $StaticAudio/MusicAudio +@export var ui_move : AudioStream +@onready var music_dict : Dictionary = { + #'title':preload('example.mp3') +} + +func _ready() -> void: + GameManager.main = self + SignalBus.ui_focus_changed.connect(_on_ui_focus_changed) + SignalBus.play_music.connect(_play_music) + if music_dict.get('title'): + musicAudio.stream = music_dict['title'] + musicAudio.play() + +func _play_music(track : String) -> void: + if !music_dict.get(track): + print(track + ' is not a key in the music dict!') + return + musicAudio.stream = music_dict['title'] + musicAudio.play() + +func _on_ui_focus_changed() -> void: + if ui_move: + audio.stream = ui_move + else: + return + audio.play() diff --git a/steam-template/assets/scripts/resources/save_data.gd b/steam-template/assets/scripts/resources/save_data.gd new file mode 100644 index 0000000..f1642f1 --- /dev/null +++ b/steam-template/assets/scripts/resources/save_data.gd @@ -0,0 +1,10 @@ +extends Resource + +class_name SaveData + +@export var fps_index := 0 +@export var vsync := 1 +@export var music_vol := 1.0 +@export var sfx_vol := 1.0 +@export var mouse_sensitivity := 1.0 +@export var fullscreen := true diff --git a/steam-template/assets/scripts/ui/button.gd b/steam-template/assets/scripts/ui/button.gd new file mode 100644 index 0000000..76f2912 --- /dev/null +++ b/steam-template/assets/scripts/ui/button.gd @@ -0,0 +1,20 @@ +extends Button +@export var _focused : bool = false + +func _ready() -> void: + focus_entered.connect(_on_focus_entered) + mouse_entered.connect(_on_focus_entered) + SignalBus.ui_focus_changed.connect(_remove_marker) + +func _enter_tree() -> void: + if _focused: + grab_focus() + +func _on_focus_entered() -> void: + SignalBus.ui_focus_changed.emit() + if not text.begins_with(">"): + text[0] = ">" + +func _remove_marker() -> void: + if text.begins_with(">"): + text[0] = " " diff --git a/steam-template/assets/scripts/ui/focus_grabber.gd b/steam-template/assets/scripts/ui/focus_grabber.gd new file mode 100644 index 0000000..c650c6f --- /dev/null +++ b/steam-template/assets/scripts/ui/focus_grabber.gd @@ -0,0 +1,23 @@ +extends HSlider + +@export var _focused : bool = false +var loaded : bool = false +@export var affected_text : RichTextLabel + + +func _ready() -> void: + focus_entered.connect(_on_focus_entered) + mouse_entered.connect(_on_focus_entered) + SignalBus.ui_focus_changed.connect(_remove_marker) + +func _enter_tree() -> void: + if _focused and loaded: + grab_focus() + loaded = true + +func _on_focus_entered() -> void: + SignalBus.ui_focus_changed.emit() + affected_text.text[0] = ">" + +func _remove_marker() -> void: + affected_text.text[0] = " " diff --git a/steam-template/assets/scripts/ui/lobby.gd b/steam-template/assets/scripts/ui/lobby.gd new file mode 100644 index 0000000..0f82060 --- /dev/null +++ b/steam-template/assets/scripts/ui/lobby.gd @@ -0,0 +1,58 @@ +extends CanvasLayer + +var player_container : VBoxContainer +var _is_ready : bool = false +@export var row : PackedScene + +func _ready() -> void: + SignalBus.players_changed.connect(_on_players_changed) + $Panel/Exit.pressed.connect(NetworkManager._leave_lobby) + $Panel/Ready.pressed.connect(_on_ready) + $Panel/Start.pressed.connect(_on_start) + +func _on_start() -> void: + print('starting game here') + +func _add_row(name_ : String, id: int) -> void: + var instance : HBoxContainer = row.instantiate() + instance.get_node("Label").text = name_ + player_container.add_child(instance) + NetworkManager.players[id]["object"] = instance + +func _enter_tree() -> void: + player_container = $Panel/VBoxContainer + _on_players_changed() + $Panel/RichTextLabel.text = NetworkManager.players[1]['name'] + "'s Lobby" + +func _on_players_changed() -> void: + _is_ready = false + var i: = 1 + var my_id : int = multiplayer.get_unique_id() + for child : HBoxContainer in player_container.get_children(): + child.queue_free() + for peer : int in NetworkManager.players: + if NetworkManager.lan: + if peer == my_id: + NetworkManager.players[peer]["name"] = "Player " + str(i) + "(you)" + else: + NetworkManager.players[peer]["name"] = "Player " + str(i) + i+=1 + _add_row(NetworkManager.players[peer]["name"], peer) + if NetworkManager.players.size() == 1: + $Panel/Start.disabled = false + else: + $Panel/Start.disabled = true + +func _on_ready() -> void: + _is_ready = !_is_ready + _on_ready_remote.rpc(_is_ready) + +@rpc("any_peer", "call_local") +func _on_ready_remote(_is_ready_remote : bool) -> void: + NetworkManager.players[multiplayer.get_remote_sender_id()]["object"].get_node("Ready").visible = _is_ready_remote + if multiplayer.is_server() and NetworkManager.players.size() > 1: + for child : HBoxContainer in player_container.get_children(): + if not child.get_node("Ready").visible: + $Panel/Start.disabled = true + return + $Panel/Start.disabled = false diff --git a/steam-template/assets/scripts/ui/main_menu.gd b/steam-template/assets/scripts/ui/main_menu.gd new file mode 100644 index 0000000..1a215af --- /dev/null +++ b/steam-template/assets/scripts/ui/main_menu.gd @@ -0,0 +1,75 @@ +extends CanvasLayer +class_name UIManager + +var current_panel : String = 'start' +var play_select : bool = false +var panels : Dictionary = {} + +func _ready() -> void: + GameManager.main_menu = self + Steam.join_requested.connect(_on_lobby_join_requested) + SignalBus.display_error.connect(_display_error) + $Settings/Apply.pressed.connect(Settings.change_settings) + for child : Node in get_children(): + if child is UIState: + panels[child.name.to_lower()] = child + child.show() + child.master = self + if child.name.to_lower() != 'start': + remove_child(child) + +func _input(event: InputEvent) -> void: + if event.is_action_pressed("back"): + panels[current_panel].back() + +func enter() -> void: + transition('start') + +func _display_error(error : String) -> void: + transition('error') + panels['error'].get_node('RichTextLabel').text = '[center]' + error + '[/center]' + +func _on_lobby_join_requested(_this_lobby_id: int, _friend_id: int) -> void: + transition('loading') + +func _on_quit() -> void: + get_tree().quit() + +func transition(to: String) -> void: + play_select = true + remove_child(panels[current_panel]) + add_child(panels[to]) + panels[to].enter(current_panel) + current_panel = to + +func _set_music(value: float) -> void: + Settings.music_vol = value + +func _set_sfx(value: float) -> void: + Settings.sfx_vol = value + +func _set_fps() -> void: + Settings.iterate_fps() + $Settings/options/FPS.text = '>FPS TARGET : ' + 'UNLIMITED' if Settings.fps == 0 else str(Settings.fps) + +func _set_vsync() -> void: + Settings.iterate_vsync() + $Settings/options/VSync.text = '>VSYNC : ' + Settings.vsync_modes[Settings.vsync] + +func _toggle_fullscreen() -> void: + Settings.fullscreen = !Settings.fullscreen + $Settings/options/Fullscreen.text = '>WINDOW : ' + ('FULLSCREEN' if Settings.fullscreen else 'WINDOWED') + +func _on_join_lan() -> void: + transition('loading') + NetworkManager._on_join_lan() + +func _on_host(lan : bool) -> void: + transition('loading') + if lan: + NetworkManager._on_host_lan() + else: + NetworkManager._on_host_steam() + +func _on_mouse_sensitivity(value:float) -> void: + Settings.mouse_sensitivity = value diff --git a/steam-template/assets/scripts/ui/settings_ui.gd b/steam-template/assets/scripts/ui/settings_ui.gd new file mode 100644 index 0000000..399bad4 --- /dev/null +++ b/steam-template/assets/scripts/ui/settings_ui.gd @@ -0,0 +1,10 @@ +extends UIState + +func enter(s : String) -> void: + $options/Fullscreen.text = '>WINDOW : ' + ('FULLSCREEN' if Settings.fullscreen else 'WINDOWED') + $options/FPS.text = ' FPS TARGET : ' + 'UNLIMITED' if Settings.fps == 0 else str(Settings.fps) + $options/VSync.text = ' VSYNC : ' + Settings.vsync_modes[Settings.vsync] + $options/Music/HSlider.value = Settings.music_vol + $options/SFX/HSlider.value = Settings.sfx_vol + $options/Mouse/HSlider.value = Settings.mouse_sensitivity + super.enter(s) diff --git a/steam-template/assets/scripts/ui/ui_state.gd b/steam-template/assets/scripts/ui/ui_state.gd new file mode 100644 index 0000000..8f5b89a --- /dev/null +++ b/steam-template/assets/scripts/ui/ui_state.gd @@ -0,0 +1,15 @@ +extends Panel +class_name UIState + +var master : UIManager +var previous_panel : String +@export var can_go_back : bool = true + + +func enter(previous : String): + if !previous_panel: + previous_panel = previous + +func back(): + if can_go_back: + master.transition(previous_panel) diff --git a/steam-template/icon.svg b/steam-template/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/steam-template/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/steam-template/icon.svg.import b/steam-template/icon.svg.import new file mode 100644 index 0000000..2e4e87e --- /dev/null +++ b/steam-template/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpnrrjb4ygjss" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/steam-template/project.godot b/steam-template/project.godot new file mode 100644 index 0000000..22deaf7 --- /dev/null +++ b/steam-template/project.godot @@ -0,0 +1,97 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Steam Template" +config/description="A project template using the Expresso Bits SteamMultiplayerPeer addon and the Gramps GodotSteam addon. +It contains boilerplate code for a main menu with saved settings, LAN and Steam netcode, a simple audio bus for music and sfx. +Main menu UI is controlled by a theme resource in assets/misc. UI work with mouse keyboard or controller." +run/main_scene="res://assets/scenes/main.tscn" +config/features=PackedStringArray("4.3", "Forward Plus") +config/icon="res://icon.svg" + +[audio] + +buses/default_bus_layout="res://assets/audio/bus.tres" + +[autoload] + +SignalBus="*res://assets/scripts/globals/signal_bus.gd" +NetworkManager="*res://assets/scripts/globals/network_manager.gd" +GameManager="*res://assets/scripts/globals/game_manager.gd" +Settings="*res://assets/scripts/globals/settings.gd" + +[display] + +window/stretch/mode="canvas_items" + +[input] + +ui_accept={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} +ui_cancel={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} +start={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +] +} +back={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} +move_left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) +] +} +move_right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) +] +} +move_up={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) +] +} +move_down={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) +] +} +attack={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +}