generated from krampus/template-godot4
	Compare commits
	
		
			8 Commits
		
	
	
		
			6e34f236ca
			...
			0b0cb0ddf1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0b0cb0ddf1 | |||
| bf24a280d6 | |||
| c1b7d1b15f | |||
| cbed315048 | |||
| 074dbb06dc | |||
| 162f2237d4 | |||
| 486cb17604 | |||
| 4716dd92ac | 
							
								
								
									
										120
									
								
								asset_credits.org
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								asset_credits.org
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,120 @@ | |||||||
|  | GFOLF: Combat Golf Action | ||||||
|  | Asset credits | ||||||
|  | 
 | ||||||
|  | * Graphics | ||||||
|  | 
 | ||||||
|  | ** Clear Sea Water | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://www.the3rdsequence.com/texturedb/texture/44/clear+sea+water/ | ||||||
|  | 
 | ||||||
|  | *** Author: the3rdSequence | ||||||
|  | 
 | ||||||
|  | *** License: CC BY 4.0 | ||||||
|  | 
 | ||||||
|  | * Fonts | ||||||
|  | 
 | ||||||
|  | ** Dokdo | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://fonts.google.com/specimen/Dokdo | ||||||
|  | 
 | ||||||
|  | *** Author: FONTRIX | ||||||
|  | 
 | ||||||
|  | *** License: OFL 1.1 | ||||||
|  | 
 | ||||||
|  | ** Geo | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://fonts.google.com/specimen/Geo | ||||||
|  | 
 | ||||||
|  | *** Author: Ben Weiner | ||||||
|  | 
 | ||||||
|  | *** License: OFL 1.1 | ||||||
|  | 
 | ||||||
|  | ** Racing Sans One | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://fonts.google.com/specimen/Racing+Sans+One | ||||||
|  | 
 | ||||||
|  | *** Author: Impallari Type | ||||||
|  | 
 | ||||||
|  | *** License: OFL 1.1 | ||||||
|  | 
 | ||||||
|  | * Sound | ||||||
|  | 
 | ||||||
|  | ** drive1.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/zolopher/sounds/75203/ | ||||||
|  | 
 | ||||||
|  | *** Author: zolopher | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** drive2.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/zolopher/sounds/75214/ | ||||||
|  | 
 | ||||||
|  | *** Author: zolopher | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** drive3.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/zolopher/sounds/75204/ | ||||||
|  | 
 | ||||||
|  | *** Author: zolopher | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** drive4.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/13FPanska_Marval_Lukas/sounds/379328/ | ||||||
|  | 
 | ||||||
|  | *** Author: 13FPanska_Marval_Lukas | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** hole.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/inbeeld/sounds/21878/ | ||||||
|  | 
 | ||||||
|  | *** Author: inbeeld | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** putt1.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/lmbubec/sounds/119451/ | ||||||
|  | 
 | ||||||
|  | *** Author: lmbubec | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** grass1.wav - grass5.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/mmmtoop/sounds/674030/ | ||||||
|  | 
 | ||||||
|  | *** Author: mmmtoop | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** sand1.wav - sand3.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/Elements-Library/sounds/683785/ | ||||||
|  | 
 | ||||||
|  | *** Author: Elements-Library | ||||||
|  | 
 | ||||||
|  | *** License: CC0 | ||||||
|  | 
 | ||||||
|  | ** explosion.mp3 | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://pixabay.com/sound-effects/grenade-explosion-14-190266/ | ||||||
|  | 
 | ||||||
|  | *** Author: DavidDumaisAudio | ||||||
|  | 
 | ||||||
|  | *** License: Pixabay | ||||||
|  | 
 | ||||||
|  | ** ecofuture.wav | ||||||
|  | 
 | ||||||
|  | *** Retrieved from https://freesound.org/people/soneproject/sounds/346425/ | ||||||
|  | 
 | ||||||
|  | *** Author: soneproject | ||||||
|  | 
 | ||||||
