Godot upload
4
.editorconfig
Normal file
@@ -0,0 +1,4 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
||||
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
/android/
|
||||
export
|
||||
93
OFL.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
Copyright 2023 The Soft Type Project Authors (https://github.com/scfried/soft-type-jersey)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
5
README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Fishy Fingers
|
||||
|
||||
A game where you have to collect fish using your hook (your mouse) and using your friends (toucan and blahaj).
|
||||
|
||||
Made in Godot 4.
|
||||
BIN
assets/graphics/background.png
Normal file
|
After Width: | Height: | Size: 114 KiB |
40
assets/graphics/background.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c362isr3mm3oj"
|
||||
path="res://.godot/imported/background.png-78c17a218553c834306c94dd8bb6814d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/background.png"
|
||||
dest_files=["res://.godot/imported/background.png-78c17a218553c834306c94dd8bb6814d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/blahaj.png
Normal file
|
After Width: | Height: | Size: 364 B |
40
assets/graphics/blahaj.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bfy0mfttvevvr"
|
||||
path="res://.godot/imported/blahaj.png-9f08995984274c234ca593335a860c85.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/blahaj.png"
|
||||
dest_files=["res://.godot/imported/blahaj.png-9f08995984274c234ca593335a860c85.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/blue_cod.png
Normal file
|
After Width: | Height: | Size: 844 B |
40
assets/graphics/blue_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://co1iuyvs5t7cb"
|
||||
path="res://.godot/imported/blue_cod.png-90046450b6d29d0caa9947b41b804383.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/blue_cod.png"
|
||||
dest_files=["res://.godot/imported/blue_cod.png-90046450b6d29d0caa9947b41b804383.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/bubble.png
Normal file
|
After Width: | Height: | Size: 199 B |
40
assets/graphics/bubble.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bdh8no6kvpber"
|
||||
path="res://.godot/imported/bubble.png-129f08e5020eb0492e663a51965bfaf1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/bubble.png"
|
||||
dest_files=["res://.godot/imported/bubble.png-129f08e5020eb0492e663a51965bfaf1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/cursor.png
Normal file
|
After Width: | Height: | Size: 482 B |
40
assets/graphics/cursor.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmkcbeeqh600a"
|
||||
path="res://.godot/imported/cursor.png-45ecd5a1e583fe3ca68fe559623aadce.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/cursor.png"
|
||||
dest_files=["res://.godot/imported/cursor.png-45ecd5a1e583fe3ca68fe559623aadce.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/fishing_net.png
Normal file
|
After Width: | Height: | Size: 296 B |
40
assets/graphics/fishing_net.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://csvmfrn0u1g0f"
|
||||
path="res://.godot/imported/fishing_net.png-dd8e8180135cb0bfa1f890038b9735e9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/fishing_net.png"
|
||||
dest_files=["res://.godot/imported/fishing_net.png-dd8e8180135cb0bfa1f890038b9735e9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/green_cod.png
Normal file
|
After Width: | Height: | Size: 841 B |
40
assets/graphics/green_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d1ms2w6paousl"
|
||||
path="res://.godot/imported/green_cod.png-db8f32010b40547dcc659ef8b82a5ce9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/green_cod.png"
|
||||
dest_files=["res://.godot/imported/green_cod.png-db8f32010b40547dcc659ef8b82a5ce9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/hook.png
Normal file
|
After Width: | Height: | Size: 447 B |
40
assets/graphics/hook.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dqefsim4g3qec"
|
||||
path="res://.godot/imported/hook.png-4917a963245066ae9168e5b824720f41.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/hook.png"
|
||||
dest_files=["res://.godot/imported/hook.png-4917a963245066ae9168e5b824720f41.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/orange_cod.png
Normal file
|
After Width: | Height: | Size: 842 B |
40
assets/graphics/orange_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://biegivb6ikxr8"
|
||||
path="res://.godot/imported/orange_cod.png-e37a0a5f0d2b615a6b174113c0ca0fac.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/orange_cod.png"
|
||||
dest_files=["res://.godot/imported/orange_cod.png-e37a0a5f0d2b615a6b174113c0ca0fac.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/pink_cod.png
Normal file
|
After Width: | Height: | Size: 842 B |
40
assets/graphics/pink_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dhw3g3dixr48n"
|
||||
path="res://.godot/imported/pink_cod.png-efdacc12a0e1914046e833aed98fa771.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/pink_cod.png"
|
||||
dest_files=["res://.godot/imported/pink_cod.png-efdacc12a0e1914046e833aed98fa771.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/purple_cod.png
Normal file
|
After Width: | Height: | Size: 850 B |
40
assets/graphics/purple_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://jxb6ldorhcgj"
|
||||
path="res://.godot/imported/purple_cod.png-bc00ab7276a5406f179d1d8ade065282.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/purple_cod.png"
|
||||
dest_files=["res://.godot/imported/purple_cod.png-bc00ab7276a5406f179d1d8ade065282.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/shop.png
Normal file
|
After Width: | Height: | Size: 529 B |
40
assets/graphics/shop.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dh6okgkcp5222"
|
||||
path="res://.godot/imported/shop.png-a25afba6f589c4083419c7204b15daa4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/shop.png"
|
||||
dest_files=["res://.godot/imported/shop.png-a25afba6f589c4083419c7204b15daa4.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/special_cod.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
40
assets/graphics/special_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://8ev5ouxlx4ed"
|
||||
path="res://.godot/imported/special_cod.png-0ad09f38d2d3f06950d312de59eb9059.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/special_cod.png"
|
||||
dest_files=["res://.godot/imported/special_cod.png-0ad09f38d2d3f06950d312de59eb9059.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/toucan.png
Normal file
|
After Width: | Height: | Size: 380 B |
40
assets/graphics/toucan.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bbhjrteldo3ki"
|
||||
path="res://.godot/imported/toucan.png-fee52cf6e05cbfa9445af653c2b77861.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/toucan.png"
|
||||
dest_files=["res://.godot/imported/toucan.png-fee52cf6e05cbfa9445af653c2b77861.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/yellow_cod.png
Normal file
|
After Width: | Height: | Size: 869 B |
40
assets/graphics/yellow_cod.png.import
Normal file
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://doymyu58ur7v7"
|
||||
path="res://.godot/imported/yellow_cod.png-ab0de6a615c678f39ba60308673aab37.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/yellow_cod.png"
|
||||
dest_files=["res://.godot/imported/yellow_cod.png-ab0de6a615c678f39ba60308673aab37.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
10
assets/scenes/BackgroundMusic.tscn
Normal file
@@ -0,0 +1,10 @@
|
||||
[gd_scene format=3 uid="uid://id0pabbvhqyf"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://uofd453dcad6" path="res://assets/sfx/background_music.mp3" id="1_s1x8q"]
|
||||
|
||||
[node name="BackgroundMusic" type="Node2D" unique_id=1149003101]
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." unique_id=1705185639]
|
||||
stream = ExtResource("1_s1x8q")
|
||||
autoplay = true
|
||||
parameters/looping = true
|
||||
62
assets/scenes/credits.tscn
Normal file
@@ -0,0 +1,62 @@
|
||||
[gd_scene format=3 uid="uid://dgsxil03vytwi"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c362isr3mm3oj" path="res://assets/graphics/background.png" id="1_ulj4j"]
|
||||
[ext_resource type="Script" uid="uid://n4gqvy2ytjst" path="res://assets/scripts/background_scaler.gd" id="2_ulj4j"]
|
||||
[ext_resource type="FontFile" uid="uid://bd4iri86plmvs" path="res://font.ttf" id="7_7o21g"]
|
||||
[ext_resource type="Theme" uid="uid://b0kqa0xq44wmt" path="res://theme.tres" id="7_dd8ki"]
|
||||
[ext_resource type="Script" uid="uid://65gtnts6kj5w" path="res://assets/scripts/credits_close_button.gd" id="8_7o21g"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_g3p6w"]
|
||||
default_font = ExtResource("7_7o21g")
|
||||
default_font_size = 32
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="Credits" type="Control" unique_id=1417362834]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="background" type="Sprite2D" parent="." unique_id=507322845]
|
||||
position = Vector2(573, 323.5)
|
||||
scale = Vector2(0.6, 0.6009259)
|
||||
texture = ExtResource("1_ulj4j")
|
||||
script = ExtResource("2_ulj4j")
|
||||
|
||||
[node name="credits_label" type="RichTextLabel" parent="." unique_id=1646312536]
|
||||
layout_mode = 0
|
||||
offset_left = 203.0
|
||||
offset_top = 112.0
|
||||
offset_right = 1075.0
|
||||
offset_bottom = 623.0
|
||||
theme = ExtResource("7_dd8ki")
|
||||
theme_override_font_sizes/normal_font_size = 64
|
||||
text = "csd4ni3l - Game Developer
|
||||
Koni Rea - Graphics Designer
|
||||
Marsh - Graphics Designer
|
||||
Water splash sound effect from Pixabay
|
||||
Music by Viacheslav Starostin from Pixabay"
|
||||
|
||||
[node name="close_button" type="Button" parent="." unique_id=1132807717]
|
||||
layout_mode = 0
|
||||
offset_left = 1034.0
|
||||
offset_top = 23.0
|
||||
offset_right = 1109.0
|
||||
offset_bottom = 94.0
|
||||
theme = SubResource("Theme_g3p6w")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "X"
|
||||
script = ExtResource("8_7o21g")
|
||||
|
||||
[node name="title" type="RichTextLabel" parent="." unique_id=1072193387]
|
||||
layout_mode = 0
|
||||
offset_left = 412.0
|
||||
offset_top = 1.0
|
||||
offset_right = 755.0
|
||||
offset_bottom = 105.0
|
||||
theme = ExtResource("7_dd8ki")
|
||||
theme_override_font_sizes/normal_font_size = 96
|
||||
text = "Credits
|
||||
"
|
||||
24
assets/scenes/cutscene.tscn
Normal file
@@ -0,0 +1,24 @@
|
||||
[gd_scene format=3 uid="uid://b44s3ql48fqgs"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bdh8no6kvpber" path="res://assets/graphics/bubble.png" id="1_7wt87"]
|
||||
[ext_resource type="Script" uid="uid://bouh46cbivutc" path="res://assets/scripts/cutscene.gd" id="1_hw5wm"]
|
||||
[ext_resource type="Script" uid="uid://c02mfpu30mq5w" path="res://assets/scripts/bubble.gd" id="2_hw5wm"]
|
||||
[ext_resource type="Texture2D" uid="uid://c362isr3mm3oj" path="res://assets/graphics/background.png" id="4_hjtv6"]
|
||||
[ext_resource type="Script" uid="uid://n4gqvy2ytjst" path="res://assets/scripts/background_scaler.gd" id="5_y0eth"]
|
||||
|
||||
[node name="Cutscene" type="Node2D" unique_id=525358259]
|
||||
script = ExtResource("1_hw5wm")
|
||||
|
||||
[node name="bubble_to_clone" type="Sprite2D" parent="." unique_id=764080502]
|
||||
z_index = 99
|
||||
position = Vector2(-757, 280.99997)
|
||||
scale = Vector2(1, 0.88)
|
||||
texture = ExtResource("1_7wt87")
|
||||
script = ExtResource("2_hw5wm")
|
||||
metadata/is_original = true
|
||||
|
||||
[node name="background" type="Sprite2D" parent="." unique_id=228251703]
|
||||
position = Vector2(573, 323.5)
|
||||
scale = Vector2(0.6, 0.6009259)
|
||||
texture = ExtResource("4_hjtv6")
|
||||
script = ExtResource("5_y0eth")
|
||||
168
assets/scenes/game.tscn
Normal file
@@ -0,0 +1,168 @@
|
||||
[gd_scene format=3 uid="uid://cqdfva3dlq28y"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://wwqm6xuj48lg" path="res://assets/scripts/game_manager.gd" id="1_fc420"]
|
||||
[ext_resource type="Texture2D" uid="uid://c362isr3mm3oj" path="res://assets/graphics/background.png" id="2_kc0sw"]
|
||||
[ext_resource type="Script" uid="uid://n4gqvy2ytjst" path="res://assets/scripts/background_scaler.gd" id="3_i358u"]
|
||||
[ext_resource type="Script" uid="uid://qp6v3st8ix3v" path="res://assets/scripts/fish_area_2d.gd" id="6_5jdip"]
|
||||
[ext_resource type="Theme" uid="uid://b0kqa0xq44wmt" path="res://theme.tres" id="8_rojm1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dh6okgkcp5222" path="res://assets/graphics/shop.png" id="9_pnywb"]
|
||||
[ext_resource type="Script" uid="uid://24gsro7ny3g" path="res://assets/scripts/shop_clicker.gd" id="10_fx2rd"]
|
||||
[ext_resource type="FontFile" uid="uid://bd4iri86plmvs" path="res://font.ttf" id="11_jdjof"]
|
||||
[ext_resource type="Texture2D" uid="uid://co1iuyvs5t7cb" path="res://assets/graphics/blue_cod.png" id="12_h5j7u"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbhjrteldo3ki" path="res://assets/graphics/toucan.png" id="12_s2rys"]
|
||||
[ext_resource type="Script" uid="uid://bqxust6gkydnx" path="res://assets/scripts/toucan.gd" id="13_fc420"]
|
||||
[ext_resource type="Script" uid="uid://cprehixvgn0k1" path="res://assets/scripts/click_timer.gd" id="14_p2xyf"]
|
||||
[ext_resource type="Script" uid="uid://c8ys3ls826d21" path="res://assets/scripts/spawn_timer.gd" id="15_xe33q"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdh8no6kvpber" path="res://assets/graphics/bubble.png" id="16_fqk1v"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfy0mfttvevvr" path="res://assets/graphics/blahaj.png" id="16_kc0sw"]
|
||||
[ext_resource type="Script" uid="uid://c02mfpu30mq5w" path="res://assets/scripts/bubble.gd" id="17_5jdip"]
|
||||
[ext_resource type="Script" uid="uid://doambvkr7546i" path="res://assets/scripts/blahaj.gd" id="17_fqk1v"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_fc0e3"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5jdip"]
|
||||
size = Vector2(168, 199.99992)
|
||||
|
||||
[sub_resource type="Theme" id="Theme_j5wjh"]
|
||||
default_font = ExtResource("11_jdjof")
|
||||
default_font_size = 32
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fc420"]
|
||||
size = Vector2(163.33324, 153.09705)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fqk1v"]
|
||||
size = Vector2(82.5, 82)
|
||||
|
||||
[node name="Main" type="Node2D" unique_id=695523442]
|
||||
script = ExtResource("1_fc420")
|
||||
|
||||
[node name="background" type="Sprite2D" parent="." unique_id=60202612]
|
||||
position = Vector2(573, 323.5)
|
||||
scale = Vector2(0.6, 0.6009259)
|
||||
texture = ExtResource("2_kc0sw")
|
||||
script = ExtResource("3_i358u")
|
||||
|
||||
[node name="fish_parent" type="Node2D" parent="." unique_id=692749356]
|
||||
script = SubResource("GDScript_fc0e3")
|
||||
|
||||
[node name="fish_area2d" type="Area2D" parent="fish_parent" unique_id=158667042 groups=["fish"]]
|
||||
position = Vector2(-1367, 397)
|
||||
scale = Vector2(0.5, 0.34)
|
||||
script = ExtResource("6_5jdip")
|
||||
metadata/is_original = true
|
||||
|
||||
[node name="fish_button_to_clone" type="Sprite2D" parent="fish_parent/fish_area2d" unique_id=485461812]
|
||||
texture = ExtResource("12_h5j7u")
|
||||
metadata/is_original = true
|
||||
|
||||
[node name="fish_collider" type="CollisionShape2D" parent="fish_parent/fish_area2d" unique_id=1553468051]
|
||||
position = Vector2(0, 2.941162)
|
||||
shape = SubResource("RectangleShape2D_5jdip")
|
||||
|
||||
[node name="Control" type="Control" parent="." unique_id=645586738]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 1037.0
|
||||
offset_top = 152.0
|
||||
offset_right = 1037.0
|
||||
offset_bottom = 152.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 1
|
||||
|
||||
[node name="shop_button" type="TextureButton" parent="Control" unique_id=477030571]
|
||||
layout_mode = 0
|
||||
offset_right = 130.0
|
||||
offset_bottom = 130.0
|
||||
mouse_filter = 1
|
||||
theme = ExtResource("8_rojm1")
|
||||
texture_normal = ExtResource("9_pnywb")
|
||||
stretch_mode = 0
|
||||
script = ExtResource("10_fx2rd")
|
||||
|
||||
[node name="shop_label" type="RichTextLabel" parent="Control" unique_id=653140448]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.079
|
||||
anchor_bottom = 0.062000003
|
||||
offset_left = 32.0
|
||||
offset_top = 116.0
|
||||
offset_right = 128.84
|
||||
offset_bottom = 158.52
|
||||
mouse_filter = 2
|
||||
theme = ExtResource("8_rojm1")
|
||||
text = "Shop"
|
||||
|
||||
[node name="coins_label" type="RichTextLabel" parent="Control" unique_id=1668438805]
|
||||
top_level = true
|
||||
layout_mode = 0
|
||||
offset_left = 1.0
|
||||
offset_top = 1.0
|
||||
offset_right = 1201.0
|
||||
offset_bottom = 176.0
|
||||
scale = Vector2(1.0200951, 1.1290053)
|
||||
mouse_filter = 2
|
||||
theme = SubResource("Theme_j5wjh")
|
||||
text = "Coins: {}
|
||||
CPS: {}
|
||||
Hit Rate: {} %
|
||||
"
|
||||
|
||||
[node name="click_timer" type="Timer" parent="." unique_id=1213150076]
|
||||
wait_time = 3.0
|
||||
autostart = true
|
||||
script = ExtResource("14_p2xyf")
|
||||
|
||||
[node name="spawn_timer" type="Timer" parent="." unique_id=1014421546]
|
||||
wait_time = 0.33
|
||||
autostart = true
|
||||
script = ExtResource("15_xe33q")
|
||||
|
||||
[node name="ClickSoundManager" type="AudioStreamPlayer2D" parent="." unique_id=2021202455]
|
||||
volume_db = 15.0
|
||||
|
||||
[node name="toucan_area2d" type="Area2D" parent="." unique_id=855676345]
|
||||
position = Vector2(-1151, 373)
|
||||
scale = Vector2(0.6, 0.6009259)
|
||||
metadata/is_original = true
|
||||
|
||||
[node name="toucan" type="Sprite2D" parent="toucan_area2d" unique_id=1093138591]
|
||||
position = Vector2(4.999756, -4.992241)
|
||||
scale = Vector2(5, 5)
|
||||
texture = ExtResource("12_s2rys")
|
||||
script = ExtResource("13_fc420")
|
||||
|
||||
[node name="toucan_collider" type="CollisionShape2D" parent="toucan_area2d" unique_id=279039260]
|
||||
position = Vector2(-3.333374, 11.648682)
|
||||
shape = SubResource("RectangleShape2D_fc420")
|
||||
|
||||
[node name="blahaj_area2d" type="Area2D" parent="." unique_id=1258170752]
|
||||
position = Vector2(-1141, 498)
|
||||
metadata/is_original = true
|
||||
|
||||
[node name="blahaj" type="Sprite2D" parent="blahaj_area2d" unique_id=888472474]
|
||||
position = Vector2(10, -11)
|
||||
scale = Vector2(6, 4.5)
|
||||
texture = ExtResource("16_kc0sw")
|
||||
script = ExtResource("17_fqk1v")
|
||||
|
||||
[node name="blahaj_collider" type="CollisionShape2D" parent="blahaj_area2d" unique_id=922647248]
|
||||
position = Vector2(63, 8)
|
||||
shape = SubResource("RectangleShape2D_fqk1v")
|
||||
|
||||
[node name="bubble_to_clone" type="Sprite2D" parent="." unique_id=1907261063]
|
||||
z_index = 99
|
||||
position = Vector2(-757, 280.99997)
|
||||
scale = Vector2(1, 0.88)
|
||||
texture = ExtResource("16_fqk1v")
|
||||
script = ExtResource("17_5jdip")
|
||||
metadata/is_original = true
|
||||
|
||||
[connection signal="area_entered" from="fish_parent/fish_area2d" to="fish_parent/fish_area2d" method="_on_area_entered"]
|
||||
[connection signal="input_event" from="fish_parent/fish_area2d" to="fish_parent/fish_area2d" method="_on_input_event"]
|
||||
[connection signal="timeout" from="click_timer" to="click_timer" method="_on_timeout"]
|
||||
[connection signal="timeout" from="spawn_timer" to="spawn_timer" method="_on_timeout"]
|
||||
[connection signal="area_entered" from="blahaj_area2d" to="blahaj_area2d/blahaj" method="blahaj_collide"]
|
||||
63
assets/scenes/main_menu.tscn
Normal file
@@ -0,0 +1,63 @@
|
||||
[gd_scene format=3 uid="uid://c2tl28kgehoia"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c362isr3mm3oj" path="res://assets/graphics/background.png" id="1_ej4af"]
|
||||
[ext_resource type="FontFile" uid="uid://bd4iri86plmvs" path="res://font.ttf" id="1_obrqb"]
|
||||
[ext_resource type="Theme" uid="uid://b0kqa0xq44wmt" path="res://theme.tres" id="2_57ux2"]
|
||||
[ext_resource type="Script" uid="uid://n4gqvy2ytjst" path="res://assets/scripts/background_scaler.gd" id="2_xmmar"]
|
||||
[ext_resource type="Script" uid="uid://bqw60tl4be18a" path="res://assets/scripts/play_button.gd" id="3_f2xsc"]
|
||||
[ext_resource type="Script" uid="uid://qe15irthfjxd" path="res://assets/scripts/credits_button.gd" id="9_tp4c4"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_7vrkn"]
|
||||
default_font = ExtResource("1_obrqb")
|
||||
default_font_size = 32
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="MainMenu" type="Control" unique_id=1443333066]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="background" type="Sprite2D" parent="." unique_id=1313136200]
|
||||
position = Vector2(573, 323.5)
|
||||
scale = Vector2(0.6, 0.6009259)
|
||||
texture = ExtResource("1_ej4af")
|
||||
script = ExtResource("2_xmmar")
|
||||
|
||||
[node name="shop_label" type="RichTextLabel" parent="." unique_id=111770834]
|
||||
layout_mode = 0
|
||||
offset_left = 335.0
|
||||
offset_top = 171.0
|
||||
offset_right = 841.0
|
||||
offset_bottom = 268.0
|
||||
theme = SubResource("Theme_7vrkn")
|
||||
theme_override_font_sizes/normal_font_size = 64
|
||||
text = "Fishy Fingers"
|
||||
|
||||
[node name="credits_button" type="Button" parent="." unique_id=2014728260]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.46100003
|
||||
anchor_bottom = 0.39600003
|
||||
offset_left = 319.0
|
||||
offset_top = 427.0
|
||||
offset_right = 287.92798
|
||||
offset_bottom = 295.39197
|
||||
theme = ExtResource("2_57ux2")
|
||||
text = "Credits"
|
||||
script = ExtResource("9_tp4c4")
|
||||
|
||||
[node name="play_button" type="Button" parent="." unique_id=1330388568]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.46100003
|
||||
anchor_bottom = 0.39600003
|
||||
offset_left = 318.0
|
||||
offset_top = 283.0
|
||||
offset_right = 286.92798
|
||||
offset_bottom = 151.39197
|
||||
theme = ExtResource("2_57ux2")
|
||||
text = "Play"
|
||||
script = ExtResource("3_f2xsc")
|
||||
149
assets/scenes/shop.tscn
Normal file
@@ -0,0 +1,149 @@
|
||||
[gd_scene format=3 uid="uid://cdh481ubod11g"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://deoyoa417jjia" path="res://assets/scripts/shop_manager.gd" id="1_6p2lh"]
|
||||
[ext_resource type="Theme" uid="uid://b0kqa0xq44wmt" path="res://theme.tres" id="1_54clv"]
|
||||
[ext_resource type="FontFile" uid="uid://bd4iri86plmvs" path="res://font.ttf" id="1_s3tas"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbhjrteldo3ki" path="res://assets/graphics/toucan.png" id="2_54clv"]
|
||||
[ext_resource type="Script" uid="uid://cyc55s4f8xujd" path="res://assets/scripts/fish_spawn_buy.gd" id="2_kam1a"]
|
||||
[ext_resource type="Script" uid="uid://c14tjf3qlxdi" path="res://assets/scripts/sell_cost_buy.gd" id="3_2uom1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfy0mfttvevvr" path="res://assets/graphics/blahaj.png" id="3_fxg5x"]
|
||||
[ext_resource type="Script" uid="uid://dpoooqbw6moto" path="res://assets/scripts/shop_close.gd" id="4_cxlow"]
|
||||
[ext_resource type="Script" uid="uid://bm7jxybqhhny2" path="res://assets/scripts/toucan_buy.gd" id="4_fxg5x"]
|
||||
[ext_resource type="Script" uid="uid://xye8ey43chew" path="res://assets/scripts/blahaj_buy.gd" id="7_cxlow"]
|
||||
[ext_resource type="Texture2D" uid="uid://c362isr3mm3oj" path="res://assets/graphics/background.png" id="11_d6ybq"]
|
||||
[ext_resource type="Script" uid="uid://n4gqvy2ytjst" path="res://assets/scripts/background_scaler.gd" id="12_nxakl"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_j5wjh"]
|
||||
default_font = ExtResource("1_s3tas")
|
||||
default_font_size = 32
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="Theme" id="Theme_2uom1"]
|
||||
default_font = ExtResource("1_s3tas")
|
||||
default_font_size = 32
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="Shop" type="Control" unique_id=1195647882]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 1.0
|
||||
offset_top = 2.0
|
||||
offset_right = 1.0
|
||||
offset_bottom = 2.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_6p2lh")
|
||||
|
||||
[node name="background" type="Sprite2D" parent="." unique_id=1096635644]
|
||||
position = Vector2(576.00006, 324.00003)
|
||||
scale = Vector2(0.59999996, 0.60231483)
|
||||
texture = ExtResource("11_d6ybq")
|
||||
script = ExtResource("12_nxakl")
|
||||
|
||||
[node name="fish_spawn_upgrade" type="Button" parent="." unique_id=1358983973]
|
||||
layout_mode = 0
|
||||
offset_left = 878.0
|
||||
offset_top = 157.0
|
||||
offset_right = 1094.0
|
||||
offset_bottom = 336.0
|
||||
theme = ExtResource("1_54clv")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Fish Spawn Speed
|
||||
upgrade
|
||||
(+1 / sec)
|
||||
Owned: 0
|
||||
Cost: 750$"
|
||||
script = ExtResource("2_kam1a")
|
||||
|
||||
[node name="sell_cost_upgrade" type="Button" parent="." unique_id=2054873946]
|
||||
layout_mode = 0
|
||||
offset_left = 590.0
|
||||
offset_top = 155.0
|
||||
offset_right = 819.0
|
||||
offset_bottom = 334.0
|
||||
theme = ExtResource("1_54clv")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Sell cost upgrade
|
||||
(+0.5$)
|
||||
Owned: 0
|
||||
Cost: 500$"
|
||||
script = ExtResource("3_2uom1")
|
||||
|
||||
[node name="shop_label" type="RichTextLabel" parent="." unique_id=58579959]
|
||||
layout_mode = 0
|
||||
offset_left = 443.0
|
||||
offset_top = 30.0
|
||||
offset_right = 634.0
|
||||
offset_bottom = 120.0
|
||||
theme = SubResource("Theme_j5wjh")
|
||||
theme_override_font_sizes/normal_font_size = 64
|
||||
text = "Shop"
|
||||
|
||||
[node name="toucan_label" type="RichTextLabel" parent="." unique_id=1078357010]
|
||||
layout_mode = 0
|
||||
offset_left = 67.0
|
||||
offset_top = 266.0
|
||||
offset_right = 326.0
|
||||
offset_bottom = 391.0
|
||||
theme = SubResource("Theme_j5wjh")
|
||||
text = "Toucan
|
||||
Owned: 0
|
||||
Cost: 250$"
|
||||
|
||||
[node name="toucan_button" type="TextureButton" parent="." unique_id=1039683139]
|
||||
layout_mode = 0
|
||||
offset_left = 57.0
|
||||
offset_top = 122.0
|
||||
offset_right = 207.0
|
||||
offset_bottom = 272.0
|
||||
texture_normal = ExtResource("2_54clv")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 0
|
||||
script = ExtResource("4_fxg5x")
|
||||
|
||||
[node name="blahaj_label" type="RichTextLabel" parent="." unique_id=474178222]
|
||||
layout_mode = 0
|
||||
offset_left = 305.0
|
||||
offset_top = 266.0
|
||||
offset_right = 568.0
|
||||
offset_bottom = 377.0
|
||||
theme = SubResource("Theme_j5wjh")
|
||||
text = "Blahaj
|
||||
Owned: 0
|
||||
Cost: 1000$"
|
||||
|
||||
[node name="close_button" type="Button" parent="." unique_id=1862390014]
|
||||
layout_mode = 0
|
||||
offset_left = 1055.0
|
||||
offset_top = 35.0
|
||||
offset_right = 1130.0
|
||||
offset_bottom = 106.0
|
||||
theme = SubResource("Theme_j5wjh")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "X"
|
||||
script = ExtResource("4_cxlow")
|
||||
|
||||
[node name="blahaj_button" type="TextureButton" parent="." unique_id=1677413315]
|
||||
layout_mode = 0
|
||||
offset_left = 324.0
|
||||
offset_top = 110.0
|
||||
offset_right = 504.0
|
||||
offset_bottom = 290.0
|
||||
texture_normal = ExtResource("3_fxg5x")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 0
|
||||
script = ExtResource("7_cxlow")
|
||||
|
||||
[node name="coins_label" type="RichTextLabel" parent="." unique_id=1439188814]
|
||||
top_level = true
|
||||
layout_mode = 0
|
||||
offset_left = 2.0
|
||||
offset_top = 18.0
|
||||
offset_right = 134.3406
|
||||
offset_bottom = 63.17251
|
||||
scale = Vector2(1.0200951, 1.1290053)
|
||||
mouse_filter = 2
|
||||
theme = SubResource("Theme_2uom1")
|
||||
text = "Coins: {}"
|
||||
10
assets/scripts/background_scaler.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
extends Sprite2D
|
||||
|
||||
func scale_to_window():
|
||||
var window_size = get_viewport_rect().size
|
||||
var texture_size = texture.get_size()
|
||||
scale = window_size / texture_size
|
||||
position = window_size / 2 # Center it (origin is top-left by default)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
scale_to_window()
|
||||
1
assets/scripts/background_scaler.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://n4gqvy2ytjst
|
||||
45
assets/scripts/blahaj.gd
Normal file
@@ -0,0 +1,45 @@
|
||||
extends Sprite2D
|
||||
|
||||
var nearest_fish: Area2D
|
||||
var last_eat = Time.get_ticks_msec()
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if get_parent().get_meta("is_original", false):
|
||||
return
|
||||
|
||||
var min_dist: float = INF
|
||||
nearest_fish = null
|
||||
|
||||
for fish in get_node("/root/Main/fish_parent").get_children():
|
||||
if not is_instance_of(fish, Area2D):
|
||||
continue
|
||||
var dist = global_position.distance_to(fish.global_position)
|
||||
if dist < min_dist:
|
||||
min_dist = dist
|
||||
nearest_fish = fish
|
||||
|
||||
if not is_instance_valid(nearest_fish):
|
||||
return
|
||||
|
||||
var direction = ((nearest_fish.global_position - global_position) * randf_range(0.9, 1.1)).normalized()
|
||||
get_parent().position += direction * Globals.BLAHAJ_SPEED * delta
|
||||
get_parent().rotation = lerp_angle(get_parent().rotation, direction.angle(), 0.01)
|
||||
|
||||
if not Time.get_ticks_msec() - last_eat >= 500:
|
||||
return
|
||||
|
||||
last_eat = Time.get_ticks_msec()
|
||||
|
||||
for area: Area2D in get_parent().get_overlapping_areas():
|
||||
if area.is_in_group("fish"):
|
||||
Globals.coins += (1 + Globals.sell_cost_upgrades)
|
||||
Globals.fish_per_second += 1
|
||||
play_sound("res://assets/sfx/splash.mp3")
|
||||
area.queue_free()
|
||||
|
||||
func play_sound(path: String):
|
||||
var player = AudioStreamPlayer.new()
|
||||
add_child(player)
|
||||
player.stream = load(path)
|
||||
player.play()
|
||||
player.finished.connect(player.queue_free)
|
||||
1
assets/scripts/blahaj.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://doambvkr7546i
|
||||
6
assets/scripts/blahaj_buy.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends TextureButton
|
||||
|
||||
func _pressed() -> void:
|
||||
if Globals.coins >= Globals.BLAHAJ_PRICE * (Globals.blahaj_upgrades + 1):
|
||||
Globals.coins -= Globals.BLAHAJ_PRICE * (Globals.blahaj_upgrades + 1)
|
||||
Globals.blahaj_upgrades += 1
|
||||
1
assets/scripts/blahaj_buy.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://xye8ey43chew
|
||||
12
assets/scripts/bubble.gd
Normal file
@@ -0,0 +1,12 @@
|
||||
extends Sprite2D
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
if get_meta("is_original", false):
|
||||
return
|
||||
|
||||
self.position.x += randf_range(-0.5, 0.5) * Globals.BUBBLE_SPEED * delta
|
||||
self.position.y -= Globals.BUBBLE_SPEED * delta
|
||||
|
||||
if position.y < 0:
|
||||
queue_free()
|
||||
1
assets/scripts/bubble.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c02mfpu30mq5w
|
||||
11
assets/scripts/click_timer.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
extends Timer
|
||||
|
||||
func _on_timeout() -> void:
|
||||
Globals.last_fish_per_second = Globals.fish_per_second
|
||||
Globals.fish_per_second = 0
|
||||
if Globals.all_hit > 0:
|
||||
Globals.last_hit_percent = min((float(Globals.successful_hit) / float(Globals.all_hit)) * 100, 100.0)
|
||||
else:
|
||||
Globals.last_hit_percent = 0
|
||||
Globals.successful_hit = 0
|
||||
Globals.all_hit = 0
|
||||
1
assets/scripts/click_timer.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cprehixvgn0k1
|
||||
4
assets/scripts/credits_button.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Button
|
||||
|
||||
func _pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://assets/scenes/credits.tscn")
|
||||
1
assets/scripts/credits_button.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://qe15irthfjxd
|
||||
4
assets/scripts/credits_close_button.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Button
|
||||
|
||||
func _pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://assets/scenes/main_menu.tscn")
|
||||
1
assets/scripts/credits_close_button.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://65gtnts6kj5w
|
||||
26
assets/scripts/cutscene.gd
Normal file
@@ -0,0 +1,26 @@
|
||||
extends Node2D
|
||||
|
||||
var changing_scene := false
|
||||
var anim_start = Time.get_ticks_msec()
|
||||
|
||||
func spawn_bubble() -> void:
|
||||
var new_bubble: Sprite2D = $bubble_to_clone.duplicate(15)
|
||||
new_bubble.set_meta("is_original", false)
|
||||
var new_bubble_size = new_bubble.texture.get_size()
|
||||
new_bubble.position = Vector2(
|
||||
randf_range(0, DisplayServer.window_get_size().x - new_bubble_size.x),
|
||||
randf_range(0, DisplayServer.window_get_size().y - new_bubble_size.y)
|
||||
)
|
||||
add_child(new_bubble)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Time.get_ticks_msec() - anim_start >= 5000:
|
||||
get_tree().change_scene_to_file("res://assets/scenes/game.tscn")
|
||||
|
||||
func _ready() -> void:
|
||||
var screen = DisplayServer.window_get_size()
|
||||
var bubble_size = $bubble_to_clone.texture.get_size()
|
||||
var cols = ceil(screen.x / bubble_size.x) + 1
|
||||
var rows = ceil(screen.y / bubble_size.y) + 1
|
||||
for i in range(cols * rows):
|
||||
spawn_bubble()
|
||||
1
assets/scripts/cutscene.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bouh46cbivutc
|
||||
143
assets/scripts/fish_area_2d.gd
Normal file
@@ -0,0 +1,143 @@
|
||||
extends Area2D
|
||||
|
||||
@onready var sprite = $fish_button_to_clone # or whatever the sprite node is named
|
||||
@onready var audio_player = get_node("/root/Main/ClickSoundManager")
|
||||
var does_move = 1
|
||||
var speed_scale = 1.0
|
||||
var new_rotation: float
|
||||
var is_reeling = false
|
||||
var reel_speed = 800.0
|
||||
var line_origin: Vector2
|
||||
var line: Line2D
|
||||
var hook_sprite: Sprite2D
|
||||
var wobble = 0.0
|
||||
var angle = randi() % 360
|
||||
var last_bubble_spawn = Time.get_ticks_msec()
|
||||
|
||||
func get_size() -> Vector2:
|
||||
if sprite.texture:
|
||||
return sprite.texture.get_size() * sprite.scale
|
||||
return Vector2.ZERO
|
||||
|
||||
func play_sound(path: String):
|
||||
var player = AudioStreamPlayer.new()
|
||||
add_child(player)
|
||||
player.stream = load(path)
|
||||
player.play()
|
||||
player.finished.connect(player.queue_free)
|
||||
|
||||
func spawn_bubble() -> void:
|
||||
var new_bubble: Sprite2D = $"/root/Main/bubble_to_clone".duplicate(15)
|
||||
new_bubble.set_meta("is_original", false)
|
||||
new_bubble.position = Vector2(
|
||||
global_position.x * randf_range(0.95, 1.05),
|
||||
global_position.y
|
||||
)
|
||||
get_parent().get_parent().get_parent().add_child(new_bubble)
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if get_meta("is_original", false):
|
||||
return
|
||||
|
||||
var sz = get_size()
|
||||
if is_reeling:
|
||||
if Time.get_ticks_msec() - last_bubble_spawn >= 20:
|
||||
last_bubble_spawn = Time.get_ticks_msec()
|
||||
spawn_bubble()
|
||||
|
||||
global_position.y -= reel_speed * delta
|
||||
global_position.x = line_origin.x # no offset
|
||||
if line and is_instance_valid(line):
|
||||
line.set_point_position(0, line_origin)
|
||||
line.set_point_position(1, global_position)
|
||||
if hook_sprite and is_instance_valid(hook_sprite):
|
||||
hook_sprite.global_position = global_position - Vector2(0, get_size().y / 5)
|
||||
if global_position.y + get_size().y <= 0:
|
||||
_on_caught()
|
||||
return
|
||||
|
||||
if does_move == 1:
|
||||
var mouse = get_global_mouse_position()
|
||||
var top_left = global_position - sz / 2
|
||||
var rect = Rect2(top_left, sz)
|
||||
if rect.has_point(mouse):
|
||||
speed_scale = 0.6
|
||||
else:
|
||||
speed_scale = 1.0
|
||||
new_rotation = angle - deg_to_rad(135)
|
||||
if abs(new_rotation - rotation) > 0.01:
|
||||
rotation = lerp_angle(rotation, new_rotation, 0.2)
|
||||
else:
|
||||
rotation = new_rotation
|
||||
|
||||
wobble += delta * 15.0
|
||||
var wobble_angle = angle + sin(wobble) * 0.3
|
||||
var wobble_dir = Vector2(cos(wobble_angle), sin(wobble_angle))
|
||||
|
||||
global_position += wobble_dir * Globals.FISH_SPEED * delta * speed_scale
|
||||
|
||||
new_rotation = wobble_angle - deg_to_rad(135)
|
||||
if abs(new_rotation - rotation) > 0.01:
|
||||
rotation = lerp_angle(rotation, new_rotation, 0.2)
|
||||
else:
|
||||
rotation = new_rotation
|
||||
|
||||
var screen_size = get_viewport_rect().size
|
||||
if global_position.x < 0:
|
||||
if is_instance_valid(line):
|
||||
line.queue_free()
|
||||
if is_instance_valid(hook_sprite):
|
||||
hook_sprite.queue_free()
|
||||
queue_free()
|
||||
elif global_position.x > screen_size.x:
|
||||
if is_instance_valid(line):
|
||||
line.queue_free()
|
||||
if is_instance_valid(hook_sprite):
|
||||
hook_sprite.queue_free()
|
||||
queue_free()
|
||||
|
||||
if global_position.y < 0:
|
||||
global_position.y = -global_position.y
|
||||
self.angle = -self.angle
|
||||
elif global_position.y > screen_size.y:
|
||||
global_position.y = 2 * screen_size.y - global_position.y
|
||||
self.angle = -self.angle
|
||||
|
||||
func _on_input_event(_viewport, event, _shape_idx) -> void:
|
||||
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||
_on_clicked()
|
||||
|
||||
func _on_clicked() -> void:
|
||||
if is_reeling:
|
||||
return
|
||||
var fish_center = global_position
|
||||
line_origin = Vector2(fish_center.x, 0)
|
||||
|
||||
line = Line2D.new()
|
||||
line.width = 2.0
|
||||
line.default_color = Color(0.6, 0.6, 0.6, 1.0)
|
||||
line.top_level = true
|
||||
line.points = PackedVector2Array([line_origin, fish_center])
|
||||
add_child(line)
|
||||
|
||||
hook_sprite = Sprite2D.new()
|
||||
hook_sprite.texture = load("res://assets/graphics/hook.png")
|
||||
hook_sprite.top_level = true
|
||||
hook_sprite.global_position = fish_center - Vector2(0, get_size().y / 5)
|
||||
hook_sprite.scale = Vector2(1.5, 1.5)
|
||||
add_child(hook_sprite)
|
||||
|
||||
is_reeling = true
|
||||
does_move = 0
|
||||
rotation = 0
|
||||
play_sound("res://assets/sfx/splash.mp3")
|
||||
|
||||
func _on_caught() -> void:
|
||||
Globals.coins += (1 + (Globals.sell_cost_upgrades * 0.5))
|
||||
Globals.fish_per_second += 1
|
||||
Globals.successful_hit += 1
|
||||
if line and is_instance_valid(line):
|
||||
line.queue_free()
|
||||
if hook_sprite and is_instance_valid(hook_sprite):
|
||||
hook_sprite.queue_free()
|
||||
queue_free()
|
||||
1
assets/scripts/fish_area_2d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://qp6v3st8ix3v
|
||||
0
assets/scripts/fish_button_to_clone.gd
Normal file
1
assets/scripts/fish_button_to_clone.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ckp3u7iahsl3x
|
||||
6
assets/scripts/fish_spawn_buy.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Button
|
||||
|
||||
func _pressed() -> void:
|
||||
if Globals.coins >= Globals.SPAWN_SPEED_PRICE * (Globals.spawn_speed_upgrades + 1):
|
||||
Globals.coins -= Globals.SPAWN_SPEED_PRICE * (Globals.spawn_speed_upgrades + 1)
|
||||
Globals.spawn_speed_upgrades += 1
|
||||
1
assets/scripts/fish_spawn_buy.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cyc55s4f8xujd
|
||||
72
assets/scripts/game_manager.gd
Normal file
@@ -0,0 +1,72 @@
|
||||
extends Node2D
|
||||
@onready var fish_parent: Node2D = $fish_parent
|
||||
@onready var coinText: RichTextLabel = $Control/coins_label
|
||||
@onready var audio_player = $"ClickSoundManager"
|
||||
var last_bubble = Time.get_ticks_msec()
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventMouseButton and event.pressed:
|
||||
Globals.all_hit += 1
|
||||
|
||||
func play_sound(path: String):
|
||||
var player = AudioStreamPlayer.new()
|
||||
add_child(player)
|
||||
player.stream = load(path)
|
||||
player.play()
|
||||
player.finished.connect(player.queue_free)
|
||||
|
||||
func spawn_blahaj() -> void:
|
||||
var new_blahaj: Area2D = $blahaj_area2d.duplicate(15)
|
||||
new_blahaj.set_meta("is_original", false)
|
||||
var new_blahaj_size = new_blahaj.get_child(0).texture.get_size() * new_blahaj.get_child(0).scale
|
||||
new_blahaj.position = Vector2(
|
||||
randf_range(DisplayServer.window_get_size().x * 0.1, Globals.spawn_area.x - new_blahaj_size.x),
|
||||
randf_range(DisplayServer.window_get_size().y * 0.1, Globals.spawn_area.y - new_blahaj_size.y)
|
||||
)
|
||||
|
||||
add_child(new_blahaj)
|
||||
|
||||
func spawn_toucan() -> void:
|
||||
var new_toucan: Area2D = $toucan_area2d.duplicate(15)
|
||||
new_toucan.set_meta("is_original", false)
|
||||
var new_toucan_size = new_toucan.get_child(0).texture.get_size()
|
||||
new_toucan.position = Vector2(
|
||||
randf_range(DisplayServer.window_get_size().x * 0.1, Globals.spawn_area.x - new_toucan_size.x),
|
||||
-new_toucan_size.y * 2
|
||||
)
|
||||
|
||||
add_child(new_toucan)
|
||||
|
||||
func spawn_bubble() -> void:
|
||||
var new_bubble: Sprite2D = $bubble_to_clone.duplicate(15)
|
||||
new_bubble.set_meta("is_original", false)
|
||||
var new_bubble_size = new_bubble.texture.get_size()
|
||||
new_bubble.position = Vector2(
|
||||
randf_range(0, DisplayServer.window_get_size().x - new_bubble_size.x),
|
||||
DisplayServer.window_get_size().y
|
||||
)
|
||||
add_child(new_bubble)
|
||||
|
||||
func _ready() -> void:
|
||||
audio_player.play()
|
||||
Globals.init_button($fish_parent/fish_area2d)
|
||||
get_viewport().size_changed.connect(_on_window_resized)
|
||||
|
||||
var spawn_time: float = (1.0 / (4.0 + Globals.spawn_speed_upgrades))
|
||||
$spawn_timer.wait_time = spawn_time
|
||||
|
||||
for i in Globals.blahaj_upgrades:
|
||||
spawn_blahaj()
|
||||
|
||||
for i in Globals.toucan_upgrades:
|
||||
spawn_toucan()
|
||||
|
||||
func _on_window_resized() -> void:
|
||||
Globals.spawn_area = DisplayServer.window_get_size()
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
coinText.text = "Coins: {coins}\nFish per second: {fish_per_second}\nHit rate: {hit_rate}%".format({"coins": Globals.coins, "fish_per_second": round(Globals.last_fish_per_second / 3.0), "hit_rate": round(Globals.last_hit_percent)})
|
||||
|
||||
if Time.get_ticks_msec() - last_bubble >= 100:
|
||||
last_bubble = Time.get_ticks_msec()
|
||||
spawn_bubble()
|
||||
1
assets/scripts/game_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://wwqm6xuj48lg
|
||||
31
assets/scripts/globals.gd
Normal file
@@ -0,0 +1,31 @@
|
||||
# In Globals
|
||||
extends Node
|
||||
|
||||
var coins: int = 0
|
||||
var fish_per_second: int = 0
|
||||
var last_fish_per_second: int = 0
|
||||
var spawn_area: Vector2
|
||||
var fish_button_to_clone: Area2D
|
||||
var successful_hit = 0
|
||||
var all_hit = 0
|
||||
var last_hit_percent = 0
|
||||
var sell_cost_upgrades = 0
|
||||
var spawn_speed_upgrades = 0
|
||||
var blahaj_upgrades = 0
|
||||
var toucan_upgrades = 1
|
||||
|
||||
const COD_TYPES := ["blue", "green", "orange", "pink", "purple", "yellow"]
|
||||
|
||||
const FISH_SPEED = 100
|
||||
const BLAHAJ_SPEED = 150
|
||||
const TOUCAN_SPEED = 250
|
||||
const BUBBLE_SPEED = 100
|
||||
|
||||
const SELL_COST_PRICE = 225
|
||||
const SPAWN_SPEED_PRICE = 300
|
||||
const BLAHAJ_PRICE = 400
|
||||
const TOUCAN_PRICE = 75
|
||||
|
||||
func init_button(button: Area2D):
|
||||
fish_button_to_clone = button
|
||||
spawn_area = Vector2(DisplayServer.window_get_size())
|
||||
1
assets/scripts/globals.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://chyoc844old4i
|
||||
4
assets/scripts/play_button.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Button
|
||||
|
||||
func _pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://assets/scenes/cutscene.tscn")
|
||||
1
assets/scripts/play_button.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bqw60tl4be18a
|
||||
6
assets/scripts/sell_cost_buy.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Button
|
||||
|
||||
func _pressed() -> void:
|
||||
if Globals.coins >= Globals.SELL_COST_PRICE * (Globals.sell_cost_upgrades + 1):
|
||||
Globals.coins -= Globals.SELL_COST_PRICE * (Globals.sell_cost_upgrades + 1)
|
||||
Globals.sell_cost_upgrades += 1
|
||||
1
assets/scripts/sell_cost_buy.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c14tjf3qlxdi
|
||||
4
assets/scripts/shop_clicker.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends TextureButton
|
||||
|
||||
func _pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://assets/scenes/shop.tscn")
|
||||
1
assets/scripts/shop_clicker.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://24gsro7ny3g
|
||||
4
assets/scripts/shop_close.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
extends Button
|
||||
|
||||
func _pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://assets/scenes/game.tscn")
|
||||
1
assets/scripts/shop_close.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dpoooqbw6moto
|
||||
8
assets/scripts/shop_manager.gd
Normal file
@@ -0,0 +1,8 @@
|
||||
extends Control
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
$coins_label.text = "Coins: {coins}".format({"coins": Globals.coins})
|
||||
$toucan_label.text = "Toucan\nOwned: {owned}\nCost: {cost}$".format({"owned": Globals.toucan_upgrades, "cost": Globals.TOUCAN_PRICE * (Globals.toucan_upgrades + 1)})
|
||||
$blahaj_label.text = "Blahaj\nOwned: {owned}\nCost: {cost}$".format({"owned": Globals.blahaj_upgrades, "cost": Globals.BLAHAJ_PRICE * (Globals.blahaj_upgrades + 1)})
|
||||
$sell_cost_upgrade.text = "Sell cost upgrade\n(+1$)\nOwned: {owned}\nCost: {cost}$".format({"owned": Globals.sell_cost_upgrades, "cost": Globals.SELL_COST_PRICE * (Globals.sell_cost_upgrades + 1)})
|
||||
$fish_spawn_upgrade.text = "Fish Spawn Speed upgrade\n(+ 1 fish/s)\nOwned: {owned}\nCost: {cost}$".format({"owned": Globals.spawn_speed_upgrades, "cost": Globals.SPAWN_SPEED_PRICE * (Globals.spawn_speed_upgrades + 1)})
|
||||
1
assets/scripts/shop_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://deoyoa417jjia
|
||||
29
assets/scripts/spawn_timer.gd
Normal file
@@ -0,0 +1,29 @@
|
||||
extends Timer
|
||||
|
||||
@onready var fish_button_to_clone = get_node("../fish_parent/fish_area2d")
|
||||
@onready var fish_parent = get_node("../fish_parent")
|
||||
|
||||
func get_sprite_size(sprite: Sprite2D) -> Vector2:
|
||||
if sprite.texture:
|
||||
if sprite.region_enabled:
|
||||
return sprite.region_rect.size * sprite.scale
|
||||
return sprite.texture.get_size() * sprite.scale
|
||||
return Vector2.ZERO
|
||||
|
||||
func spawn() -> void:
|
||||
var fish_area: Area2D = fish_button_to_clone.duplicate(15)
|
||||
fish_area.get_child(0).texture = load("res://assets/graphics/{type}_cod.png".format({"type": Globals.COD_TYPES[randi() % Globals.COD_TYPES.size()]}))
|
||||
fish_area.set_meta("is_original", false)
|
||||
fish_area.visible = true
|
||||
fish_area.get_child(0).visible = true
|
||||
|
||||
fish_parent.add_child(fish_area)
|
||||
|
||||
var fish_size = get_sprite_size(fish_button_to_clone.get_child(0))
|
||||
fish_area.position = Vector2(
|
||||
randf_range(0, Globals.spawn_area.x - fish_size.x),
|
||||
randf_range(0, Globals.spawn_area.y - fish_size.y)
|
||||
)
|
||||
|
||||
func _on_timeout() -> void:
|
||||
spawn()
|
||||
1
assets/scripts/spawn_timer.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c8ys3ls826d21
|
||||
55
assets/scripts/toucan.gd
Normal file
@@ -0,0 +1,55 @@
|
||||
extends Sprite2D
|
||||
|
||||
var nearest_fish: Area2D
|
||||
var last_eat = Time.get_ticks_msec()
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if get_parent().get_meta("is_original", false):
|
||||
return
|
||||
|
||||
if not Time.get_ticks_msec() - last_eat >= 700:
|
||||
return
|
||||
|
||||
var min_dist: float = INF
|
||||
nearest_fish = null
|
||||
|
||||
for fish in get_node("/root/Main/fish_parent").get_children():
|
||||
if not is_instance_of(fish, Area2D):
|
||||
continue
|
||||
var dist = global_position.distance_to(fish.global_position)
|
||||
|
||||
if fish.global_position.y < (DisplayServer.window_get_size().y * 0.35) and dist < min_dist:
|
||||
min_dist = dist
|
||||
nearest_fish = fish
|
||||
|
||||
if not is_instance_valid(nearest_fish) or nearest_fish.position.y > (DisplayServer.window_get_size().y * 0.35):
|
||||
respawn()
|
||||
return
|
||||
|
||||
var direction = ((nearest_fish.global_position - global_position) * randf_range(0.9, 1.1)).normalized()
|
||||
get_parent().position += direction * Globals.TOUCAN_SPEED * delta
|
||||
get_parent().rotation = lerp_angle(get_parent().rotation, direction.angle(), 0.025)
|
||||
|
||||
for area: Area2D in get_parent().get_overlapping_areas():
|
||||
if area.is_in_group("fish"):
|
||||
Globals.coins += (1 + Globals.sell_cost_upgrades)
|
||||
Globals.fish_per_second += 1
|
||||
area.queue_free()
|
||||
respawn()
|
||||
play_sound("res://assets/sfx/splash.mp3")
|
||||
last_eat = Time.get_ticks_msec()
|
||||
|
||||
func play_sound(path: String):
|
||||
var player = AudioStreamPlayer.new()
|
||||
add_child(player)
|
||||
player.stream = load(path)
|
||||
player.play()
|
||||
player.finished.connect(player.queue_free)
|
||||
|
||||
func respawn() -> void:
|
||||
var new_toucan_size = self.texture.get_size()
|
||||
|
||||
get_parent().position = Vector2(
|
||||
randf_range(DisplayServer.window_get_size().x * 0.1, Globals.spawn_area.x - new_toucan_size.x),
|
||||
-new_toucan_size.y * 2
|
||||
)
|
||||
1
assets/scripts/toucan.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bqxust6gkydnx
|
||||
6
assets/scripts/toucan_buy.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends TextureButton
|
||||
|
||||
func _pressed() -> void:
|
||||
if Globals.coins >= Globals.TOUCAN_PRICE * (Globals.toucan_upgrades + 1):
|
||||
Globals.coins -= Globals.TOUCAN_PRICE * (Globals.toucan_upgrades + 1)
|
||||
Globals.toucan_upgrades += 1
|
||||
1
assets/scripts/toucan_buy.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bm7jxybqhhny2
|
||||
BIN
assets/sfx/background_music.mp3
Normal file
19
assets/sfx/background_music.mp3.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://uofd453dcad6"
|
||||
path="res://.godot/imported/background_music.mp3-e972e4c8e346696b091b717e45558e3f.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/background_music.mp3"
|
||||
dest_files=["res://.godot/imported/background_music.mp3-e972e4c8e346696b091b717e45558e3f.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
assets/sfx/splash.mp3
Normal file
19
assets/sfx/splash.mp3.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dfv86m7q1f433"
|
||||
path="res://.godot/imported/splash.mp3-55d8c195a906c5dec5204c8fdcec3980.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/splash.mp3"
|
||||
dest_files=["res://.godot/imported/splash.mp3-55d8c195a906c5dec5204c8fdcec3980.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
49
export_presets.cfg
Normal file
@@ -0,0 +1,49 @@
|
||||
[preset.0]
|
||||
|
||||
name="Web"
|
||||
platform="Web"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="export/web/index.html"
|
||||
patches=PackedStringArray()
|
||||
patch_delta_encoding=false
|
||||
patch_delta_compression_level_zstd=19
|
||||
patch_delta_min_reduction=0.1
|
||||
patch_delta_include_filters="*"
|
||||
patch_delta_exclude_filters=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/extensions_support=false
|
||||
variant/thread_support=false
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||
threads/emscripten_pool_size=8
|
||||
threads/godot_pool_size=4
|
||||
36
font.ttf.import
Normal file
@@ -0,0 +1,36 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://bd4iri86plmvs"
|
||||
path="res://.godot/imported/font.ttf-7ba3e8c1ec355f88f1af089917a76c36.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://font.ttf"
|
||||
dest_files=["res://.godot/imported/font.ttf-7ba3e8c1ec355f88f1af089917a76c36.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
modulate_color_glyphs=false
|
||||
hinting=1
|
||||
subpixel_positioning=4
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
1
icon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
||||
|
After Width: | Height: | Size: 995 B |
43
icon.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bn3enxewmtmft"
|
||||
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.svg"
|
||||
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
36
project.godot
Normal file
@@ -0,0 +1,36 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Fishy Fingers"
|
||||
run/main_scene="uid://c2tl28kgehoia"
|
||||
config/features=PackedStringArray("4.6", "GL Compatibility")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
Globals="*uid://chyoc844old4i"
|
||||
BackgroundMusic="*uid://id0pabbvhqyf"
|
||||
|
||||
[display]
|
||||
|
||||
mouse_cursor/custom_image="uid://bmkcbeeqh600a"
|
||||
|
||||
[physics]
|
||||
|
||||
3d/physics_engine="Jolt Physics"
|
||||
|
||||
[rendering]
|
||||
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
rendering_device/driver.windows="d3d12"
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
renderer/rendering_method.mobile="gl_compatibility"
|
||||
8
theme.tres
Normal file
@@ -0,0 +1,8 @@
|
||||
[gd_resource type="Theme" format=3 uid="uid://b0kqa0xq44wmt"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://bd4iri86plmvs" path="res://font.ttf" id="1_e1x85"]
|
||||
|
||||
[resource]
|
||||
default_font = ExtResource("1_e1x85")
|
||||
default_font_size = 32
|
||||
RichTextLabel/colors/default_color = Color(0, 0, 0, 1)
|
||||