Compare commits
12 commits
stable
...
dev-music-
Author | SHA1 | Date | |
---|---|---|---|
|
2f960fc2cc | ||
91920d15b1 | |||
a1bdddb849 | |||
c3e43aa5e4 | |||
ea3192a894 | |||
2c0a0673da | |||
d3fd2f0a6a | |||
04d5d2422c | |||
2fc9af744d | |||
c0cf72a6d1 | |||
|
0905212626 | ||
|
a26e37d301 |
99
.gitea/workflows/build.yml
Normal file
|
@ -0,0 +1,99 @@
|
|||
name: "godot-ci export"
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- stable
|
||||
|
||||
jobs:
|
||||
export_game:
|
||||
runs-on: ubuntu-latest
|
||||
name: Export Game
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v3.3.0
|
||||
- name: Install Packages
|
||||
id: wine_install
|
||||
run: |
|
||||
apt update -y && apt upgrade -y
|
||||
apt install -y wine64 nodejs p7zip-full ca-certificates tree jq curl zip
|
||||
echo "WINE_PATH=$(which wine64)" >> $GITHUB_OUTPUT
|
||||
- name: Download Godot build-libs
|
||||
run: |
|
||||
mkdir -p /root/.local/share/godot/
|
||||
wget -nv https://github.com/godotengine/godot/releases/download/4.0.2-stable/Godot_v4.0.2-stable_linux.x86_64.zip -O "/root/.local/share/godot/godot.zip"
|
||||
wget -nv https://github.com/godotengine/godot/releases/download/4.0.2-stable/Godot_v4.0.2-stable_export_templates.tpz -O /root/.local/share/godot/godot_templates.tpz
|
||||
- name: Setup Godot build-libs
|
||||
run: |
|
||||
7z x /root/.local/share/godot/godot.zip -o/root/.local/share/godot/godot_executable -y
|
||||
chmod +x /root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64
|
||||
unzip /root/.local/share/godot/godot_templates.tpz -d /root/.local/share/godot
|
||||
mv /root/.local/share/godot/templates /root/.local/share/godot/4.0.2.stable
|
||||
mkdir -p /root/.local/share/godot/export_templates
|
||||
mv /root/.local/share/godot/4.0.2.stable /root/.local/share/godot/export_templates
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 --version
|
||||
- name: Export for Web
|
||||
run: |
|
||||
mkdir -p ./builds/web/
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 /var/lib/actions/project.godot -q --headless --export-release "Web" ./builds/web/Game.html
|
||||
- name: Package for Web
|
||||
run: |
|
||||
cd builds
|
||||
tar -czvf web.zip -C web/ .
|
||||
- name: Export for Linux
|
||||
run: |
|
||||
mkdir -p ./builds/linux/
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 /var/lib/actions/project.godot -q --headless --export-release "Linux/X11" ./builds/linux/Game.x86_64
|
||||
- name: Package for Linux
|
||||
run: |
|
||||
cd builds
|
||||
tar -czvf linux.tar.gz -C linux/ .
|
||||
- name: Export for Windows
|
||||
run: |
|
||||
mkdir -p ./builds/windows/
|
||||
/root/.local/share/godot/godot_executable/Godot_v4.0.2-stable_linux.x86_64 /var/lib/actions/project.godot -q --headless --export-release "Windows Desktop" ./builds/windows/Game.exe
|
||||
- name: Package for Windows
|
||||
run: |
|
||||
cd builds
|
||||
cd windows; zip -r ../windows.zip *
|
||||
cd ..
|
||||
- name: Create Release
|
||||
run: |
|
||||
echo "Getting last Release Tag"
|
||||
VERSION=$(curl -X 'GET' 'https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases?page=1&limit=1' -H 'accept: application/json' -H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' )
|
||||
echo $VERSION | jq -r '.[0].tag_name'
|
||||
VERSION=$(echo $VERSION | jq -r '.[0].tag_name' | awk -F. -v OFS=. '{$NF += 1 ; print}')
|
||||
echo "Generate new Release with tag: $VERSION"
|
||||
ID=$(curl -X 'POST' \
|
||||
'https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-d "{
|
||||
\"body\": \"Automated Build\",
|
||||
\"draft\": true,
|
||||
\"name\": \"Automated Release $VERSION\",
|
||||
\"prerelease\": true,
|
||||
\"tag_name\": \"$VERSION\"
|
||||
}")
|
||||
ID=$(echo $ID | jq -r '.id')
|
||||
echo $ID Upload Web
|
||||
curl -X 'POST' \
|
||||
"https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases/$ID/assets?name=Web.zip" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: multipart/form-data' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-F 'attachment=@./builds/web.zip;type=application/gzip'
|
||||
echo $ID Upload Linux
|
||||
curl -X 'POST' \
|
||||
"https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases/$ID/assets?name=Linux.tar.gz" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: multipart/form-data' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-F 'attachment=@./builds/linux.tar.gz;type=application/gzip'
|
||||
echo $ID Upload Windows
|
||||
curl -X 'POST' \
|
||||
"https://git.euph.dev/api/v1/repos/${{ github.repository }}/releases/$ID/assets?name=Windows.zip" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: multipart/form-data' \
|
||||
-H 'Authorization: token ${{ secrets.RELEASE_TOKEN }}' \
|
||||
-F 'attachment=@./builds/windows.zip;type=application/gzip'
|
BIN
Assets/SFX/Jesus/Projectile/Throw Variation 1.wav
Normal file
24
Assets/SFX/Jesus/Projectile/Throw Variation 1.wav.import
Normal file
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dornq2kwau6bg"
|
||||
path="res://.godot/imported/Throw Variation 1.wav-cb6e200c1a7508bd3b1eaae71204fc57.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/SFX/Jesus/Projectile/Throw Variation 1.wav"
|
||||
dest_files=["res://.godot/imported/Throw Variation 1.wav-cb6e200c1a7508bd3b1eaae71204fc57.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/SFX/Jesus/Projectile/Throw Variation 2.wav
Normal file
24
Assets/SFX/Jesus/Projectile/Throw Variation 2.wav.import
Normal file
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b2pd7efb2r7g5"
|
||||
path="res://.godot/imported/Throw Variation 2.wav-29a6debbe12d45d7a1d5ed60acdd2d8f.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/SFX/Jesus/Projectile/Throw Variation 2.wav"
|
||||
dest_files=["res://.godot/imported/Throw Variation 2.wav-29a6debbe12d45d7a1d5ed60acdd2d8f.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/SFX/Jesus/Projectile/Throw Variation 3.wav
Normal file
24
Assets/SFX/Jesus/Projectile/Throw Variation 3.wav.import
Normal file
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cqxnclejfbmvb"
|
||||
path="res://.godot/imported/Throw Variation 3.wav-6149b642d398d05b4c6ebfab8846c3e5.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/SFX/Jesus/Projectile/Throw Variation 3.wav"
|
||||
dest_files=["res://.godot/imported/Throw Variation 3.wav-6149b642d398d05b4c6ebfab8846c3e5.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
|
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvji70p68eae8"
|
||||
path="res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/EvilBunny/bunny_righ.png"
|
||||
dest_files=["res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 1.3 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ep63wy3imw2d"
|
||||
path="res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_down.png"
|
||||
dest_files=["res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b0x834s5l1qot"
|
||||
path="res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_left.png"
|
||||
dest_files=["res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7nmf03fho3m"
|
||||
path="res://.godot/imported/bunny_righ.png-22915acce3c057f7ae0e80e8a00e8f45.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_righ.png"
|
||||
dest_files=["res://.godot/imported/bunny_righ.png-22915acce3c057f7ae0e80e8a00e8f45.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d2m2jsxx5xpxx"
|
||||
path="res://.godot/imported/bunny_up.png-d5ed05cbbf36f84feb579ad11c8b8aca.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/GoodBunny/bunny_up.png"
|
||||
dest_files=["res://.godot/imported/bunny_up.png-d5ed05cbbf36f84feb579ad11c8b8aca.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 597 B |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ct2del6b6jorm"
|
||||
path="res://.godot/imported/Jesus Back.png-6132a4979edf4d1442fefae322c4ce7c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Jesus/Jesus Back.png"
|
||||
dest_files=["res://.godot/imported/Jesus Back.png-6132a4979edf4d1442fefae322c4ce7c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 714 B |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c03lntytfivr1"
|
||||
path="res://.godot/imported/Jesus Front.png-b78bfa6c3ed674009555f7ab3f93e778.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Jesus/Jesus Front.png"
|
||||
dest_files=["res://.godot/imported/Jesus Front.png-b78bfa6c3ed674009555f7ab3f93e778.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 665 B |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cn4kqa1p845wl"
|
||||
path="res://.godot/imported/Jesus Left.png-2949c2879ed5f5e8def57f2eb1498de4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Jesus/Jesus Left.png"
|
||||
dest_files=["res://.godot/imported/Jesus Left.png-2949c2879ed5f5e8def57f2eb1498de4.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 7.2 KiB |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bl7vfn05ul1vu"
|
||||
path="res://.godot/imported/Jesus Spritesheet.png-821a08dd328b5743c2bc86e42539e57a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Jesus/Jesus Spritesheet.png"
|
||||
dest_files=["res://.godot/imported/Jesus Spritesheet.png-821a08dd328b5743c2bc86e42539e57a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
Before Width: | Height: | Size: 145 B |
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cubc3m81pdyvq"
|
||||
path="res://.godot/imported/Shadow.png-e182ddfbb5e0bd7753fe3ec1e6b362c7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Jesus/Shadow.png"
|
||||
dest_files=["res://.godot/imported/Shadow.png-e182ddfbb5e0bd7753fe3ec1e6b362c7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
|
@ -1,12 +1,14 @@
|
|||
[gd_resource type="TileSet" load_steps=4 format=3 uid="uid://bj7uu2180mie3"]
|
||||
[gd_resource type="TileSet" load_steps=5 format=3 uid="uid://bj7uu2180mie3"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dl2qogjortsbo" path="res://Assets/Sprites/TileMap.png" id="1_cl3se"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_fhapu"]
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_l6uwm"]
|
||||
vertices = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
|
||||
outlines = Array[PackedVector2Array]([PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)])
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_dkm5b"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mgef5"]
|
||||
texture = ExtResource("1_cl3se")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
|
@ -16,12 +18,14 @@ texture_region_size = Vector2i(32, 32)
|
|||
0:0/0/probability = 2.0
|
||||
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -6, 16, -6, 16, 16, -16, 16)
|
||||
0:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0 = 0
|
||||
1:0/0/terrain_set = 0
|
||||
1:0/0/terrain = 0
|
||||
1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:0/0/terrains_peering_bit/right_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0 = 0
|
||||
|
@ -29,6 +33,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
2:0/0/terrain = 0
|
||||
2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:0/0/terrains_peering_bit/right_side = 0
|
||||
2:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0/terrains_peering_bit/left_side = 0
|
||||
|
@ -37,6 +42,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
3:0/0/terrain = 0
|
||||
3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
3:0/0/terrains_peering_bit/bottom_side = 0
|
||||
3:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0 = 0
|
||||
|
@ -44,6 +50,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
4:0/0/terrain = 0
|
||||
4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
4:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:0/0/terrains_peering_bit/right_side = 0
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
4:0/0/terrains_peering_bit/left_side = 0
|
||||
|
@ -72,6 +79,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
7:0/0/terrain = 0
|
||||
7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
7:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:0/0/terrains_peering_bit/right_side = 0
|
||||
7:0/0/terrains_peering_bit/bottom_side = 0
|
||||
7:0/0/terrains_peering_bit/left_side = 0
|
||||
|
@ -92,6 +100,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
9:0/0/terrain = 0
|
||||
9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
9:0/0/physics_layer_0/angular_velocity = 0.0
|
||||
9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:0/0/terrains_peering_bit/right_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:0/0/terrains_peering_bit/bottom_side = 0
|
||||
|
@ -124,6 +133,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
0:1/0/terrain = 0
|
||||
0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:1/0/terrains_peering_bit/bottom_side = 0
|
||||
0:1/0/terrains_peering_bit/top_side = 0
|
||||
1:1/0 = 0
|
||||
|
@ -131,6 +141,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
1:1/0/terrain = 0
|
||||
1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:1/0/terrains_peering_bit/right_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_side = 0
|
||||
1:1/0/terrains_peering_bit/top_side = 0
|
||||
|
@ -139,6 +150,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
2:1/0/terrain = 0
|
||||
2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:1/0/terrains_peering_bit/right_side = 0
|
||||
2:1/0/terrains_peering_bit/bottom_side = 0
|
||||
2:1/0/terrains_peering_bit/left_side = 0
|
||||
|
@ -148,6 +160,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
3:1/0/terrain = 0
|
||||
3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
3:1/0/terrains_peering_bit/bottom_side = 0
|
||||
3:1/0/terrains_peering_bit/left_side = 0
|
||||
3:1/0/terrains_peering_bit/top_side = 0
|
||||
|
@ -220,6 +233,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
11:1/0/terrain = 0
|
||||
11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
11:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 4, 16, 4, -1, 16, -1)
|
||||
11:1/0/terrains_peering_bit/right_side = 0
|
||||
11:1/0/terrains_peering_bit/bottom_side = 0
|
||||
11:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
|
@ -232,12 +246,14 @@ texture_region_size = Vector2i(32, 32)
|
|||
0:2/0/probability = 2.0
|
||||
0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
0:2/0/terrains_peering_bit/top_side = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
1:2/0/terrain = 0
|
||||
1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
1:2/0/terrains_peering_bit/right_side = 0
|
||||
1:2/0/terrains_peering_bit/top_side = 0
|
||||
2:2/0 = 0
|
||||
|
@ -245,6 +261,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
2:2/0/terrain = 0
|
||||
2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
2:2/0/terrains_peering_bit/right_side = 0
|
||||
2:2/0/terrains_peering_bit/left_side = 0
|
||||
2:2/0/terrains_peering_bit/top_side = 0
|
||||
|
@ -253,6 +270,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
3:2/0/terrain = 0
|
||||
3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
3:2/0/terrains_peering_bit/left_side = 0
|
||||
3:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0 = 0
|
||||
|
@ -302,6 +320,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
8:2/0/terrain = 0
|
||||
8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
8:2/0/physics_layer_0/angular_velocity = 0.0
|
||||
8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -3, 16, -3, -1, -16, -1)
|
||||
8:2/0/terrains_peering_bit/right_side = 0
|
||||
8:2/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
8:2/0/terrains_peering_bit/bottom_side = 0
|
||||
|
@ -351,18 +370,21 @@ texture_region_size = Vector2i(32, 32)
|
|||
0:3/0/probability = 2.0
|
||||
0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
0:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, -16, -12, -16, -12, -1, 12, -1)
|
||||
1:3/0 = 0
|
||||
1:3/0/terrain_set = 0
|
||||
1:3/0/terrain = 0
|
||||
1:3/0/probability = 2.0
|
||||
1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
1:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-4, -16, 16, -16, 16, -1, -4, -1)
|
||||
1:3/0/terrains_peering_bit/right_side = 0
|
||||
2:3/0 = 0
|
||||
2:3/0/terrain_set = 0
|
||||
2:3/0/terrain = 0
|
||||
2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
2:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
2:3/0/terrains_peering_bit/right_side = 0
|
||||
2:3/0/terrains_peering_bit/left_side = 0
|
||||
3:3/0 = 0
|
||||
|
@ -371,6 +393,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
3:3/0/probability = 2.0
|
||||
3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
3:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -16, -16, -16, -16, -1, 4, -1)
|
||||
3:3/0/terrains_peering_bit/left_side = 0
|
||||
4:3/0 = 0
|
||||
4:3/0/terrain_set = 0
|
||||
|
@ -387,6 +410,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
5:3/0/terrain = 0
|
||||
5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
5:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
5:3/0/terrains_peering_bit/right_side = 0
|
||||
5:3/0/terrains_peering_bit/left_side = 0
|
||||
5:3/0/terrains_peering_bit/top_side = 0
|
||||
|
@ -396,6 +420,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
6:3/0/terrain = 0
|
||||
6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
6:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, -1, -16, -1)
|
||||
6:3/0/terrains_peering_bit/right_side = 0
|
||||
6:3/0/terrains_peering_bit/left_side = 0
|
||||
6:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
|
@ -405,6 +430,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
7:3/0/terrain = 0
|
||||
7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
7:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -3, 16, -4, 7, -16, -1)
|
||||
7:3/0/terrains_peering_bit/right_side = 0
|
||||
7:3/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:3/0/terrains_peering_bit/bottom_side = 0
|
||||
|
@ -416,7 +442,7 @@ texture_region_size = Vector2i(32, 32)
|
|||
8:3/0/probability = 2.0
|
||||
8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
8:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 16, -1, -4, -1, -4, -16)
|
||||
8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-3, -16, 16, -16, 16, -1, -3, -1)
|
||||
8:3/0/terrains_peering_bit/right_side = 0
|
||||
8:3/0/terrains_peering_bit/top_side = 0
|
||||
8:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
|
@ -431,11 +457,13 @@ texture_region_size = Vector2i(32, 32)
|
|||
9:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:3/0/terrains_peering_bit/top_side = 0
|
||||
9:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:3/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_dkm5b")
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 0
|
||||
10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
10:3/0/physics_layer_0/angular_velocity = 0.0
|
||||
10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:3/0/terrains_peering_bit/right_side = 0
|
||||
10:3/0/terrains_peering_bit/bottom_side = 0
|
||||
10:3/0/terrains_peering_bit/left_side = 0
|
||||
|
@ -452,12 +480,21 @@ texture_region_size = Vector2i(32, 32)
|
|||
11:3/0/terrains_peering_bit/left_side = 0
|
||||
11:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
11:3/0/terrains_peering_bit/top_side = 0
|
||||
10:1/next_alternative_id = 11
|
||||
10:1/0 = 0
|
||||
10:1/0/terrain_set = 0
|
||||
10:1/0/terrain = 1
|
||||
10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
|
||||
10:1/0/physics_layer_0/angular_velocity = 0.0
|
||||
10:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_fhapu")
|
||||
10:1/0/terrains_peering_bit/right_side = 1
|
||||
10:1/0/terrains_peering_bit/bottom_right_corner = 1
|
||||
10:1/0/terrains_peering_bit/bottom_side = 1
|
||||
10:1/0/terrains_peering_bit/bottom_left_corner = 1
|
||||
10:1/0/terrains_peering_bit/left_side = 1
|
||||
10:1/0/terrains_peering_bit/top_left_corner = 1
|
||||
10:1/0/terrains_peering_bit/top_side = 1
|
||||
10:1/0/terrains_peering_bit/top_right_corner = 1
|
||||
10:1/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_l6uwm")
|
||||
|
||||
[resource]
|
||||
tile_size = Vector2i(32, 32)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_resource type="Theme" load_steps=47 format=3 uid="uid://babphdknr2kkd"]
|
||||
[gd_resource type="Theme" load_steps=47 format=3 uid="uid://b0b3fxesfrpb7"]
|
||||
|
||||
[ext_resource type="StyleBox" uid="uid://bmeh7kt6t886w" path="res://Assets/UI/Button/disabled.tres" id="1_n3up8"]
|
||||
[ext_resource type="StyleBox" uid="uid://gxy851bdkmb0" path="res://Assets/UI/Button/focus.tres" id="2_ukct7"]
|
||||
|
@ -41,7 +41,7 @@
|
|||
[ext_resource type="StyleBox" uid="uid://0jfr1uwuog0s" path="res://Assets/UI/Slider/v/background.tres" id="39_dl1e4"]
|
||||
[ext_resource type="FontFile" uid="uid://dqdeftjkwxe64" path="res://Assets/Fonts/Dogica/dogicapixel.ttf" id="40_bmcvq"]
|
||||
|
||||
[sub_resource type="Image" id="Image_fjlcl"]
|
||||
[sub_resource type="Image" id="Image_1o7tw"]
|
||||
data = {
|
||||
"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, 255, 255, 255, 64, 255, 255, 255, 0),
|
||||
"format": "RGBA8",
|
||||
|
@ -51,7 +51,7 @@ data = {
|
|||
}
|
||||
|
||||
[sub_resource type="ImageTexture" id="ImageTexture_g5bup"]
|
||||
image = SubResource("Image_fjlcl")
|
||||
image = SubResource("Image_1o7tw")
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sj7h5"]
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://cbfcolm6mjolp"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://btxarutbkchmb"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/UI/SettingsMenu.gd" id="1_2rgd2"]
|
||||
[ext_resource type="Script" path="res://Scripts/UI/Remaping/RemapController.gd" id="2_2f8ap"]
|
||||
[ext_resource type="Script" path="res://Scripts/UI/Remaping/RemapButton.gd" id="2_4asaa"]
|
||||
[ext_resource type="Theme" uid="uid://b0b3fxesfrpb7" path="res://Assets/UI/Theme.tres" id="3_ajuuh"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_02uod"]
|
||||
bg_color = Color(0.439216, 0.631373, 0.537255, 1)
|
||||
|
@ -22,7 +23,7 @@ master_volume_slider = NodePath("Panel/MarginContainer/VBoxContainer/SettingsTab
|
|||
music_volume_slider = NodePath("Panel/MarginContainer/VBoxContainer/SettingsTabs/Audio/ScrollView/MarginContainer/HBoxContainer/Item/MusicVolSlider")
|
||||
sfx_volume_slider = NodePath("Panel/MarginContainer/VBoxContainer/SettingsTabs/Audio/ScrollView/MarginContainer/HBoxContainer/Item/SFXVolSlider")
|
||||
|
||||
[node name="Remap Controller" type="Control" parent="."]
|
||||
[node name="Remap Controller" type="Control" parent="." node_paths=PackedStringArray("remap_buttons_holder")]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
|
@ -31,6 +32,7 @@ offset_top = 12.0
|
|||
offset_right = 12.0
|
||||
offset_bottom = 12.0
|
||||
script = ExtResource("2_2f8ap")
|
||||
remap_buttons_holder = NodePath("../Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item")
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
anchors_preset = 15
|
||||
|
@ -38,6 +40,7 @@ anchor_right = 1.0
|
|||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("3_ajuuh")
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_02uod")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="Panel"]
|
||||
|
@ -61,7 +64,6 @@ size_flags_vertical = 3
|
|||
tabs_rearrange_group = 0
|
||||
|
||||
[node name="Video" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 4
|
||||
theme_override_constants/margin_top = 4
|
||||
|
@ -232,6 +234,7 @@ min_value = -72.0
|
|||
max_value = 0.0
|
||||
|
||||
[node name="Controls" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 4
|
||||
theme_override_constants/margin_top = 4
|
||||
|
@ -341,6 +344,16 @@ layout_mode = 2
|
|||
text = "Attack Controller
|
||||
"
|
||||
|
||||
[node name="Spacer2" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Label"]
|
||||
custom_minimum_size = Vector2(0, 32)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="ResetLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Label"]
|
||||
custom_minimum_size = Vector2(0, 48)
|
||||
layout_mode = 2
|
||||
text = "Reset to Defaults"
|
||||
|
||||
[node name="Spacer" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
@ -469,6 +482,16 @@ script = ExtResource("2_4asaa")
|
|||
input_action_name = "attack_controller"
|
||||
remap_controller = NodePath("../../../../../../../../../../Remap Controller")
|
||||
|
||||
[node name="Spacers2" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item"]
|
||||
custom_minimum_size = Vector2(0, 32)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="ResetButton" type="Button" parent="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item"]
|
||||
custom_minimum_size = Vector2(400, 40)
|
||||
layout_mode = 2
|
||||
text = "Reset"
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_top = 32
|
||||
|
@ -501,4 +524,5 @@ text = "Back"
|
|||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/AimLeftControllerRemapButton" to="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/AimLeftControllerRemapButton" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/AimRightControllerRemapButton" to="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/AimRightControllerRemapButton" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/AttackControllerRemapButton" to="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/AttackControllerRemapButton" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/SettingsTabs/Controls/ScrollView/MarginContainer/HBoxContainer/Item/ResetButton" to="Remap Controller" method="_on_reset_button_pressed"]
|
||||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/MarginContainer/Back Button" to="." method="_on_back_pressed"]
|
||||
|
|
|
@ -1,13 +1,8 @@
|
|||
[gd_scene load_steps=12 format=3 uid="uid://cpl4tllohhyel"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://cpl4tllohhyel"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/EntitySystem/Bunny.gd" id="1_1kj2b"]
|
||||
[ext_resource type="Texture2D" uid="uid://df2fluk0dlqar" path="res://Assets/Sprites/Bunny/bad_bunny_spritesheet.png" id="2_v8p70"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_sedmr"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_itvjj"]
|
||||
radius = 14.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6br4g"]
|
||||
resource_name = "Idle"
|
||||
tracks/0/type = "value"
|
||||
|
@ -116,9 +111,12 @@ _data = {
|
|||
"RESET": SubResource("Animation_mp212")
|
||||
}
|
||||
|
||||
[node name="Bunny" type="CharacterBody2D" node_paths=PackedStringArray("animation_player", "agent")]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_nil6g"]
|
||||
radius = 11.0
|
||||
|
||||
[node name="Bunny" type="Area2D" node_paths=PackedStringArray("animation_player", "agent")]
|
||||
collision_layer = 4
|
||||
collision_mask = 15
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_1kj2b")
|
||||
animation_player = NodePath("BunnyAnimator")
|
||||
agent = NodePath("NavigationAgent")
|
||||
|
@ -129,23 +127,13 @@ texture = ExtResource("2_v8p70")
|
|||
hframes = 5
|
||||
vframes = 4
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_sedmr")
|
||||
|
||||
[node name="NavigationAgent" type="NavigationAgent2D" parent="."]
|
||||
path_metadata_flags = 0
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_layer = 64
|
||||
collision_mask = 4
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_itvjj")
|
||||
|
||||
[node name="BunnyAnimator" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_uuf00")
|
||||
}
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="_on_collision"]
|
||||
[connection signal="body_exited" from="Area2D" to="." method="_of_collision"]
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_nil6g")
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://csxh42o8twxwn"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://csxh42o8twxwn"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/WeaponSystem/Projectile.gd" id="1_os652"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlxjdb0tchrps" path="res://Assets/Sprites/crucefix.png" id="2_ibs3t"]
|
||||
[ext_resource type="AudioStream" uid="uid://dornq2kwau6bg" path="res://Assets/SFX/Jesus/Projectile/Throw Variation 1.wav" id="4_11fc8"]
|
||||
[ext_resource type="AudioStream" uid="uid://b2pd7efb2r7g5" path="res://Assets/SFX/Jesus/Projectile/Throw Variation 2.wav" id="5_njike"]
|
||||
[ext_resource type="AudioStream" uid="uid://cqxnclejfbmvb" path="res://Assets/SFX/Jesus/Projectile/Throw Variation 3.wav" id="6_ky3xa"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ki5cp"]
|
||||
radius = 8.57143
|
||||
|
@ -11,6 +14,7 @@ height = 22.8571
|
|||
collision_layer = 8
|
||||
collision_mask = 5
|
||||
script = ExtResource("1_os652")
|
||||
audio_pool = [NodePath("Audio Sources/Audio1"), NodePath("Audio Sources/Audio2"), NodePath("Audio Sources/Audio3")]
|
||||
map_collision_layer = 1
|
||||
bunny_collision_layer = 4
|
||||
|
||||
|
@ -20,4 +24,19 @@ texture = ExtResource("2_ibs3t")
|
|||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CapsuleShape2D_ki5cp")
|
||||
|
||||
[node name="Audio Sources" type="Node" parent="."]
|
||||
|
||||
[node name="Audio1" type="AudioStreamPlayer" parent="Audio Sources"]
|
||||
stream = ExtResource("4_11fc8")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Audio2" type="AudioStreamPlayer" parent="Audio Sources"]
|
||||
stream = ExtResource("5_njike")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Audio3" type="AudioStreamPlayer" parent="Audio Sources"]
|
||||
stream = ExtResource("6_ky3xa")
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||
[connection signal="body_entered" from="." to="." method="_on_collision"]
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://chfp8mm3vwh2e"]
|
||||
|
||||
[ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_a2htf"]
|
||||
[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_qvwn8"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = ExtResource("1_a2htf")
|
||||
cell_quadrant_size = 8
|
||||
collision_visibility_mode = 1
|
||||
format = 2
|
||||
script = ExtResource("2_qvwn8")
|
||||
height = 33
|
286
Scenes/Main Menu Music Fix.tscn
Normal file
|
@ -0,0 +1,286 @@
|
|||
[gd_scene load_steps=16 format=3 uid="uid://bnutmwl2vuvqe"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/UI/MainMenuManager.gd" id="1_35kaq"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4btepmue6d7p" path="res://Scenes/Game.tscn" id="2_kitxe"]
|
||||
[ext_resource type="PackedScene" uid="uid://btxarutbkchmb" path="res://Prefabs/Settings Menu.tscn" id="3_q44re"]
|
||||
[ext_resource type="Theme" uid="uid://b0b3fxesfrpb7" path="res://Assets/UI/Theme.tres" id="4_bajby"]
|
||||
[ext_resource type="Texture2D" uid="uid://tjxkew3m4v8m" path="res://Assets/Sprites/UI/Shadow.png" id="5_btlv0"]
|
||||
[ext_resource type="Texture2D" uid="uid://ojlfqxj5bilo" path="res://Assets/Sprites/Jesus/jesus_spritesheet.png" id="6_sfeq6"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlr823rtwhtq2" path="res://Assets/Sprites/EasterEgg.png" id="7_hhotb"]
|
||||
[ext_resource type="Texture2D" uid="uid://c54k7fn4fu42s" path="res://Assets/Sprites/Bunny/good_bunny_spritesheet.png" id="8_kscix"]
|
||||
[ext_resource type="AudioStream" uid="uid://c6nf5s6xy2uii" path="res://Assets/Music/omw-to-beat-the-big-bad.wav" id="9_gyelf"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5uvie"]
|
||||
bg_color = Color(0.439216, 0.631373, 0.537255, 1)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_iq7o3"]
|
||||
resource_name = "Walk"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xufdy"]
|
||||
_data = {
|
||||
"Autostart": SubResource("Animation_iq7o3")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_53kbk"]
|
||||
resource_name = "Autostart"
|
||||
length = 0.5
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1, 2, 3, 4]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5tgwk"]
|
||||
_data = {
|
||||
"Autostart": SubResource("Animation_53kbk")
|
||||
}
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h5db4"]
|
||||
bg_color = Color(0, 0, 0, 0.313726)
|
||||
|
||||
[node name="MainMenu" type="Control" node_paths=PackedStringArray("default_focus", "music_player")]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_35kaq")
|
||||
game_scene = ExtResource("2_kitxe")
|
||||
settings_scene = ExtResource("3_q44re")
|
||||
default_focus = NodePath("VBoxContainer/MarginBox2/ButtonsVbox/PlayButton")
|
||||
autostart_animations = Array[NodePath]([NodePath("Decorations/Left Decor/Jesus/AnimationPlayer"), NodePath("Decorations/Right Decor/GoodBunny/AnimationPlayer")])
|
||||
music_player = NodePath("MusicPlayer")
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("4_bajby")
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_5uvie")
|
||||
|
||||
[node name="Decorations" type="Control" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Left Decor" type="CenterContainer" parent="Decorations"]
|
||||
custom_minimum_size = Vector2(576, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 9
|
||||
anchor_bottom = 1.0
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Shadow" type="Sprite2D" parent="Decorations/Left Decor"]
|
||||
position = Vector2(272, 686)
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("5_btlv0")
|
||||
|
||||
[node name="Jesus" type="Sprite2D" parent="Decorations/Left Decor"]
|
||||
position = Vector2(279, 408)
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("6_sfeq6")
|
||||
hframes = 8
|
||||
vframes = 4
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Decorations/Left Decor/Jesus"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_xufdy")
|
||||
}
|
||||
|
||||
[node name="EasterEgg" type="Sprite2D" parent="Decorations/Left Decor"]
|
||||
position = Vector2(142, 555)
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("7_hhotb")
|
||||
hframes = 6
|
||||
|
||||
[node name="EasterEgg2" type="Sprite2D" parent="Decorations/Left Decor"]
|
||||
position = Vector2(450, 572)
|
||||
rotation = 0.633555
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("7_hhotb")
|
||||
hframes = 6
|
||||
frame = 4
|
||||
|
||||
[node name="Right Decor" type="CenterContainer" parent="Decorations"]
|
||||
custom_minimum_size = Vector2(576, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 11
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Shadow" type="Sprite2D" parent="Decorations/Right Decor"]
|
||||
position = Vector2(300, 681)
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("5_btlv0")
|
||||
|
||||
[node name="EasterEgg" type="Sprite2D" parent="Decorations/Right Decor"]
|
||||
position = Vector2(416, 537)
|
||||
rotation = 0.289725
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("7_hhotb")
|
||||
hframes = 6
|
||||
frame = 2
|
||||
|
||||
[node name="GoodBunny" type="Sprite2D" parent="Decorations/Right Decor"]
|
||||
position = Vector2(235, 579)
|
||||
scale = Vector2(10, 10)
|
||||
texture = ExtResource("8_kscix")
|
||||
hframes = 5
|
||||
vframes = 4
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Decorations/Right Decor/GoodBunny"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_5tgwk")
|
||||
}
|
||||
|
||||
[node name="Panel" type="Panel" parent="Decorations"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_h5db4")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 5
|
||||
theme_override_font_sizes/font_size = 96
|
||||
text = "Happy Easter Game Thing"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="MarginBox2" type="MarginContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="ButtonsVbox" type="VBoxContainer" parent="VBoxContainer/MarginBox2"]
|
||||
custom_minimum_size = Vector2(0, 495)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme = ExtResource("4_bajby")
|
||||
theme_override_constants/separation = 8
|
||||
alignment = 1
|
||||
|
||||
[node name="Spacer" type="MarginContainer" parent="VBoxContainer/MarginBox2/ButtonsVbox"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="PlayButton" type="Button" parent="VBoxContainer/MarginBox2/ButtonsVbox"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
focus_neighbor_left = NodePath("../QuitButton")
|
||||
focus_neighbor_top = NodePath("../QuitButton")
|
||||
focus_neighbor_right = NodePath("../SettingsButton")
|
||||
focus_neighbor_bottom = NodePath("../SettingsButton")
|
||||
focus_next = NodePath("../SettingsButton")
|
||||
focus_previous = NodePath("../QuitButton")
|
||||
theme = ExtResource("4_bajby")
|
||||
theme_override_font_sizes/font_size = 64
|
||||
text = "Play"
|
||||
|
||||
[node name="SettingsButton" type="Button" parent="VBoxContainer/MarginBox2/ButtonsVbox"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
focus_neighbor_left = NodePath("../PlayButton")
|
||||
focus_neighbor_top = NodePath("../PlayButton")
|
||||
focus_neighbor_right = NodePath("../AboutButton")
|
||||
focus_neighbor_bottom = NodePath("../AboutButton")
|
||||
focus_next = NodePath("../AboutButton")
|
||||
focus_previous = NodePath("../PlayButton")
|
||||
theme = ExtResource("4_bajby")
|
||||
theme_override_font_sizes/font_size = 64
|
||||
text = "Settings"
|
||||
|
||||
[node name="AboutButton" type="Button" parent="VBoxContainer/MarginBox2/ButtonsVbox"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
focus_neighbor_left = NodePath("../SettingsButton")
|
||||
focus_neighbor_top = NodePath("../SettingsButton")
|
||||
focus_neighbor_right = NodePath("../QuitButton")
|
||||
focus_neighbor_bottom = NodePath("../QuitButton")
|
||||
focus_next = NodePath("../QuitButton")
|
||||
focus_previous = NodePath("../SettingsButton")
|
||||
theme = ExtResource("4_bajby")
|
||||
theme_override_font_sizes/font_size = 64
|
||||
text = "About"
|
||||
|
||||
[node name="Spacer2" type="MarginContainer" parent="VBoxContainer/MarginBox2/ButtonsVbox"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="QuitButton" type="Button" parent="VBoxContainer/MarginBox2/ButtonsVbox"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
focus_neighbor_left = NodePath("../AboutButton")
|
||||
focus_neighbor_top = NodePath("../AboutButton")
|
||||
focus_neighbor_right = NodePath("../PlayButton")
|
||||
focus_neighbor_bottom = NodePath("../PlayButton")
|
||||
focus_next = NodePath("../PlayButton")
|
||||
focus_previous = NodePath("../AboutButton")
|
||||
theme = ExtResource("4_bajby")
|
||||
theme_override_font_sizes/font_size = 64
|
||||
text = "Quit"
|
||||
|
||||
[node name="MusicPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("9_gyelf")
|
||||
bus = &"Music"
|
||||
|
||||
[connection signal="pressed" from="VBoxContainer/MarginBox2/ButtonsVbox/PlayButton" to="." method="_on_play_button_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/MarginBox2/ButtonsVbox/SettingsButton" to="." method="_on_settings_button_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/MarginBox2/ButtonsVbox/AboutButton" to="." method="_on_about_button_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/MarginBox2/ButtonsVbox/QuitButton" to="." method="_on_quit_button_pressed"]
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
[ext_resource type="Script" path="res://Scripts/UI/MainMenuManager.gd" id="1_qepq0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4btepmue6d7p" path="res://Scenes/Game.tscn" id="2_28004"]
|
||||
[ext_resource type="PackedScene" uid="uid://cbfcolm6mjolp" path="res://Prefabs/Settings Menu.tscn" id="3_r3r61"]
|
||||
[ext_resource type="Theme" uid="uid://babphdknr2kkd" path="res://Assets/UI/Theme.tres" id="4_bmt8e"]
|
||||
[ext_resource type="PackedScene" uid="uid://btxarutbkchmb" path="res://Prefabs/Settings Menu.tscn" id="3_r3r61"]
|
||||
[ext_resource type="Theme" uid="uid://b0b3fxesfrpb7" path="res://Assets/UI/Theme.tres" id="4_bmt8e"]
|
||||
[ext_resource type="Texture2D" uid="uid://tjxkew3m4v8m" path="res://Assets/Sprites/UI/Shadow.png" id="5_wt601"]
|
||||
[ext_resource type="Texture2D" uid="uid://ojlfqxj5bilo" path="res://Assets/Sprites/Jesus/jesus_spritesheet.png" id="7_g28i1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlr823rtwhtq2" path="res://Assets/Sprites/EasterEgg.png" id="7_wokip"]
|
||||
|
|
|
@ -1,154 +0,0 @@
|
|||
[gd_scene load_steps=12 format=3 uid="uid://ccgpsim5nfxd6"]
|
||||
|
||||
[ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_wkp62"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"]
|
||||
[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"]
|
||||
[ext_resource type="Texture2D" uid="uid://bl7vfn05ul1vu" path="res://Assets/Sprites/Jesus/Jesus Spritesheet.png" id="4_e5cec"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kdxam"]
|
||||
resource_name = "Idle"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Player Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dwpep"]
|
||||
resource_name = "MoveDown"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Player Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = false
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1, 2, 3]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2jvl5"]
|
||||
resource_name = "MoveLeft"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Player Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [12, 13, 14, 15]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4ig1u"]
|
||||
resource_name = "MoveRight"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Player Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [4, 5, 6, 7]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pswkh"]
|
||||
resource_name = "MoveUp"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Player Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [8, 9, 10, 11]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_o3hln"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Player Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_bi1h3"]
|
||||
_data = {
|
||||
"Idle": SubResource("Animation_kdxam"),
|
||||
"MoveDown": SubResource("Animation_dwpep"),
|
||||
"MoveLeft": SubResource("Animation_2jvl5"),
|
||||
"MoveRight": SubResource("Animation_4ig1u"),
|
||||
"MoveUp": SubResource("Animation_pswkh"),
|
||||
"RESET": SubResource("Animation_o3hln")
|
||||
}
|
||||
|
||||
[node name="Player Movement" type="Node2D"]
|
||||
|
||||
[node name="Map Generator" type="TileMap" parent="."]
|
||||
tile_set = ExtResource("1_wkp62")
|
||||
cell_quadrant_size = 32
|
||||
collision_visibility_mode = 1
|
||||
format = 2
|
||||
script = ExtResource("4_8st0q")
|
||||
start_area_size = 3
|
||||
start_area_corner_size = 1
|
||||
|
||||
[node name="Player" type="CharacterBody2D" parent="." node_paths=PackedStringArray("animation_player")]
|
||||
position = Vector2(960, 512)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
collision_layer = 0
|
||||
script = ExtResource("1_x3102")
|
||||
speed = 60
|
||||
animation_player = NodePath("Player Animator")
|
||||
|
||||
[node name="Player Sprite" type="Sprite2D" parent="Player"]
|
||||
position = Vector2(0, -20)
|
||||
texture = ExtResource("4_e5cec")
|
||||
hframes = 4
|
||||
vframes = 4
|
||||
|
||||
[node name="Player Collider" type="CollisionPolygon2D" parent="Player"]
|
||||
polygon = PackedVector2Array(12, 32, -16, 32, -16, -24, 12, -24)
|
||||
|
||||
[node name="Player Camera" type="Camera2D" parent="Player"]
|
||||
zoom = Vector2(3, 3)
|
||||
position_smoothing_enabled = true
|
||||
drag_horizontal_enabled = true
|
||||
drag_vertical_enabled = true
|
||||
editor_draw_drag_margin = true
|
||||
|
||||
[node name="Player Animator" type="AnimationPlayer" parent="Player"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_bi1h3")
|
||||
}
|
|
@ -1,53 +1,75 @@
|
|||
extends CharacterBody2D
|
||||
extends Node2D
|
||||
class_name Bunny
|
||||
|
||||
@export var animation_player : AnimationPlayer
|
||||
@export var min_distance_to_player := 80.0
|
||||
@export var max_distance_to_player := 800.0
|
||||
@export var min_distance_to_player := 20.0
|
||||
@export var max_distance_to_player := 500.0
|
||||
@export var agent : NavigationAgent2D
|
||||
@export var speed := 100.0
|
||||
@export var speed := 3.0
|
||||
|
||||
var health : int
|
||||
var team : int
|
||||
var player : Node2D
|
||||
|
||||
var on_death_callbacks : Array
|
||||
var move_velocity : Vector2
|
||||
|
||||
var next_location : Vector2
|
||||
var randomized_next_location : Vector2
|
||||
var dir : Vector2
|
||||
var spread_time : float
|
||||
var current_time : float
|
||||
var collisions : int
|
||||
|
||||
var time_since_got_player := 100.0
|
||||
var time_since_got_move_location := 100.0
|
||||
var last_player_velocity := 0.0
|
||||
var last_target_position : Vector2
|
||||
|
||||
var max_pos_check_time := 0.5
|
||||
var max_pos_check_time_inactive_scalar := 10.0
|
||||
var max_get_move_location_time := 0.125
|
||||
|
||||
var random_goal_spread_factor := 2.5
|
||||
var random_move_location_spread_factor := 8.0
|
||||
var random_angle_change := deg_to_rad(4.0)
|
||||
|
||||
func _ready():
|
||||
seed(int(str(self)))
|
||||
spread_time = randf() * 2 + 0.1
|
||||
current_time = spread_time
|
||||
pass
|
||||
|
||||
func _physics_process(delta):
|
||||
current_time -= delta
|
||||
if player != null and self.global_position.distance_to(player.global_position) < max_distance_to_player and collisions <= 3:
|
||||
if current_time <= 0:
|
||||
current_time = spread_time
|
||||
agent.target_position = player.global_position
|
||||
if min_distance_to_player and agent.is_target_reachable():
|
||||
var next_location = agent.get_next_path_position() + Vector2(randf() - 0.5 * 2, randf() - 0.5 * 2)
|
||||
dir = self.global_position.direction_to(next_location).normalized()
|
||||
if self.global_position.distance_to(player.global_position) > min_distance_to_player:
|
||||
self.velocity = dir * delta * 60 * speed
|
||||
update_animation()
|
||||
if delta > 0.5:
|
||||
print(delta)
|
||||
move_and_slide()
|
||||
randomize()
|
||||
|
||||
if abs(player.velocity.length() - last_player_velocity) > 100.0:
|
||||
time_since_got_player = max_pos_check_time
|
||||
if time_since_got_player >= max_pos_check_time and player.velocity.length() > 0.1:
|
||||
time_since_got_player = randf() * max_pos_check_time * 0.5
|
||||
update_target_pos()
|
||||
if time_since_got_player >= max_pos_check_time * max_pos_check_time_inactive_scalar and player.velocity.length() < 0.1:
|
||||
time_since_got_player = -(randf() * max_pos_check_time * 0.5)
|
||||
update_target_pos()
|
||||
if self.global_position.distance_to(player.global_position) < max_distance_to_player and time_since_got_move_location > max_get_move_location_time:
|
||||
time_since_got_move_location = 0
|
||||
if agent.is_target_reachable():
|
||||
next_location = agent.get_next_path_position()
|
||||
randomized_next_location = next_location + Vector2(randf() - 0.5, randf() - 0.5 ) * 2 * random_move_location_spread_factor
|
||||
dir = self.global_position.direction_to(randomized_next_location).normalized().rotated((randf() - 0.5) * 2 * random_angle_change)
|
||||
if self.global_position.distance_to(player.global_position) >= min_distance_to_player:
|
||||
move_velocity = dir * delta * 60 * speed
|
||||
update_animation()
|
||||
if self.global_position.distance_to(next_location) < move_velocity.length():
|
||||
self.global_position = next_location
|
||||
time_since_got_player = 10.0
|
||||
time_since_got_move_location = 10.0
|
||||
else:
|
||||
animation_player.stop()
|
||||
self.translate(move_velocity)
|
||||
else:
|
||||
animation_player.stop()
|
||||
time_since_got_player += delta
|
||||
time_since_got_move_location += delta
|
||||
last_player_velocity = player.velocity.length()
|
||||
last_target_position = agent.target_position
|
||||
pass
|
||||
|
||||
func _on_collision(body):
|
||||
if body != self: collisions += 1
|
||||
pass
|
||||
|
||||
func _of_collision(body):
|
||||
if body != self: collisions-= 1
|
||||
func update_target_pos():
|
||||
agent.target_position = Vector2(player.global_position) + Vector2(randf() - 0.5 , randf() - 0.5) * 2 * random_goal_spread_factor
|
||||
pass
|
||||
|
||||
func damage(damage_amount : int):
|
||||
|
@ -69,13 +91,13 @@ func sub_on_death(callback : Callable):
|
|||
pass
|
||||
|
||||
func update_animation():
|
||||
match self.velocity:
|
||||
match self.move_velocity:
|
||||
Vector2.ZERO: animation_player.play("Idle")
|
||||
_:
|
||||
var left_dot = Vector2.LEFT.dot(self.velocity)
|
||||
var right_dot = Vector2.RIGHT.dot(self.velocity)
|
||||
var up_dot = Vector2.UP.dot(self.velocity)
|
||||
var down_dot = Vector2.DOWN.dot(self.velocity)
|
||||
var left_dot = Vector2.LEFT.dot(self.move_velocity)
|
||||
var right_dot = Vector2.RIGHT.dot(self.move_velocity)
|
||||
var up_dot = Vector2.UP.dot(self.move_velocity)
|
||||
var down_dot = Vector2.DOWN.dot(self.move_velocity)
|
||||
|
||||
var max_dot = maxf(left_dot, maxf(right_dot, maxf(up_dot, down_dot)))
|
||||
match max_dot:
|
||||
|
|
|
@ -17,7 +17,7 @@ func _process(_delta):
|
|||
if bunnys.size() == 0 and !in_wave_gen:
|
||||
in_wave_gen = true
|
||||
wave += 1
|
||||
bunnys = await bunny_generator.spawn_batched_wave(5.0, 0.25, gen_data.free_tiles.duplicate(), TEAM.EVIL, wave * 10.0, 3)
|
||||
bunnys = await bunny_generator.spawn_batched_wave(25, 0.25, gen_data.free_tiles.duplicate(), TEAM.EVIL, wave * 250, 3)
|
||||
for bunny in bunnys:
|
||||
bunny.sub_on_death(func(bunny): bunnys.erase(bunny))
|
||||
bunny.sub_on_death(func(bunny): bunny.queue_free())
|
||||
|
|
|
@ -2,6 +2,30 @@ extends Node
|
|||
|
||||
const SAVE_FILE : String = "user://SAVEFILE.save"
|
||||
var game_data = {}
|
||||
var default_game_data = {
|
||||
"display_mode": 0,
|
||||
"vsync_on": false,
|
||||
"current_resolution_index": 0,
|
||||
"master_volume": 0,
|
||||
"music_volume": 0,
|
||||
"sfx_volume": 0,
|
||||
"controls": {
|
||||
"move_up": KEY_W,
|
||||
"move_left": KEY_A,
|
||||
"move_down": KEY_S,
|
||||
"move_right": KEY_D,
|
||||
"attack": "m" + str(MOUSE_BUTTON_LEFT),
|
||||
"move_up_controller": "j" + str(JOY_AXIS_LEFT_Y) + "/-1.00",
|
||||
"move_left_controller": "j" + str(JOY_AXIS_LEFT_X) + "/-1.00",
|
||||
"move_down_controller": "j" + str(JOY_AXIS_LEFT_Y) + "/1.00",
|
||||
"move_right_controller": "j" + str(JOY_AXIS_LEFT_X) + "/1.00",
|
||||
"attack_controller": "b" + str(JOY_BUTTON_A),
|
||||
"aim_up_controller": "j" + str(JOY_AXIS_RIGHT_Y) + "/-1.00",
|
||||
"aim_left_controller": "j" + str(JOY_AXIS_RIGHT_X) + "/-1.00",
|
||||
"aim_down_controller": "j" + str(JOY_AXIS_RIGHT_Y) + "/1.00",
|
||||
"aim_right_controller": "j" + str(JOY_AXIS_RIGHT_X) + "/1.00",
|
||||
}
|
||||
}
|
||||
|
||||
func _ready():
|
||||
load_data()
|
||||
|
@ -9,28 +33,7 @@ func _ready():
|
|||
func load_data():
|
||||
var file = FileAccess.open(SAVE_FILE, FileAccess.READ)
|
||||
if file == null:
|
||||
game_data = {
|
||||
"display_mode": 0,
|
||||
"vsync_on": false,
|
||||
"current_resolution_index": 0,
|
||||
"master_volume": 0,
|
||||
"music_volume": 0,
|
||||
"sfx_volume": 0,
|
||||
"move_up": KEY_W,
|
||||
"move_left": KEY_A,
|
||||
"move_down": KEY_S,
|
||||
"move_right": KEY_D,
|
||||
"attack": "m" + str(MOUSE_BUTTON_LEFT),
|
||||
"move_up_controller": "j" + str(JOY_AXIS_LEFT_Y) + "/-1.00",
|
||||
"move_left_controller": "j" + str(JOY_AXIS_LEFT_X) + "/-1.00",
|
||||
"move_down_controller": "j" + str(JOY_AXIS_LEFT_Y) + "/1.00",
|
||||
"move_right_controller": "j" + str(JOY_AXIS_LEFT_X) + "/1.00",
|
||||
"attack_controller": "b" + str(JOY_BUTTON_A),
|
||||
"aim_up_controller": "j" + str(JOY_AXIS_RIGHT_Y) + "/-1.00",
|
||||
"aim_left_controller": "j" + str(JOY_AXIS_RIGHT_X) + "/-1.00",
|
||||
"aim_down_controller": "j" + str(JOY_AXIS_RIGHT_Y) + "/1.00",
|
||||
"aim_right_controller": "j" + str(JOY_AXIS_RIGHT_X) + "/1.00",
|
||||
}
|
||||
game_data = default_game_data
|
||||
save_data()
|
||||
else:
|
||||
game_data = file.get_var()
|
||||
|
|
|
@ -81,10 +81,38 @@ func update_sfx_volume(vol : int) -> void:
|
|||
# Controls
|
||||
func set_controls_from_save_file() -> void:
|
||||
for remappable_input_action in remappable_input_actions:
|
||||
var action = Save.game_data.keys().find(remappable_input_action)
|
||||
var action = Save.game_data.controls.keys().find(remappable_input_action)
|
||||
for key in InputMap.action_get_events(remappable_input_action):
|
||||
InputMap.action_erase_event(remappable_input_action, key)
|
||||
var binding = Save.game_data.values()[action]
|
||||
var binding = Save.game_data.controls.values()[action]
|
||||
var control_event
|
||||
match str(binding)[0]:
|
||||
"m":
|
||||
binding = int(binding.right(binding.length()-1))
|
||||
control_event = InputEventMouseButton.new()
|
||||
control_event.button_index = binding
|
||||
"b":
|
||||
binding = int(binding.right(binding.length()-1))
|
||||
control_event = InputEventJoypadButton.new()
|
||||
control_event.button_index = binding
|
||||
"j":
|
||||
binding = binding.right(binding.length()-1)
|
||||
binding = binding.split("/")
|
||||
control_event = InputEventJoypadMotion.new()
|
||||
control_event.axis = int(binding[0])
|
||||
control_event.axis_value = float(binding[1])
|
||||
_:
|
||||
control_event = InputEventKey.new()
|
||||
control_event.set_keycode(binding)
|
||||
InputMap.action_add_event(remappable_input_action, control_event)
|
||||
pass
|
||||
|
||||
func reset_controls_to_save_file() -> void:
|
||||
for remappable_input_action in remappable_input_actions:
|
||||
var action = Save.default_game_data.controls.keys().find(remappable_input_action)
|
||||
for key in InputMap.action_get_events(remappable_input_action):
|
||||
InputMap.action_erase_event(remappable_input_action, key)
|
||||
var binding = Save.default_game_data.controls.values()[action]
|
||||
var control_event
|
||||
match str(binding)[0]:
|
||||
"m":
|
||||
|
|
|
@ -4,6 +4,7 @@ extends Node
|
|||
@export var settings_scene : Resource
|
||||
@export var default_focus : Control
|
||||
@export var autostart_animations : Array[NodePath]
|
||||
@export var music_player : AudioStreamPlayer
|
||||
|
||||
# Engine Callbackss
|
||||
func _ready():
|
||||
|
@ -18,6 +19,7 @@ func _ready():
|
|||
default_focus.grab_focus()
|
||||
for animation in autostart_animations:
|
||||
(get_node(animation) as AnimationPlayer).play("Autostart")
|
||||
music_player.play(0.0)
|
||||
pass
|
||||
|
||||
func _on_play_button_pressed():
|
||||
|
|
|
@ -4,7 +4,8 @@ extends Button
|
|||
@export var remap_controller : Node
|
||||
|
||||
func _ready():
|
||||
display_key()
|
||||
self.add_to_group("RemappableButton")
|
||||
self.display_key()
|
||||
|
||||
func display_key ():
|
||||
self.text = "%s" % InputMap.action_get_events(input_action_name)[0].as_text()
|
||||
|
|
|
@ -2,6 +2,7 @@ extends Control
|
|||
class_name RemapController
|
||||
|
||||
@export var min_time_between_remaps := 0.4
|
||||
@export var remap_buttons_holder : VBoxContainer
|
||||
|
||||
var remap_button : Button
|
||||
var remap_action : String
|
||||
|
@ -52,14 +53,14 @@ func start_remap(button : Button, action : String):
|
|||
func remap_key(event):
|
||||
match str(event.get_class()):
|
||||
"InputEventJoypadButton":
|
||||
Save.game_data["%s" % [remap_action]] = "b" + str(event.button_index)
|
||||
Save.game_data.controls["%s" % [remap_action]] = "b" + str(event.button_index)
|
||||
"InputEventJoypadMotion":
|
||||
if abs(event.axis_value) < 0.5: return
|
||||
Save.game_data["%s" % [remap_action]] = "j" + str(event.axis) + str("/1.00" if event.axis_value > 0 else "/-1.00")
|
||||
Save.game_data.controls["%s" % [remap_action]] = "j" + str(event.axis) + str("/1.00" if event.axis_value > 0 else "/-1.00")
|
||||
"InputEventMouseButton":
|
||||
Save.game_data["%s" % [remap_action]] = "m" + str(event.button_index)
|
||||
Save.game_data.controls["%s" % [remap_action]] = "m" + str(event.button_index)
|
||||
"InputEventKey":
|
||||
Save.game_data["%s" % [remap_action]] = event.keycode
|
||||
Save.game_data.controls["%s" % [remap_action]] = event.keycode
|
||||
set_process_unhandled_key_input(false)
|
||||
for key in InputMap.action_get_events(remap_action):
|
||||
InputMap.action_erase_event(remap_action, key)
|
||||
|
@ -70,3 +71,10 @@ func remap_key(event):
|
|||
time_since_remap = 0
|
||||
remap_button = null
|
||||
pass
|
||||
|
||||
func _on_reset_button_pressed():
|
||||
GlobalSettings.reset_controls_to_save_file()
|
||||
for child in remap_buttons_holder.get_children():
|
||||
if child is Button and child.is_in_group("RemappableButton"):
|
||||
child.display_key()
|
||||
pass
|
||||
|
|
|
@ -2,12 +2,17 @@ extends Area2D
|
|||
|
||||
@export var speed : float = 80.0
|
||||
@export var damage : int = 1
|
||||
@export var audio_pool := []
|
||||
|
||||
@export_flags_2d_physics var map_collision_layer : int
|
||||
@export_flags_2d_physics var bunny_collision_layer : int
|
||||
|
||||
var dir : float
|
||||
|
||||
func _ready():
|
||||
get_node(audio_pool[randi_range(0, 2)]).play()
|
||||
pass
|
||||
|
||||
func _process(delta):
|
||||
self.translate(Vector2(cos(dir), sin(dir)) * speed * delta)
|
||||
self.rotate(delta * 30)
|
||||
|
@ -23,8 +28,17 @@ func _on_collision(body):
|
|||
|
||||
if collided_layer & map_collision_layer:
|
||||
queue_free()
|
||||
pass
|
||||
|
||||
|
||||
func _on_area_entered(area):
|
||||
var collided_layer = null;
|
||||
|
||||
if(area.has_method("get_collision_layer")):
|
||||
collided_layer = area.get_collision_layer()
|
||||
|
||||
if collided_layer & bunny_collision_layer:
|
||||
var bunny = body as Bunny
|
||||
var bunny = area as Bunny
|
||||
bunny.damage(damage)
|
||||
queue_free()
|
||||
pass
|
||||
|
|
|
@ -11,7 +11,7 @@ config_version=5
|
|||
[application]
|
||||
|
||||
config/name="HoppyEaster"
|
||||
run/main_scene="res://Scenes/Main Menu.tscn"
|
||||
run/main_scene="res://Scenes/Main Menu Music Fix.tscn"
|
||||
config/features=PackedStringArray("4.0", "GL Compatibility")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
|
@ -26,8 +26,8 @@ Save="*res://Scripts/SaveSystem/GameDataSaver.gd"
|
|||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=640
|
||||
window/size/viewport_height=1000
|
||||
window/size/viewport_width=1280
|
||||
window/size/viewport_height=800
|
||||
window/stretch/mode="canvas_items"
|
||||
window/stretch/aspect="expand"
|
||||
|
||||
|
@ -187,6 +187,7 @@ ui_tab_right={
|
|||
2d_physics/layer_3="Bunny"
|
||||
2d_physics/layer_4="Projectile"
|
||||
2d_physics/layer_5="Layer 5"
|
||||
2d_navigation/layer_5="Map Solid"
|
||||
2d_physics/layer_7="bunny_check"
|
||||
|
||||
[rendering]
|
||||
|
|