|  | *** License: CC BY 3.0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								asset_dev/audio/366597__jittels__golf-ball-bounce.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/audio/366597__jittels__golf-ball-bounce.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/audio/399294__komitwav__synth-sparkle.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/audio/399294__komitwav__synth-sparkle.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/audio/674030__mmmtoop__230104-037_normalized_floor_mat_golf_ball_potential_kick_hit.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/audio/674030__mmmtoop__230104-037_normalized_floor_mat_golf_ball_potential_kick_hit.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/audio/683785__elements-library__hard-impact-on-sand.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/audio/683785__elements-library__hard-impact-on-sand.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/audio/drive4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/audio/drive4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								asset_dev/terrain/grass_green.xcf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								asset_dev/terrain/grass_green.xcf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -16,7 +16,7 @@ Rendering=null | |||||||
| antialiasing=1 | antialiasing=1 | ||||||
| generate_mipmaps=true | generate_mipmaps=true | ||||||
| disable_embedded_bitmaps=true | disable_embedded_bitmaps=true | ||||||
| multichannel_signed_distance_field=false | multichannel_signed_distance_field=true | ||||||
| msdf_pixel_range=8 | msdf_pixel_range=8 | ||||||
| msdf_size=48 | msdf_size=48 | ||||||
| allow_system_fallback=true | allow_system_fallback=true | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ Rendering=null | |||||||
| antialiasing=1 | antialiasing=1 | ||||||
| generate_mipmaps=true | generate_mipmaps=true | ||||||
| disable_embedded_bitmaps=true | disable_embedded_bitmaps=true | ||||||
| multichannel_signed_distance_field=false | multichannel_signed_distance_field=true | ||||||
| msdf_pixel_range=8 | msdf_pixel_range=8 | ||||||
| msdf_size=48 | msdf_size=48 | ||||||
| allow_system_fallback=true | allow_system_fallback=true | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ Rendering=null | |||||||
| antialiasing=1 | antialiasing=1 | ||||||
| generate_mipmaps=true | generate_mipmaps=true | ||||||
| disable_embedded_bitmaps=true | disable_embedded_bitmaps=true | ||||||
| multichannel_signed_distance_field=false | multichannel_signed_distance_field=true | ||||||
| msdf_pixel_range=8 | msdf_pixel_range=8 | ||||||
| msdf_size=48 | msdf_size=48 | ||||||
| allow_system_fallback=true | allow_system_fallback=true | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete1.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete1.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://bp2iaowkqvtj8" | ||||||
|  | path="res://.godot/imported/concrete1.wav-fd53edddc2b6023804ce5ffb1713f99a.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete1.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete1.wav-fd53edddc2b6023804ce5ffb1713f99a.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete2.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete2.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://4355dy0meqbm" | ||||||
|  | path="res://.godot/imported/concrete2.wav-ca6360ffedc83e3ef200990602e8177f.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete2.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete2.wav-ca6360ffedc83e3ef200990602e8177f.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete3.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete3.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://orisjdcj3mes" | ||||||
|  | path="res://.godot/imported/concrete3.wav-fd28bbeb346240f5e96bc491f8e0a16f.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete3.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete3.wav-fd28bbeb346240f5e96bc491f8e0a16f.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete4.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete4.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://o4whyv43rr1u" | ||||||
|  | path="res://.godot/imported/concrete4.wav-4a18f12d2767719d7c6842841fd8d85b.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete4.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete4.wav-4a18f12d2767719d7c6842841fd8d85b.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete5.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete5.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete5.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete5.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://3csnnhxndt67" | ||||||
|  | path="res://.godot/imported/concrete5.wav-bfae0b04558dbd1d5e4feefb4d59d6b9.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete5.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete5.wav-bfae0b04558dbd1d5e4feefb4d59d6b9.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete6.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete6.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete6.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete6.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://duayjxkje12ey" | ||||||
|  | path="res://.godot/imported/concrete6.wav-ba9216b4a836ae83a36866e8d77787dc.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete6.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete6.wav-ba9216b4a836ae83a36866e8d77787dc.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete7.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/concrete7.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/concrete7.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/concrete7.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://bhhts1tkvv236" | ||||||
|  | path="res://.godot/imported/concrete7.wav-053d67f927d1311d4f9640a798e1807e.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/concrete7.wav" | ||||||
|  | dest_files=["res://.godot/imported/concrete7.wav-053d67f927d1311d4f9640a798e1807e.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/grass1.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/grass1.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://cwpyh41qbh8js" | ||||||
|  | path="res://.godot/imported/grass1.wav-b4216b08493666f75784d0642045864f.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/grass1.wav" | ||||||
|  | dest_files=["res://.godot/imported/grass1.wav-b4216b08493666f75784d0642045864f.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/grass2.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/grass2.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://cayyndwmxua5x" | ||||||
|  | path="res://.godot/imported/grass2.wav-430d8da851839bd8347aa77dc113d7ff.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/grass2.wav" | ||||||
|  | dest_files=["res://.godot/imported/grass2.wav-430d8da851839bd8347aa77dc113d7ff.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/grass3.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/grass3.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://b87bneqvovibi" | ||||||
|  | path="res://.godot/imported/grass3.wav-1d9817728f47ac5124105d7c1f50eeb0.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/grass3.wav" | ||||||
|  | dest_files=["res://.godot/imported/grass3.wav-1d9817728f47ac5124105d7c1f50eeb0.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/grass4.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/grass4.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://b0fup7btd0b1k" | ||||||
|  | path="res://.godot/imported/grass4.wav-29729dac6e9ca8db822b77925ab1a78e.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/grass4.wav" | ||||||
|  | dest_files=["res://.godot/imported/grass4.wav-29729dac6e9ca8db822b77925ab1a78e.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass5.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/grass5.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/grass5.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/grass5.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://c6d1rse1aveiy" | ||||||
|  | path="res://.godot/imported/grass5.wav-c1b5dcb7a89369922bcbafb0da9e769f.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/grass5.wav" | ||||||
|  | dest_files=["res://.godot/imported/grass5.wav-c1b5dcb7a89369922bcbafb0da9e769f.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/sand1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/sand1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/sand1.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/sand1.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://bbbp6wrkuhkek" | ||||||
|  | path="res://.godot/imported/sand1.wav-adf26d7ca3003a8860fb46cc0758e7bd.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/sand1.wav" | ||||||
|  | dest_files=["res://.godot/imported/sand1.wav-adf26d7ca3003a8860fb46cc0758e7bd.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/sand2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/sand2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/sand2.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/sand2.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://b5xx5t050i4p" | ||||||
|  | path="res://.godot/imported/sand2.wav-8556fd9b18e6810c91fc69b1f24a839b.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/sand2.wav" | ||||||
|  | dest_files=["res://.godot/imported/sand2.wav-8556fd9b18e6810c91fc69b1f24a839b.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/sand3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ball/sand3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ball/sand3.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ball/sand3.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://c35jy105xr640" | ||||||
|  | path="res://.godot/imported/sand3.wav-708a3206418fb40e4b4f401186c037b1.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ball/sand3.wav" | ||||||
|  | dest_files=["res://.godot/imported/sand3.wav-708a3206418fb40e4b4f401186c037b1.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/drive1.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/drive1.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://cllhgumv1fkju" | ||||||
|  | path="res://.godot/imported/drive1.wav-37a2ebf3422caee7737ed14d066e94ec.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/drive1.wav" | ||||||
|  | dest_files=["res://.godot/imported/drive1.wav-37a2ebf3422caee7737ed14d066e94ec.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/drive2.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/drive2.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://c8vouau0488fh" | ||||||
|  | path="res://.godot/imported/drive2.wav-40bb0e3487bcffb646233c3e9c9465a1.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/drive2.wav" | ||||||
|  | dest_files=["res://.godot/imported/drive2.wav-40bb0e3487bcffb646233c3e9c9465a1.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/drive3.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/drive3.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://cskhg5l86yvkw" | ||||||
|  | path="res://.godot/imported/drive3.wav-cc637d549cbfcb948c40cc777dca0600.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/drive3.wav" | ||||||
|  | dest_files=["res://.godot/imported/drive3.wav-cc637d549cbfcb948c40cc777dca0600.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/drive4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/drive4.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/drive4.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://bkd8py2e7yfat" | ||||||
|  | path="res://.godot/imported/drive4.wav-b79415fd0bf467327ac8875e2a0a8c6a.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/drive4.wav" | ||||||
|  | dest_files=["res://.godot/imported/drive4.wav-b79415fd0bf467327ac8875e2a0a8c6a.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/explosion.mp3
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/explosion.mp3
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										19
									
								
								assets/sound/sfx/player/explosion.mp3.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								assets/sound/sfx/player/explosion.mp3.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="mp3" | ||||||
|  | type="AudioStreamMP3" | ||||||
|  | uid="uid://cvsv02inxvsyw" | ||||||
|  | path="res://.godot/imported/explosion.mp3-7499f525d153013b4f2692e529312448.mp3str" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/explosion.mp3" | ||||||
|  | dest_files=["res://.godot/imported/explosion.mp3-7499f525d153013b4f2692e529312448.mp3str"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | loop=false | ||||||
|  | loop_offset=0 | ||||||
|  | bpm=0 | ||||||
|  | beat_count=0 | ||||||
|  | bar_beats=4 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/hole.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/hole.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/hole.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/hole.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://b1pnbcsi0jrlf" | ||||||
|  | path="res://.godot/imported/hole.wav-084f4e3629b5927d5a661d5f59a9d3e7.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/hole.wav" | ||||||
|  | dest_files=["res://.godot/imported/hole.wav-084f4e3629b5927d5a661d5f59a9d3e7.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/putt1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/putt1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/putt1.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/putt1.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://j54ssyodqnn3" | ||||||
|  | path="res://.godot/imported/putt1.wav-f5b4cf94df3968330049619e9410ebd1.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/putt1.wav" | ||||||
|  | dest_files=["res://.godot/imported/putt1.wav-f5b4cf94df3968330049619e9410ebd1.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/player/sparkle.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/player/sparkle.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/player/sparkle.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/player/sparkle.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://bvl3vpj3bg04r" | ||||||
|  | path="res://.godot/imported/sparkle.wav-e0e2ee28a5f3eebbbd6eb43c0562e56d.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/player/sparkle.wav" | ||||||
|  | dest_files=["res://.godot/imported/sparkle.wav-e0e2ee28a5f3eebbbd6eb43c0562e56d.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture1.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ui/ecofuture1.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ui/ecofuture1.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://dxoo3qgkkhbpj" | ||||||
|  | path="res://.godot/imported/ecofuture1.wav-1ce9e72eda25c7270fd356e129c3353b.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ui/ecofuture1.wav" | ||||||
|  | dest_files=["res://.godot/imported/ecofuture1.wav-1ce9e72eda25c7270fd356e129c3353b.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture2.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ui/ecofuture2.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ui/ecofuture2.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://8uynlpios7u1" | ||||||
|  | path="res://.godot/imported/ecofuture2.wav-72a1f01a22cb0f38074ccdef6e2dc37f.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ui/ecofuture2.wav" | ||||||
|  | dest_files=["res://.godot/imported/ecofuture2.wav-72a1f01a22cb0f38074ccdef6e2dc37f.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture3.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ui/ecofuture3.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ui/ecofuture3.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://c8bxu5lusqevv" | ||||||
|  | path="res://.godot/imported/ecofuture3.wav-cfc8eb28b0ae99aa20757172461b6439.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ui/ecofuture3.wav" | ||||||
|  | dest_files=["res://.godot/imported/ecofuture3.wav-cfc8eb28b0ae99aa20757172461b6439.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/sound/sfx/ui/ecofuture4.wav
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/sound/sfx/ui/ecofuture4.wav.import
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/sound/sfx/ui/ecofuture4.wav.import
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | [remap] | ||||||
|  | 
 | ||||||
|  | importer="wav" | ||||||
|  | type="AudioStreamWAV" | ||||||
|  | uid="uid://cuupx50lrp02p" | ||||||
|  | path="res://.godot/imported/ecofuture4.wav-5123fe535484e1633f20122f24129c06.sample" | ||||||
|  | 
 | ||||||
|  | [deps] | ||||||
|  | 
 | ||||||
|  | source_file="res://assets/sound/sfx/ui/ecofuture4.wav" | ||||||
|  | dest_files=["res://.godot/imported/ecofuture4.wav-5123fe535484e1633f20122f24129c06.sample"] | ||||||
|  | 
 | ||||||
|  | [params] | ||||||
|  | 
 | ||||||
|  | force/8_bit=false | ||||||
|  | force/mono=false | ||||||
|  | force/max_rate=false | ||||||
|  | force/max_rate_hz=44100 | ||||||
|  | edit/trim=false | ||||||
|  | edit/normalize=false | ||||||
|  | edit/loop_mode=0 | ||||||
|  | edit/loop_begin=0 | ||||||
|  | edit/loop_end=-1 | ||||||
|  | compress/mode=0 | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/textures/grass_green/grass_green_albedo.dds
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/textures/grass_green/grass_green_albedo.dds
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								assets/textures/grass_green/grass_green_normal.dds
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/textures/grass_green/grass_green_normal.dds
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										15
									
								
								default_bus_layout.tres
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								default_bus_layout.tres
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | [gd_resource type="AudioBusLayout" format=3 uid="uid://cwxndi28bii8d"] | ||||||
|  | 
 | ||||||
|  | [resource] | ||||||
|  | bus/1/name = &"SFX" | ||||||
|  | bus/1/solo = false | ||||||
|  | bus/1/mute = false | ||||||
|  | bus/1/bypass_fx = false | ||||||
|  | bus/1/volume_db = 0.0 | ||||||
|  | bus/1/send = &"Master" | ||||||
|  | bus/2/name = &"Music" | ||||||
|  | bus/2/solo = false | ||||||
|  | bus/2/mute = false | ||||||
|  | bus/2/bypass_fx = false | ||||||
|  | bus/2/volume_db = 0.0 | ||||||
|  | bus/2/send = &"Master" | ||||||
| @ -1,17 +1,10 @@ | |||||||
| [gd_scene load_steps=51 format=3 uid="uid://bm2o3mex10v11"] | [gd_scene load_steps=37 format=3 uid="uid://bm2o3mex10v11"] | ||||||
| 
 | 
 | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/grass_fairway/grass_fairway_albedo.dds" id="2_e4m27"] | [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/grass_rough/grass_rough_albedo.dds" id="4_p0awb"] |  | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/grass_rough/grass_rough_normal.dds" id="4_yhjhv"] |  | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/grass_fairway/grass_fairway_normal.dds" id="5_o361t"] |  | ||||||
| [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] | [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" path="res://assets/textures/sand_trap/sand_trap_albedo.dds" id="6_nlea7"] |  | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/sand_trap/sand_trap_normal.dds" id="7_f25dn"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"] | [ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"] | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/mountain_rock/mountain_rock_albedo.dds" id="8_ujbjy"] |  | ||||||
| [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"] | ||||||
| [ext_resource type="Texture2D" path="res://assets/textures/mountain_rock/mountain_rock_normal.dds" id="9_rrguh"] |  | ||||||
| [ext_resource type="PackedScene" uid="uid://dagh38vap4t1d" path="res://src/props/scenery/city/concrete_building_1.tscn" id="10_lf15j"] | [ext_resource type="PackedScene" uid="uid://dagh38vap4t1d" path="res://src/props/scenery/city/concrete_building_1.tscn" id="10_lf15j"] | ||||||
| [ext_resource type="PackedScene" uid="uid://cjubxs7peir5k" path="res://src/props/scenery/city/kana_signboard.tscn" id="11_evxup"] | [ext_resource type="PackedScene" uid="uid://cjubxs7peir5k" path="res://src/props/scenery/city/kana_signboard.tscn" id="11_evxup"] | ||||||
| [ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"] | [ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"] | ||||||
| @ -34,7 +27,7 @@ noise = SubResource("FastNoiseLite_rpgb7") | |||||||
| 
 | 
 | ||||||
| [sub_resource type="Terrain3DMaterial" id="Terrain3DMaterial_woy2k"] | [sub_resource type="Terrain3DMaterial" id="Terrain3DMaterial_woy2k"] | ||||||
| _shader_parameters = { | _shader_parameters = { | ||||||
| "auto_base_texture": 3, | "auto_base_texture": 4, | ||||||
| "auto_height_reduction": 0.1, | "auto_height_reduction": 0.1, | ||||||
| "auto_overlay_texture": 0, | "auto_overlay_texture": 0, | ||||||
| "auto_slope": 0.41, | "auto_slope": 0.41, | ||||||
| @ -61,53 +54,6 @@ world_background = 2 | |||||||
| texture_filtering = 1 | texture_filtering = 1 | ||||||
| auto_shader = true | auto_shader = true | ||||||
| 
 | 
 | ||||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_l1sla"] |  | ||||||
| transparency = 4 |  | ||||||
| cull_mode = 2 |  | ||||||
| vertex_color_use_as_albedo = true |  | ||||||
| backlight_enabled = true |  | ||||||
| backlight = Color(0.5, 0.5, 0.5, 1) |  | ||||||
| distance_fade_mode = 1 |  | ||||||
| distance_fade_min_distance = 960.0 |  | ||||||
| distance_fade_max_distance = 480.0 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Terrain3DMeshAsset" id="Terrain3DMeshAsset_iaq2t"] |  | ||||||
| height_offset = 0.5 |  | ||||||
| density = 10.0 |  | ||||||
| material_override = SubResource("StandardMaterial3D_l1sla") |  | ||||||
| generated_type = 1 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Terrain3DTextureAsset" id="Terrain3DTextureAsset_kocfk"] |  | ||||||
| name = "Rough Grass" |  | ||||||
| albedo_texture = ExtResource("4_p0awb") |  | ||||||
| normal_texture = ExtResource("4_yhjhv") |  | ||||||
| uv_scale = 0.01 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Terrain3DTextureAsset" id="Terrain3DTextureAsset_vmhlw"] |  | ||||||
| name = "Fairway Grass" |  | ||||||
| id = 1 |  | ||||||
| albedo_texture = ExtResource("2_e4m27") |  | ||||||
| normal_texture = ExtResource("5_o361t") |  | ||||||
| uv_scale = 0.01 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Terrain3DTextureAsset" id="Terrain3DTextureAsset_k6h8c"] |  | ||||||
| name = "sand_trap_albedo" |  | ||||||
| id = 2 |  | ||||||
| albedo_texture = ExtResource("6_nlea7") |  | ||||||
| normal_texture = ExtResource("7_f25dn") |  | ||||||
| uv_scale = 0.01 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Terrain3DTextureAsset" id="Terrain3DTextureAsset_13d2a"] |  | ||||||
| name = "mountain_rock_albedo" |  | ||||||
| id = 3 |  | ||||||
| albedo_texture = ExtResource("8_ujbjy") |  | ||||||
| normal_texture = ExtResource("9_rrguh") |  | ||||||
| uv_scale = 0.02 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Terrain3DAssets" id="Terrain3DAssets_eq5uw"] |  | ||||||
| mesh_list = Array[Terrain3DMeshAsset]([SubResource("Terrain3DMeshAsset_iaq2t")]) |  | ||||||
| texture_list = Array[Terrain3DTextureAsset]([SubResource("Terrain3DTextureAsset_kocfk"), SubResource("Terrain3DTextureAsset_vmhlw"), SubResource("Terrain3DTextureAsset_k6h8c"), SubResource("Terrain3DTextureAsset_13d2a")]) |  | ||||||
| 
 |  | ||||||
| [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"] | [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_h8tes"] | ||||||
| panorama = ExtResource("6_ectru") | panorama = ExtResource("6_ectru") | ||||||
| 
 | 
 | ||||||
| @ -243,7 +189,7 @@ point_count = 5 | |||||||
| [node name="Terrain3D" type="Terrain3D" parent="."] | [node name="Terrain3D" type="Terrain3D" parent="."] | ||||||
| data_directory = "res://levels/debug_level/terrain_3d_data" | data_directory = "res://levels/debug_level/terrain_3d_data" | ||||||
| material = SubResource("Terrain3DMaterial_woy2k") | material = SubResource("Terrain3DMaterial_woy2k") | ||||||
| assets = SubResource("Terrain3DAssets_eq5uw") | assets = ExtResource("1_5smdk") | ||||||
| mesh_size = 64 | mesh_size = 64 | ||||||
| top_level = true | top_level = true | ||||||
| metadata/_edit_lock_ = true | metadata/_edit_lock_ = true | ||||||
| @ -260,6 +206,8 @@ shadow_blur = 4.0 | |||||||
| [node name="Course" type="Node3D" parent="."] | [node name="Course" type="Node3D" parent="."] | ||||||
| 
 | 
 | ||||||
| [node name="Fairway" type="Area3D" parent="Course"] | [node name="Fairway" type="Area3D" parent="Course"] | ||||||
|  | gravity_point_center = Vector3(0, 1, 0) | ||||||
|  | gravity_direction = Vector3(0, 1, 0) | ||||||
| script = ExtResource("9_jwlau") | script = ExtResource("9_jwlau") | ||||||
| terrain_angular_damping = 2.0 | terrain_angular_damping = 2.0 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								levels/debug_level/terrain_3d_data/terrain3d_00_00.res
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								levels/debug_level/terrain_3d_data/terrain3d_00_00.res
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								levels/debug_level/terrain_assets.res
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								levels/debug_level/terrain_assets.res
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -197,6 +197,12 @@ ball_previous={ | |||||||
| 
 | 
 | ||||||
| 3d_physics/layer_1="Collision Geometry" | 3d_physics/layer_1="Collision Geometry" | ||||||
| 3d_physics/layer_2="Layer 3" | 3d_physics/layer_2="Layer 3" | ||||||
|  | 3d_physics/layer_27="Glass Material" | ||||||
|  | 3d_physics/layer_28="Metal Material" | ||||||
|  | 3d_physics/layer_29="Rock Material" | ||||||
|  | 3d_physics/layer_30="Wood Material" | ||||||
|  | 3d_physics/layer_31="Sand Material" | ||||||
|  | 3d_physics/layer_32="Grass Material" | ||||||
| 
 | 
 | ||||||
| [physics] | [physics] | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										37
									
								
								src/equipment/balls/physics_ball/ball_sfx.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/equipment/balls/physics_ball/ball_sfx.gd
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  | class_name BallSFX extends Node3D | ||||||
|  | ## Controller for ball sound effects. | ||||||
|  | 
 | ||||||
|  | const BASE_VOLUME := -36.0 | ||||||
|  | const MAX_VOLUME := 3.0 | ||||||
|  | const VELOCITY_ATTENUATION_SCALE := 400.0 | ||||||
|  | 
 | ||||||
|  | @onready var parent: GameBall = $".." | ||||||
|  | 
 | ||||||
|  | @onready var grass_sfx_player: AudioStreamPlayer3D = %GrassSFXPlayer | ||||||
|  | @onready var concrete_sfx_player: AudioStreamPlayer3D = %ConcreteSFXPlayer | ||||||
|  | @onready var sand_sfx_player: AudioStreamPlayer3D = %SandSFXPlayer | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func _force_attenuated_volume() -> float: | ||||||
|  | 	# Attenuate volume based on impact force | ||||||
|  | 	return lerpf( | ||||||
|  | 		BASE_VOLUME, | ||||||
|  | 		MAX_VOLUME, | ||||||
|  | 		clampf(parent.linear_velocity.length_squared() / VELOCITY_ATTENUATION_SCALE, 0, 1) | ||||||
|  | 	) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func _play(player: AudioStreamPlayer3D) -> void: | ||||||
|  | 	player.volume_db = _force_attenuated_volume() | ||||||
|  | 	print("PLAYING: ", player, "... VOLUME: ", player.volume_db) | ||||||
|  | 	player.play() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func play_sfx(terrain: Terrain.Type) -> void: | ||||||
|  | 	match terrain: | ||||||
|  | 		Terrain.Type.ROUGH, Terrain.Type.GREEN, Terrain.Type.FAIRWAY: | ||||||
|  | 			_play(grass_sfx_player) | ||||||
|  | 		Terrain.Type.CONCRETE, Terrain.Type.ROCK: | ||||||
|  | 			_play(concrete_sfx_player) | ||||||
|  | 		Terrain.Type.SAND: | ||||||
|  | 			_play(sand_sfx_player) | ||||||
| @ -52,6 +52,8 @@ var _position_on_last_wake: Vector3 | |||||||
| var _awake := false | var _awake := false | ||||||
| var _zones: Array[BallZone] = [] | var _zones: Array[BallZone] = [] | ||||||
| 
 | 
 | ||||||
|  | @onready var sfx: BallSFX = %SFX | ||||||
|  | 
 | ||||||
| @onready var normal_physics: PhysicsMaterial = preload( | @onready var normal_physics: PhysicsMaterial = preload( | ||||||
| 	"res://src/equipment/balls/physics_ball/normal_physics.tres" | 	"res://src/equipment/balls/physics_ball/normal_physics.tres" | ||||||
| ) | ) | ||||||
| @ -142,3 +144,14 @@ func _on_sleeping_state_changed() -> void: | |||||||
| 	if sleeping: | 	if sleeping: | ||||||
| 		# Trigger to reassign on wake | 		# Trigger to reassign on wake | ||||||
| 		_awake = false | 		_awake = false | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func _on_collision(body: Node) -> void: | ||||||
|  | 	if body is Terrain3D: | ||||||
|  | 		sfx.play_sfx(Terrain.at_position(global_position, body as Terrain3D)) | ||||||
|  | 	elif body is CSGShape3D: | ||||||
|  | 		sfx.play_sfx(Terrain.from_physical_layer((body as CSGShape3D).collision_layer)) | ||||||
|  | 	elif body is CollisionObject3D: | ||||||
|  | 		sfx.play_sfx(Terrain.from_physical_layer((body as CollisionObject3D).collision_layer)) | ||||||
|  | 	else: | ||||||
|  | 		print_debug("COLLIDER: ", body) | ||||||
|  | |||||||
| @ -1,9 +1,16 @@ | |||||||
| [gd_scene load_steps=9 format=3 uid="uid://dfttci386ohip"] | [gd_scene load_steps=19 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="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="1_y3q5j"] | [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="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="2_mx7l6"] | ||||||
|  | [ext_resource type="Script" path="res://src/equipment/balls/physics_ball/ball_sfx.gd" id="5_bhshl"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://cayyndwmxua5x" path="res://assets/sound/sfx/ball/grass2.wav" id="7_l22cv"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://orisjdcj3mes" path="res://assets/sound/sfx/ball/concrete3.wav" id="7_t2ak2"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://o4whyv43rr1u" path="res://assets/sound/sfx/ball/concrete4.wav" id="8_0anjl"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://3csnnhxndt67" path="res://assets/sound/sfx/ball/concrete5.wav" id="9_p0lmw"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://bbbp6wrkuhkek" path="res://assets/sound/sfx/ball/sand1.wav" id="10_b64mx"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://b5xx5t050i4p" path="res://assets/sound/sfx/ball/sand2.wav" id="11_ed8je"] | ||||||
| 
 | 
 | ||||||
| [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xqofq"] | [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xqofq"] | ||||||
| albedo_texture = ExtResource("1_y3q5j") | albedo_texture = ExtResource("1_y3q5j") | ||||||
| @ -66,6 +73,25 @@ func _draw() -> void: | |||||||
| 		draw_line(start, end, COLOR_MAGNUS, WIDTH) | 		draw_line(start, end, COLOR_MAGNUS, WIDTH) | ||||||
| " | " | ||||||
| 
 | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_gc38m"] | ||||||
|  | playback_mode = 1 | ||||||
|  | random_pitch = 1.1 | ||||||
|  | streams_count = 1 | ||||||
|  | stream_0/stream = ExtResource("7_l22cv") | ||||||
|  | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_tg0n0"] | ||||||
|  | random_pitch = 1.1 | ||||||
|  | streams_count = 3 | ||||||
|  | stream_0/stream = ExtResource("7_t2ak2") | ||||||
|  | stream_1/stream = ExtResource("8_0anjl") | ||||||
|  | stream_2/stream = ExtResource("9_p0lmw") | ||||||
|  | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_uu1f8"] | ||||||
|  | playback_mode = 1 | ||||||
|  | streams_count = 2 | ||||||
|  | stream_0/stream = ExtResource("10_b64mx") | ||||||
|  | stream_1/stream = ExtResource("11_ed8je") | ||||||
|  | 
 | ||||||
| [node name="PhysicsBall" type="RigidBody3D"] | [node name="PhysicsBall" type="RigidBody3D"] | ||||||
| mass = 0.05 | mass = 0.05 | ||||||
| physics_material_override = ExtResource("1_l23pw") | physics_material_override = ExtResource("1_l23pw") | ||||||
| @ -97,4 +123,28 @@ grow_vertical = 2 | |||||||
| script = SubResource("GDScript_p4v7o") | script = SubResource("GDScript_p4v7o") | ||||||
| draw_reoriented_basis = false | draw_reoriented_basis = false | ||||||
| 
 | 
 | ||||||
|  | [node name="SFX" type="Node3D" parent="."] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | script = ExtResource("5_bhshl") | ||||||
|  | 
 | ||||||
|  | [node name="GrassSFXPlayer" type="AudioStreamPlayer3D" parent="SFX"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | stream = SubResource("AudioStreamRandomizer_gc38m") | ||||||
|  | unit_size = 40.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [node name="ConcreteSFXPlayer" type="AudioStreamPlayer3D" parent="SFX"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | stream = SubResource("AudioStreamRandomizer_tg0n0") | ||||||
|  | unit_size = 40.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [node name="SandSFXPlayer" type="AudioStreamPlayer3D" parent="SFX"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | stream = SubResource("AudioStreamRandomizer_uu1f8") | ||||||
|  | unit_size = 40.0 | ||||||
|  | max_db = 0.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [connection signal="body_entered" from="." to="." method="_on_collision"] | ||||||
| [connection signal="sleeping_state_changed" from="." to="." method="_on_sleeping_state_changed"] | [connection signal="sleeping_state_changed" from="." to="." method="_on_sleeping_state_changed"] | ||||||
|  | |||||||
| @ -184,10 +184,12 @@ stretch = true | |||||||
| script = ExtResource("3_rmm5i") | script = ExtResource("3_rmm5i") | ||||||
| 
 | 
 | ||||||
| [node name="Viewport" type="SubViewport" parent="RootControl/Rumbler/ViewportContainer"] | [node name="Viewport" type="SubViewport" parent="RootControl/Rumbler/ViewportContainer"] | ||||||
|  | unique_name_in_owner = true | ||||||
| handle_input_locally = false | handle_input_locally = false | ||||||
| msaa_3d = 3 | msaa_3d = 3 | ||||||
| screen_space_aa = 1 | screen_space_aa = 1 | ||||||
| use_taa = true | use_taa = true | ||||||
|  | audio_listener_enable_3d = true | ||||||
| size = Vector2i(1920, 1080) | size = Vector2i(1920, 1080) | ||||||
| render_target_update_mode = 4 | render_target_update_mode = 4 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -140,6 +140,7 @@ var _tracking_camera: OrbitalCamera | |||||||
| @onready var character: CharacterController = $PlayerPivot/GfolfGirl | @onready var character: CharacterController = $PlayerPivot/GfolfGirl | ||||||
| 
 | 
 | ||||||
| @onready var shot_animation: AnimationPlayer = %ShotAnimation | @onready var shot_animation: AnimationPlayer = %ShotAnimation | ||||||
|  | @onready var shot_sfx: ShotSFX = %ShotSFX | ||||||
| 
 | 
 | ||||||
| @onready var arrow: Node3D = %Arrow | @onready var arrow: Node3D = %Arrow | ||||||
| @onready var arrow_pivot: Node3D = %ArrowPivot | @onready var arrow_pivot: Node3D = %ArrowPivot | ||||||
| @ -161,6 +162,7 @@ var _tracking_camera: OrbitalCamera | |||||||
| @onready var ball_return_timer: Timer = %BallReturnTimer | @onready var ball_return_timer: Timer = %BallReturnTimer | ||||||
| 
 | 
 | ||||||
| @onready var explosion_animation: AnimationPlayer = %ExplosionAnimation | @onready var explosion_animation: AnimationPlayer = %ExplosionAnimation | ||||||
|  | @onready var player_label: Label3D = %PlayerLabel | ||||||
| 
 | 
 | ||||||
| @onready var camera_distance := zoom.position.z: | @onready var camera_distance := zoom.position.z: | ||||||
| 	set = _set_camera_distance | 	set = _set_camera_distance | ||||||
| @ -180,6 +182,12 @@ func _ready() -> void: | |||||||
| 	ball_type = initial_ball | 	ball_type = initial_ball | ||||||
| 	club = initial_club | 	club = initial_club | ||||||
| 	character.set_color(player.color) | 	character.set_color(player.color) | ||||||
|  | 
 | ||||||
|  | 	# Set up player 3D label | ||||||
|  | 	player_label.text = player.name | ||||||
|  | 	player_label.modulate = player.color | ||||||
|  | 	player_label.outline_modulate = ColorTools.get_bg_color(player.color) | ||||||
|  | 
 | ||||||
| 	_on_phase_change(phase) | 	_on_phase_change(phase) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -223,6 +231,10 @@ func is_active() -> bool: | |||||||
| 	return phase != Phase.FINISHED | 	return phase != Phase.FINISHED | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | func is_shot_good() -> bool: | ||||||
|  | 	return abs(shot_curve) <= NICE_THRESHOLD | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| func finish_downswing() -> void: | func finish_downswing() -> void: | ||||||
| 	phase = Phase.SHOT | 	phase = Phase.SHOT | ||||||
| 
 | 
 | ||||||
| @ -235,13 +247,14 @@ func take_shot() -> void: | |||||||
| 	# Impact screenshake & hitlag | 	# Impact screenshake & hitlag | ||||||
| 	if game: | 	if game: | ||||||
| 		if shot_power > BIG_POWER_THRESHOLD: | 		if shot_power > BIG_POWER_THRESHOLD: | ||||||
| 			game.viewport.hit_lag_big() | 			#game.viewport.hit_lag_big() | ||||||
| 			var shake_intensity: float = ( | 			var shake_intensity: float = ( | ||||||
| 				10.0 * (shot_power - BIG_POWER_THRESHOLD) / (1.0 - BIG_POWER_THRESHOLD) | 				10.0 * (shot_power - BIG_POWER_THRESHOLD) / (1.0 - BIG_POWER_THRESHOLD) | ||||||
| 			) | 			) | ||||||
| 			game.viewport.screen_shake(shake_intensity, 1.0) | 			game.viewport.screen_shake(shake_intensity, 1.0) | ||||||
| 		else: | 		else: | ||||||
| 			game.viewport.hit_lag_small() | 			pass | ||||||
|  | 			#game.viewport.hit_lag_small() | ||||||
| 
 | 
 | ||||||
| 	print_debug("WHACK!\nPower: ", shot_power, "\nCurve: ", shot_curve) | 	print_debug("WHACK!\nPower: ", shot_power, "\nCurve: ", shot_curve) | ||||||
| 
 | 
 | ||||||
| @ -263,6 +276,9 @@ func take_shot() -> void: | |||||||
| 		game_ball.freeze = false | 		game_ball.freeze = false | ||||||
| 		game_ball.apply_impulse(impulse, offset) | 		game_ball.apply_impulse(impulse, offset) | ||||||
| 
 | 
 | ||||||
|  | 	# Play SFX | ||||||
|  | 	shot_sfx.play_shot_sfx(club, is_shot_good(), shot_power) | ||||||
|  | 
 | ||||||
| 	# Use a ball if a limited type is selected | 	# Use a ball if a limited type is selected | ||||||
| 	if player.get_balls(ball_type) > 0: | 	if player.get_balls(ball_type) > 0: | ||||||
| 		player.mutate_balls(ball_type, -1) | 		player.mutate_balls(ball_type, -1) | ||||||
| @ -434,7 +450,7 @@ func _on_phase_change(new_phase: Phase) -> void: | |||||||
| 			if perfect_aim: | 			if perfect_aim: | ||||||
| 				shot_curve = 0.0 | 				shot_curve = 0.0 | ||||||
| 
 | 
 | ||||||
| 			if abs(shot_curve) <= NICE_THRESHOLD: | 			if is_shot_good(): | ||||||
| 				hud.play_nice_animation() | 				hud.play_nice_animation() | ||||||
| 
 | 
 | ||||||
| 			if not driving_range: | 			if not driving_range: | ||||||
|  | |||||||
| @ -1,13 +1,38 @@ | |||||||
| [gd_scene load_steps=22 format=3 uid="uid://cy7t2tc4y3b4"] | [gd_scene load_steps=34 format=3 uid="uid://cy7t2tc4y3b4"] | ||||||
| 
 | 
 | ||||||
| [ext_resource type="Script" path="res://src/player/shot_setup/shot_setup.gd" id="1_r6ei4"] | [ext_resource type="Script" path="res://src/player/shot_setup/shot_setup.gd" id="1_r6ei4"] | ||||||
| [ext_resource type="Script" path="res://src/player/shot_setup/ball_point.gd" id="2_e6i3g"] | [ext_resource type="Script" path="res://src/player/shot_setup/ball_point.gd" id="2_e6i3g"] | ||||||
| [ext_resource type="PackedScene" uid="uid://c2k88ns0h5ie1" path="res://src/ui/3d/arrow/arrow.tscn" id="2_s70wl"] | [ext_resource type="PackedScene" uid="uid://c2k88ns0h5ie1" path="res://src/ui/3d/arrow/arrow.tscn" id="2_s70wl"] | ||||||
|  | [ext_resource type="Script" path="res://src/player/shot_setup/shot_sfx.gd" id="3_7vs2d"] | ||||||
| [ext_resource type="PackedScene" uid="uid://1s3gywmoi20e" path="res://src/characters/player_characters/gfolf_girl/gfolf_girl.tscn" id="3_e4aur"] | [ext_resource type="PackedScene" uid="uid://1s3gywmoi20e" path="res://src/characters/player_characters/gfolf_girl/gfolf_girl.tscn" id="3_e4aur"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://cllhgumv1fkju" path="res://assets/sound/sfx/player/drive1.wav" id="3_em3cj"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://c8vouau0488fh" path="res://assets/sound/sfx/player/drive2.wav" id="4_4cajc"] | ||||||
| [ext_resource type="PackedScene" uid="uid://fht6j87o8ecr" path="res://src/ui/3d/projectile_arc/projectile_arc.tscn" id="4_ry2ho"] | [ext_resource type="PackedScene" uid="uid://fht6j87o8ecr" path="res://src/ui/3d/projectile_arc/projectile_arc.tscn" id="4_ry2ho"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://cskhg5l86yvkw" path="res://assets/sound/sfx/player/drive3.wav" id="5_5lj1j"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://bkd8py2e7yfat" path="res://assets/sound/sfx/player/drive4.wav" id="6_1wnu3"] | ||||||
| [ext_resource type="PackedScene" uid="uid://dbdul15c4oblg" path="res://src/ui/3d/projected_target.tscn" id="6_mynqj"] | [ext_resource type="PackedScene" uid="uid://dbdul15c4oblg" path="res://src/ui/3d/projected_target.tscn" id="6_mynqj"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://j54ssyodqnn3" path="res://assets/sound/sfx/player/putt1.wav" id="7_niyj5"] | ||||||
| [ext_resource type="Script" path="res://src/player/shot_setup/hitbox.gd" id="7_uh8kn"] | [ext_resource type="Script" path="res://src/player/shot_setup/hitbox.gd" id="7_uh8kn"] | ||||||
| [ext_resource type="Texture2D" uid="uid://2yoipvd107t1" path="res://assets/sprites/dope_explosion/dope_explosion.tres" id="8_5ghmo"] | [ext_resource type="Texture2D" uid="uid://2yoipvd107t1" path="res://assets/sprites/dope_explosion/dope_explosion.tres" id="8_5ghmo"] | ||||||
|  | [ext_resource type="FontFile" uid="uid://dsa0oh7c0h4pu" path="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf" id="9_y5iv1"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://cvsv02inxvsyw" path="res://assets/sound/sfx/player/explosion.mp3" id="15_fn6g1"] | ||||||
|  | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_gh0gi"] | ||||||
|  | random_pitch = 1.1 | ||||||
|  | streams_count = 1 | ||||||
|  | stream_0/stream = ExtResource("3_em3cj") | ||||||
|  | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7isox"] | ||||||
|  | random_pitch = 1.1 | ||||||
|  | streams_count = 3 | ||||||
|  | stream_0/stream = ExtResource("4_4cajc") | ||||||
|  | stream_1/stream = ExtResource("5_5lj1j") | ||||||
|  | stream_2/stream = ExtResource("6_1wnu3") | ||||||
|  | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wnuop"] | ||||||
|  | random_pitch = 1.1 | ||||||
|  | streams_count = 1 | ||||||
|  | stream_0/stream = ExtResource("7_niyj5") | ||||||
| 
 | 
 | ||||||
| [sub_resource type="Animation" id="Animation_ug2a7"] | [sub_resource type="Animation" id="Animation_ug2a7"] | ||||||
| length = 0.001 | length = 0.001 | ||||||
| @ -218,6 +243,18 @@ tracks/1/keys = { | |||||||
| "update": 1, | "update": 1, | ||||||
| "values": [false] | "values": [false] | ||||||
| } | } | ||||||
|  | tracks/2/type = "value" | ||||||
|  | tracks/2/imported = false | ||||||
|  | tracks/2/enabled = false | ||||||
|  | tracks/2/path = NodePath("ExplosionMesh/ExplosionSFXPlayer: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="Animation" id="Animation_bv1ov"] | [sub_resource type="Animation" id="Animation_bv1ov"] | ||||||
| resource_name = "explode" | resource_name = "explode" | ||||||
| @ -246,6 +283,18 @@ tracks/1/keys = { | |||||||
| "update": 1, | "update": 1, | ||||||
| "values": [true, false] | "values": [true, false] | ||||||
| } | } | ||||||
|  | tracks/2/type = "value" | ||||||
|  | tracks/2/imported = false | ||||||
|  | tracks/2/enabled = true | ||||||
|  | tracks/2/path = NodePath("ExplosionMesh/ExplosionSFXPlayer: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_dg262"] | [sub_resource type="AnimationLibrary" id="AnimationLibrary_dg262"] | ||||||
| _data = { | _data = { | ||||||
| @ -253,6 +302,11 @@ _data = { | |||||||
| "explode": SubResource("Animation_bv1ov") | "explode": SubResource("Animation_bv1ov") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_8natr"] | ||||||
|  | random_pitch = 1.1 | ||||||
|  | streams_count = 1 | ||||||
|  | stream_0/stream = ExtResource("15_fn6g1") | ||||||
|  | 
 | ||||||
| [node name="ShotSetup" type="Node3D"] | [node name="ShotSetup" type="Node3D"] | ||||||
| script = ExtResource("1_r6ei4") | script = ExtResource("1_r6ei4") | ||||||
| 
 | 
 | ||||||
| @ -261,6 +315,27 @@ unique_name_in_owner = true | |||||||
| transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.08, 0) | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.08, 0) | ||||||
| script = ExtResource("2_e6i3g") | script = ExtResource("2_e6i3g") | ||||||
| 
 | 
 | ||||||
|  | [node name="ShotSFX" type="Node3D" parent="BallPoint"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | script = ExtResource("3_7vs2d") | ||||||
|  | 
 | ||||||
|  | [node name="GoodDriveSFXPlayer" type="AudioStreamPlayer3D" parent="BallPoint/ShotSFX"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | stream = SubResource("AudioStreamRandomizer_gh0gi") | ||||||
|  | volume_db = -3.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [node name="BadDriveSFXPlayer" type="AudioStreamPlayer3D" parent="BallPoint/ShotSFX"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | stream = SubResource("AudioStreamRandomizer_7isox") | ||||||
|  | volume_db = -1.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [node name="PuttSFXPlayer" type="AudioStreamPlayer3D" parent="BallPoint/ShotSFX"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | stream = SubResource("AudioStreamRandomizer_wnuop") | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
| [node name="PlayerPivot" type="Node3D" parent="."] | [node name="PlayerPivot" type="Node3D" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| 
 | 
 | ||||||
| @ -268,7 +343,7 @@ unique_name_in_owner = true | |||||||
| transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.555968, 0, 0.0999683) | transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.555968, 0, 0.0999683) | ||||||
| 
 | 
 | ||||||
| [node name="DemoCamera" type="Camera3D" parent="PlayerPivot" groups=["DemoCamera"]] | [node name="DemoCamera" type="Camera3D" parent="PlayerPivot" groups=["DemoCamera"]] | ||||||
| transform = Transform3D(-0.124487, 0.584637, 0.801687, 0, 0.807972, -0.589221, -0.992221, -0.0733503, -0.100582, 0.395614, 0.0284514, -0.0394773) | transform = Transform3D(-0.311543, -0.0687373, 0.947743, 0, 0.99738, 0.0723374, -0.950232, 0.0225362, -0.310727, 0.845792, 0.706621, -0.383459) | ||||||
| 
 | 
 | ||||||
| [node name="Direction" type="Node3D" parent="."] | [node name="Direction" type="Node3D" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| @ -422,6 +497,32 @@ libraries = { | |||||||
| "": SubResource("AnimationLibrary_dg262") | "": SubResource("AnimationLibrary_dg262") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | [node name="ExplosionSFXPlayer" type="AudioStreamPlayer3D" parent="ExplosionMesh"] | ||||||
|  | stream = SubResource("AudioStreamRandomizer_8natr") | ||||||
|  | unit_size = 60.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [node name="PlayerLabel" type="Label3D" parent="."] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0) | ||||||
|  | visibility_range_begin = 50.0 | ||||||
|  | visibility_range_begin_margin = 3.0 | ||||||
|  | visibility_range_fade_mode = 1 | ||||||
|  | pixel_size = 0.001 | ||||||
|  | billboard = 1 | ||||||
|  | no_depth_test = true | ||||||
|  | fixed_size = true | ||||||
|  | texture_filter = 5 | ||||||
|  | render_priority = 4 | ||||||
|  | outline_render_priority = 3 | ||||||
|  | text = "Player Name" | ||||||
|  | font = ExtResource("9_y5iv1") | ||||||
|  | font_size = 36 | ||||||
|  | outline_size = 10 | ||||||
|  | line_spacing = -16.0 | ||||||
|  | autowrap_mode = 2 | ||||||
|  | width = 120.0 | ||||||
|  | 
 | ||||||
| [connection signal="ball_changed" from="BallPoint" to="." method="_on_game_ball_changed"] | [connection signal="ball_changed" from="BallPoint" to="." method="_on_game_ball_changed"] | ||||||
| [connection signal="timeout" from="DownswingTimer" to="." method="finish_downswing"] | [connection signal="timeout" from="DownswingTimer" to="." method="finish_downswing"] | ||||||
| [connection signal="timeout" from="BallReturnTimer" to="." method="_on_ball_return_timer_timeout"] | [connection signal="timeout" from="BallReturnTimer" to="." method="_on_ball_return_timer_timeout"] | ||||||
|  | |||||||
							
								
								
									
										27
									
								
								src/player/shot_setup/shot_sfx.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/player/shot_setup/shot_sfx.gd
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | class_name ShotSFX extends Node3D | ||||||
|  | ## SFX controller for golf shots | ||||||
|  | 
 | ||||||
|  | const BASE_VOLUME := -6.0 | ||||||
|  | const MAX_VOLUME := -1.0 | ||||||
|  | 
 | ||||||
|  | @onready var good_drive_sfx_player: AudioStreamPlayer3D = %GoodDriveSFXPlayer | ||||||
|  | @onready var bad_drive_sfx_player: AudioStreamPlayer3D = %BadDriveSFXPlayer | ||||||
|  | @onready var putt_sfx_player: AudioStreamPlayer3D = %PuttSFXPlayer | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func _attenuate_volume(power: float) -> float: | ||||||
|  | 	return lerpf(BASE_VOLUME, MAX_VOLUME, power) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | func play_shot_sfx(club: Club.Type, good: bool, power: float) -> void: | ||||||
|  | 	var player: AudioStreamPlayer3D | ||||||
|  | 	match club: | ||||||
|  | 		Club.Type.PUTTER: | ||||||
|  | 			player = putt_sfx_player | ||||||
|  | 		_: | ||||||
|  | 			# TODO more varied SFX maybe? | ||||||
|  | 			player = good_drive_sfx_player if good else bad_drive_sfx_player | ||||||
|  | 
 | ||||||
|  | 	player.volume_db = _attenuate_volume(power) | ||||||
|  | 	print_debug("Playing ", player) | ||||||
|  | 	player.play() | ||||||
| @ -8,6 +8,7 @@ data = PackedVector3Array(0, 0, -5.2392, -1.2315, 0, -2.5941, 1.2315, 0, -2.5941 | |||||||
| [node name="Sailboat" instance=ExtResource("1_ivu5q")] | [node name="Sailboat" instance=ExtResource("1_ivu5q")] | ||||||
| 
 | 
 | ||||||
| [node name="StaticBody3D" type="StaticBody3D" parent="." index="1"] | [node name="StaticBody3D" type="StaticBody3D" parent="." index="1"] | ||||||
|  | collision_layer = 536870913 | ||||||
| 
 | 
 | ||||||
| [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0"] | [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0"] | ||||||
| shape = SubResource("ConcavePolygonShape3D_mrf68") | shape = SubResource("ConcavePolygonShape3D_mrf68") | ||||||
|  | |||||||
| @ -45,6 +45,7 @@ bones/10/scale = Vector3(1, 1, 1) | |||||||
| bones/11/rotation = Quaternion(-0.13894, 0.0183908, 0.000355869, 0.99013) | bones/11/rotation = Quaternion(-0.13894, 0.0183908, 0.000355869, 0.99013) | ||||||
| 
 | 
 | ||||||
| [node name="StaticBody3D" type="StaticBody3D" parent="." index="2"] | [node name="StaticBody3D" type="StaticBody3D" parent="." index="2"] | ||||||
|  | collision_layer = 2147483649 | ||||||
| 
 | 
 | ||||||
| [node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D" index="0"] | [node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D" index="0"] | ||||||
| shape = SubResource("ConcavePolygonShape3D_bp5t6") | shape = SubResource("ConcavePolygonShape3D_bp5t6") | ||||||
|  | |||||||
| @ -15,8 +15,8 @@ grow_horizontal = 2 | |||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
| size_flags_horizontal = 4 | size_flags_horizontal = 4 | ||||||
| script = ExtResource("1_p0p8j") | script = ExtResource("1_p0p8j") | ||||||
| quantity = -1 | text = "BALLTYPE" | ||||||
| unlimited = true | quantity = 18 | ||||||
| 
 | 
 | ||||||
| [node name="BallLabel" type="Label" parent="."] | [node name="BallLabel" type="Label" parent="."] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| @ -35,34 +35,30 @@ grow_vertical = 2 | |||||||
| theme_override_constants/outline_size = 10 | theme_override_constants/outline_size = 10 | ||||||
| theme_override_fonts/font = ExtResource("2_bu42i") | theme_override_fonts/font = ExtResource("2_bu42i") | ||||||
| theme_override_font_sizes/font_size = 25 | theme_override_font_sizes/font_size = 25 | ||||||
|  | text = "BALLTYPE" | ||||||
| horizontal_alignment = 2 | horizontal_alignment = 2 | ||||||
| 
 | 
 | ||||||
| [node name="QuantityContainer" type="HBoxContainer" parent="BallLabel"] | [node name="QuantityContainer" type="HBoxContainer" parent="BallLabel"] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| visible = false | clip_contents = true | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = -1 | anchors_preset = -1 | ||||||
| anchor_left = 1.0 | anchor_left = 1.1 | ||||||
| anchor_top = 0.8 | anchor_top = 0.4 | ||||||
| anchor_right = 1.0 | anchor_right = 1.1 | ||||||
| anchor_bottom = 0.8 | anchor_bottom = 0.4 | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
| theme_override_constants/separation = 0 | theme_override_constants/separation = 0 | ||||||
| 
 | 
 | ||||||
| [node name="Label" type="Label" parent="BallLabel/QuantityContainer"] | [node name="Label" type="Label" parent="BallLabel/QuantityContainer"] | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| size_flags_horizontal = 8 |  | ||||||
| size_flags_vertical = 8 |  | ||||||
| theme_type_variation = &"QuantityLabel" | theme_type_variation = &"QuantityLabel" | ||||||
| theme_override_font_sizes/font_size = 22 | theme_override_font_sizes/font_size = 40 | ||||||
| text = "×" | text = "×" | ||||||
| 
 | 
 | ||||||
| [node name="QuantityLabel" type="Label" parent="BallLabel/QuantityContainer"] | [node name="QuantityLabel" type="Label" parent="BallLabel/QuantityContainer"] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
| layout_mode = 2 | layout_mode = 2 | ||||||
| size_flags_horizontal = 8 |  | ||||||
| size_flags_vertical = 8 |  | ||||||
| theme_type_variation = &"QuantityLabel" | theme_type_variation = &"QuantityLabel" | ||||||
| theme_override_font_sizes/font_size = 22 | theme_override_font_sizes/font_size = 40 | ||||||
| text = "-1" | text = "18" | ||||||
|  | |||||||
| @ -1,8 +1,9 @@ | |||||||
| [gd_scene load_steps=35 format=3 uid="uid://c4ifdiohng830"] | [gd_scene load_steps=36 format=3 uid="uid://c4ifdiohng830"] | ||||||
| 
 | 
 | ||||||
| [ext_resource type="Script" path="res://src/ui/shot_hud/shot_hud.gd" id="1_x5b4c"] | [ext_resource type="Script" path="res://src/ui/shot_hud/shot_hud.gd" id="1_x5b4c"] | ||||||
| [ext_resource type="Shader" path="res://src/shaders/canvas_retro.gdshader" id="1_ybxxp"] | [ext_resource type="Shader" path="res://src/shaders/canvas_retro.gdshader" id="1_ybxxp"] | ||||||
| [ext_resource type="PackedScene" uid="uid://445qd7m4qe2j" path="res://src/ui/shot_hud/club_selector/club_selector.tscn" id="2_1hdub"] | [ext_resource type="PackedScene" uid="uid://445qd7m4qe2j" path="res://src/ui/shot_hud/club_selector/club_selector.tscn" id="2_1hdub"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://c8bxu5lusqevv" path="res://assets/sound/sfx/ui/ecofuture3.wav" id="2_5f3rs"] | ||||||
| [ext_resource type="Script" path="res://src/ui/decorations/rumbler.gd" id="3_6groq"] | [ext_resource type="Script" path="res://src/ui/decorations/rumbler.gd" id="3_6groq"] | ||||||
| [ext_resource type="Texture2D" uid="uid://b5812y3pmmgg5" path="res://assets/ui/gauge_patch.png" id="4_5kcpe"] | [ext_resource type="Texture2D" uid="uid://b5812y3pmmgg5" path="res://assets/ui/gauge_patch.png" id="4_5kcpe"] | ||||||
| [ext_resource type="Texture2D" uid="uid://76fjx2ukavqe" path="res://assets/ui/power_gauge_fill.png" id="5_3i1yq"] | [ext_resource type="Texture2D" uid="uid://76fjx2ukavqe" path="res://assets/ui/power_gauge_fill.png" id="5_3i1yq"] | ||||||
| @ -74,6 +75,18 @@ tracks/4/keys = { | |||||||
| "points": PackedFloat32Array(0.5, -0.25, 0, 0.25, 0), | "points": PackedFloat32Array(0.5, -0.25, 0, 0.25, 0), | ||||||
| "times": PackedFloat32Array(0) | "times": PackedFloat32Array(0) | ||||||
| } | } | ||||||
|  | tracks/5/type = "value" | ||||||
|  | tracks/5/imported = false | ||||||
|  | tracks/5/enabled = false | ||||||
|  | tracks/5/path = NodePath("AudioStreamPlayer:playing") | ||||||
|  | tracks/5/interp = 1 | ||||||
|  | tracks/5/loop_wrap = true | ||||||
|  | tracks/5/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 1, | ||||||
|  | "values": [true] | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| [sub_resource type="Animation" id="Animation_cwotn"] | [sub_resource type="Animation" id="Animation_cwotn"] | ||||||
| resource_name = "display" | resource_name = "display" | ||||||
| @ -137,6 +150,18 @@ tracks/4/keys = { | |||||||
| "points": PackedFloat32Array(0.5, -0.25, 0, 0.5, -0.055, 0.5, -0.4, 0.059, 0.233, -0.456, 1.25, -0.25, 0, 0.25, 0), | "points": PackedFloat32Array(0.5, -0.25, 0, 0.5, -0.055, 0.5, -0.4, 0.059, 0.233, -0.456, 1.25, -0.25, 0, 0.25, 0), | ||||||
| "times": PackedFloat32Array(0, 2, 2.4) | "times": PackedFloat32Array(0, 2, 2.4) | ||||||
| } | } | ||||||
|  | tracks/5/type = "value" | ||||||
|  | tracks/5/imported = false | ||||||
|  | tracks/5/enabled = true | ||||||
|  | tracks/5/path = NodePath("AudioStreamPlayer:playing") | ||||||
|  | tracks/5/interp = 1 | ||||||
|  | tracks/5/loop_wrap = true | ||||||
|  | tracks/5/keys = { | ||||||
|  | "times": PackedFloat32Array(0.1), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 1, | ||||||
|  | "values": [true] | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_2a0gn"] | [sub_resource type="AnimationLibrary" id="AnimationLibrary_2a0gn"] | ||||||
| _data = { | _data = { | ||||||
| @ -598,6 +623,11 @@ libraries = { | |||||||
| "": SubResource("AnimationLibrary_2a0gn") | "": SubResource("AnimationLibrary_2a0gn") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="WoahNiceFeedback"] | ||||||
|  | stream = ExtResource("2_5f3rs") | ||||||
|  | volume_db = -3.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
| [node name="WastedFeedback" type="RichTextLabel" parent="."] | [node name="WastedFeedback" type="RichTextLabel" parent="."] | ||||||
| visible = false | visible = false | ||||||
| custom_minimum_size = Vector2(1400, 0) | custom_minimum_size = Vector2(1400, 0) | ||||||
| @ -727,6 +757,7 @@ unique_name_in_owner = true | |||||||
| libraries = { | libraries = { | ||||||
| "": SubResource("AnimationLibrary_dicse") | "": SubResource("AnimationLibrary_dicse") | ||||||
| } | } | ||||||
|  | speed_scale = 0.9 | ||||||
| 
 | 
 | ||||||
| [node name="ClubSelector" parent="." instance=ExtResource("2_1hdub")] | [node name="ClubSelector" parent="." instance=ExtResource("2_1hdub")] | ||||||
| unique_name_in_owner = true | unique_name_in_owner = true | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								src/util/color_tools.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/util/color_tools.gd
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | class_name ColorTools | ||||||
|  | ## Toolkit for working with colors | ||||||
|  | 
 | ||||||
|  | const DEFAULT_LUM_THRESHOLD := 0.179 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Selects an appropriate background color for the given foreground color. | ||||||
|  | ## | ||||||
|  | ## Options are white or black. | ||||||
|  | static func get_bg_color(fg_color: Color, threshold: float = DEFAULT_LUM_THRESHOLD) -> Color: | ||||||
|  | 	return Color.BLACK if fg_color.srgb_to_linear().get_luminance() > threshold else Color.WHITE | ||||||
							
								
								
									
										69
									
								
								src/world/terrain.gd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								src/world/terrain.gd
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,69 @@ | |||||||
|  | class_name Terrain | ||||||
|  | ## Tools for working with different terrain types. | ||||||
|  | ## This provides a unified interface to Terrain3D and regular meshes. | ||||||
|  | 
 | ||||||
|  | ## Basic terrain materials | ||||||
|  | enum Type { | ||||||
|  | 	NONE, | ||||||
|  | 	ROUGH, | ||||||
|  | 	FAIRWAY, | ||||||
|  | 	GREEN, | ||||||
|  | 	SAND, | ||||||
|  | 	CONCRETE, | ||||||
|  | 	ROCK, | ||||||
|  | 	WOOD, | ||||||
|  | 	METAL, | ||||||
|  | 	GLASS, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ## We use the upper bits of collision layers to encode material data | ||||||
|  | const PHYSICAL_LAYERS := { | ||||||
|  | 	1 << 31: Type.ROUGH, | ||||||
|  | 	1 << 30: Type.SAND, | ||||||
|  | 	1 << 29: Type.WOOD, | ||||||
|  | 	1 << 28: Type.ROCK, | ||||||
|  | 	1 << 27: Type.METAL, | ||||||
|  | 	1 << 26: Type.GLASS, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Get the `Terrain.Type` value which corresponds to the given Terrain3D texture ID. | ||||||
|  | ## | ||||||
|  | ## Note that this relies on the ordering of textures in our Terrain3DAsset resource! | ||||||
|  | ## If the order textures are defined in changes, this will break! | ||||||
|  | static func from_texture_id(tex_id: int) -> Type: | ||||||
|  | 	match tex_id: | ||||||
|  | 		0: | ||||||
|  | 			return Type.ROUGH | ||||||
|  | 		1: | ||||||
|  | 			return Type.FAIRWAY | ||||||
|  | 		2: | ||||||
|  | 			return Type.SAND | ||||||
|  | 		3: | ||||||
|  | 			return Type.GREEN | ||||||
|  | 		4: | ||||||
|  | 			return Type.ROCK | ||||||
|  | 		_: | ||||||
|  | 			return Type.NONE | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Get the `Terrain.Type` value encoded in the given collision layer setting. | ||||||
|  | ## | ||||||
|  | ## We use the upper bits in the collision layer to encode material data. | ||||||
|  | ## Check the collision layer descriptions for more information. | ||||||
|  | static func from_physical_layer(collision_layer: int) -> Type: | ||||||
|  | 	for bit: int in PHYSICAL_LAYERS: | ||||||
|  | 		if collision_layer & bit: | ||||||
|  | 			return PHYSICAL_LAYERS[bit] | ||||||
|  | 	return Type.CONCRETE | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Get the `Terrain.Type` value at the given position in a Terrain3D node. | ||||||
|  | static func at_position(global_position: Vector3, terrain3d: Terrain3D) -> Type: | ||||||
|  | 	var blend := terrain3d.data.get_texture_id(global_position) | ||||||
|  | 	var id: int | ||||||
|  | 	if terrain3d.data.get_control_auto(global_position): | ||||||
|  | 		id = blend.x if blend.z > 0 else blend.y | ||||||
|  | 	else: | ||||||
|  | 		id = blend.x | ||||||
|  | 	return from_texture_id(id) | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user