generated from krampus/template-godot4
	Compare commits
	
		
			No commits in common. "feb0d3eb4883d12c340c0d7f7efd0622adb20386" and "5b0305df9638aca3ce8c08acff3e30fd31422afa" have entirely different histories.
		
	
	
		
			feb0d3eb48
			...
			5b0305df96
		
	
		
| @ -45,14 +45,6 @@ Asset credits | ||||
| 
 | ||||
| *** License: OFL 1.1 | ||||
| 
 | ||||
| ** Orbitron | ||||
| 
 | ||||
| *** Retrieved from https://fonts.google.com/specimen/Orbitron | ||||
| 
 | ||||
| *** Author: Matt McInerney | ||||
| 
 | ||||
| *** License: OFL 1.1 | ||||
| 
 | ||||
| * Sound | ||||
| 
 | ||||
| ** drive1.wav | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								asset_dev/levels/oneill.blend
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/levels/oneill.blend
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,7 +0,0 @@ | ||||
| [gd_resource type="FontVariation" load_steps=2 format=3 uid="uid://ehkfcv7lram0"] | ||||
| 
 | ||||
| [ext_resource type="FontFile" uid="uid://s4c1kf0rk2mb" path="res://assets/fonts/Geo/Geo-Regular.ttf" id="1_6hjgi"] | ||||
| 
 | ||||
| [resource] | ||||
| base_font = ExtResource("1_6hjgi") | ||||
| variation_embolden = 0.5 | ||||
| @ -1,7 +0,0 @@ | ||||
| [gd_resource type="FontVariation" load_steps=2 format=3 uid="uid://c2olk85hfh4ln"] | ||||
| 
 | ||||
| [ext_resource type="FontFile" uid="uid://b6gxwgomstkgu" path="res://assets/fonts/Geo/Geo-Italic.ttf" id="1_l0o26"] | ||||
| 
 | ||||
| [resource] | ||||
| base_font = ExtResource("1_l0o26") | ||||
| variation_embolden = 0.5 | ||||
| @ -1,93 +0,0 @@ | ||||
| Copyright 2018 The Orbitron Project Authors (https://github.com/theleagueof/orbitron), with Reserved Font Name: "Orbitron" | ||||
| 
 | ||||
| This Font Software is licensed under the SIL Open Font License, Version 1.1. | ||||
| This license is copied below, and is also available with a FAQ at: | ||||
| https://openfontlicense.org | ||||
| 
 | ||||
| 
 | ||||
| ----------------------------------------------------------- | ||||
| SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 | ||||
| ----------------------------------------------------------- | ||||
| 
 | ||||
| PREAMBLE | ||||
| The goals of the Open Font License (OFL) are to stimulate worldwide | ||||
| development of collaborative font projects, to support the font creation | ||||
| efforts of academic and linguistic communities, and to provide a free and | ||||
| open framework in which fonts may be shared and improved in partnership | ||||
| with others. | ||||
| 
 | ||||
| The OFL allows the licensed fonts to be used, studied, modified and | ||||
| redistributed freely as long as they are not sold by themselves. The | ||||
| fonts, including any derivative works, can be bundled, embedded,  | ||||
| redistributed and/or sold with any software provided that any reserved | ||||
| names are not used by derivative works. The fonts and derivatives, | ||||
| however, cannot be released under any other type of license. The | ||||
| requirement for fonts to remain under this license does not apply | ||||
| to any document created using the fonts or their derivatives. | ||||
| 
 | ||||
| DEFINITIONS | ||||
| "Font Software" refers to the set of files released by the Copyright | ||||
| Holder(s) under this license and clearly marked as such. This may | ||||
| include source files, build scripts and documentation. | ||||
| 
 | ||||
| "Reserved Font Name" refers to any names specified as such after the | ||||
| copyright statement(s). | ||||
| 
 | ||||
| "Original Version" refers to the collection of Font Software components as | ||||
| distributed by the Copyright Holder(s). | ||||
| 
 | ||||
| "Modified Version" refers to any derivative made by adding to, deleting, | ||||
| or substituting -- in part or in whole -- any of the components of the | ||||
| Original Version, by changing formats or by porting the Font Software to a | ||||
| new environment. | ||||
| 
 | ||||
| "Author" refers to any designer, engineer, programmer, technical | ||||
| writer or other person who contributed to the Font Software. | ||||
| 
 | ||||
| PERMISSION & CONDITIONS | ||||
| Permission is hereby granted, free of charge, to any person obtaining | ||||
| a copy of the Font Software, to use, study, copy, merge, embed, modify, | ||||
| redistribute, and sell modified and unmodified copies of the Font | ||||
| Software, subject to the following conditions: | ||||
| 
 | ||||
| 1) Neither the Font Software nor any of its individual components, | ||||
| in Original or Modified Versions, may be sold by itself. | ||||
| 
 | ||||
| 2) Original or Modified Versions of the Font Software may be bundled, | ||||
| redistributed and/or sold with any software, provided that each copy | ||||
| contains the above copyright notice and this license. These can be | ||||
| included either as stand-alone text files, human-readable headers or | ||||
| in the appropriate machine-readable metadata fields within text or | ||||
| binary files as long as those fields can be easily viewed by the user. | ||||
| 
 | ||||
| 3) No Modified Version of the Font Software may use the Reserved Font | ||||
| Name(s) unless explicit written permission is granted by the corresponding | ||||
| Copyright Holder. This restriction only applies to the primary font name as | ||||
| presented to the users. | ||||
| 
 | ||||
| 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font | ||||
| Software shall not be used to promote, endorse or advertise any | ||||
| Modified Version, except to acknowledge the contribution(s) of the | ||||
| Copyright Holder(s) and the Author(s) or with their explicit written | ||||
| permission. | ||||
| 
 | ||||
| 5) The Font Software, modified or unmodified, in part or in whole, | ||||
| must be distributed entirely under this license, and must not be | ||||
| distributed under any other license. The requirement for fonts to | ||||
| remain under this license does not apply to any document created | ||||
| using the Font Software. | ||||
| 
 | ||||
| TERMINATION | ||||
| This license becomes null and void if any of the above conditions are | ||||
| not met. | ||||
| 
 | ||||
| DISCLAIMER | ||||
| THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT | ||||
| OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE | ||||
| COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||
| INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL | ||||
| DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||
| FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM | ||||
| OTHER DEALINGS IN THE FONT SOFTWARE. | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://cbaqlaqdobnux" | ||||
| path="res://.godot/imported/Orbitron-VariableFont_wght.ttf-19ead88ef6e90de37fa6547cf6fb513b.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-VariableFont_wght.ttf-19ead88ef6e90de37fa6547cf6fb513b.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={} | ||||
| @ -1,7 +0,0 @@ | ||||
| [gd_resource type="FontVariation" load_steps=2 format=3 uid="uid://y3lcfr4ys8d3"] | ||||
| 
 | ||||
| [ext_resource type="FontFile" uid="uid://dyx4wcq8wlpbh" path="res://assets/fonts/Orbitron/static/Orbitron-Black.ttf" id="1_sdwod"] | ||||
| 
 | ||||
| [resource] | ||||
| base_font = ExtResource("1_sdwod") | ||||
| variation_transform = Transform2D(1, 0.2, 0, 1, 0, 0) | ||||
| @ -1,7 +0,0 @@ | ||||
| [gd_resource type="FontVariation" load_steps=2 format=3 uid="uid://cjisjunqauv68"] | ||||
| 
 | ||||
| [ext_resource type="FontFile" uid="uid://bmv0pofrw1wh0" path="res://assets/fonts/Orbitron/static/Orbitron-Regular.ttf" id="1_1cs6e"] | ||||
| 
 | ||||
| [resource] | ||||
| base_font = ExtResource("1_1cs6e") | ||||
| variation_transform = Transform2D(1, 0.2, 0, 1, 0, 0) | ||||
| @ -1,68 +0,0 @@ | ||||
| Orbitron Variable Font | ||||
| ====================== | ||||
| 
 | ||||
| This download contains Orbitron as both a variable font and static fonts. | ||||
| 
 | ||||
| Orbitron is a variable font with this axis: | ||||
|   wght | ||||
| 
 | ||||
| This means all the styles are contained in a single file: | ||||
|   Orbitron-VariableFont_wght.ttf | ||||
| 
 | ||||
| If your app fully supports variable fonts, you can now pick intermediate styles | ||||
| that aren’t available as static fonts. Not all apps support variable fonts, and | ||||
| in those cases you can use the static font files for Orbitron: | ||||
|   static/Orbitron-Regular.ttf | ||||
|   static/Orbitron-Medium.ttf | ||||
|   static/Orbitron-SemiBold.ttf | ||||
|   static/Orbitron-Bold.ttf | ||||
|   static/Orbitron-ExtraBold.ttf | ||||
|   static/Orbitron-Black.ttf | ||||
| 
 | ||||
| Get started | ||||
| ----------- | ||||
| 
 | ||||
| 1. Install the font files you want to use | ||||
| 
 | ||||
| 2. Use your app's font picker to view the font family and all the | ||||
| available styles | ||||
| 
 | ||||
| Learn more about variable fonts | ||||
| ------------------------------- | ||||
| 
 | ||||
|   https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts | ||||
|   https://variablefonts.typenetwork.com | ||||
|   https://medium.com/variable-fonts | ||||
| 
 | ||||
| In desktop apps | ||||
| 
 | ||||
|   https://theblog.adobe.com/can-variable-fonts-illustrator-cc | ||||
|   https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts | ||||
| 
 | ||||
| Online | ||||
| 
 | ||||
|   https://developers.google.com/fonts/docs/getting_started | ||||
|   https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide | ||||
|   https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts | ||||
| 
 | ||||
| Installing fonts | ||||
| 
 | ||||
|   MacOS: https://support.apple.com/en-us/HT201749 | ||||
|   Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux | ||||
|   Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows | ||||
| 
 | ||||
| Android Apps | ||||
| 
 | ||||
|   https://developers.google.com/fonts/docs/android | ||||
|   https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts | ||||
| 
 | ||||
| License | ||||
| ------- | ||||
| Please read the full license text (OFL.txt) to understand the permissions, | ||||
| restrictions and requirements for usage, redistribution, and modification. | ||||
| 
 | ||||
| You can use them in your products & projects – print or digital, | ||||
| commercial or otherwise. | ||||
| 
 | ||||
