generated from krampus/template-godot4
	Added title crawl animatic
This commit is contained in:
		
							parent
							
								
									384992e935
								
							
						
					
					
						commit
						af73475c26
					
				| @ -45,6 +45,14 @@ 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 | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								assets/fonts/Geo/Geo_Bold.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/fonts/Geo/Geo_Bold.tres
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | [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 | ||||||
							
								
								
									
										7
									
								
								assets/fonts/Geo/Geo_Bold_Italics.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/fonts/Geo/Geo_Bold_Italics.tres
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | [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 | ||||||
							
								
								
									
										93
									
								
								assets/fonts/Orbitron/OFL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								assets/fonts/Orbitron/OFL.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,93 @@ | |||||||
|  | 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. | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
							
								
								
									
										7
									
								
								assets/fonts/Orbitron/Orbitron_Bold_Italics.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/fonts/Orbitron/Orbitron_Bold_Italics.tres
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | [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) | ||||||
							
								
								
									
										7
									
								
								assets/fonts/Orbitron/Orbitron_Italics.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/fonts/Orbitron/Orbitron_Italics.tres
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | [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) | ||||||
							
								
								
									
										68
									
								
								assets/fonts/Orbitron/README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								assets/fonts/Orbitron/README.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,68 @@ | |||||||
|  | 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. | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Black.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Black.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Black.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Black.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Bold.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Bold.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Bold.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Bold.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-ExtraBold.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-ExtraBold.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-ExtraBold.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-ExtraBold.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Medium.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Medium.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Medium.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Medium.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Regular.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-Regular.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Regular.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-Regular.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-SemiBold.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/fonts/Orbitron/static/Orbitron-SemiBold.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-SemiBold.ttf.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								assets/fonts/Orbitron/static/Orbitron-SemiBold.ttf.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | [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={} | ||||||
| @ -137,3 +137,10 @@ BALL_POWER,Powerball | |||||||
| MAP_DEBUG,"Debug Island" | MAP_DEBUG,"Debug Island" | ||||||
| , | , | ||||||
| CHARACTER_DEBUG,"Debug Girl" | 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!" | ||||||
|  | |||||||
| 
 | 
| @ -9,6 +9,8 @@ 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 | ||||||
| 
 | 
 | ||||||
| @ -24,25 +26,34 @@ var bbcode: String = "type" | |||||||
| var _force_visible := false | var _force_visible := false | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _init(force_visible_signal: Signal) -> void: | func _init(force_visible_signal: Variant = null) -> void: | ||||||
| 	if force_visible_signal: | 	if force_visible_signal is Signal: | ||||||
| 		force_visible_signal.connect(_set_force_visible) | 		(force_visible_signal as Signal).connect(_set_force_visible) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func _get_default_speed() -> float: | ||||||
|  | 	if Engine.is_editor_hint(): | ||||||
|  | 		return EDITOR_DEFAULT_SPEED | ||||||
|  | 	return Game.settings.default_text_speed | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _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", Game.settings.default_text_speed) | 		var speed: float = char_fx.env.get("speed", _get_default_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) | ||||||
| @ -63,8 +74,6 @@ 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,6 +35,8 @@ 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,10 +1,14 @@ | |||||||
| [gd_resource type="Theme" load_steps=11 format=3 uid="uid://diodjft5u2cck"] | [gd_resource type="Theme" load_steps=15 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 | ||||||
| @ -179,6 +183,16 @@ 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 | ||||||
|  | |||||||
							
								
								
									
										18
									
								
								src/ui/menus/title_screen/title_crawl.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/ui/menus/title_screen/title_crawl.gd
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | 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") | ||||||
							
								
								
									
										416
									
								
								src/ui/menus/title_screen/title_crawl.tscn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										416
									
								
								src/ui/menus/title_screen/title_crawl.tscn
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,416 @@ | |||||||
|  | [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_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="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="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,23 +2,33 @@ 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 confirm_sfx: AudioStreamPlayer = %ConfirmSFX | @onready var confirm_sfx: AudioStreamPlayer = %ConfirmSFX | ||||||
| 
 | 
 | ||||||
|  | @onready var idle_timer: Timer = %IdleTimer | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| func play_chime() -> void: | func play_chime() -> void: | ||||||
| 	confirm_sfx.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: | ||||||
| 	if event is InputEventKey or event is InputEventJoypadButton or event is InputEventMouseButton: | 	if event is InputEventKey or event is InputEventJoypadButton or event is InputEventMouseButton: | ||||||
| 		if menu_state.get_current_node() in ["press_start_fade_in", "press_start_idle"]: | 		if menu_state.get_current_node() in ["press_start_fade_in", "press_start_idle"]: | ||||||
| @ -34,6 +44,7 @@ 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,4 +1,4 @@ | |||||||
| [gd_scene load_steps=64 format=3 uid="uid://7fsgocmdas7i"] | [gd_scene load_steps=65 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"] | ||||||
| @ -6,6 +6,7 @@ | |||||||
| [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="AudioStream" uid="uid://8uynlpios7u1" path="res://assets/sound/sfx/ui/ecofuture2.wav" id="5_fg1a4"] | [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="Animation" id="Animation_fths4"] | [sub_resource type="Animation" id="Animation_fths4"] | ||||||
| length = 0.001 | length = 0.001 | ||||||
| @ -1176,6 +1177,7 @@ 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") | ||||||
| 
 | 
 | ||||||
| @ -1235,7 +1237,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.997297) | modulate = Color(1, 1, 1, 0.999998) | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = 8 | anchors_preset = 8 | ||||||
| anchor_left = 0.5 | anchor_left = 0.5 | ||||||
| @ -1265,27 +1267,32 @@ 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" | ||||||
| @ -1478,6 +1485,22 @@ 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"] | ||||||
| @ -1489,3 +1512,4 @@ theme_override_constants/margin_bottom = 64 | |||||||
| [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"] | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user