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 | *** License: OFL 1.1 | ||||||
| 
 | 
 | ||||||
| ** Orbitron |  | ||||||
| 
 |  | ||||||
| *** Retrieved from https://fonts.google.com/specimen/Orbitron |  | ||||||
| 
 |  | ||||||
| *** Author: Matt McInerney |  | ||||||
| 
 |  | ||||||
| *** License: OFL 1.1 |  | ||||||
| 
 |  | ||||||
| * Sound | * Sound | ||||||
| 
 | 
 | ||||||
| ** drive1.wav | ** 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 | BALL_POWER,Powerball | ||||||
| , | , | ||||||
| MAP_DEBUG,"Debug Island" | 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/hdr_compression=1 | ||||||
| compress/normal_map=0 | compress/normal_map=0 | ||||||
| compress/channel_pack=0 | compress/channel_pack=0 | ||||||
| mipmaps/generate=true | mipmaps/generate=false | ||||||
| mipmaps/limit=-1 | mipmaps/limit=-1 | ||||||
| roughness/mode=0 | roughness/mode=0 | ||||||
| roughness/src_normal="" | roughness/src_normal="" | ||||||
| @ -31,4 +31,4 @@ process/normal_map_invert_y=false | |||||||
| process/hdr_as_srgb=false | process/hdr_as_srgb=false | ||||||
| process/hdr_clamp_exposure=false | process/hdr_clamp_exposure=false | ||||||
| process/size_limit=0 | 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="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://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="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/items/item_spawner.gd" id="8_5kaye"] | ||||||
| [ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"] | [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"] | [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"] | ||||||
| panorama = ExtResource("6_ectru") | panorama = ExtResource("6_ectru") | ||||||
| 
 | 
 | ||||||
| [sub_resource type="Sky" id="Sky_3yoab"] | [sub_resource type="Sky" id="Sky_2xshh"] | ||||||
| sky_material = SubResource("PanoramaSkyMaterial_h8tes") | sky_material = SubResource("PanoramaSkyMaterial_h8tes") | ||||||
| 
 | 
 | ||||||
| [sub_resource type="Environment" id="Environment_k6wwx"] | [sub_resource type="Environment" id="Environment_k6wwx"] | ||||||
| background_mode = 2 | background_mode = 2 | ||||||
| sky = SubResource("Sky_3yoab") | sky = SubResource("Sky_2xshh") | ||||||
| ambient_light_source = 2 | ambient_light_source = 2 | ||||||
| ambient_light_color = Color(0.78, 0.78, 0.78, 1) | ambient_light_color = Color(0.78, 0.78, 0.78, 1) | ||||||
| ssao_enabled = true | ssao_enabled = true | ||||||
| @ -92,8 +93,35 @@ dof_blur_near_enabled = true | |||||||
| dof_blur_near_distance = 1.0 | dof_blur_near_distance = 1.0 | ||||||
| dof_blur_near_transition = 0.5 | 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"] | [sub_resource type="PlaneMesh" id="PlaneMesh_2ywhk"] | ||||||
| material = ExtResource("4_bwkbv") | material = SubResource("ShaderMaterial_dkdxa") | ||||||
| size = Vector2(16384, 16384) | size = Vector2(16384, 16384) | ||||||
| subdivide_width = 1024 | subdivide_width = 1024 | ||||||
| subdivide_depth = 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/name="GFOLF 2" | ||||||
| config/description="GFOLF: Combat Golf Action" | config/description="GFOLF: Combat Golf Action" | ||||||
| config/version="0.0.0" |  | ||||||
| run/main_scene="res://src/game/game.tscn" | run/main_scene="res://src/game/game.tscn" | ||||||
| config/project_settings_override="user://settings.godot" | config/project_settings_override="user://settings.godot" | ||||||
| config/features=PackedStringArray("4.3", "Forward Plus") | config/features=PackedStringArray("4.3", "Forward Plus") | ||||||
|  | |||||||
| @ -6,4 +6,4 @@ | |||||||
| [resource] | [resource] | ||||||
| script = ExtResource("2_rx8x8") | script = ExtResource("2_rx8x8") | ||||||
| controller_scene = ExtResource("1_m8n4f") | 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="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="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="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://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"] | [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="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"] | [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"] | [sub_resource type="SphereMesh" id="SphereMesh_y0d13"] | ||||||
| material = ExtResource("3_rc7m1") | material = SubResource("StandardMaterial3D_s3hrj") | ||||||
| radius = 0.05 | radius = 0.05 | ||||||
| height = 0.1 | height = 0.1 | ||||||
| radial_segments = 6 | radial_segments = 6 | ||||||
| @ -142,6 +155,7 @@ shape = SubResource("SphereShape3D_0hvq6") | |||||||
| 
 | 
 | ||||||
| [node name="DebugDraw" type="Control" parent="."] | [node name="DebugDraw" type="Control" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
|  | visible = false | ||||||
| layout_mode = 3 | layout_mode = 3 | ||||||
| anchors_preset = 15 | anchors_preset = 15 | ||||||
| anchor_right = 1.0 | anchor_right = 1.0 | ||||||
|  | |||||||
| @ -6,7 +6,6 @@ class_name Game extends Node | |||||||
| var _loading_resources := {} | var _loading_resources := {} | ||||||
| 
 | 
 | ||||||
| @onready var viewport: GameViewportContainer = %ViewportContainer | @onready var viewport: GameViewportContainer = %ViewportContainer | ||||||
| @onready var sfx: GameSFX = %SFX |  | ||||||
| 
 | 
 | ||||||
| @onready var content: Node = %Content | @onready var content: Node = %Content | ||||||
| @onready var loader_transition: AnimationPlayer = %LoaderTransition | @onready var loader_transition: AnimationPlayer = %LoaderTransition | ||||||
| @ -58,26 +57,28 @@ func _ready() -> void: | |||||||
| ## | ## | ||||||
| ## The loading screen will be shown until the scene is loaded. | ## The loading screen will be shown until the scene is loaded. | ||||||
| func queue_scene(path: String) -> Promise: | 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. | ## Queue a resource to be loaded in the background. | ||||||
| ## | ## | ||||||
| ## Returns a `Promise` which can be used to attach callbacks | ## Returns a `Promise` which can be used to attach callbacks | ||||||
| ## which will be called with the resource after it is loaded. | ## 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: | 	if not promise: | ||||||
| 		promise = Promise.new() | 		promise = Promise.new() | ||||||
| 	_loading_resources[path] = promise | 	_loading_resources[path] = promise | ||||||
| 	ResourceLoader.load_threaded_request(path, type_hint) | 	ResourceLoader.load_threaded_request(path) | ||||||
| 	return promise | 	return promise | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _unload_content() -> void: |  | ||||||
| 	for child: Node in content.get_children(): |  | ||||||
| 		child.queue_free() |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func _finish_scene_load(instance: Node) -> void: | func _finish_scene_load(instance: Node) -> void: | ||||||
| 	content.add_child(instance) | 	content.add_child(instance) | ||||||
| 	instance.reparent(content) | 	instance.reparent(content) | ||||||
| @ -87,9 +88,6 @@ func _process(_delta: float) -> void: | |||||||
| 	if _loading_resources and not loading_screen.visible: | 	if _loading_resources and not loading_screen.visible: | ||||||
| 		loader_transition.play("fade_in") | 		loader_transition.play("fade_in") | ||||||
| 
 | 
 | ||||||
| 	if loader_transition.is_playing(): |  | ||||||
| 		return |  | ||||||
| 
 |  | ||||||
| 	for key: String in _loading_resources.keys(): | 	for key: String in _loading_resources.keys(): | ||||||
| 		match ResourceLoader.load_threaded_get_status(key): | 		match ResourceLoader.load_threaded_get_status(key): | ||||||
| 			ResourceLoader.THREAD_LOAD_LOADED: | 			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="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="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/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/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/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"] | [sub_resource type="Animation" id="Animation_c3dlb"] | ||||||
| length = 0.001 | length = 0.001 | ||||||
| @ -38,7 +35,7 @@ tracks/1/keys = { | |||||||
| 
 | 
 | ||||||
| [sub_resource type="Animation" id="Animation_2c1ud"] | [sub_resource type="Animation" id="Animation_2c1ud"] | ||||||
| resource_name = "fade_in" | resource_name = "fade_in" | ||||||
| length = 0.2 | length = 0.4 | ||||||
| tracks/0/type = "value" | tracks/0/type = "value" | ||||||
| tracks/0/imported = false | tracks/0/imported = false | ||||||
| tracks/0/enabled = true | tracks/0/enabled = true | ||||||
| @ -58,25 +55,11 @@ tracks/1/path = NodePath(".:modulate") | |||||||
| tracks/1/interp = 2 | tracks/1/interp = 2 | ||||||
| tracks/1/loop_wrap = true | tracks/1/loop_wrap = true | ||||||
| tracks/1/keys = { | tracks/1/keys = { | ||||||
| "times": PackedFloat32Array(0, 0.2), | "times": PackedFloat32Array(0, 0.4), | ||||||
| "transitions": PackedFloat32Array(1, 1), | "transitions": PackedFloat32Array(1, 1), | ||||||
| "update": 0, | "update": 0, | ||||||
| "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] | "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"] | [sub_resource type="Animation" id="Animation_xbqy2"] | ||||||
| resource_name = "fade_out" | resource_name = "fade_out" | ||||||
| @ -116,7 +99,6 @@ _data = { | |||||||
| [node name="Game" type="Node" groups=["GameGroup"]] | [node name="Game" type="Node" groups=["GameGroup"]] | ||||||
| process_mode = 3 | process_mode = 3 | ||||||
| script = ExtResource("1_4qa87") | script = ExtResource("1_4qa87") | ||||||
| start_scene = "res://src/world/world.tscn" |  | ||||||
| 
 | 
 | ||||||
| [node name="RootControl" type="Control" parent="."] | [node name="RootControl" type="Control" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| @ -129,7 +111,6 @@ grow_vertical = 2 | |||||||
| 
 | 
 | ||||||
| [node name="LoadingScreen" type="Control" parent="RootControl"] | [node name="LoadingScreen" type="Control" parent="RootControl"] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| process_mode = 3 |  | ||||||
| z_index = 128 | z_index = 128 | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = 15 | anchors_preset = 15 | ||||||
| @ -180,47 +161,6 @@ libraries = { | |||||||
| "": SubResource("AnimationLibrary_1s0w0") | "": 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"] | [node name="Rumbler" type="Control" parent="RootControl"] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| @ -256,12 +196,3 @@ script = ExtResource("5_v2qv5") | |||||||
| [node name="Content" type="Node" parent="RootControl/Rumbler/ViewportContainer/Viewport"] | [node name="Content" type="Node" parent="RootControl/Rumbler/ViewportContainer/Viewport"] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| process_mode = 1 | 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 | class_name GameSettingsType extends Node | ||||||
| ## Container for project settings, for quick runtime access. | ## Container for project settings, for quick runtime access. | ||||||
| 
 | 
 | ||||||
| var version: String |  | ||||||
| 
 |  | ||||||
| var settings_file: String | var settings_file: String | ||||||
| var audio_bus_file: String | var audio_bus_file: String | ||||||
| 
 | 
 | ||||||
| @ -29,8 +27,6 @@ func _init() -> void: | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _read_settings() -> void: | func _read_settings() -> void: | ||||||
| 	version = ProjectSettings.get_setting("application/config/version") |  | ||||||
| 
 |  | ||||||
| 	settings_file = ProjectSettings.get_setting("application/config/project_settings_override") | 	settings_file = ProjectSettings.get_setting("application/config/project_settings_override") | ||||||
| 	audio_bus_file = ProjectSettings.get_setting("game/audio/buses/override_bus_layout") | 	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 | signal typing | ||||||
| 
 | 
 | ||||||
| const EDITOR_DEFAULT_SPEED = 20.0 |  | ||||||
| 
 |  | ||||||
| @export var scale_curve: Curve | @export var scale_curve: Curve | ||||||
| @export var translation_curve: CurveXYZTexture | @export var translation_curve: CurveXYZTexture | ||||||
| 
 | 
 | ||||||
| @ -26,34 +24,25 @@ var bbcode: String = "type" | |||||||
| var _force_visible := false | var _force_visible := false | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _init(force_visible_signal: Variant = null) -> void: | func _init(force_visible_signal: Signal) -> void: | ||||||
| 	if force_visible_signal is Signal: | 	if force_visible_signal: | ||||||
| 		(force_visible_signal as Signal).connect(_set_force_visible) | 		force_visible_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 _process_custom_fx(char_fx: CharFXTransform) -> bool: | func _process_custom_fx(char_fx: CharFXTransform) -> bool: | ||||||
| 	if not _force_visible: | 	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 delay: float = char_fx.env.get("delay", 0.0) | ||||||
| 		var factor: float = char_fx.env.get("factor", 1.0) | 		var factor: float = char_fx.env.get("factor", 1.0) | ||||||
| 
 | 
 | ||||||
| 		var rel_time := (speed * (char_fx.elapsed_time - delay) - char_fx.relative_index) / factor |  | ||||||
| 
 |  | ||||||
| 		char_fx.visible = rel_time > 0 |  | ||||||
| 
 |  | ||||||
| 		if scale_curve or translation_curve: |  | ||||||
| 		var server := TextServerManager.get_primary_interface() | 		var server := TextServerManager.get_primary_interface() | ||||||
| 		var glyph_size := server.font_get_glyph_size( | 		var glyph_size := server.font_get_glyph_size( | ||||||
| 			char_fx.font, 0.5 * glyph_size_factor * Vector2i.ONE, char_fx.glyph_index | 			char_fx.font, 0.5 * glyph_size_factor * Vector2i.ONE, char_fx.glyph_index | ||||||
| 		) | 		) | ||||||
| 		var pivot := glyph_size * Vector2(-1, 1) | 		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 | 		var scale := Vector2.ONE | ||||||
| 		if scale_curve: | 		if scale_curve: | ||||||
| 			scale *= scale_curve.sample_baked(rel_time) | 			scale *= scale_curve.sample_baked(rel_time) | ||||||
| @ -74,6 +63,8 @@ func _process_custom_fx(char_fx: CharFXTransform) -> bool: | |||||||
| 			. translated_local(translation) | 			. translated_local(translation) | ||||||
| 		) | 		) | ||||||
| 
 | 
 | ||||||
|  | 		char_fx.visible = rel_time > 0 | ||||||
|  | 
 | ||||||
| 		if rel_time < 1: | 		if rel_time < 1: | ||||||
| 			typing.emit() | 			typing.emit() | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -35,8 +35,6 @@ func _ready() -> void: | |||||||
| 	if text: | 	if text: | ||||||
| 		_finished = false | 		_finished = false | ||||||
| 
 | 
 | ||||||
| 	visibility_changed.connect(restart) |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| ## Is the typewriter effect finished? | ## Is the typewriter effect finished? | ||||||
| func is_finished() -> bool: | 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://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://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://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://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://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"] | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5pkn5"] | ||||||
| content_margin_left = 16.0 | content_margin_left = 16.0 | ||||||
| @ -45,10 +41,6 @@ corner_radius_bottom_right = 3 | |||||||
| corner_radius_bottom_left = 3 | corner_radius_bottom_left = 3 | ||||||
| corner_detail = 5 | corner_detail = 5 | ||||||
| 
 | 
 | ||||||
| [sub_resource type="SystemFont" id="SystemFont_3ttu2"] |  | ||||||
| font_names = PackedStringArray("Monospace") |  | ||||||
| generate_mipmaps = true |  | ||||||
| 
 |  | ||||||
| [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ynsl8"] | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ynsl8"] | ||||||
| content_margin_left = 36.0 | content_margin_left = 36.0 | ||||||
| content_margin_top = 8.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/default_color = Color(0.611765, 0.133333, 0.133333, 1) | ||||||
| DeathScreenLabel/colors/font_outline_color = Color(0, 0, 0, 1) | DeathScreenLabel/colors/font_outline_color = Color(0, 0, 0, 1) | ||||||
| DeathScreenLabel/fonts/normal_font = ExtResource("1_eha6a") | 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/constants/outline_size = 8 | ||||||
| HeaderLarge/font_sizes/font_size = 28 | HeaderLarge/font_sizes/font_size = 28 | ||||||
| HeaderMedium/constants/outline_size = 6 | HeaderMedium/constants/outline_size = 6 | ||||||
| @ -183,16 +169,6 @@ ShotFeedback/constants/shadow_offset_x = 6 | |||||||
| ShotFeedback/constants/shadow_offset_y = 4 | ShotFeedback/constants/shadow_offset_y = 4 | ||||||
| ShotFeedback/font_sizes/normal_font_size = 272 | ShotFeedback/font_sizes/normal_font_size = 272 | ||||||
| ShotFeedback/fonts/normal_font = ExtResource("1_eha6a") | 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/base_type = &"Label" | ||||||
| TitleScreenMenuLabel/colors/font_outline_color = Color(0, 0, 0, 1) | TitleScreenMenuLabel/colors/font_outline_color = Color(0, 0, 0, 1) | ||||||
| TitleScreenMenuLabel/constants/outline_size = 6 | 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) | @onready var game: Game = get_tree().get_first_node_in_group(Game.group) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func play_chime() -> void: |  | ||||||
| 	game.sfx.chime.play() |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| func _ready() -> void: | func _ready() -> void: | ||||||
| 	# Populate map selection | 	# Populate map selection | ||||||
| 	for level: Level in Level.catalog.levels: | 	for level: Level in Level.catalog.levels: | ||||||
| @ -49,11 +45,9 @@ func cancel() -> void: | |||||||
| ## Start with the current game configuration. | ## Start with the current game configuration. | ||||||
| func start() -> void: | func start() -> void: | ||||||
| 	var player_list := players() | 	var player_list := players() | ||||||
| 	var level := selected_level() |  | ||||||
| 	var init_world := func(world: World) -> void: | 	var init_world := func(world: World) -> void: | ||||||
| 		world.manager = RoundRobinManager.new() | 		world.manager = RoundRobinManager.new() | ||||||
| 		world.manager.players = player_list | 		world.manager.players = player_list | ||||||
| 		world.initial_level = level.scene |  | ||||||
| 	game.queue_scene(WORLD_SCENE_PATH).then(init_world) | 	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="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"] | [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") | "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"] | [node name="DeathmatchSetup" type="PanelContainer"] | ||||||
| anchors_preset = 15 | anchors_preset = 15 | ||||||
| anchor_right = 1.0 | anchor_right = 1.0 | ||||||
| @ -336,12 +258,7 @@ layout_mode = 2 | |||||||
| theme_type_variation = &"AlertButton" | theme_type_variation = &"AlertButton" | ||||||
| text = "UI_START" | 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="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="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/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_container.add_child(character_controller) | ||||||
| 	character_controller.set_color(player_color) | 	character_controller.set_color(player_color) | ||||||
| 	char_name.text = get_selected_character().name |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func get_selected_character() -> Character: | 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" | const SCENE := "res://src/ui/menus/title_screen/title_screen.tscn" | ||||||
| 
 | 
 | ||||||
| @export var title_crawl_scene: PackedScene |  | ||||||
| @export var settings_scene: PackedScene | @export var settings_scene: PackedScene | ||||||
| @export var local_deathmatch_setup_scene: PackedScene | @export var local_deathmatch_setup_scene: PackedScene | ||||||
| 
 | 
 | ||||||
| @onready var menu: Control = %Menu | @onready var menu: Control = %Menu | ||||||
| @onready var settings_container: MarginContainer = %SettingsContainer | @onready var settings_container: MarginContainer = %SettingsContainer | ||||||
| @onready var deathmatch_setup_container: MarginContainer = %DeathmatchSetupContainer | @onready var deathmatch_setup_container: MarginContainer = %DeathmatchSetupContainer | ||||||
| @onready var title_crawl_container: MarginContainer = %TitleCrawlContainer |  | ||||||
| 
 | 
 | ||||||
| @onready var state_machine: AnimationTree = $Menu/MenuStateMachine | @onready var state_machine: AnimationTree = $Menu/MenuStateMachine | ||||||
| @onready var menu_state: AnimationNodeStateMachinePlayback = state_machine["parameters/playback"] | @onready var menu_state: AnimationNodeStateMachinePlayback = state_machine["parameters/playback"] | ||||||
| 
 | 
 | ||||||
| @onready var idle_timer: Timer = %IdleTimer | @onready var confirm_sfx: AudioStreamPlayer = %ConfirmSFX | ||||||
| 
 |  | ||||||
| @onready var game: Game = get_tree().get_first_node_in_group(Game.group) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func play_chime() -> void: | func play_chime() -> void: | ||||||
| 	game.sfx.chime.play() | 	confirm_sfx.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) |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _input(event: InputEvent) -> void: | func _input(event: InputEvent) -> void: | ||||||
| @ -44,7 +34,6 @@ func _hide() -> void: | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _to_main_menu() -> void: | func _to_main_menu() -> void: | ||||||
| 	idle_timer.stop() |  | ||||||
| 	menu_state.travel("main_idle") | 	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="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="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="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="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="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="AudioStream" uid="uid://8uynlpios7u1" path="res://assets/sound/sfx/ui/ecofuture2.wav" id="5_fg1a4"] | ||||||
| [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") |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| [sub_resource type="Animation" id="Animation_fths4"] | [sub_resource type="Animation" id="Animation_fths4"] | ||||||
| length = 0.001 | length = 0.001 | ||||||
| @ -249,16 +57,25 @@ tracks/1/path = NodePath("../../..") | |||||||
| tracks/1/interp = 1 | tracks/1/interp = 1 | ||||||
| tracks/1/loop_wrap = true | tracks/1/loop_wrap = true | ||||||
| tracks/1/keys = { | tracks/1/keys = { | ||||||
| "times": PackedFloat32Array(0, 0.6), | "times": PackedFloat32Array(0.6), | ||||||
| "transitions": PackedFloat32Array(1, 1), | "transitions": PackedFloat32Array(1), | ||||||
| "values": [{ | "values": [{ | ||||||
| "args": [], | "args": [], | ||||||
| "method": &"play_chime" |  | ||||||
| }, { |  | ||||||
| "args": [], |  | ||||||
| "method": &"_on_quit" | "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"] | [sub_resource type="AnimationLibrary" id="AnimationLibrary_cgw58"] | ||||||
| _data = { | _data = { | ||||||
| @ -1359,71 +1176,9 @@ anchor_bottom = 1.0 | |||||||
| grow_horizontal = 2 | grow_horizontal = 2 | ||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
| script = ExtResource("1_2qtlb") | script = ExtResource("1_2qtlb") | ||||||
| title_crawl_scene = ExtResource("7_r26eu") |  | ||||||
| settings_scene = ExtResource("2_g5q2v") | settings_scene = ExtResource("2_g5q2v") | ||||||
| local_deathmatch_setup_scene = ExtResource("3_bo4ty") | 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="."] | [node name="Title" type="Control" parent="."] | ||||||
| clip_contents = true | clip_contents = true | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| @ -1480,7 +1235,7 @@ grow_horizontal = 2 | |||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
| 
 | 
 | ||||||
| [node name="PressStart" type="Label" parent="Menu"] | [node name="PressStart" type="Label" parent="Menu"] | ||||||
| modulate = Color(1, 1, 1, 0.0282702) | visible = false | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = 8 | anchors_preset = 8 | ||||||
| anchor_left = 0.5 | anchor_left = 0.5 | ||||||
| @ -1498,11 +1253,12 @@ text = "TITLE_START" | |||||||
| 
 | 
 | ||||||
| [node name="MainMenu" type="VBoxContainer" parent="Menu"] | [node name="MainMenu" type="VBoxContainer" parent="Menu"] | ||||||
| visible = false | visible = false | ||||||
|  | modulate = Color(1, 1, 1, 0) | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = -1 | anchors_preset = -1 | ||||||
| anchor_left = 0.5 | anchor_left = -0.5 | ||||||
| anchor_top = 0.5 | anchor_top = 0.5 | ||||||
| anchor_right = 0.5 | anchor_right = -0.5 | ||||||
| anchor_bottom = 0.5 | anchor_bottom = 0.5 | ||||||
| grow_horizontal = 2 | grow_horizontal = 2 | ||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
| @ -1510,32 +1266,27 @@ metadata/_edit_use_anchors_ = true | |||||||
| 
 | 
 | ||||||
| [node name="SinglePlayer" type="Button" parent="Menu/MainMenu"] | [node name="SinglePlayer" type="Button" parent="Menu/MainMenu"] | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| tooltip_text = "MSG_ABOUT_SINGLE_PLAYER" |  | ||||||
| theme_type_variation = &"PauseMenuButton" | theme_type_variation = &"PauseMenuButton" | ||||||
| text = "TITLE_SINGLE_PLAYER" | text = "TITLE_SINGLE_PLAYER" | ||||||
| 
 | 
 | ||||||
| [node name="MultiPlayer" type="Button" parent="Menu/MainMenu"] | [node name="MultiPlayer" type="Button" parent="Menu/MainMenu"] | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| tooltip_text = "MSG_ABOUT_MULTI_PLAYER" |  | ||||||
| theme_type_variation = &"PauseMenuButton" | theme_type_variation = &"PauseMenuButton" | ||||||
| text = "TITLE_MULTI_PLAYER" | text = "TITLE_MULTI_PLAYER" | ||||||
| 
 | 
 | ||||||
| [node name="Settings" type="Button" parent="Menu/MainMenu"] | [node name="Settings" type="Button" parent="Menu/MainMenu"] | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| tooltip_text = "MSG_ABOUT_SETTINGS" |  | ||||||
| theme_type_variation = &"PauseMenuButton" | theme_type_variation = &"PauseMenuButton" | ||||||
| text = "PAUSE_SETTINGS" | text = "PAUSE_SETTINGS" | ||||||
| 
 | 
 | ||||||
| [node name="Credits" type="Button" parent="Menu/MainMenu"] | [node name="Credits" type="Button" parent="Menu/MainMenu"] | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| tooltip_text = "MSG_ABOUT_CREDITS" |  | ||||||
| theme_type_variation = &"PauseMenuButton" | theme_type_variation = &"PauseMenuButton" | ||||||
| disabled = true | disabled = true | ||||||
| text = "TITLE_CREDITS" | text = "TITLE_CREDITS" | ||||||
| 
 | 
 | ||||||
| [node name="Quit" type="Button" parent="Menu/MainMenu"] | [node name="Quit" type="Button" parent="Menu/MainMenu"] | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| tooltip_text = "MSG_ABOUT_QUIT" |  | ||||||
| theme_type_variation = &"PauseMenuButton" | theme_type_variation = &"PauseMenuButton" | ||||||
| theme_override_colors/font_color = Color(0.819608, 0.196078, 0.196078, 1) | theme_override_colors/font_color = Color(0.819608, 0.196078, 0.196078, 1) | ||||||
| text = "PAUSE_QUIT" | text = "PAUSE_QUIT" | ||||||
| @ -1587,9 +1338,9 @@ text = "UI_BACK" | |||||||
| [node name="MultiplayerMenu" type="VBoxContainer" parent="Menu"] | [node name="MultiplayerMenu" type="VBoxContainer" parent="Menu"] | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = -1 | anchors_preset = -1 | ||||||
| anchor_left = 1.5 | anchor_left = -0.5 | ||||||
| anchor_top = 0.5 | anchor_top = 0.5 | ||||||
| anchor_right = 1.5 | anchor_right = -0.5 | ||||||
| anchor_bottom = 0.5 | anchor_bottom = 0.5 | ||||||
| grow_horizontal = 2 | grow_horizontal = 2 | ||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
| @ -1612,9 +1363,9 @@ text = "UI_BACK" | |||||||
| [node name="LocalMultiplayerMenu" type="VBoxContainer" parent="Menu"] | [node name="LocalMultiplayerMenu" type="VBoxContainer" parent="Menu"] | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = -1 | anchors_preset = -1 | ||||||
| anchor_left = 1.5 | anchor_left = 0.5 | ||||||
| anchor_top = 0.5 | anchor_top = 0.5 | ||||||
| anchor_right = 1.5 | anchor_right = 0.5 | ||||||
| anchor_bottom = 0.5 | anchor_bottom = 0.5 | ||||||
| offset_left = -157.5 | offset_left = -157.5 | ||||||
| offset_top = -52.0 | offset_top = -52.0 | ||||||
| @ -1693,6 +1444,11 @@ libraries = { | |||||||
| } | } | ||||||
| autoplay = "press_start_fade_in" | 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="."] | [node name="SettingsContainer" type="MarginContainer" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| @ -1723,22 +1479,6 @@ theme_override_constants/margin_top = 64 | |||||||
| theme_override_constants/margin_right = 64 | theme_override_constants/margin_right = 64 | ||||||
| theme_override_constants/margin_bottom = 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/SinglePlayer" to="." method="_to_single_player"] | ||||||
| [connection signal="pressed" from="Menu/MainMenu/MultiPlayer" to="." method="_to_multi_player"] | [connection signal="pressed" from="Menu/MainMenu/MultiPlayer" to="." method="_to_multi_player"] | ||||||
| [connection signal="pressed" from="Menu/MainMenu/Settings" to="." method="_open_settings"] | [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/Deathmatch" to="." method="_open_local_deathmatch_setup"] | ||||||
| [connection signal="pressed" from="Menu/LocalMultiplayerMenu/Back" to="." method="_to_multi_player"] | [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="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="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="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="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"] | [node name="LevelCatalog" type="Node"] | ||||||
| script = ExtResource("1_wjjeu") | 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"] | [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="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/player/world_player.gd" id="2_e743i"] | ||||||
| [ext_resource type="Script" path="res://src/ui/world_ui.gd" id="2_imewa"] | [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="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"] | [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"]] | [node name="World" type="Node" groups=["WorldGroup"]] | ||||||
| script = ExtResource("1_ybjyx") | script = ExtResource("1_ybjyx") | ||||||
| initial_level = ExtResource("2_w576d") | initial_level = ExtResource("2_0xu5a") | ||||||
| manager = SubResource("Resource_rdjhi") | manager = SubResource("Resource_rdjhi") | ||||||
| 
 | 
 | ||||||
| [node name="Level" type="Node3D" parent="."] | [node name="Level" type="Node3D" parent="."] | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user