| This isn't legal advice, please consider consulting a lawyer and see the full | ||||
| license for all details. | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://dyx4wcq8wlpbh" | ||||
| path="res://.godot/imported/Orbitron-Black.ttf-4f56be6116e641811a86edeabcd2d703.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/static/Orbitron-Black.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-Black.ttf-4f56be6116e641811a86edeabcd2d703.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={} | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://djk8vf63wdnsx" | ||||
| path="res://.godot/imported/Orbitron-Bold.ttf-8b89fbe3c12c453b18cf8303d33da7bc.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/static/Orbitron-Bold.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-Bold.ttf-8b89fbe3c12c453b18cf8303d33da7bc.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={} | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://dbeni2o18lk3a" | ||||
| path="res://.godot/imported/Orbitron-ExtraBold.ttf-89bec0e872cbcfe16e37e73e9e75d81b.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/static/Orbitron-ExtraBold.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-ExtraBold.ttf-89bec0e872cbcfe16e37e73e9e75d81b.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={} | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://b4f2gbckqpae4" | ||||
| path="res://.godot/imported/Orbitron-Medium.ttf-d8d4495b34cc31a0e3d103c2a99dad64.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/static/Orbitron-Medium.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-Medium.ttf-d8d4495b34cc31a0e3d103c2a99dad64.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={} | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://bmv0pofrw1wh0" | ||||
| path="res://.godot/imported/Orbitron-Regular.ttf-2f53598a38b7cf8511acdd2231e8bfe4.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/static/Orbitron-Regular.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-Regular.ttf-2f53598a38b7cf8511acdd2231e8bfe4.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={} | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,34 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="font_data_dynamic" | ||||
| type="FontFile" | ||||
| uid="uid://dxegxmpnkyna4" | ||||
| path="res://.godot/imported/Orbitron-SemiBold.ttf-48a2c690838e0199310d9d72e5469267.fontdata" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://assets/fonts/Orbitron/static/Orbitron-SemiBold.ttf" | ||||
| dest_files=["res://.godot/imported/Orbitron-SemiBold.ttf-48a2c690838e0199310d9d72e5469267.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={} | ||||
| @ -1,16 +0,0 @@ | ||||
| [gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://dpsmjlhjpc7vs"] | ||||
| 
 | ||||
| [ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="1_vmujt"] | ||||
| [ext_resource type="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="2_i1w1d"] | ||||
| 
 | ||||
| [resource] | ||||
| albedo_texture = ExtResource("1_vmujt") | ||||
| albedo_texture_force_srgb = true | ||||
| metallic = 0.27 | ||||
| roughness = 0.67 | ||||
| normal_enabled = true | ||||
| normal_scale = 0.2 | ||||
| normal_texture = ExtResource("2_i1w1d") | ||||
| clearcoat_roughness = 0.0 | ||||
| uv1_scale = Vector3(3, 1.5, 3) | ||||
| texture_filter = 4 | ||||
| @ -1,31 +0,0 @@ | ||||
| [gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://drxnue0xsen13"] | ||||
| 
 | ||||
| [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="1_sat73"] | ||||
| [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="2_iub32"] | ||||
| 
 | ||||
| [sub_resource type="FastNoiseLite" id="FastNoiseLite_mgjj0"] | ||||
| fractal_type = 2 | ||||
| 
 | ||||
| [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0xqld"] | ||||
| in_3d_space = true | ||||
| seamless = true | ||||
| noise = SubResource("FastNoiseLite_mgjj0") | ||||
| 
 | ||||
| [resource] | ||||
| render_priority = 0 | ||||
| shader = ExtResource("1_sat73") | ||||
| shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1) | ||||
| shader_parameter/scroll_speed1 = Vector2(0.04, 0) | ||||
| shader_parameter/scroll_speed2 = Vector2(-0.02, 0) | ||||
| shader_parameter/blend_factor = 0.5 | ||||
| shader_parameter/scale1 = Vector2(128, 128) | ||||
| shader_parameter/scale2 = Vector2(256, 256) | ||||
| shader_parameter/wave_strength = 0.4 | ||||
| shader_parameter/wave_scale = 0.02 | ||||
| shader_parameter/pixelation_level = 128 | ||||
| shader_parameter/FoamSize = 3.0 | ||||
| shader_parameter/WaterOpacity = 0.9 | ||||
| shader_parameter/FoamGlowIntensity = 0.6 | ||||
| shader_parameter/water_texture1 = ExtResource("2_iub32") | ||||
| shader_parameter/water_texture2 = ExtResource("2_iub32") | ||||
| shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld") | ||||
| @ -135,13 +135,3 @@ BALL_BEACH,"Beach Ball" | ||||
| BALL_POWER,Powerball | ||||
| , | ||||
| MAP_DEBUG,"Debug Island" | ||||
| MAP_ONEILL,"O'Neill Ring" | ||||
| , | ||||
| CHARACTER_DEBUG,"Debug Girl" | ||||
| , | ||||
| , | ||||
| MSG_ABOUT_SINGLE_PLAYER,"Go GFOLF yourself!" | ||||
| MSG_ABOUT_MULTI_PLAYER,"Go GFOLF your friends, too!" | ||||
| MSG_ABOUT_SETTINGS,"View and change gameplay, accessibility, graphics, sound, and input options." | ||||
| MSG_ABOUT_CREDITS,"Meet the people who made the game!" | ||||
| MSG_ABOUT_QUIT,"Exit the game. See you next mission!" | ||||
|  | ||||
| 
 | 
| @ -21,7 +21,7 @@ compress/lossy_quality=0.7 | ||||
| compress/hdr_compression=1 | ||||
| compress/normal_map=0 | ||||
| compress/channel_pack=0 | ||||
| mipmaps/generate=true | ||||
| mipmaps/generate=false | ||||
| mipmaps/limit=-1 | ||||
| roughness/mode=0 | ||||
| roughness/src_normal="" | ||||
| @ -31,4 +31,4 @@ process/normal_map_invert_y=false | ||||
| process/hdr_as_srgb=false | ||||
| process/hdr_clamp_exposure=false | ||||
| process/size_limit=0 | ||||
| detect_3d/compress_to=0 | ||||
| detect_3d/compress_to=1 | ||||
|  | ||||
| @ -1,8 +1,9 @@ | ||||
| [gd_scene load_steps=64 format=3 uid="uid://bm2o3mex10v11"] | ||||
| [gd_scene load_steps=68 format=3 uid="uid://bm2o3mex10v11"] | ||||
| 
 | ||||
| [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] | ||||
| [ext_resource type="Material" uid="uid://drxnue0xsen13" path="res://assets/materials/tropical_water.tres" id="4_bwkbv"] | ||||
| [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] | ||||
| [ext_resource type="Texture2D" uid="uid://c47ern0l2d50r" path="res://assets/vista_2.png" id="6_ectru"] | ||||
| [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"] | ||||
| [ext_resource type="PackedScene" uid="uid://cupmlp44bsfrj" path="res://src/items/extra_ball/beach_ball_item.tscn" id="8_3jmdx"] | ||||
| [ext_resource type="Script" path="res://src/items/item_spawner.gd" id="8_5kaye"] | ||||
| [ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"] | ||||
| @ -67,12 +68,12 @@ auto_shader = true | ||||
| [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"] | ||||
| panorama = ExtResource("6_ectru") | ||||
| 
 | ||||
| [sub_resource type="Sky" id="Sky_3yoab"] | ||||
| [sub_resource type="Sky" id="Sky_2xshh"] | ||||
| sky_material = SubResource("PanoramaSkyMaterial_h8tes") | ||||
| 
 | ||||
| [sub_resource type="Environment" id="Environment_k6wwx"] | ||||
| background_mode = 2 | ||||
| sky = SubResource("Sky_3yoab") | ||||
| sky = SubResource("Sky_2xshh") | ||||
| ambient_light_source = 2 | ||||
| ambient_light_color = Color(0.78, 0.78, 0.78, 1) | ||||
| ssao_enabled = true | ||||
| @ -92,8 +93,35 @@ dof_blur_near_enabled = true | ||||
| dof_blur_near_distance = 1.0 | ||||
| dof_blur_near_transition = 0.5 | ||||
| 
 | ||||
| [sub_resource type="FastNoiseLite" id="FastNoiseLite_mgjj0"] | ||||
| fractal_type = 2 | ||||
| 
 | ||||
| [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0xqld"] | ||||
| in_3d_space = true | ||||
| seamless = true | ||||
| noise = SubResource("FastNoiseLite_mgjj0") | ||||
| 
 | ||||
| [sub_resource type="ShaderMaterial" id="ShaderMaterial_dkdxa"] | ||||
| render_priority = 0 | ||||
| shader = ExtResource("6_0efu4") | ||||
| shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1) | ||||
| shader_parameter/scroll_speed1 = Vector2(0.04, 0) | ||||
| shader_parameter/scroll_speed2 = Vector2(-0.02, 0) | ||||
| shader_parameter/blend_factor = 0.5 | ||||
| shader_parameter/scale1 = Vector2(128, 128) | ||||
| shader_parameter/scale2 = Vector2(256, 256) | ||||
| shader_parameter/wave_strength = 0.4 | ||||
| shader_parameter/wave_scale = 0.02 | ||||
| shader_parameter/pixelation_level = 128 | ||||
| shader_parameter/FoamSize = 3.0 | ||||
| shader_parameter/WaterOpacity = 0.9 | ||||
| shader_parameter/FoamGlowIntensity = 0.6 | ||||
| shader_parameter/water_texture1 = ExtResource("7_t86h2") | ||||
| shader_parameter/water_texture2 = ExtResource("7_t86h2") | ||||
| shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld") | ||||
| 
 | ||||
| [sub_resource type="PlaneMesh" id="PlaneMesh_2ywhk"] | ||||
| material = ExtResource("4_bwkbv") | ||||
| material = SubResource("ShaderMaterial_dkdxa") | ||||
| size = Vector2(16384, 16384) | ||||
| subdivide_width = 1024 | ||||
| subdivide_depth = 1024 | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							| @ -1,450 +0,0 @@ | ||||
| { | ||||
| 	"asset":{ | ||||
| 		"generator":"Khronos glTF Blender I/O v4.2.60", | ||||
| 		"version":"2.0" | ||||
| 	}, | ||||
| 	"scene":0, | ||||
| 	"scenes":[ | ||||
| 		{ | ||||
| 			"name":"Scene", | ||||
| 			"nodes":[ | ||||
| 				0, | ||||
| 				1, | ||||
| 				2 | ||||
| 			] | ||||
| 		} | ||||
| 	], | ||||
| 	"nodes":[ | ||||
| 		{ | ||||
| 			"mesh":0, | ||||
| 			"name":"Toroid" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"mesh":1, | ||||
| 			"name":"Water" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"mesh":2, | ||||
| 			"name":"GravityField" | ||||
| 		} | ||||
| 	], | ||||
| 	"materials":[ | ||||
| 		{ | ||||
| 			"doubleSided":true, | ||||
| 			"name":"Grass", | ||||
| 			"pbrMetallicRoughness":{ | ||||
| 				"baseColorFactor":[ | ||||
| 					0.3161464333534241, | ||||
| 					0.8002588152885437, | ||||
| 					0.2223183959722519, | ||||
| 					1 | ||||
| 				], | ||||
| 				"metallicFactor":0, | ||||
| 				"roughnessFactor":0.5 | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"doubleSided":true, | ||||
| 			"name":"Sand", | ||||
| 			"pbrMetallicRoughness":{ | ||||
| 				"baseColorFactor":[ | ||||
| 					0.8006381988525391, | ||||
| 					0.7524848580360413, | ||||
| 					0.36821886897087097, | ||||
| 					1 | ||||
| 				], | ||||
| 				"metallicFactor":0, | ||||
| 				"roughnessFactor":0.5 | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"doubleSided":true, | ||||
| 			"name":"Water", | ||||
| 			"pbrMetallicRoughness":{ | ||||
| 				"baseColorFactor":[ | ||||
| 					0.028725162148475647, | ||||
| 					0.3729885220527649, | ||||
| 					0.8004578351974487, | ||||
| 					1 | ||||
| 				], | ||||
| 				"metallicFactor":0, | ||||
| 				"roughnessFactor":0.5 | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"doubleSided":true, | ||||
| 			"name":"Unused", | ||||
| 			"pbrMetallicRoughness":{ | ||||
| 				"baseColorFactor":[ | ||||
| 					0.7795374393463135, | ||||
| 					0, | ||||
| 					0.8001965880393982, | ||||
| 					1 | ||||
| 				], | ||||
| 				"metallicFactor":0, | ||||
| 				"roughnessFactor":0.5 | ||||
| 			} | ||||
| 		} | ||||
| 	], | ||||
| 	"meshes":[ | ||||
| 		{ | ||||
| 			"name":"Sphere", | ||||
| 			"primitives":[ | ||||
| 				{ | ||||
| 					"attributes":{ | ||||
| 						"POSITION":0, | ||||
| 						"NORMAL":1, | ||||
| 						"TEXCOORD_0":2 | ||||
| 					}, | ||||
| 					"indices":3, | ||||
| 					"material":0 | ||||
| 				}, | ||||
| 				{ | ||||
| 					"attributes":{ | ||||
| 						"POSITION":4, | ||||
| 						"NORMAL":5, | ||||
| 						"TEXCOORD_0":6 | ||||
| 					}, | ||||
| 					"indices":7, | ||||
| 					"material":1 | ||||
| 				} | ||||
| 			] | ||||
| 		}, | ||||
| 		{ | ||||
| 			"name":"Sphere.001", | ||||
| 			"primitives":[ | ||||
| 				{ | ||||
| 					"attributes":{ | ||||
| 						"POSITION":8, | ||||
| 						"NORMAL":9, | ||||
| 						"TEXCOORD_0":10 | ||||
| 					}, | ||||
| 					"indices":11, | ||||
| 					"material":2 | ||||
| 				}, | ||||
| 				{ | ||||
| 					"attributes":{ | ||||
| 						"POSITION":12, | ||||
| 						"NORMAL":13, | ||||
| 						"TEXCOORD_0":14 | ||||
| 					}, | ||||
| 					"indices":15, | ||||
| 					"material":3 | ||||
| 				} | ||||
| 			] | ||||
| 		}, | ||||
| 		{ | ||||
| 			"name":"GravityField", | ||||
| 			"primitives":[ | ||||
| 				{ | ||||
| 					"attributes":{ | ||||
| 						"POSITION":16, | ||||
| 						"NORMAL":17, | ||||
| 						"TEXCOORD_0":18 | ||||
| 					}, | ||||
| 					"indices":19 | ||||
| 				} | ||||
| 			] | ||||
| 		} | ||||
| 	], | ||||
| 	"accessors":[ | ||||
| 		{ | ||||
| 			"bufferView":0, | ||||
| 			"componentType":5126, | ||||
| 			"count":10240, | ||||
| 			"max":[ | ||||
| 				79.99998474121094, | ||||
| 				37.71173858642578, | ||||
| 				79.99996948242188 | ||||
| 			], | ||||
| 			"min":[ | ||||
| 				-79.99996185302734, | ||||
| 				-37.71173858642578, | ||||
| 				-80 | ||||
| 			], | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":1, | ||||
| 			"componentType":5126, | ||||
| 			"count":10240, | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":2, | ||||
| 			"componentType":5126, | ||||
| 			"count":10240, | ||||
| 			"type":"VEC2" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":3, | ||||
| 			"componentType":5123, | ||||
| 			"count":15360, | ||||
| 			"type":"SCALAR" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":4, | ||||
| 			"componentType":5126, | ||||
| 			"count":1677, | ||||
| 			"max":[ | ||||
| 				82.53833770751953, | ||||
| 				37.79914474487305, | ||||
| 				82.53833770751953 | ||||
| 			], | ||||
| 			"min":[ | ||||
| 				-82.53833770751953, | ||||
| 				-37.79914474487305, | ||||
| 				-82.53833770751953 | ||||
| 			], | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":5, | ||||
| 			"componentType":5126, | ||||
| 			"count":1677, | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":6, | ||||
| 			"componentType":5126, | ||||
| 			"count":1677, | ||||
| 			"type":"VEC2" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":7, | ||||
| 			"componentType":5123, | ||||
| 			"count":7680, | ||||
| 			"type":"SCALAR" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":8, | ||||
| 			"componentType":5126, | ||||
| 			"count":2064, | ||||
| 			"max":[ | ||||
| 				87.81309509277344, | ||||
| 				32.626365661621094, | ||||
| 				87.81385040283203 | ||||
| 			], | ||||
| 			"min":[ | ||||
| 				-87.81309509277344, | ||||
| 				-32.626373291015625, | ||||
| 				-87.81383514404297 | ||||
| 			], | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":9, | ||||
| 			"componentType":5126, | ||||
| 			"count":2064, | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":10, | ||||
| 			"componentType":5126, | ||||
| 			"count":2064, | ||||
| 			"type":"VEC2" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":11, | ||||
| 			"componentType":5123, | ||||
| 			"count":11520, | ||||
| 			"type":"SCALAR" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":12, | ||||
| 			"componentType":5126, | ||||
| 			"count":774, | ||||
| 			"max":[ | ||||
| 				82.04900360107422, | ||||
| 				32.626365661621094, | ||||
| 				82.04967498779297 | ||||
| 			], | ||||
| 			"min":[ | ||||
| 				-82.04901885986328, | ||||
| 				-32.626373291015625, | ||||
| 				-82.0496597290039 | ||||
| 			], | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":13, | ||||
| 			"componentType":5126, | ||||
| 			"count":774, | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":14, | ||||
| 			"componentType":5126, | ||||
| 			"count":774, | ||||
| 			"type":"VEC2" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":15, | ||||
| 			"componentType":5123, | ||||
| 			"count":3072, | ||||
| 			"type":"SCALAR" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":16, | ||||
| 			"componentType":5126, | ||||
| 			"count":10496, | ||||
| 			"max":[ | ||||
| 				79.99998474121094, | ||||
| 				37.71173858642578, | ||||
| 				79.99996948242188 | ||||
| 			], | ||||
| 			"min":[ | ||||
| 				-79.99996185302734, | ||||
| 				-37.71173858642578, | ||||
| 				-80 | ||||
| 			], | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":17, | ||||
| 			"componentType":5126, | ||||
| 			"count":10496, | ||||
| 			"type":"VEC3" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":18, | ||||
| 			"componentType":5126, | ||||
| 			"count":10496, | ||||
| 			"type":"VEC2" | ||||
| 		}, | ||||
| 		{ | ||||
| 			"bufferView":19, | ||||
| 			"componentType":5123, | ||||
| 			"count":16116, | ||||
| 			"type":"SCALAR" | ||||
| 		} | ||||
| 	], | ||||
| 	"bufferViews":[ | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":122880, | ||||
| 			"byteOffset":0, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":122880, | ||||
| 			"byteOffset":122880, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":81920, | ||||
| 			"byteOffset":245760, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":30720, | ||||
| 			"byteOffset":327680, | ||||
| 			"target":34963 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":20124, | ||||
| 			"byteOffset":358400, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":20124, | ||||
| 			"byteOffset":378524, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":13416, | ||||
| 			"byteOffset":398648, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":15360, | ||||
| 			"byteOffset":412064, | ||||
| 			"target":34963 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":24768, | ||||
| 			"byteOffset":427424, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":24768, | ||||
| 			"byteOffset":452192, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":16512, | ||||
| 			"byteOffset":476960, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":23040, | ||||
| 			"byteOffset":493472, | ||||
| 			"target":34963 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":9288, | ||||
| 			"byteOffset":516512, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":9288, | ||||
| 			"byteOffset":525800, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":6192, | ||||
| 			"byteOffset":535088, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":6144, | ||||
| 			"byteOffset":541280, | ||||
| 			"target":34963 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":125952, | ||||
| 			"byteOffset":547424, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":125952, | ||||
| 			"byteOffset":673376, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":83968, | ||||
| 			"byteOffset":799328, | ||||
| 			"target":34962 | ||||
| 		}, | ||||
| 		{ | ||||
| 			"buffer":0, | ||||
| 			"byteLength":32232, | ||||
| 			"byteOffset":883296, | ||||
| 			"target":34963 | ||||
| 		} | ||||
| 	], | ||||
| 	"buffers":[ | ||||
| 		{ | ||||
| 			"byteLength":915528, | ||||
| 			"uri":"geometry.bin" | ||||
| 		} | ||||
| 	] | ||||
| } | ||||
| @ -1,51 +0,0 @@ | ||||
| [remap] | ||||
| 
 | ||||
| importer="scene" | ||||
| importer_version=1 | ||||
| type="PackedScene" | ||||
| uid="uid://df0kdle8ntguo" | ||||
| path="res://.godot/imported/geometry.gltf-874d08c9d8ed47bf6c3fe03bb6cbd333.scn" | ||||
| 
 | ||||
| [deps] | ||||
| 
 | ||||
| source_file="res://levels/oneill/geometry.gltf" | ||||
| dest_files=["res://.godot/imported/geometry.gltf-874d08c9d8ed47bf6c3fe03bb6cbd333.scn"] | ||||
| 
 | ||||
| [params] | ||||
| 
 | ||||
| nodes/root_type="" | ||||
| nodes/root_name="" | ||||
| nodes/apply_root_scale=true | ||||
| nodes/root_scale=1.0 | ||||
| nodes/import_as_skeleton_bones=false | ||||
| meshes/ensure_tangents=true | ||||
| meshes/generate_lods=true | ||||
| meshes/create_shadow_meshes=true | ||||
| meshes/light_baking=1 | ||||
| meshes/lightmap_texel_size=0.2 | ||||
| meshes/force_disable_compression=false | ||||
| skins/use_named_skins=true | ||||
| animation/import=true | ||||
| animation/fps=30 | ||||
| animation/trimming=false | ||||
| animation/remove_immutable_tracks=true | ||||
| animation/import_rest_as_RESET=false | ||||
| import_script/path="" | ||||
| _subresources={ | ||||
| "materials": { | ||||
| "Grass": { | ||||
| "use_external/enabled": true, | ||||
| "use_external/path": "res://levels/oneill/materials/grass_green.tres" | ||||
| }, | ||||
| "Sand": { | ||||
| "use_external/enabled": true, | ||||
| "use_external/path": "res://levels/oneill/materials/sand.tres" | ||||
| }, | ||||
| "Water": { | ||||
| "use_external/enabled": true, | ||||
| "use_external/path": "res://levels/oneill/materials/water.tres" | ||||
| } | ||||
| } | ||||
| } | ||||
| gltf/naming_version=1 | ||||
| gltf/embedded_image_handling=1 | ||||
| @ -1,8 +0,0 @@ | ||||
| [gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://d3lgbjycfpbuj"] | ||||
| 
 | ||||
| [ext_resource type="Texture2D" path="res://assets/textures/grass_green/grass_green_albedo.dds" id="1_fcjn2"] | ||||
| 
 | ||||
| [resource] | ||||
| albedo_texture = ExtResource("1_fcjn2") | ||||
| uv1_scale = Vector3(8, 4, 8) | ||||
| texture_filter = 4 | ||||
| @ -1,8 +0,0 @@ | ||||
| [gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://d16vojvxfn2c5"] | ||||
| 
 | ||||
| [ext_resource type="Texture2D" path="res://assets/textures/sand_trap/sand_trap_albedo.dds" id="1_gp4sx"] | ||||
| 
 | ||||
| [resource] | ||||
| albedo_texture = ExtResource("1_gp4sx") | ||||
| uv1_scale = Vector3(16, 8, 8) | ||||
| texture_filter = 4 | ||||
| @ -1,31 +0,0 @@ | ||||
| [gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://dcfr31mu17yat"] | ||||
| 
 | ||||
| [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="1_sxfaq"] | ||||
| [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="2_3g5s1"] | ||||
| 
 | ||||
| [sub_resource type="FastNoiseLite" id="FastNoiseLite_mgjj0"] | ||||
| fractal_type = 2 | ||||
| 
 | ||||
| [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0xqld"] | ||||
| in_3d_space = true | ||||
| seamless = true | ||||
| noise = SubResource("FastNoiseLite_mgjj0") | ||||
| 
 | ||||
| [resource] | ||||
| render_priority = 0 | ||||
| shader = ExtResource("1_sxfaq") | ||||
| shader_parameter/albedo = Color(0.427451, 0.917647, 1, 1) | ||||
| shader_parameter/scroll_speed1 = Vector2(0.04, 0) | ||||
| shader_parameter/scroll_speed2 = Vector2(-0.02, 0) | ||||
| shader_parameter/blend_factor = 0.5 | ||||
| shader_parameter/scale1 = Vector2(10, 10) | ||||
| shader_parameter/scale2 = Vector2(30, 30) | ||||
| shader_parameter/wave_strength = 0.4 | ||||
| shader_parameter/wave_scale = 0.02 | ||||
| shader_parameter/pixelation_level = 128 | ||||
| shader_parameter/FoamSize = 1.0 | ||||
| shader_parameter/WaterOpacity = 0.9 | ||||
| shader_parameter/FoamGlowIntensity = 0.6 | ||||
| shader_parameter/water_texture1 = ExtResource("2_3g5s1") | ||||
| shader_parameter/water_texture2 = ExtResource("2_3g5s1") | ||||
| shader_parameter/noise_texture = SubResource("NoiseTexture2D_0xqld") | ||||
| @ -1,9 +0,0 @@ | ||||
| [gd_resource type="Resource" script_class="Level" load_steps=3 format=3 uid="uid://cfsy1nlfo4inx"] | ||||
| 
 | ||||
| [ext_resource type="PackedScene" uid="uid://x2bqqlrnno28" path="res://levels/oneill/oneill.tscn" id="1_431yv"] | ||||
| [ext_resource type="Script" path="res://src/world/level/level.gd" id="2_fnj1e"] | ||||
| 
 | ||||
| [resource] | ||||
| script = ExtResource("2_fnj1e") | ||||
| scene = ExtResource("1_431yv") | ||||
| level_name = "MAP_ONEILL" | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -12,7 +12,6 @@ config_version=5 | ||||
| 
 | ||||
| config/name="GFOLF 2" | ||||
| config/description="GFOLF: Combat Golf Action" | ||||
| config/version="0.0.0" | ||||
| run/main_scene="res://src/game/game.tscn" | ||||
| config/project_settings_override="user://settings.godot" | ||||
| config/features=PackedStringArray("4.3", "Forward Plus") | ||||
|  | ||||
| @ -6,4 +6,4 @@ | ||||
| [resource] | ||||
| script = ExtResource("2_rx8x8") | ||||
| controller_scene = ExtResource("1_m8n4f") | ||||
| name = "CHARACTER_DEBUG" | ||||
| name = "Debug Girl" | ||||
|  | ||||
| @ -1,8 +1,9 @@ | ||||
| [gd_scene load_steps=22 format=3 uid="uid://dfttci386ohip"] | ||||
| [gd_scene load_steps=24 format=3 uid="uid://dfttci386ohip"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/equipment/balls/physics_ball/game_ball.gd" id="1_iwh2u"] | ||||
| [ext_resource type="PhysicsMaterial" uid="uid://3bih72l068ic" path="res://src/equipment/balls/physics_ball/normal_physics.tres" id="1_l23pw"] | ||||
| [ext_resource type="Material" uid="uid://dpsmjlhjpc7vs" path="res://assets/materials/basic_ball_material.tres" id="3_rc7m1"] | ||||
| [ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="1_y3q5j"] | ||||
| [ext_resource type="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="2_mx7l6"] | ||||
| [ext_resource type="Script" path="res://src/equipment/balls/physics_ball/ball_sfx.gd" id="5_bhshl"] | ||||
| [ext_resource type="AudioStream" uid="uid://cayyndwmxua5x" path="res://assets/sound/sfx/ball/grass2.wav" id="7_l22cv"] | ||||
| [ext_resource type="AudioStream" uid="uid://orisjdcj3mes" path="res://assets/sound/sfx/ball/concrete3.wav" id="7_t2ak2"] | ||||
| @ -13,8 +14,20 @@ | ||||
| [ext_resource type="Script" path="res://src/equipment/balls/physics_ball/ball_particle_effects.gd" id="12_7krl6"] | ||||
| [ext_resource type="Texture2D" uid="uid://c47bkx508biqr" path="res://assets/sprites/particles/plasma.png" id="12_guipt"] | ||||
| 
 | ||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_s3hrj"] | ||||
| albedo_texture = ExtResource("1_y3q5j") | ||||
| albedo_texture_force_srgb = true | ||||
| metallic = 0.27 | ||||
| roughness = 0.67 | ||||
| normal_enabled = true | ||||
| normal_scale = 0.2 | ||||
| normal_texture = ExtResource("2_mx7l6") | ||||
| clearcoat_roughness = 0.0 | ||||
| uv1_scale = Vector3(3, 1.5, 3) | ||||
| texture_filter = 4 | ||||
| 
 | ||||
| [sub_resource type="SphereMesh" id="SphereMesh_y0d13"] | ||||
| material = ExtResource("3_rc7m1") | ||||
| material = SubResource("StandardMaterial3D_s3hrj") | ||||
| radius = 0.05 | ||||
| height = 0.1 | ||||
| radial_segments = 6 | ||||
| @ -142,6 +155,7 @@ shape = SubResource("SphereShape3D_0hvq6") | ||||
| 
 | ||||
| [node name="DebugDraw" type="Control" parent="."] | ||||
| unique_name_in_owner = true | ||||
| visible = false | ||||
| layout_mode = 3 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
|  | ||||
| @ -6,7 +6,6 @@ class_name Game extends Node | ||||
| var _loading_resources := {} | ||||
| 
 | ||||
| @onready var viewport: GameViewportContainer = %ViewportContainer | ||||
| @onready var sfx: GameSFX = %SFX | ||||
| 
 | ||||
| @onready var content: Node = %Content | ||||
| @onready var loader_transition: AnimationPlayer = %LoaderTransition | ||||
| @ -58,26 +57,28 @@ func _ready() -> void: | ||||
| ## | ||||
| ## The loading screen will be shown until the scene is loaded. | ||||
| func queue_scene(path: String) -> Promise: | ||||
| 	return queue_load(path, ScenePromise.new(), "PackedScene").finally(_finish_scene_load) | ||||
| 	if not loading_screen.visible: | ||||
| 		loading_screen.show() | ||||
| 		loading_screen.modulate = Color.WHITE | ||||
| 
 | ||||
| 	for child: Node in content.get_children(): | ||||
| 		child.queue_free() | ||||
| 
 | ||||
| 	return queue_load(path, ScenePromise.new()).finally(_finish_scene_load) | ||||
| 
 | ||||
| 
 | ||||
| ## Queue a resource to be loaded in the background. | ||||
| ## | ||||
| ## Returns a `Promise` which can be used to attach callbacks | ||||
| ## which will be called with the resource after it is loaded. | ||||
| func queue_load(path: String, promise: Promise = null, type_hint: String = "") -> Promise: | ||||
| func queue_load(path: String, promise: Promise = null) -> Promise: | ||||
| 	if not promise: | ||||
| 		promise = Promise.new() | ||||
| 	_loading_resources[path] = promise | ||||
| 	ResourceLoader.load_threaded_request(path, type_hint) | ||||
| 	ResourceLoader.load_threaded_request(path) | ||||
| 	return promise | ||||
| 
 | ||||
| 
 | ||||
| func _unload_content() -> void: | ||||
| 	for child: Node in content.get_children(): | ||||
| 		child.queue_free() | ||||
| 
 | ||||
| 
 | ||||
| func _finish_scene_load(instance: Node) -> void: | ||||
| 	content.add_child(instance) | ||||
| 	instance.reparent(content) | ||||
| @ -87,9 +88,6 @@ func _process(_delta: float) -> void: | ||||
| 	if _loading_resources and not loading_screen.visible: | ||||
| 		loader_transition.play("fade_in") | ||||
| 
 | ||||
| 	if loader_transition.is_playing(): | ||||
| 		return | ||||
| 
 | ||||
| 	for key: String in _loading_resources.keys(): | ||||
| 		match ResourceLoader.load_threaded_get_status(key): | ||||
| 			ResourceLoader.THREAD_LOAD_LOADED: | ||||
|  | ||||
| @ -1,13 +1,10 @@ | ||||
| [gd_scene load_steps=13 format=3 uid="uid://cefit4bc8akbb"] | ||||
| [gd_scene load_steps=10 format=3 uid="uid://cefit4bc8akbb"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/game/game.gd" id="1_4qa87"] | ||||
| [ext_resource type="FontFile" uid="uid://dsa0oh7c0h4pu" path="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf" id="2_y3adf"] | ||||
| [ext_resource type="Script" path="res://src/ui/decorations/rumbler.gd" id="3_3vfdb"] | ||||
| [ext_resource type="Script" path="res://src/ui/game_viewport_container.gd" id="3_rmm5i"] | ||||
| [ext_resource type="Script" path="res://src/game/game_viewport.gd" id="5_v2qv5"] | ||||
| [ext_resource type="Script" path="res://src/util/debug_version_info.gd" id="6_42bd1"] | ||||
| [ext_resource type="Script" path="res://src/game/sfx.gd" id="7_xpf8p"] | ||||
| [ext_resource type="AudioStream" uid="uid://8uynlpios7u1" path="res://assets/sound/sfx/ui/ecofuture2.wav" id="8_ab8py"] | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_c3dlb"] | ||||
| length = 0.001 | ||||
| @ -38,7 +35,7 @@ tracks/1/keys = { | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_2c1ud"] | ||||
| resource_name = "fade_in" | ||||
| length = 0.2 | ||||
| length = 0.4 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| @ -58,25 +55,11 @@ tracks/1/path = NodePath(".:modulate") | ||||
| tracks/1/interp = 2 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(0, 0.2), | ||||
| "times": PackedFloat32Array(0, 0.4), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] | ||||
| } | ||||
| tracks/2/type = "method" | ||||
| tracks/2/imported = false | ||||
| tracks/2/enabled = true | ||||
| tracks/2/path = NodePath("%RootControl/..") | ||||
| tracks/2/interp = 1 | ||||
| tracks/2/loop_wrap = true | ||||
| tracks/2/keys = { | ||||
| "times": PackedFloat32Array(0.2), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "values": [{ | ||||
| "args": [], | ||||
| "method": &"_unload_content" | ||||
| }] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_xbqy2"] | ||||
| resource_name = "fade_out" | ||||
| @ -116,7 +99,6 @@ _data = { | ||||
| [node name="Game" type="Node" groups=["GameGroup"]] | ||||
| process_mode = 3 | ||||
| script = ExtResource("1_4qa87") | ||||
| start_scene = "res://src/world/world.tscn" | ||||
| 
 | ||||
| [node name="RootControl" type="Control" parent="."] | ||||
| unique_name_in_owner = true | ||||
| @ -129,7 +111,6 @@ grow_vertical = 2 | ||||
| 
 | ||||
| [node name="LoadingScreen" type="Control" parent="RootControl"] | ||||
| unique_name_in_owner = true | ||||
| process_mode = 3 | ||||
| z_index = 128 | ||||
| layout_mode = 1 | ||||
| anchors_preset = 15 | ||||
| @ -180,47 +161,6 @@ libraries = { | ||||
| "": SubResource("AnimationLibrary_1s0w0") | ||||
| } | ||||
| 
 | ||||
| [node name="DebugOverlay" type="Control" parent="RootControl"] | ||||
| z_index = 129 | ||||
| layout_mode = 1 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| mouse_filter = 2 | ||||
| 
 | ||||
| [node name="MarginContainer" type="MarginContainer" parent="RootControl/DebugOverlay"] | ||||
| layout_mode = 1 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| mouse_filter = 2 | ||||
| theme_override_constants/margin_left = 16 | ||||
| theme_override_constants/margin_top = 16 | ||||
| theme_override_constants/margin_right = 16 | ||||
| theme_override_constants/margin_bottom = 16 | ||||
| 
 | ||||
| [node name="BuildInfo" type="HBoxContainer" parent="RootControl/DebugOverlay/MarginContainer"] | ||||
| modulate = Color(1, 1, 1, 0.392157) | ||||
| layout_mode = 2 | ||||
| size_flags_horizontal = 0 | ||||
| size_flags_vertical = 0 | ||||
| 
 | ||||
| [node name="Label" type="Label" parent="RootControl/DebugOverlay/MarginContainer/BuildInfo"] | ||||
| layout_mode = 2 | ||||
| theme_type_variation = &"DebugText" | ||||
| text = "PREVIEW BUILD -" | ||||
| 
 | ||||
| [node name="DebugVersionInfo" type="Label" parent="RootControl/DebugOverlay/MarginContainer/BuildInfo"] | ||||
| unique_name_in_owner = true | ||||
| layout_mode = 2 | ||||
| theme_type_variation = &"DebugText" | ||||
| text = "0.0.0" | ||||
| script = ExtResource("6_42bd1") | ||||
| 
 | ||||
| [node name="Rumbler" type="Control" parent="RootControl"] | ||||
| unique_name_in_owner = true | ||||
| layout_mode = 1 | ||||
| @ -256,12 +196,3 @@ script = ExtResource("5_v2qv5") | ||||
| [node name="Content" type="Node" parent="RootControl/Rumbler/ViewportContainer/Viewport"] | ||||
| unique_name_in_owner = true | ||||
| process_mode = 1 | ||||
| 
 | ||||
| [node name="SFX" type="Node" parent="."] | ||||
| unique_name_in_owner = true | ||||
| script = ExtResource("7_xpf8p") | ||||
| 
 | ||||
| [node name="Chime" type="AudioStreamPlayer" parent="SFX"] | ||||
| unique_name_in_owner = true | ||||
| stream = ExtResource("8_ab8py") | ||||
| bus = &"SFX" | ||||
|  | ||||
| @ -1,8 +1,6 @@ | ||||
| class_name GameSettingsType extends Node | ||||
| ## Container for project settings, for quick runtime access. | ||||
| 
 | ||||
| var version: String | ||||
| 
 | ||||
| var settings_file: String | ||||
| var audio_bus_file: String | ||||
| 
 | ||||
| @ -29,8 +27,6 @@ func _init() -> void: | ||||
| 
 | ||||
| 
 | ||||
| func _read_settings() -> void: | ||||
| 	version = ProjectSettings.get_setting("application/config/version") | ||||
| 
 | ||||
| 	settings_file = ProjectSettings.get_setting("application/config/project_settings_override") | ||||
| 	audio_bus_file = ProjectSettings.get_setting("game/audio/buses/override_bus_layout") | ||||
| 
 | ||||
|  | ||||
| @ -1,4 +0,0 @@ | ||||
| class_name GameSFX extends Node | ||||
| ## Container & accessor for game-global SFX | ||||
| 
 | ||||
| @onready var chime: AudioStreamPlayer = %Chime | ||||
| @ -9,8 +9,6 @@ extends RichTextEffect | ||||
| 
 | ||||
| signal typing | ||||
| 
 | ||||
| const EDITOR_DEFAULT_SPEED = 20.0 | ||||
| 
 | ||||
| @export var scale_curve: Curve | ||||
| @export var translation_curve: CurveXYZTexture | ||||
| 
 | ||||
| @ -26,54 +24,47 @@ var bbcode: String = "type" | ||||
| var _force_visible := false | ||||
| 
 | ||||
| 
 | ||||
| func _init(force_visible_signal: Variant = null) -> void: | ||||
| 	if force_visible_signal is Signal: | ||||
| 		(force_visible_signal as Signal).connect(_set_force_visible) | ||||
| 
 | ||||
| 
 | ||||
| func _get_default_speed() -> float: | ||||
| 	if Engine.is_editor_hint(): | ||||
| 		return EDITOR_DEFAULT_SPEED | ||||
| 	return Game.settings.default_text_speed | ||||
| func _init(force_visible_signal: Signal) -> void: | ||||
| 	if force_visible_signal: | ||||
| 		force_visible_signal.connect(_set_force_visible) | ||||
| 
 | ||||
| 
 | ||||
| func _process_custom_fx(char_fx: CharFXTransform) -> bool: | ||||
| 	if not _force_visible: | ||||
| 		var speed: float = char_fx.env.get("speed", _get_default_speed()) | ||||
| 		var speed: float = char_fx.env.get("speed", Game.settings.default_text_speed) | ||||
| 		var delay: float = char_fx.env.get("delay", 0.0) | ||||
| 		var factor: float = char_fx.env.get("factor", 1.0) | ||||
| 
 | ||||
| 		var server := TextServerManager.get_primary_interface() | ||||
| 		var glyph_size := server.font_get_glyph_size( | ||||
| 			char_fx.font, 0.5 * glyph_size_factor * Vector2i.ONE, char_fx.glyph_index | ||||
| 		) | ||||
| 		var pivot := glyph_size * Vector2(-1, 1) | ||||
| 
 | ||||
| 		var rel_time := (speed * (char_fx.elapsed_time - delay) - char_fx.relative_index) / factor | ||||
| 
 | ||||
| 		var scale := Vector2.ONE | ||||
| 		if scale_curve: | ||||
| 			scale *= scale_curve.sample_baked(rel_time) | ||||
| 
 | ||||
| 		var translation := Vector2.ZERO | ||||
| 		if translation_curve: | ||||
| 			if translation_curve.curve_x: | ||||
| 				translation.x = translation_curve.curve_x.sample_baked(rel_time) | ||||
| 			if translation_curve.curve_y: | ||||
| 				translation.y = translation_curve.curve_y.sample_baked(rel_time) | ||||
| 
 | ||||
| 		char_fx.transform = ( | ||||
| 			char_fx | ||||
| 			. transform | ||||
| 			. translated_local(-pivot) | ||||
| 			. scaled_local(scale) | ||||
| 			. translated_local(pivot) | ||||
| 			. translated_local(translation) | ||||
| 		) | ||||
| 
 | ||||
| 		char_fx.visible = rel_time > 0 | ||||
| 
 | ||||
| 		if scale_curve or translation_curve: | ||||
| 			var server := TextServerManager.get_primary_interface() | ||||
| 			var glyph_size := server.font_get_glyph_size( | ||||
| 				char_fx.font, 0.5 * glyph_size_factor * Vector2i.ONE, char_fx.glyph_index | ||||
| 			) | ||||
| 			var pivot := glyph_size * Vector2(-1, 1) | ||||
| 
 | ||||
| 			var scale := Vector2.ONE | ||||
| 			if scale_curve: | ||||
| 				scale *= scale_curve.sample_baked(rel_time) | ||||
| 
 | ||||
| 			var translation := Vector2.ZERO | ||||
| 			if translation_curve: | ||||
| 				if translation_curve.curve_x: | ||||
| 					translation.x = translation_curve.curve_x.sample_baked(rel_time) | ||||
| 				if translation_curve.curve_y: | ||||
| 					translation.y = translation_curve.curve_y.sample_baked(rel_time) | ||||
| 
 | ||||
| 			char_fx.transform = ( | ||||
| 				char_fx | ||||
| 				. transform | ||||
| 				. translated_local(-pivot) | ||||
| 				. scaled_local(scale) | ||||
| 				. translated_local(pivot) | ||||
| 				. translated_local(translation) | ||||
| 			) | ||||
| 
 | ||||
| 		if rel_time < 1: | ||||
| 			typing.emit() | ||||
| 
 | ||||
|  | ||||
| @ -35,8 +35,6 @@ func _ready() -> void: | ||||
| 	if text: | ||||
| 		_finished = false | ||||
| 
 | ||||
| 	visibility_changed.connect(restart) | ||||
| 
 | ||||
| 
 | ||||
| ## Is the typewriter effect finished? | ||||
| func is_finished() -> bool: | ||||
|  | ||||
| @ -1,14 +1,10 @@ | ||||
| [gd_resource type="Theme" load_steps=15 format=3 uid="uid://diodjft5u2cck"] | ||||
| [gd_resource type="Theme" load_steps=10 format=3 uid="uid://diodjft5u2cck"] | ||||
| 
 | ||||
| [ext_resource type="FontFile" uid="uid://dsa0oh7c0h4pu" path="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf" id="1_3rv2b"] | ||||
| [ext_resource type="FontFile" uid="uid://comihs66wounx" path="res://assets/fonts/Dokdo/Dokdo-Regular.ttf" id="1_eha6a"] | ||||
| [ext_resource type="FontFile" uid="uid://b6gxwgomstkgu" path="res://assets/fonts/Geo/Geo-Italic.ttf" id="2_5ty6u"] | ||||
| [ext_resource type="FontFile" uid="uid://dyog4ex5nqfat" path="res://assets/fonts/promptfont/promptfont.otf" id="2_8kux8"] | ||||
| [ext_resource type="FontFile" uid="uid://s4c1kf0rk2mb" path="res://assets/fonts/Geo/Geo-Regular.ttf" id="3_cee6l"] | ||||
| [ext_resource type="FontFile" uid="uid://dyx4wcq8wlpbh" path="res://assets/fonts/Orbitron/static/Orbitron-Black.ttf" id="5_7lyjk"] | ||||
| [ext_resource type="FontVariation" uid="uid://y3lcfr4ys8d3" path="res://assets/fonts/Orbitron/Orbitron_Bold_Italics.tres" id="6_r7l37"] | ||||
| [ext_resource type="FontVariation" uid="uid://cjisjunqauv68" path="res://assets/fonts/Orbitron/Orbitron_Italics.tres" id="7_0c31n"] | ||||
| [ext_resource type="FontFile" uid="uid://bmv0pofrw1wh0" path="res://assets/fonts/Orbitron/static/Orbitron-Regular.ttf" id="8_njdo1"] | ||||
| 
 | ||||
| [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5pkn5"] | ||||
| content_margin_left = 16.0 | ||||
| @ -45,10 +41,6 @@ corner_radius_bottom_right = 3 | ||||
| corner_radius_bottom_left = 3 | ||||
| corner_detail = 5 | ||||
| 
 | ||||
| [sub_resource type="SystemFont" id="SystemFont_3ttu2"] | ||||
| font_names = PackedStringArray("Monospace") | ||||
| generate_mipmaps = true | ||||
| 
 | ||||
| [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ynsl8"] | ||||
| content_margin_left = 36.0 | ||||
| content_margin_top = 8.0 | ||||
| @ -111,12 +103,6 @@ DeathScreenLabel/base_type = &"RichTextLabel" | ||||
| DeathScreenLabel/colors/default_color = Color(0.611765, 0.133333, 0.133333, 1) | ||||
| DeathScreenLabel/colors/font_outline_color = Color(0, 0, 0, 1) | ||||
| DeathScreenLabel/fonts/normal_font = ExtResource("1_eha6a") | ||||
| DebugText/base_type = &"Label" | ||||
| DebugText/colors/font_color = Color(1, 1, 1, 1) | ||||
| DebugText/colors/font_outline_color = Color(0, 0, 0, 1) | ||||
| DebugText/constants/outline_size = 4 | ||||
| DebugText/font_sizes/font_size = 12 | ||||
| DebugText/fonts/font = SubResource("SystemFont_3ttu2") | ||||
| HeaderLarge/constants/outline_size = 8 | ||||
| HeaderLarge/font_sizes/font_size = 28 | ||||
| HeaderMedium/constants/outline_size = 6 | ||||
| @ -183,16 +169,6 @@ ShotFeedback/constants/shadow_offset_x = 6 | ||||
| ShotFeedback/constants/shadow_offset_y = 4 | ||||
| ShotFeedback/font_sizes/normal_font_size = 272 | ||||
| ShotFeedback/fonts/normal_font = ExtResource("1_eha6a") | ||||
| TitleCrawlText/base_type = &"RichTextLabel" | ||||
| TitleCrawlText/font_sizes/bold_font_size = 32 | ||||
| TitleCrawlText/font_sizes/bold_italics_font_size = 32 | ||||
| TitleCrawlText/font_sizes/italics_font_size = 32 | ||||
| TitleCrawlText/font_sizes/mono_font_size = 32 | ||||
| TitleCrawlText/font_sizes/normal_font_size = 32 | ||||
| TitleCrawlText/fonts/bold_font = ExtResource("5_7lyjk") | ||||
| TitleCrawlText/fonts/bold_italics_font = ExtResource("6_r7l37") | ||||
| TitleCrawlText/fonts/italics_font = ExtResource("7_0c31n") | ||||
| TitleCrawlText/fonts/normal_font = ExtResource("8_njdo1") | ||||
| TitleScreenMenuLabel/base_type = &"Label" | ||||
| TitleScreenMenuLabel/colors/font_outline_color = Color(0, 0, 0, 1) | ||||
| TitleScreenMenuLabel/constants/outline_size = 6 | ||||
|  | ||||
| @ -24,10 +24,6 @@ const MIN_PLAYERS := 2 | ||||
| @onready var game: Game = get_tree().get_first_node_in_group(Game.group) | ||||
| 
 | ||||
| 
 | ||||
| func play_chime() -> void: | ||||
| 	game.sfx.chime.play() | ||||
| 
 | ||||
| 
 | ||||
| func _ready() -> void: | ||||
| 	# Populate map selection | ||||
| 	for level: Level in Level.catalog.levels: | ||||
| @ -49,11 +45,9 @@ func cancel() -> void: | ||||
| ## Start with the current game configuration. | ||||
| func start() -> void: | ||||
| 	var player_list := players() | ||||
| 	var level := selected_level() | ||||
| 	var init_world := func(world: World) -> void: | ||||
| 		world.manager = RoundRobinManager.new() | ||||
| 		world.manager.players = player_list | ||||
| 		world.initial_level = level.scene | ||||
| 	game.queue_scene(WORLD_SCENE_PATH).then(init_world) | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| [gd_scene load_steps=10 format=3 uid="uid://ccx2u5oli6men"] | ||||
| [gd_scene load_steps=7 format=3 uid="uid://ccx2u5oli6men"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/ui/menus/title_screen/deathmatch_setup/deathmatch_setup.gd" id="1_bchix"] | ||||
| [ext_resource type="PackedScene" uid="uid://cr13d4p235b5y" path="res://src/ui/menus/title_screen/deathmatch_setup/player_setup/player_setup.tscn" id="2_on4ab"] | ||||
| @ -66,84 +66,6 @@ _data = { | ||||
| "rotate": SubResource("Animation_c3p73") | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_560ro"] | ||||
| resource_name = "fade_out" | ||||
| length = 0.6 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:modulate") | ||||
| tracks/0/interp = 2 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2, 0.266667, 0.333333, 0.4, 0.466667, 0.533333, 0.6), | ||||
| "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 0.5), Color(1, 1, 1, 0), Color(1, 1, 1, 0.25), Color(1, 1, 1, 0), Color(1, 1, 1, 0.125), Color(1, 1, 1, 0)] | ||||
| } | ||||
| tracks/1/type = "method" | ||||
| tracks/1/imported = false | ||||
| tracks/1/enabled = true | ||||
| tracks/1/path = NodePath("../../..") | ||||
| tracks/1/interp = 1 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(0, 0.6), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "values": [{ | ||||
| "args": [], | ||||
| "method": &"play_chime" | ||||
| }, { | ||||
| "args": [], | ||||
| "method": &"start" | ||||
| }] | ||||
| } | ||||
| tracks/2/type = "value" | ||||
| tracks/2/imported = false | ||||
| tracks/2/enabled = true | ||||
| tracks/2/path = NodePath(".:disabled") | ||||
| tracks/2/interp = 1 | ||||
| tracks/2/loop_wrap = true | ||||
| tracks/2/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [true] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_x4wqc"] | ||||
| length = 0.001 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:disabled") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [false] | ||||
| } | ||||
| tracks/1/type = "value" | ||||
| tracks/1/imported = false | ||||
| tracks/1/enabled = true | ||||
| tracks/1/path = NodePath(".:modulate") | ||||
| tracks/1/interp = 2 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 1)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_s1eyj"] | ||||
| _data = { | ||||
| "RESET": SubResource("Animation_x4wqc"), | ||||
| "fade_out": SubResource("Animation_560ro") | ||||
| } | ||||
| 
 | ||||
| [node name="DeathmatchSetup" type="PanelContainer"] | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| @ -336,12 +258,7 @@ layout_mode = 2 | ||||
| theme_type_variation = &"AlertButton" | ||||
| text = "UI_START" | ||||
| 
 | ||||
| [node name="AnimationPlayer" type="AnimationPlayer" parent="SouthEast/HBoxContainer/Start"] | ||||
| libraries = { | ||||
| "": SubResource("AnimationLibrary_s1eyj") | ||||
| } | ||||
| 
 | ||||
| [connection signal="item_selected" from="MarginContainer/VBoxContainer/MapSelectContainer/MarginContainer/VBoxContainer/MapSelect" to="." method="check_start_conditions" unbinds=1] | ||||
| [connection signal="pressed" from="MarginContainer/VBoxContainer/PlayersContainer/MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/HBoxContainer/AddPlayerButton" to="." method="_on_add_player_button_pressed"] | ||||
| [connection signal="pressed" from="SouthEast/HBoxContainer/Cancel" to="." method="cancel"] | ||||
| [connection signal="pressed" from="SouthEast/HBoxContainer/Start" to="SouthEast/HBoxContainer/Start/AnimationPlayer" method="play" binds= ["fade_out"]] | ||||
| [connection signal="pressed" from="SouthEast/HBoxContainer/Start" to="." method="start"] | ||||
|  | ||||
| @ -82,7 +82,6 @@ func _set_selected_character_index(value: int) -> void: | ||||
| 
 | ||||
| 	character_container.add_child(character_controller) | ||||
| 	character_controller.set_color(player_color) | ||||
| 	char_name.text = get_selected_character().name | ||||
| 
 | ||||
| 
 | ||||
| func get_selected_character() -> Character: | ||||
|  | ||||
| @ -1,18 +0,0 @@ | ||||
| extends Control | ||||
| 
 | ||||
| @onready var animation_player: AnimationPlayer = $AnimationPlayer | ||||
| 
 | ||||
| 
 | ||||
| func _input(event: InputEvent) -> void: | ||||
| 	if ( | ||||
| 		event is InputEventKey | ||||
| 		or event is InputEventMouseButton | ||||
| 		or event is InputEventJoypadButton | ||||
| 		or event is InputEventScreenTouch | ||||
| 	): | ||||
| 		get_viewport().set_input_as_handled() | ||||
| 		fade_out() | ||||
| 
 | ||||
| 
 | ||||
| func fade_out() -> void: | ||||
| 	animation_player.play("fade_out") | ||||
| @ -1,416 +0,0 @@ | ||||
| [gd_scene load_steps=7 format=3 uid="uid://cqu315hviu72n"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/ui/decorations/text_effects/typewriter/typewriter_label.gd" id="1_i0kuc"] | ||||
| [ext_resource type="Script" path="res://src/ui/menus/title_screen/title_crawl.gd" id="1_wsvjl"] | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_dmc3y"] | ||||
| length = 0.001 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:modulate") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 1)] | ||||
| } | ||||
| tracks/1/type = "value" | ||||
| tracks/1/imported = false | ||||
| tracks/1/enabled = true | ||||
| tracks/1/path = NodePath("TitleQuote:visible") | ||||
| tracks/1/interp = 1 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [true] | ||||
| } | ||||
| tracks/2/type = "value" | ||||
| tracks/2/imported = false | ||||
| tracks/2/enabled = true | ||||
| tracks/2/path = NodePath("TitleQuote:modulate") | ||||
| tracks/2/interp = 1 | ||||
| tracks/2/loop_wrap = true | ||||
| tracks/2/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 1)] | ||||
| } | ||||
| tracks/3/type = "value" | ||||
| tracks/3/imported = false | ||||
| tracks/3/enabled = true | ||||
| tracks/3/path = NodePath("VBoxContainer/TitleCrawl1:visible") | ||||
| tracks/3/interp = 1 | ||||
| tracks/3/loop_wrap = true | ||||
| tracks/3/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [false] | ||||
| } | ||||
| tracks/4/type = "value" | ||||
| tracks/4/imported = false | ||||
| tracks/4/enabled = true | ||||
| tracks/4/path = NodePath("VBoxContainer/TitleCrawl2:visible") | ||||
| tracks/4/interp = 1 | ||||
| tracks/4/loop_wrap = true | ||||
| tracks/4/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [false] | ||||
| } | ||||
| tracks/5/type = "value" | ||||
| tracks/5/imported = false | ||||
| tracks/5/enabled = true | ||||
| tracks/5/path = NodePath("VBoxContainer/TitleCrawl3:visible") | ||||
| tracks/5/interp = 1 | ||||
| tracks/5/loop_wrap = true | ||||
| tracks/5/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [false] | ||||
| } | ||||
| tracks/6/type = "value" | ||||
| tracks/6/imported = false | ||||
| tracks/6/enabled = true | ||||
| tracks/6/path = NodePath("VBoxContainer/TitleCrawl4:visible") | ||||
| tracks/6/interp = 1 | ||||
| tracks/6/loop_wrap = true | ||||
| tracks/6/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [false] | ||||
| } | ||||
| tracks/7/type = "value" | ||||
| tracks/7/imported = false | ||||
| tracks/7/enabled = true | ||||
| tracks/7/path = NodePath("VBoxContainer/TitleCrawl5:visible") | ||||
| tracks/7/interp = 1 | ||||
| tracks/7/loop_wrap = true | ||||
| tracks/7/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [false] | ||||
| } | ||||
| tracks/8/type = "value" | ||||
| tracks/8/imported = false | ||||
| tracks/8/enabled = true | ||||
| tracks/8/path = NodePath("Blackout:color") | ||||
| tracks/8/interp = 1 | ||||
| tracks/8/loop_wrap = true | ||||
| tracks/8/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Color(0, 0, 0, 0)] | ||||
| } | ||||
| tracks/9/type = "value" | ||||
| tracks/9/imported = false | ||||
| tracks/9/enabled = true | ||||
| tracks/9/path = NodePath("VBoxContainer:offset_top") | ||||
| tracks/9/interp = 1 | ||||
| tracks/9/loop_wrap = true | ||||
| tracks/9/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [0.0] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_hkogt"] | ||||
| resource_name = "fade_out" | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:modulate") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0, 1), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] | ||||
| } | ||||
| tracks/1/type = "method" | ||||
| tracks/1/imported = false | ||||
| tracks/1/enabled = true | ||||
| tracks/1/path = NodePath(".") | ||||
| tracks/1/interp = 1 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(1), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "values": [{ | ||||
| "args": [], | ||||
| "method": &"queue_free" | ||||
| }] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_hrox7"] | ||||
| resource_name = "play" | ||||
| length = 55.0 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:modulate") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0, 2), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] | ||||
| } | ||||
| tracks/1/type = "value" | ||||
| tracks/1/imported = false | ||||
| tracks/1/enabled = true | ||||
| tracks/1/path = NodePath("TitleQuote:visible") | ||||
| tracks/1/interp = 1 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(0, 3), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "update": 1, | ||||
| "values": [false, true] | ||||
| } | ||||
| tracks/2/type = "value" | ||||
| tracks/2/imported = false | ||||
| tracks/2/enabled = true | ||||
| tracks/2/path = NodePath("TitleQuote:modulate") | ||||
| tracks/2/interp = 1 | ||||
| tracks/2/loop_wrap = true | ||||
| tracks/2/keys = { | ||||
| "times": PackedFloat32Array(0, 11, 13), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 0, | ||||
| "values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] | ||||
| } | ||||
| tracks/3/type = "value" | ||||
| tracks/3/imported = false | ||||
| tracks/3/enabled = true | ||||
| tracks/3/path = NodePath("VBoxContainer/TitleCrawl1:visible") | ||||
| tracks/3/interp = 1 | ||||
| tracks/3/loop_wrap = true | ||||
| tracks/3/keys = { | ||||
| "times": PackedFloat32Array(0, 14, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 1, | ||||
| "values": [false, true, false] | ||||
| } | ||||
| tracks/4/type = "value" | ||||
| tracks/4/imported = false | ||||
| tracks/4/enabled = true | ||||
| tracks/4/path = NodePath("VBoxContainer/TitleCrawl2:visible") | ||||
| tracks/4/interp = 1 | ||||
| tracks/4/loop_wrap = true | ||||
| tracks/4/keys = { | ||||
| "times": PackedFloat32Array(0, 16.4, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 1, | ||||
| "values": [false, true, false] | ||||
| } | ||||
| tracks/5/type = "value" | ||||
| tracks/5/imported = false | ||||
| tracks/5/enabled = true | ||||
| tracks/5/path = NodePath("VBoxContainer/TitleCrawl3:visible") | ||||
| tracks/5/interp = 1 | ||||
| tracks/5/loop_wrap = true | ||||
| tracks/5/keys = { | ||||
| "times": PackedFloat32Array(0, 31, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 1, | ||||
| "values": [false, true, false] | ||||
| } | ||||
| tracks/6/type = "value" | ||||
| tracks/6/imported = false | ||||
| tracks/6/enabled = true | ||||
| tracks/6/path = NodePath("VBoxContainer/TitleCrawl4:visible") | ||||
| tracks/6/interp = 1 | ||||
| tracks/6/loop_wrap = true | ||||
| tracks/6/keys = { | ||||
| "times": PackedFloat32Array(0, 39, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 1, | ||||
| "values": [false, true, false] | ||||
| } | ||||
| tracks/7/type = "value" | ||||
| tracks/7/imported = false | ||||
| tracks/7/enabled = true | ||||
| tracks/7/path = NodePath("VBoxContainer/TitleCrawl5:visible") | ||||
| tracks/7/interp = 1 | ||||
| tracks/7/loop_wrap = true | ||||
| tracks/7/keys = { | ||||
| "times": PackedFloat32Array(0, 45, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 1, | ||||
| "values": [false, true, false] | ||||
| } | ||||
| tracks/8/type = "value" | ||||
| tracks/8/imported = false | ||||
| tracks/8/enabled = true | ||||
| tracks/8/path = NodePath("Blackout:color") | ||||
| tracks/8/interp = 1 | ||||
| tracks/8/loop_wrap = true | ||||
| tracks/8/keys = { | ||||
| "times": PackedFloat32Array(0, 52, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 0, | ||||
| "values": [Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 1)] | ||||
| } | ||||
| tracks/9/type = "value" | ||||
| tracks/9/imported = false | ||||
| tracks/9/enabled = true | ||||
| tracks/9/path = NodePath("VBoxContainer:offset_top") | ||||
| tracks/9/interp = 1 | ||||
| tracks/9/loop_wrap = true | ||||
| tracks/9/keys = { | ||||
| "times": PackedFloat32Array(0, 16, 55), | ||||
| "transitions": PackedFloat32Array(1, 1, 1), | ||||
| "update": 0, | ||||
| "values": [0.0, 0.0, -700] | ||||
| } | ||||
| tracks/10/type = "method" | ||||
| tracks/10/imported = false | ||||
| tracks/10/enabled = true | ||||
| tracks/10/path = NodePath(".") | ||||
| tracks/10/interp = 1 | ||||
| tracks/10/loop_wrap = true | ||||
| tracks/10/keys = { | ||||
| "times": PackedFloat32Array(55), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "values": [{ | ||||
| "args": [], | ||||
| "method": &"fade_out" | ||||
| }] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_1o035"] | ||||
| _data = { | ||||
| "RESET": SubResource("Animation_dmc3y"), | ||||
| "fade_out": SubResource("Animation_hkogt"), | ||||
| "play": SubResource("Animation_hrox7") | ||||
| } | ||||
| 
 | ||||
| [node name="TitleCrawl" type="Control"] | ||||
| layout_mode = 3 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| script = ExtResource("1_wsvjl") | ||||
| 
 | ||||
| [node name="BackgroundColor" type="ColorRect" parent="."] | ||||
| layout_mode = 1 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| color = Color(0, 0, 0, 1) | ||||
| 
 | ||||
| [node name="TitleQuote" type="RichTextLabel" parent="."] | ||||
| layout_mode = 1 | ||||
| anchors_preset = 8 | ||||
| anchor_left = 0.5 | ||||
| anchor_top = 0.5 | ||||
| anchor_right = 0.5 | ||||
| anchor_bottom = 0.5 | ||||
| offset_left = -555.5 | ||||
| offset_top = -45.0 | ||||
| offset_right = 555.5 | ||||
| offset_bottom = 45.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| theme_type_variation = &"TitleCrawlText" | ||||
| bbcode_enabled = true | ||||
| text = "[center][i][type speed=20]\"If [b]GFOLF[/b] did not exist,[/type] [type speed=20 delay=2]it would be necessary to create it.\"[/type][/i][/center] | ||||
| [right][type speed=40 delay=6]— Voltaire[/type][/right]" | ||||
| script = ExtResource("1_i0kuc") | ||||
| 
 | ||||
| [node name="VBoxContainer" type="VBoxContainer" parent="."] | ||||
| custom_minimum_size = Vector2(1111, 0) | ||||
| layout_mode = 1 | ||||
| anchors_preset = -1 | ||||
| anchor_left = 0.5 | ||||
| anchor_top = 0.5 | ||||
| anchor_right = 0.5 | ||||
| anchor_bottom = 0.5 | ||||
| offset_left = -400.0 | ||||
| offset_right = 400.0 | ||||
| offset_bottom = 70.0 | ||||
| grow_horizontal = 2 | ||||
| theme_override_constants/separation = 32 | ||||
| 
 | ||||
| [node name="TitleCrawl1" type="RichTextLabel" parent="VBoxContainer"] | ||||
| visible = false | ||||
| layout_mode = 2 | ||||
| theme_type_variation = &"TitleCrawlText" | ||||
| bbcode_enabled = true | ||||
| text = "[center][type speed=16]The year is 1999[/type][type speed=20 delay=1.3]024 CE.[/type][/center]" | ||||
| fit_content = true | ||||
| script = ExtResource("1_i0kuc") | ||||
| 
 | ||||
| [node name="TitleCrawl2" type="RichTextLabel" parent="VBoxContainer"] | ||||
| visible = false | ||||
| layout_mode = 2 | ||||
| theme_type_variation = &"TitleCrawlText" | ||||
| bbcode_enabled = true | ||||
| text = "[center][type speed=20]The avarice of [b]MAN[/b] in an age long past caused the seas to consume the earth.[/type] [type speed=20 delay=4.3]Now, the [b]INFORMATION SOCIETY[/b] controls the full wealth of the entire world, ruling from their secret compound on [b]GFOLFZONE EVEREST-ONE[/b], the only habitable land left on the planet's surface.[/type][/center]" | ||||
| fit_content = true | ||||
| script = ExtResource("1_i0kuc") | ||||
| 
 | ||||
| [node name="TitleCrawl3" type="RichTextLabel" parent="VBoxContainer"] | ||||
| visible = false | ||||
| layout_mode = 2 | ||||
| theme_type_variation = &"TitleCrawlText" | ||||
| bbcode_enabled = true | ||||
| text = "[center][type speed=20]In the future,[/type] [type speed=20 delay=1.1] there is no [b]LAW[/b] but the [b]LAW of the BALL[/b], and the warrior-poets known as [b]GFOLFers[/b] enforce their [b]LAW[/b] with a [b]FIVE-IRON FIST.[/b][/type][/center]" | ||||
| fit_content = true | ||||
| script = ExtResource("1_i0kuc") | ||||
| 
 | ||||
| [node name="TitleCrawl4" type="RichTextLabel" parent="VBoxContainer"] | ||||
| visible = false | ||||
| layout_mode = 2 | ||||
| theme_type_variation = &"TitleCrawlText" | ||||
| bbcode_enabled = true | ||||
| text = "[center][type speed=20]It is a future you feared,[/type] [type speed=20, delay=1.7]but a future you've chosen.[/type][/center]" | ||||
| fit_content = true | ||||
| script = ExtResource("1_i0kuc") | ||||
| 
 | ||||
| [node name="Spacer" type="Control" parent="VBoxContainer"] | ||||
| layout_mode = 2 | ||||
| 
 | ||||
| [node name="TitleCrawl5" type="RichTextLabel" parent="VBoxContainer"] | ||||
| visible = false | ||||
| layout_mode = 2 | ||||
| size_flags_vertical = 10 | ||||
| theme_type_variation = &"TitleCrawlText" | ||||
| bbcode_enabled = true | ||||
| text = "[center][i][type speed=16]IN THE FUTURE[/type][type speed=16 delay=1.0].[/type][type speed=16 delay=1.2].[/type][type speed=16 delay=1.4].[/type] [type speed=16 delay=2.4]THERE IS ONLY[/type] [b][type speed=16 delay=3.6]GFOLF.[/type][/b][/i][/center]" | ||||
| fit_content = true | ||||
| script = ExtResource("1_i0kuc") | ||||
| 
 | ||||
| [node name="AnimationPlayer" type="AnimationPlayer" parent="."] | ||||
| libraries = { | ||||
| "": SubResource("AnimationLibrary_1o035") | ||||
| } | ||||
| autoplay = "play" | ||||
| 
 | ||||
| [node name="Blackout" type="ColorRect" parent="."] | ||||
| layout_mode = 1 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| color = Color(0, 0, 0, 0) | ||||
| @ -2,31 +2,21 @@ class_name TitleScreen extends Control | ||||
| 
 | ||||
| const SCENE := "res://src/ui/menus/title_screen/title_screen.tscn" | ||||
| 
 | ||||
| @export var title_crawl_scene: PackedScene | ||||
| @export var settings_scene: PackedScene | ||||
| @export var local_deathmatch_setup_scene: PackedScene | ||||
| 
 | ||||
| @onready var menu: Control = %Menu | ||||
| @onready var settings_container: MarginContainer = %SettingsContainer | ||||
| @onready var deathmatch_setup_container: MarginContainer = %DeathmatchSetupContainer | ||||
| @onready var title_crawl_container: MarginContainer = %TitleCrawlContainer | ||||
| 
 | ||||
| @onready var state_machine: AnimationTree = $Menu/MenuStateMachine | ||||
| @onready var menu_state: AnimationNodeStateMachinePlayback = state_machine["parameters/playback"] | ||||
| 
 | ||||
| @onready var idle_timer: Timer = %IdleTimer | ||||
| 
 | ||||
| @onready var game: Game = get_tree().get_first_node_in_group(Game.group) | ||||
| @onready var confirm_sfx: AudioStreamPlayer = %ConfirmSFX | ||||
| 
 | ||||
| 
 | ||||
| func play_chime() -> void: | ||||
| 	game.sfx.chime.play() | ||||
| 
 | ||||
| 
 | ||||
| func start_title_crawl() -> void: | ||||
| 	var instance: Node = title_crawl_scene.instantiate() | ||||
| 	instance.tree_exiting.connect(idle_timer.start) | ||||
| 	title_crawl_container.add_child(instance) | ||||
| 	confirm_sfx.play() | ||||
| 
 | ||||
| 
 | ||||
| func _input(event: InputEvent) -> void: | ||||
| @ -44,7 +34,6 @@ func _hide() -> void: | ||||
| 
 | ||||
| 
 | ||||
| func _to_main_menu() -> void: | ||||
| 	idle_timer.stop() | ||||
| 	menu_state.travel("main_idle") | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,203 +1,11 @@ | ||||
| [gd_scene load_steps=86 format=3 uid="uid://7fsgocmdas7i"] | ||||
| [gd_scene load_steps=64 format=3 uid="uid://7fsgocmdas7i"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/ui/menus/title_screen/title_screen.gd" id="1_2qtlb"] | ||||
| [ext_resource type="Texture2D" uid="uid://880x5n8j3b5l" path="res://assets/logo/title.png" id="1_pm82i"] | ||||
| [ext_resource type="PackedScene" uid="uid://d3eaqw2rdurct" path="res://src/ui/menus/settings_menu/settings_menu.tscn" id="2_g5q2v"] | ||||
| [ext_resource type="Texture2D" uid="uid://clesl8lljs6of" path="res://assets/logo/subtitle.png" id="2_y0ulk"] | ||||
| [ext_resource type="PackedScene" uid="uid://ccx2u5oli6men" path="res://src/ui/menus/title_screen/deathmatch_setup/deathmatch_setup.tscn" id="3_bo4ty"] | ||||
| [ext_resource type="Material" uid="uid://dpsmjlhjpc7vs" path="res://assets/materials/basic_ball_material.tres" id="5_5q83g"] | ||||
| [ext_resource type="PackedScene" uid="uid://cqu315hviu72n" path="res://src/ui/menus/title_screen/title_crawl.tscn" id="7_r26eu"] | ||||
| 
 | ||||
| [sub_resource type="Environment" id="Environment_ardux"] | ||||
| background_mode = 1 | ||||
| ambient_light_source = 2 | ||||
| ambient_light_color = Color(0.0156863, 0.0156863, 0.0156863, 1) | ||||
| tonemap_mode = 2 | ||||
| ssil_enabled = true | ||||
| ssil_intensity = 0.4 | ||||
| glow_enabled = true | ||||
| glow_intensity = 2.0 | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_bby3k"] | ||||
| resource_name = "rotate" | ||||
| length = 180.0 | ||||
| loop_mode = 1 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:rotation") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0, 180), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "update": 0, | ||||
| "values": [Vector3(-0.785398, 0, 0), Vector3(-0.785398, 6.28319, 0)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_vci0b"] | ||||
| length = 0.001 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:rotation") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Vector3(-0.785398, -3.14159, 0)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_g0lq7"] | ||||
| _data = { | ||||
| "RESET": SubResource("Animation_vci0b"), | ||||
| "rotate": SubResource("Animation_bby3k") | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="SphereMesh" id="SphereMesh_korig"] | ||||
| material = ExtResource("5_5q83g") | ||||
| radial_segments = 6 | ||||
| rings = 4 | ||||
| 
 | ||||
| [sub_resource type="Curve" id="Curve_mfs4k"] | ||||
| _data = [Vector2(0, 0), 0.0, 0.0, 0, 0] | ||||
| point_count = 1 | ||||
| 
 | ||||
| [sub_resource type="Curve" id="Curve_4a340"] | ||||
| min_value = -2.0 | ||||
| max_value = 2.0 | ||||
| _data = [Vector2(0, 1), 0.0, 0.0, 0, 0] | ||||
| point_count = 1 | ||||
| 
 | ||||
| [sub_resource type="Curve" id="Curve_jugu4"] | ||||
| _data = [Vector2(0, 0), 0.0, 0.0, 0, 0] | ||||
| point_count = 1 | ||||
| 
 | ||||
| [sub_resource type="CurveXYZTexture" id="CurveXYZTexture_6ny4o"] | ||||
| curve_x = SubResource("Curve_mfs4k") | ||||
| curve_y = SubResource("Curve_4a340") | ||||
| curve_z = SubResource("Curve_jugu4") | ||||
| 
 | ||||
| [sub_resource type="Curve" id="Curve_dlr4d"] | ||||
| _data = [Vector2(0, 0.001), 0.0, 0.0, 0, 0, Vector2(0.0315789, 1), 0.0, 0.0, 0, 0, Vector2(0.355789, 1), 0.0, 0.0, 0, 0, Vector2(0.633684, 0), 0.0, 0.0, 0, 0] | ||||
| point_count = 4 | ||||
| 
 | ||||
| [sub_resource type="CurveTexture" id="CurveTexture_ynn40"] | ||||
| curve = SubResource("Curve_dlr4d") | ||||
| 
 | ||||
| [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_v2b30"] | ||||
| emission_shape = 6 | ||||
| emission_ring_axis = Vector3(0, 1, 0) | ||||
| emission_ring_height = 0.1 | ||||
| emission_ring_radius = 4.0 | ||||
| emission_ring_inner_radius = 4.0 | ||||
| spread = 0.0 | ||||
| orbit_velocity_min = 0.25 | ||||
| orbit_velocity_max = 0.25 | ||||
| orbit_velocity_curve = SubResource("CurveXYZTexture_6ny4o") | ||||
| radial_velocity_min = -1.00002 | ||||
| radial_velocity_max = -1.00002 | ||||
| gravity = Vector3(0, 0, 0) | ||||
| scale_curve = SubResource("CurveTexture_ynn40") | ||||
| 
 | ||||
| [sub_resource type="Curve" id="Curve_o7r8j"] | ||||
| _data = [Vector2(0, 0), 0.0, 33.9978, 0, 0, Vector2(0.0335306, 0.824067), 2.50004, 2.50004, 0, 0, Vector2(0.315582, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] | ||||
| point_count = 4 | ||||
| 
 | ||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_f43mj"] | ||||
| transparency = 1 | ||||
| cull_mode = 2 | ||||
| shading_mode = 0 | ||||
| vertex_color_use_as_albedo = true | ||||
| albedo_color = Color(1, 1, 1, 0.156863) | ||||
| texture_filter = 0 | ||||
| use_particle_trails = true | ||||
| 
 | ||||
| [sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_brdwn"] | ||||
| material = SubResource("StandardMaterial3D_f43mj") | ||||
| shape = 0 | ||||
| size = 0.1 | ||||
| sections = 16 | ||||
| section_length = 0.1 | ||||
| section_segments = 8 | ||||
| curve = SubResource("Curve_o7r8j") | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_baak2"] | ||||
| length = 0.001 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath("CameraPivot:rotation") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Vector3(0, 0, 0)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_0w1b5"] | ||||
| resource_name = "idle" | ||||
| length = 120.0 | ||||
| loop_mode = 1 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath("CameraPivot:rotation") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0, 120), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "update": 0, | ||||
| "values": [Vector3(0, 0, 0), Vector3(0, 6.28319, 0)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_om72j"] | ||||
| _data = { | ||||
| "RESET": SubResource("Animation_baak2"), | ||||
| "idle": SubResource("Animation_0w1b5") | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_a1sa7"] | ||||
| length = 0.001 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:color") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = true | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 0, | ||||
| "values": [Color(0, 0, 0, 1)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_f0ohc"] | ||||
| resource_name = "fade_in" | ||||
| length = 8.0 | ||||
| tracks/0/type = "value" | ||||
| tracks/0/imported = false | ||||
| tracks/0/enabled = true | ||||
| tracks/0/path = NodePath(".:color") | ||||
| tracks/0/interp = 1 | ||||
| tracks/0/loop_wrap = false | ||||
| tracks/0/keys = { | ||||
| "times": PackedFloat32Array(0, 8), | ||||
| "transitions": PackedFloat32Array(0.618, 1), | ||||
| "update": 0, | ||||
| "values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0.5)] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_kjacl"] | ||||
| _data = { | ||||
| "RESET": SubResource("Animation_a1sa7"), | ||||
| "fade_in": SubResource("Animation_f0ohc") | ||||
| } | ||||
| [ext_resource type="AudioStream" uid="uid://8uynlpios7u1" path="res://assets/sound/sfx/ui/ecofuture2.wav" id="5_fg1a4"] | ||||
| 
 | ||||
| [sub_resource type="Animation" id="Animation_fths4"] | ||||
| length = 0.001 | ||||
| @ -249,16 +57,25 @@ tracks/1/path = NodePath("../../..") | ||||
| tracks/1/interp = 1 | ||||
| tracks/1/loop_wrap = true | ||||
| tracks/1/keys = { | ||||
| "times": PackedFloat32Array(0, 0.6), | ||||
| "transitions": PackedFloat32Array(1, 1), | ||||
| "times": PackedFloat32Array(0.6), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "values": [{ | ||||
| "args": [], | ||||
| "method": &"play_chime" | ||||
| }, { | ||||
| "args": [], | ||||
| "method": &"_on_quit" | ||||
| }] | ||||
| } | ||||
| tracks/2/type = "value" | ||||
| tracks/2/imported = false | ||||
| tracks/2/enabled = true | ||||
| tracks/2/path = NodePath("%ConfirmSFX:playing") | ||||
| tracks/2/interp = 1 | ||||
| tracks/2/loop_wrap = true | ||||
| tracks/2/keys = { | ||||
| "times": PackedFloat32Array(0), | ||||
| "transitions": PackedFloat32Array(1), | ||||
| "update": 1, | ||||
| "values": [true] | ||||
| } | ||||
| 
 | ||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_cgw58"] | ||||
| _data = { | ||||
| @ -1359,71 +1176,9 @@ anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| script = ExtResource("1_2qtlb") | ||||
| title_crawl_scene = ExtResource("7_r26eu") | ||||
| settings_scene = ExtResource("2_g5q2v") | ||||
| local_deathmatch_setup_scene = ExtResource("3_bo4ty") | ||||
| 
 | ||||
| [node name="SceneRoot" type="Node3D" parent="."] | ||||
| 
 | ||||
| [node name="WorldEnvironment" type="WorldEnvironment" parent="SceneRoot"] | ||||
| environment = SubResource("Environment_ardux") | ||||
| 
 | ||||
| [node name="LightRotationRoot" type="Node3D" parent="SceneRoot"] | ||||
| transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, 0, 0, 0) | ||||
| 
 | ||||
| [node name="DirectionalLight3D" type="DirectionalLight3D" parent="SceneRoot/LightRotationRoot"] | ||||
| transform = Transform3D(-1, -6.18172e-08, 6.18172e-08, 0, 0.707107, 0.707107, -8.74228e-08, 0.707107, -0.707107, 0, 0, 0) | ||||
| light_color = Color(0.95, 1, 0.989167, 1) | ||||
| light_energy = 1.2 | ||||
| 
 | ||||
| [node name="AnimationPlayer" type="AnimationPlayer" parent="SceneRoot/LightRotationRoot/DirectionalLight3D"] | ||||
| libraries = { | ||||
| "": SubResource("AnimationLibrary_g0lq7") | ||||
| } | ||||
| autoplay = "rotate" | ||||
| 
 | ||||
| [node name="Ball" type="MeshInstance3D" parent="SceneRoot"] | ||||
| mesh = SubResource("SphereMesh_korig") | ||||
| 
 | ||||
| [node name="GPUParticles3D" type="GPUParticles3D" parent="SceneRoot/Ball"] | ||||
| amount = 256 | ||||
| lifetime = 6.0 | ||||
| speed_scale = 0.1 | ||||
| fixed_fps = 60 | ||||
| trail_enabled = true | ||||
| trail_lifetime = 4.0 | ||||
| process_material = SubResource("ParticleProcessMaterial_v2b30") | ||||
| draw_pass_1 = SubResource("RibbonTrailMesh_brdwn") | ||||
| 
 | ||||
| [node name="CameraPivot" type="Node3D" parent="SceneRoot"] | ||||
| 
 | ||||
| [node name="Pitch" type="Node3D" parent="SceneRoot/CameraPivot"] | ||||
| transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0) | ||||
| 
 | ||||
| [node name="Camera3D" type="Camera3D" parent="SceneRoot/CameraPivot/Pitch"] | ||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1) | ||||
| 
 | ||||
| [node name="AnimationPlayer" type="AnimationPlayer" parent="SceneRoot"] | ||||
| libraries = { | ||||
| "": SubResource("AnimationLibrary_om72j") | ||||
| } | ||||
| autoplay = "idle" | ||||
| 
 | ||||
| [node name="Shade" type="ColorRect" parent="."] | ||||
| visible = false | ||||
| layout_mode = 2 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| color = Color(0, 0, 0, 1) | ||||
| 
 | ||||
| [node name="AnimationPlayer" type="AnimationPlayer" parent="Shade"] | ||||
| libraries = { | ||||
| "": SubResource("AnimationLibrary_kjacl") | ||||
| } | ||||
| autoplay = "fade_in" | ||||
| 
 | ||||
| [node name="Title" type="Control" parent="."] | ||||
| clip_contents = true | ||||
| layout_mode = 1 | ||||
| @ -1480,7 +1235,7 @@ grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| 
 | ||||
| [node name="PressStart" type="Label" parent="Menu"] | ||||
| modulate = Color(1, 1, 1, 0.0282702) | ||||
| visible = false | ||||
| layout_mode = 1 | ||||
| anchors_preset = 8 | ||||
| anchor_left = 0.5 | ||||
| @ -1498,11 +1253,12 @@ text = "TITLE_START" | ||||
| 
 | ||||
| [node name="MainMenu" type="VBoxContainer" parent="Menu"] | ||||
| visible = false | ||||
| modulate = Color(1, 1, 1, 0) | ||||
| layout_mode = 1 | ||||
| anchors_preset = -1 | ||||
| anchor_left = 0.5 | ||||
| anchor_left = -0.5 | ||||
| anchor_top = 0.5 | ||||
| anchor_right = 0.5 | ||||
| anchor_right = -0.5 | ||||
| anchor_bottom = 0.5 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| @ -1510,32 +1266,27 @@ metadata/_edit_use_anchors_ = true | ||||
| 
 | ||||
| [node name="SinglePlayer" type="Button" parent="Menu/MainMenu"] | ||||
| layout_mode = 2 | ||||
| tooltip_text = "MSG_ABOUT_SINGLE_PLAYER" | ||||
| theme_type_variation = &"PauseMenuButton" | ||||
| text = "TITLE_SINGLE_PLAYER" | ||||
| 
 | ||||
| [node name="MultiPlayer" type="Button" parent="Menu/MainMenu"] | ||||
| layout_mode = 2 | ||||
| tooltip_text = "MSG_ABOUT_MULTI_PLAYER" | ||||
| theme_type_variation = &"PauseMenuButton" | ||||
| text = "TITLE_MULTI_PLAYER" | ||||
| 
 | ||||
| [node name="Settings" type="Button" parent="Menu/MainMenu"] | ||||
| layout_mode = 2 | ||||
| tooltip_text = "MSG_ABOUT_SETTINGS" | ||||
| theme_type_variation = &"PauseMenuButton" | ||||
| text = "PAUSE_SETTINGS" | ||||
| 
 | ||||
| [node name="Credits" type="Button" parent="Menu/MainMenu"] | ||||
| layout_mode = 2 | ||||
| tooltip_text = "MSG_ABOUT_CREDITS" | ||||
| theme_type_variation = &"PauseMenuButton" | ||||
| disabled = true | ||||
| text = "TITLE_CREDITS" | ||||
| 
 | ||||
| [node name="Quit" type="Button" parent="Menu/MainMenu"] | ||||
| layout_mode = 2 | ||||
| tooltip_text = "MSG_ABOUT_QUIT" | ||||
| theme_type_variation = &"PauseMenuButton" | ||||
| theme_override_colors/font_color = Color(0.819608, 0.196078, 0.196078, 1) | ||||
| text = "PAUSE_QUIT" | ||||
| @ -1587,9 +1338,9 @@ text = "UI_BACK" | ||||
| [node name="MultiplayerMenu" type="VBoxContainer" parent="Menu"] | ||||
| layout_mode = 1 | ||||
| anchors_preset = -1 | ||||
| anchor_left = 1.5 | ||||
| anchor_left = -0.5 | ||||
| anchor_top = 0.5 | ||||
| anchor_right = 1.5 | ||||
| anchor_right = -0.5 | ||||
| anchor_bottom = 0.5 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| @ -1612,9 +1363,9 @@ text = "UI_BACK" | ||||
| [node name="LocalMultiplayerMenu" type="VBoxContainer" parent="Menu"] | ||||
| layout_mode = 1 | ||||
| anchors_preset = -1 | ||||
| anchor_left = 1.5 | ||||
| anchor_left = 0.5 | ||||
| anchor_top = 0.5 | ||||
| anchor_right = 1.5 | ||||
| anchor_right = 0.5 | ||||
| anchor_bottom = 0.5 | ||||
| offset_left = -157.5 | ||||
| offset_top = -52.0 | ||||
| @ -1693,6 +1444,11 @@ libraries = { | ||||
| } | ||||
| autoplay = "press_start_fade_in" | ||||
| 
 | ||||
| [node name="ConfirmSFX" type="AudioStreamPlayer" parent="."] | ||||
| unique_name_in_owner = true | ||||
| stream = ExtResource("5_fg1a4") | ||||
| bus = &"SFX" | ||||
| 
 | ||||
| [node name="SettingsContainer" type="MarginContainer" parent="."] | ||||
| unique_name_in_owner = true | ||||
| layout_mode = 1 | ||||
| @ -1723,22 +1479,6 @@ theme_override_constants/margin_top = 64 | ||||
| theme_override_constants/margin_right = 64 | ||||
| theme_override_constants/margin_bottom = 64 | ||||
| 
 | ||||
| [node name="TitleCrawlContainer" type="MarginContainer" parent="."] | ||||
| unique_name_in_owner = true | ||||
| layout_mode = 1 | ||||
| anchors_preset = 15 | ||||
| anchor_right = 1.0 | ||||
| anchor_bottom = 1.0 | ||||
| grow_horizontal = 2 | ||||
| grow_vertical = 2 | ||||
| mouse_filter = 2 | ||||
| 
 | ||||
| [node name="IdleTimer" type="Timer" parent="TitleCrawlContainer"] | ||||
| unique_name_in_owner = true | ||||
| wait_time = 20.0 | ||||
| one_shot = true | ||||
| autostart = true | ||||
| 
 | ||||
| [connection signal="pressed" from="Menu/MainMenu/SinglePlayer" to="." method="_to_single_player"] | ||||
| [connection signal="pressed" from="Menu/MainMenu/MultiPlayer" to="." method="_to_multi_player"] | ||||
| [connection signal="pressed" from="Menu/MainMenu/Settings" to="." method="_open_settings"] | ||||
| @ -1750,4 +1490,3 @@ autostart = true | ||||
| [connection signal="pressed" from="Menu/LocalMultiplayerMenu/Deathmatch" to="." method="_open_local_deathmatch_setup"] | ||||
| [connection signal="pressed" from="Menu/LocalMultiplayerMenu/Back" to="." method="_to_multi_player"] | ||||
| [connection signal="pressed" from="Menu/NetMultiplayerMenu/Back" to="." method="_to_multi_player"] | ||||
| [connection signal="timeout" from="TitleCrawlContainer/IdleTimer" to="." method="start_title_crawl"] | ||||
|  | ||||
| @ -1,15 +0,0 @@ | ||||
| [gd_resource type="World3D" load_steps=2 format=3 uid="uid://ctfbo13yjwt6n"] | ||||
| 
 | ||||
| [sub_resource type="Environment" id="Environment_4jfqc"] | ||||
| background_mode = 1 | ||||
| ambient_light_source = 2 | ||||
| ambient_light_color = Color(1, 1, 1, 1) | ||||
| tonemap_mode = 3 | ||||
| ssr_enabled = true | ||||
| ssao_enabled = true | ||||
| ssil_enabled = true | ||||
| glow_enabled = true | ||||
| glow_strength = 1.4 | ||||
| 
 | ||||
| [resource] | ||||
| environment = SubResource("Environment_4jfqc") | ||||
| @ -1,22 +0,0 @@ | ||||
| extends Label | ||||
| ## Label showing debug info about the game version. | ||||
| 
 | ||||
| ## Branch info will not be printed on any of these branches. | ||||
| const IGNORED_BRANCHES := ["main"] | ||||
| 
 | ||||
| 
 | ||||
| func _ready() -> void: | ||||
| 	# Fall back on baked version info | ||||
| 	text = Game.settings.version | ||||
| 
 | ||||
| 	var output: Array[String] = [] | ||||
| 	var status := OS.execute("git", ["describe", "--always", "HEAD"], output) | ||||
| 	if status == 0: | ||||
| 		text = output[0].strip_edges() | ||||
| 
 | ||||
| 	output = [] | ||||
| 	status = OS.execute("git", ["branch", "--show-current"], output) | ||||
| 	if status == 0: | ||||
| 		var branch_name := output[0].strip_edges() | ||||
| 		if branch_name and not branch_name in IGNORED_BRANCHES: | ||||
| 			text += " (%s)" % branch_name | ||||
| @ -1,10 +1,9 @@ | ||||
| [gd_scene load_steps=5 format=3 uid="uid://cdtdvka0bssgy"] | ||||
| [gd_scene load_steps=4 format=3 uid="uid://cdtdvka0bssgy"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/world/level/level_catalog.gd" id="1_wjjeu"] | ||||
| [ext_resource type="Resource" uid="uid://chewry1b1a28j" path="res://levels/debug_level/debug_island.tres" id="3_3eqbc"] | ||||
| [ext_resource type="Script" path="res://src/world/level/level.gd" id="3_8lfqu"] | ||||
| [ext_resource type="Resource" uid="uid://cfsy1nlfo4inx" path="res://levels/oneill/oneill.tres" id="4_8547s"] | ||||
| 
 | ||||
| [node name="LevelCatalog" type="Node"] | ||||
| script = ExtResource("1_wjjeu") | ||||
| levels = Array[ExtResource("3_8lfqu")]([ExtResource("3_3eqbc"), ExtResource("4_8547s")]) | ||||
| levels = Array[ExtResource("3_8lfqu")]([ExtResource("3_3eqbc")]) | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| [gd_scene load_steps=8 format=3 uid="uid://cwnwcd8kushl3"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://src/world/world.gd" id="1_ybjyx"] | ||||
| [ext_resource type="PackedScene" uid="uid://bm2o3mex10v11" path="res://levels/debug_level/debug_level.tscn" id="2_0xu5a"] | ||||
| [ext_resource type="Script" path="res://src/player/world_player.gd" id="2_e743i"] | ||||
| [ext_resource type="Script" path="res://src/ui/world_ui.gd" id="2_imewa"] | ||||
| [ext_resource type="PackedScene" uid="uid://x2bqqlrnno28" path="res://levels/oneill/oneill.tscn" id="2_w576d"] | ||||
| [ext_resource type="Resource" uid="uid://crock3revdn73" path="res://src/player/debug_player.tres" id="3_pyw81"] | ||||
| [ext_resource type="Script" path="res://src/world/play_manager/round_robin_manager.gd" id="5_h6mje"] | ||||
| 
 | ||||
| @ -13,7 +13,7 @@ players = Array[ExtResource("2_e743i")]([ExtResource("3_pyw81")]) | ||||
| 
 | ||||
| [node name="World" type="Node" groups=["WorldGroup"]] | ||||
| script = ExtResource("1_ybjyx") | ||||
| initial_level = ExtResource("2_w576d") | ||||
| initial_level = ExtResource("2_0xu5a") | ||||
| manager = SubResource("Resource_rdjhi") | ||||
| 
 | ||||
| [node name="Level" type="Node3D" parent="."] | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user