Compare commits
226 Commits
Author | SHA1 | Date | |
---|---|---|---|
b79884e5d2 | |||
a8409c76ad | |||
3ecd50fc45 | |||
fbe731136f | |||
9734d53d62 | |||
7cbf5c634d | |||
fc84f8889f | |||
86d6563975 | |||
a94ee84718 | |||
a118a259c9 | |||
4318ba1982 | |||
4f58350f83 | |||
ee9d33f6ec | |||
b93207ba23 | |||
d9576d76cc | |||
edfa2b715c | |||
1d03dc06a8 | |||
2bb5b069fd | |||
b2d0db4360 | |||
19f8972c1d | |||
cfd9f3dec8 | |||
c5fe7cfd3b | |||
721c538b68 | |||
db6cb15d1a | |||
43139e54af | |||
851a9fa99c | |||
294abe6b6f | |||
8132530da3 | |||
2c7a696821 | |||
fef7db9b7a | |||
cc25674987 | |||
fb6f079895 | |||
bfadb4bf13 | |||
6c8433a0e0 | |||
97465bf600 | |||
4979c70852 | |||
4e0ec4994f | |||
08b306f827 | |||
a7932ce12b | |||
ca1957d618 | |||
43bbd5d032 | |||
f0f484268b | |||
9d9d37e173 | |||
bed09ceace | |||
4895a72509 | |||
cfe3a82cad | |||
14c9458805 | |||
6e8dcba561 | |||
6e7c6b94f4 | |||
ef36f97ef6 | |||
e60c916ab0 | |||
da44882f06 | |||
9c135cc6e5 | |||
9c95c2d7b7 | |||
e584ee67c1 | |||
549968d3ba | |||
c5e1887fb4 | |||
a7c1cb845a | |||
f167b80906 | |||
98a55ef02d | |||
c47ed9715e | |||
21c20bff1f | |||
4397c83b86 | |||
526dbee987 | |||
a9ccc3d49f | |||
aee94697a5 | |||
2e2716f43a | |||
fff915bb51 | |||
eaa056ce88 | |||
0be8de000a | |||
3054f08779 | |||
5217ce9bf0 | |||
47c6d08f53 | |||
953210b65f | |||
f518d4707a | |||
da37f68b4c | |||
3dbac63189 | |||
7c60e5df9f | |||
b12556f950 | |||
30c8c1c6e0 | |||
4718adb460 | |||
b0f6e48347 | |||
8ca6574384 | |||
62db62152c | |||
c470bb43de | |||
ca50d4148c | |||
0f706f782a | |||
c49a89eada | |||
e1318d657e | |||
57e8bfe4a9 | |||
f3e4300332 | |||
eee3897b85 | |||
dcd10e4a2e | |||
3dd985f0a0 | |||
85e3f05b8b | |||
bb96b09847 | |||
eb15507293 | |||
fa4701d650 | |||
0282628b5b | |||
e76c771eac | |||
70fb5690e3 | |||
da49792e20 | |||
a66cb533fb | |||
ac607fa875 | |||
c660b0f1d5 | |||
b63c08a8f9 | |||
eaaf76eab3 | |||
15407f5f06 | |||
1d363e7741 | |||
a0c95ec074 | |||
94289dfba3 | |||
4cc57adabb | |||
fe1c63c3bf | |||
cf307869d6 | |||
6ee9a3cecd | |||
f94393e883 | |||
04348e38e4 | |||
38bd6d47b9 | |||
0190b6bdb2 | |||
72421f4a32 | |||
cec3a13a66 | |||
271084a94d | |||
88b72232c6 | |||
c82f1efcca | |||
f7e21203af | |||
30bc16bf6b | |||
0b4481f5c2 | |||
d517aa5846 | |||
2be8c5a85e | |||
1a142bcc9d | |||
9fa1d5987f | |||
d204d15f4a | |||
fdd150d8ac | |||
1648171f0b | |||
bf09061c5e | |||
d119321104 | |||
2c804bb95e | |||
0e3124430b | |||
53d35083a3 | |||
ea07e94e0a | |||
547e866597 | |||
0177c9199b | |||
42265ef256 | |||
c86931a2cf | |||
e9fd520194 | |||
6e274922d9 | |||
28d31c8e90 | |||
a88a8cdac7 | |||
8826213317 | |||
077451a574 | |||
5ce5dc090e | |||
6b859002d3 | |||
5434940992 | |||
126d9eb77a | |||
ff3aad1b4a | |||
676d0d8b11 | |||
aa0d32ae85 | |||
307ccf071f | |||
5407d65c28 | |||
54d0f44960 | |||
5b61c662af | |||
6a52d487c7 | |||
9616c1f0d1 | |||
3307edef49 | |||
8cf6372d8b | |||
771b2e801e | |||
b7c72ec95f | |||
|
098bc5f879 | ||
5b9fd9229d | |||
d2ff18fee2 | |||
b43cf411cb | |||
0a90c41a23 | |||
c186097d0e | |||
559a35532c | |||
de7d239282 | |||
6c57a23f85 | |||
d3cc88ecd6 | |||
114c8045eb | |||
57cbbacc47 | |||
bb05e7a4bd | |||
183c678d69 | |||
d0f355e3e9 | |||
f62e44a4f2 | |||
0b4abc2365 | |||
29d3a7d130 | |||
c4500b09f4 | |||
f093d3c0b5 | |||
5e983a9a5f | |||
68d16fbd4f | |||
c01a20e603 | |||
f0bf7b1966 | |||
078695b02d | |||
2f57e22f06 | |||
9865198883 | |||
b719aae87d | |||
8e63ba5207 | |||
0e6a8e660f | |||
a8d98142f9 | |||
43a7ddbf76 | |||
67d2f5ca59 | |||
f4e57aaaa5 | |||
dbb515ac49 | |||
848c76b223 | |||
87a91c1dc6 | |||
e9cb52fa3c | |||
8fa39a2898 | |||
aa2e732a93 | |||
964722a41a | |||
ca57159c22 | |||
29b5153434 | |||
36c4797fb5 | |||
e2f883e736 | |||
67fa20c946 | |||
d2e1e536d5 | |||
7db764c459 | |||
777cb3a1b2 | |||
280ec83e8a | |||
e28be76afe | |||
a3aab2de97 | |||
fc678778b8 | |||
dbeac992bd | |||
6ac6d14a44 | |||
b491814f20 | |||
af3542b932 | |||
ed6636d806 | |||
2e97d1fec7 |
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
32
.github/workflows/godot-ci.yml
vendored
@@ -1,32 +0,0 @@
|
||||
name: "godot-ci export"
|
||||
on: push
|
||||
|
||||
env:
|
||||
GODOT_VERSION: mono-3.5.1
|
||||
EXPORT_NAME: RPG-Test
|
||||
|
||||
jobs:
|
||||
export-windows:
|
||||
name: Windows Export
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: barichello/godot-ci:mono-3.5.1
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
lfs: true
|
||||
- name: Setup
|
||||
run: |
|
||||
mkdir -v -p ~/.local/share/godot/templates
|
||||
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
|
||||
- name: Windows Build
|
||||
run: |
|
||||
mkdir -v -p build/windows
|
||||
cd $EXPORT_NAME
|
||||
godot -v --export "Windows Desktop" ../build/windows/$EXPORT_NAME.exe
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: windows
|
||||
path: build/windows
|
12
.gitignore
vendored
@@ -1,12 +1,4 @@
|
||||
|
||||
# Godot-specific ignores
|
||||
.import/
|
||||
export.cfg
|
||||
export_presets.cfg
|
||||
|
||||
# Mono-specific ignores
|
||||
.mono/
|
||||
data_*/
|
||||
|
||||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
#custom
|
||||
.vs/
|
||||
|
@@ -1,2 +1,3 @@
|
||||
# rpg-test
|
||||
Trying to get an RPG game environment working in Godot
|
||||
Trying to get an RPG game environment working in Godot<br><br>
|
||||
<img src="assets/textures/debug/dummy-player-normal.png">
|
||||
|
10
RPG Test gd4.csproj
Normal file
@@ -0,0 +1,10 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.0.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<RootNamespace>RPGTestgd4</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="villager_normal.json" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -1,6 +1,6 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RPG-Test", "RPG-Test.csproj", "{03530658-9683-4AB8-AC24-354105EBCCDD}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RPG Test gd4", "RPG Test gd4.csproj", "{27424726-AFC3-4E97-8F36-EB38E4D2768D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -9,11 +9,11 @@ Global
|
||||
ExportRelease|Any CPU = ExportRelease|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{03530658-9683-4AB8-AC24-354105EBCCDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{03530658-9683-4AB8-AC24-354105EBCCDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{03530658-9683-4AB8-AC24-354105EBCCDD}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
|
||||
{03530658-9683-4AB8-AC24-354105EBCCDD}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
|
||||
{03530658-9683-4AB8-AC24-354105EBCCDD}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
|
||||
{03530658-9683-4AB8-AC24-354105EBCCDD}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
|
||||
{27424726-AFC3-4E97-8F36-EB38E4D2768D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{27424726-AFC3-4E97-8F36-EB38E4D2768D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{27424726-AFC3-4E97-8F36-EB38E4D2768D}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
|
||||
{27424726-AFC3-4E97-8F36-EB38E4D2768D}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
|
||||
{27424726-AFC3-4E97-8F36-EB38E4D2768D}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
|
||||
{27424726-AFC3-4E97-8F36-EB38E4D2768D}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@@ -1,6 +0,0 @@
|
||||
<Project Sdk="Godot.NET.Sdk/3.3.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net472</TargetFramework>
|
||||
<RootNamespace>RPGTest</RootNamespace>
|
||||
</PropertyGroup>
|
||||
</Project>
|
BIN
assets/audios/sound_explode.wav
Normal file
24
assets/audios/sound_explode.wav.import
Normal file
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://s64cl4x57oae"
|
||||
path="res://.godot/imported/sound_explode.wav-e098f161dda656140202efc764be6ab7.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audios/sound_explode.wav"
|
||||
dest_files=["res://.godot/imported/sound_explode.wav-e098f161dda656140202efc764be6ab7.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/audios/typewrite/default_tw.wav
Normal file
24
assets/audios/typewrite/default_tw.wav.import
Normal file
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cg6grs5k5m33n"
|
||||
path="res://.godot/imported/default_tw.wav-b8234c01d377ca034f868e03cc0f2f97.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audios/typewrite/default_tw.wav"
|
||||
dest_files=["res://.godot/imported/default_tw.wav-b8234c01d377ca034f868e03cc0f2f97.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/audios/ui/small_btn.wav
Normal file
24
assets/audios/ui/small_btn.wav.import
Normal file
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://7si4jccoofsf"
|
||||
path="res://.godot/imported/small_btn.wav-03523654df09421d5901cf3397cbf614.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audios/ui/small_btn.wav"
|
||||
dest_files=["res://.godot/imported/small_btn.wav-03523654df09421d5901cf3397cbf614.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/fonts/urbane-rounded-medium.otf
Normal file
33
assets/fonts/urbane-rounded-medium.otf.import
Normal file
@@ -0,0 +1,33 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://cx6bvqk0ghmjv"
|
||||
path="res://.godot/imported/urbane-rounded-medium.otf-9f9f3b12be0c06a6d7111a1305925d9c.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/fonts/urbane-rounded-medium.otf"
|
||||
dest_files=["res://.godot/imported/urbane-rounded-medium.otf-9f9f3b12be0c06a6d7111a1305925d9c.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
105
assets/lang/en/dialogue/npcs/villager_normal.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"dialogType": "villager",
|
||||
"intro": [
|
||||
[
|
||||
"Hello i'm {title}. Your name must be {player}!",
|
||||
0
|
||||
]
|
||||
],
|
||||
"welcome": [
|
||||
[
|
||||
"Oh hello, {player}... You look great!",
|
||||
"<goto:>begindialog"
|
||||
],
|
||||
[
|
||||
"Hey, {player}! Hope you have fun today!",
|
||||
"<goto:>begindialog"
|
||||
],
|
||||
[
|
||||
"Hi! What's up {player}?",
|
||||
"<goto:>begindialog"
|
||||
]
|
||||
],
|
||||
"begindialog": [
|
||||
[
|
||||
"What can I do for you?",
|
||||
{
|
||||
"I just wanna talk": "<goto:>tipp",
|
||||
"Nevermind!": "<goto:>goodbye"
|
||||
}
|
||||
],
|
||||
[
|
||||
"So what do you want?",
|
||||
{
|
||||
"What's up": "<goto:>tipp",
|
||||
"Nothing": "<goto:>goodbye"
|
||||
}
|
||||
]
|
||||
],
|
||||
"else": [
|
||||
[
|
||||
"Do you need something else?",
|
||||
{
|
||||
"Can you tell me more?": "<goto:>tipp",
|
||||
"No, thanks!": "<goto:>goodbye"
|
||||
}
|
||||
],
|
||||
[
|
||||
"So can i help you with something else?",
|
||||
{
|
||||
"Tell me a bit more": "<goto:>tipp",
|
||||
"I'm good, thank you!": "<goto:>goodbye"
|
||||
}
|
||||
]
|
||||
],
|
||||
"goodbye": [
|
||||
[
|
||||
"Was nice talking to you goodbye!"
|
||||
],
|
||||
[
|
||||
"Have a great day, {player}!"
|
||||
]
|
||||
],
|
||||
"tipp": [
|
||||
[
|
||||
"[font s=6]░░░░░▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄░░░░░░░░\n░░░░░█░░░░▒▒▒▒▒▒▒▒▒▒▒▒░░▀▀▄░░░░\n░░░░█░░░▒▒▒▒▒▒░░░░░░░░▒▒▒░░█░░░\n░░░█░░░░░░▄██▀▄▄░░░░░▄▄▄░░░░█░░\n░▄▀▒▄▄▄▒░█▀▀▀▀▄▄█░░░██▄▄█░░░░█░\n█░▒█▒▄░▀▄▄▄▀░░░░░░░░█░░░▒▒▒▒▒░█\n█░▒█░█▀▄▄░░░░░█▀░░░░▀▄░░▄▀▀▀▄▒█\n░█░▀▄░█▄░█▀▄▄░▀░▀▀░▄▄▀░░░░█░░█░\n░░█░░░▀▄▀█▄▄░█▀▀▀▄▄▄▄▀▀█▀██░█░░\n░░░█░░░░██░░▀█▄▄▄█▄▄█▄████░█░░░\n░░░░█░░░░▀▀▄░█░░░█░█▀██████░█░░\n░░░░░▀▄░░░░░▀▀▄▄▄█▄█▄█▄█▄▀░░█░░\n░░░░░░░▀▄▄░▒▒▒▒░░░░░░░░░░▒░░░█░\n░░░░░░░░░░▀▀▄▄░▒▒▒▒▒▒▒▒▒▒░░░░█░\n░░░░░░░░░░░░░░▀▄▄▄▄▄░░░░░░░░█░░[/font]",
|
||||
"<goto:>else"
|
||||
],
|
||||
[
|
||||
"[center][font s=80][wave amp=50 freq=15][rainbow]This is cool test text[/rainbow][/wave][/font][/center]",
|
||||
"sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,",
|
||||
"sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.",
|
||||
"Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
|
||||
"<goto:>else"
|
||||
]
|
||||
],
|
||||
"story": [
|
||||
[
|
||||
"test1test1test1test1test1test1test1test1test1test1test1test1test1test1test1",
|
||||
"test2test2test2test2test2test2test2test2test2test2test2test2test2test2test2",
|
||||
"test3test3test3test3test3test3test3test3test3test3test3test3test3test3test3",
|
||||
"So do you want to do xy for me?",
|
||||
{
|
||||
"Yes tell me more": [
|
||||
"Lorem ipsum orem ipsumorem ipsumorem ipsumorem ipsumorem ipsum",
|
||||
"orem ipsumorem ipsumorem ipsumorem ipsumorem ipsumorem ipsumorem ipsum,",
|
||||
"do you want to know even more?",
|
||||
{
|
||||
"tell me even more": [
|
||||
"this is more debug text and it should look great",
|
||||
"i hope i am able to finish the code for it"
|
||||
],
|
||||
"No thats enough": false
|
||||
},
|
||||
"after yes tell me more debug text"
|
||||
],
|
||||
"Make it short": [
|
||||
"okay so this is the short version: xyxyxyxy is xyxyxxyxxyyx123!"
|
||||
],
|
||||
"No I'm good": false
|
||||
},
|
||||
"This is the text after the prompt",
|
||||
"and another text after the prompt"
|
||||
]
|
||||
]
|
||||
}
|
@@ -1,35 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/banana.png-b266be96b0846753aedd2f84866d07bc.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/banana.png"
|
||||
dest_files=[ "res://.import/banana.png-b266be96b0846753aedd2f84866d07bc.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
@@ -1,35 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/cupcake.png-93ee0951f9b3ff6300047d14826a099b.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/cupcake.png"
|
||||
dest_files=[ "res://.import/cupcake.png-93ee0951f9b3ff6300047d14826a099b.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
assets/textures/cursor.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
34
assets/textures/cursor.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ddcvakqvqcthf"
|
||||
path="res://.godot/imported/cursor.png-f271a127bae41ae766f1b1b7bc6152fd.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/cursor.png"
|
||||
dest_files=["res://.godot/imported/cursor.png-f271a127bae41ae766f1b1b7bc6152fd.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: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
34
assets/textures/debug/banana.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ciidukjv5k6oa"
|
||||
path="res://.godot/imported/banana.png-50380ed0796f86b0b05039176725d8eb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/banana.png"
|
||||
dest_files=["res://.godot/imported/banana.png-50380ed0796f86b0b05039176725d8eb.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: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
34
assets/textures/debug/cupcake.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://p5ubildre2tg"
|
||||
path="res://.godot/imported/cupcake.png-e641a112586eeca5f723ee6aa32d7f28.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/cupcake.png"
|
||||
dest_files=["res://.godot/imported/cupcake.png-e641a112586eeca5f723ee6aa32d7f28.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: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
34
assets/textures/debug/debugitem_one64.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://diwxy1fl5m02y"
|
||||
path="res://.godot/imported/debugitem_one64.png-7941e59d1b01f784439647bcf9741e7c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/debugitem_one64.png"
|
||||
dest_files=["res://.godot/imported/debugitem_one64.png-7941e59d1b01f784439647bcf9741e7c.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
|
BIN
assets/textures/debug/dummy-npc-atlas.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
34
assets/textures/debug/dummy-npc-atlas.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://boewsqe4b5yxm"
|
||||
path="res://.godot/imported/dummy-npc-atlas.png-e769aca31bd129eff0fec532dee91f95.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/dummy-npc-atlas.png"
|
||||
dest_files=["res://.godot/imported/dummy-npc-atlas.png-e769aca31bd129eff0fec532dee91f95.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
|
BIN
assets/textures/debug/dummy-player-atlas.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
34
assets/textures/debug/dummy-player-atlas.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://olceowuycu8c"
|
||||
path="res://.godot/imported/dummy-player-atlas.png-68f05802eecc35f4774851352daddd72.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/dummy-player-atlas.png"
|
||||
dest_files=["res://.godot/imported/dummy-player-atlas.png-68f05802eecc35f4774851352daddd72.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
|
BIN
assets/textures/debug/dummy-player-normal.png
Normal file
After Width: | Height: | Size: 552 B |
34
assets/textures/debug/dummy-player-normal.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://377657cxmdpa"
|
||||
path="res://.godot/imported/dummy-player-normal.png-45a5eb1f003876b79db5d133686dde95.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/dummy-player-normal.png"
|
||||
dest_files=["res://.godot/imported/dummy-player-normal.png-45a5eb1f003876b79db5d133686dde95.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
|
BIN
assets/textures/debug/grass_tile.png
Normal file
After Width: | Height: | Size: 189 B |
34
assets/textures/debug/grass_tile.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3l4uomk1gw8c"
|
||||
path="res://.godot/imported/grass_tile.png-5a5483ddd78e23537d011bbb997ab6f8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debug/grass_tile.png"
|
||||
dest_files=["res://.godot/imported/grass_tile.png-5a5483ddd78e23537d011bbb997ab6f8.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=true
|
||||
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,35 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/debugitem_one64.png-1ec80dd262e8a6ed96484253d42fdc95.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/debugitem_one64.png"
|
||||
dest_files=[ "res://.import/debugitem_one64.png-1ec80dd262e8a6ed96484253d42fdc95.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
assets/textures/dialogue/circle.png
Normal file
After Width: | Height: | Size: 301 B |
34
assets/textures/dialogue/circle.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://boxc677b5i605"
|
||||
path="res://.godot/imported/circle.png-3c0b22aad03e7f55176a848f19bf5e35.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/dialogue/circle.png"
|
||||
dest_files=["res://.godot/imported/circle.png-3c0b22aad03e7f55176a848f19bf5e35.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
|
BIN
assets/textures/dialogue/dialogue_answer_ninepatch.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://04pdpdvkg2s"
|
||||
path="res://.godot/imported/dialogue_answer_ninepatch.png-01c1b91fe7cb6355bb563ce9038c65a5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/dialogue/dialogue_answer_ninepatch.png"
|
||||
dest_files=["res://.godot/imported/dialogue_answer_ninepatch.png-01c1b91fe7cb6355bb563ce9038c65a5.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
|
BIN
assets/textures/enemies/slime_green_atlas.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
34
assets/textures/enemies/slime_green_atlas.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ca1es3hoj53wg"
|
||||
path="res://.godot/imported/slime_green_atlas.png-e4460cfe974755b8ce33e1b93831e12b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/enemies/slime_green_atlas.png"
|
||||
dest_files=["res://.godot/imported/slime_green_atlas.png-e4460cfe974755b8ce33e1b93831e12b.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: 148 KiB |
@@ -1,35 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/test_background_tileset.png-6a994978cefc6df9f5920903f59e7192.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/textures/test_background_tileset.png"
|
||||
dest_files=[ "res://.import/test_background_tileset.png-6a994978cefc6df9f5920903f59e7192.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
15
default_bus_layout.tres
Normal file
@@ -0,0 +1,15 @@
|
||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://dl0nx4myxdl3y"]
|
||||
|
||||
[resource]
|
||||
bus/1/name = &"Dialogue"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = 0.0672607
|
||||
bus/1/send = &"Master"
|
||||
bus/2/name = &"UI"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = 0.0
|
||||
bus/2/send = &"Master"
|
@@ -1,7 +0,0 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
106
export_presets.cfg
Normal file
@@ -0,0 +1,106 @@
|
||||
[preset.0]
|
||||
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../export/windows/RPG Test gd4.exe"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_script=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
codesign/enable=false
|
||||
codesign/identity_type=0
|
||||
codesign/identity=""
|
||||
codesign/password=""
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
application/modify_resources=true
|
||||
application/icon="res://assets/textures/debug/dummy-player-normal.png"
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=4
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||
$settings = New-ScheduledTaskSettingsSet
|
||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||
Start-ScheduledTask -TaskName godot_remote_debug
|
||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Linux/X11"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../export/linux/RPG Test gd4.x86_64"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_script=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
export DISPLAY=:0
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
@@ -1,35 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
142
project.godot
@@ -6,80 +6,152 @@
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=4
|
||||
config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="RPG-Test"
|
||||
run/main_scene="res://scenes/maps/main.tscn"
|
||||
config/name="RPG Test"
|
||||
run/main_scene="res://scenes/overworld.tscn"
|
||||
config/features=PackedStringArray("4.0", "Forward Plus")
|
||||
boot_splash/show_image=false
|
||||
boot_splash/bg_color=Color( 0.141176, 0.141176, 0.141176, 1 )
|
||||
config/icon="res://icon.png"
|
||||
config/icon="res://assets/textures/debug/dummy-player-normal.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
Essential="res://src/essential.cs"
|
||||
PlayerVariables="*res://src/player_variables.cs"
|
||||
Console="*res://scenes/gui/console.tscn"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/height=640
|
||||
window/stretch/aspect="keep"
|
||||
window/size/viewport_width=1844
|
||||
window/size/viewport_height=1037
|
||||
window/size/window_width_override=1537
|
||||
window/size/window_height_override=864
|
||||
mouse_cursor/custom_image="res://assets/textures/cursor.png"
|
||||
window/stretch/mode="canvas_items"
|
||||
|
||||
[gui]
|
||||
[dotnet]
|
||||
|
||||
common/drop_mouse_on_gui_input_disabled=true
|
||||
project/assembly_name="RPG Test gd4"
|
||||
|
||||
[editor]
|
||||
|
||||
naming/default_signal_callback_name="On{NodeName}{SignalName}"
|
||||
naming/default_signal_callback_to_self_name="On{SignalName}"
|
||||
naming/node_name_num_separator=2
|
||||
naming/node_name_casing=2
|
||||
node_naming/name_casing=2
|
||||
|
||||
[filesystem]
|
||||
|
||||
import/blender/enabled=false
|
||||
import/fbx/enabled=false
|
||||
|
||||
[input]
|
||||
|
||||
fullscreen={
|
||||
ui_accept={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777254,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":true,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":4194309,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":4194310,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"echo":false,"script":null)
|
||||
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"pressed":false,"double_click":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
ui_cancel={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"key_label":0,"unicode":4194305,"echo":false,"script":null)
|
||||
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"pressed":false,"double_click":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
ui_left={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":4194319,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
ui_right={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":4194321,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
|
||||
]
|
||||
}
|
||||
ui_up={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":4194320,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
|
||||
]
|
||||
}
|
||||
ui_down={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":4194322,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
|
||||
]
|
||||
}
|
||||
move_left={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
move_right={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":68,"physical_keycode":0,"key_label":0,"unicode":100,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
move_up={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
move_down={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
debug={
|
||||
hotkey_fullscreen={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194342,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
console={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777246,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194334,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
cheat_start={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[mono]
|
||||
[internationalization]
|
||||
|
||||
project/assembly_name="RPG-Test"
|
||||
locale/translation_remaps={}
|
||||
locale/translations_pot_files=PackedStringArray()
|
||||
|
||||
[layer_names]
|
||||
|
||||
2d_physics/layer_1="World"
|
||||
2d_physics/layer_2="Interactable"
|
||||
|
||||
[physics]
|
||||
|
||||
common/enable_pause_aware_picking=true
|
||||
2d/run_on_separate_thread=true
|
||||
|
||||
[rendering]
|
||||
|
||||
2d/snapping/use_gpu_pixel_snap=true
|
||||
environment/default_environment="res://default_env.tres"
|
||||
global_illumination/gi/use_half_resolution=true
|
||||
shading/overrides/force_vertex_shading=true
|
||||
occlusion_culling/use_occlusion_culling=true
|
||||
shading/use_occlusion_culling=true
|
||||
|
34
scenes/3D/3d_cube.tscn
Normal file
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://boxvq5qowh8nn"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_5dg07"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_a7mr5"]
|
||||
resource_name = "spinning"
|
||||
script/source = "extends MeshInstance3D
|
||||
|
||||
func _process(_delta):
|
||||
rotate_y(0.01)
|
||||
rotate_z(0.01)
|
||||
"
|
||||
|
||||
[node name="3d_cube" type="Node3D"]
|
||||
|
||||
[node name="visible_on_screen_enabler_3d" type="VisibleOnScreenEnabler3D" parent="."]
|
||||
enable_mode = 1
|
||||
enable_node_path = NodePath("../mesh_instance_3d")
|
||||
|
||||
[node name="mesh_instance_3d" type="MeshInstance3D" parent="."]
|
||||
process_mode = 1
|
||||
transform = Transform3D(0.5, -0.5, 0.707107, 0.707107, 0.707107, 0, -0.5, 0.5, 0.707107, 0, 0, 0)
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("BoxMesh_5dg07")
|
||||
script = SubResource("GDScript_a7mr5")
|
||||
|
||||
[node name="camera_3d" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.982906, 0.184106, 0, -0.184106, 0.982906, 0, 0.303103, 2.61621)
|
||||
fov = 99.1704
|
||||
|
||||
[node name="directional_light_3d" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.856547, 0.51607, 0, -0.51607, 0.856547, 0, 0, 5.56892)
|
||||
directional_shadow_mode = 0
|
||||
sky_mode = 1
|
116
scenes/base_npc.tscn
Normal file
@@ -0,0 +1,116 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://brh4u8w48v7po"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://boewsqe4b5yxm" path="res://assets/textures/debug/dummy-npc-atlas.png" id="1_feq0g"]
|
||||
[ext_resource type="PackedScene" uid="uid://bu1xkt4xi58ox" path="res://scenes/dialog_trigger_area.tscn" id="2_cjcdi"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dtvay"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(0, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4vo8e"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(59, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qf4lj"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(118, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ix2cs"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(177, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y6ifs"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(177, 90, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tlb85"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(0, 90, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_b18m1"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(59, 90, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5wb27"]
|
||||
atlas = ExtResource("1_feq0g")
|
||||
region = Rect2(118, 90, 59, 90)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_rr6ht"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dtvay")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4vo8e")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dtvay")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qf4lj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"move_down",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ix2cs")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y6ifs")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"move_side",
|
||||
"speed": 4.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tlb85")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_b18m1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tlb85")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5wb27")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"move_up",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_rsgcw"]
|
||||
radius = 7.99467
|
||||
height = 55.9998
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sgrqb"]
|
||||
size = Vector2(54, 71)
|
||||
|
||||
[node name="base_npc" type="CharacterBody2D"]
|
||||
collision_mask = 0
|
||||
collision_priority = 15.0
|
||||
|
||||
[node name="animated_sprite_2d" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_rr6ht")
|
||||
animation = &"move_down"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="collision_shape" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 37)
|
||||
rotation = 1.57345
|
||||
shape = SubResource("CapsuleShape2D_rsgcw")
|
||||
|
||||
[node name="dialog_trigger_area" parent="." instance=ExtResource("2_cjcdi")]
|
||||
file = "res://assets/lang/en/dialogue/npcs/villager_normal.json"
|
||||
title = "Debug NPC"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="collision_shape_2d" parent="dialog_trigger_area" index="0"]
|
||||
position = Vector2(0, -6.5)
|
||||
shape = SubResource("RectangleShape2D_sgrqb")
|
||||
|
||||
[editable path="dialog_trigger_area"]
|
17
scenes/dialog_trigger_area.tscn
Normal file
@@ -0,0 +1,17 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://bu1xkt4xi58ox"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_enb1s"]
|
||||
resource_name = "dialog_trigger_variables"
|
||||
script/source = "extends Area2D
|
||||
|
||||
@export_file(\"*json\") var file = \"\"
|
||||
@export var title = \"\"
|
||||
@export var introducedVillager = false
|
||||
"
|
||||
|
||||
[node name="dialog_trigger_area" type="Area2D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
script = SubResource("GDScript_enb1s")
|
||||
|
||||
[node name="collision_shape_2d" type="CollisionShape2D" parent="."]
|
47
scenes/gui/console.tscn
Normal file
@@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dlkpivjpbxnlg"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/scene-scripts/console/console.cs" id="1_gdt1r"]
|
||||
|
||||
[node name="popup_panel" type="PopupPanel"]
|
||||
transparent_bg = true
|
||||
size = Vector2i(1844, 193)
|
||||
visible = true
|
||||
always_on_top = true
|
||||
script = ExtResource("1_gdt1r")
|
||||
|
||||
[node name="v_box_container" type="VBoxContainer" parent="."]
|
||||
offset_left = 4.0
|
||||
offset_top = 4.0
|
||||
offset_right = 1840.0
|
||||
offset_bottom = 189.0
|
||||
|
||||
[node name="rich_text_label" type="RichTextLabel" parent="v_box_container"]
|
||||
custom_minimum_size = Vector2(0, 150)
|
||||
layout_mode = 2
|
||||
focus_mode = 2
|
||||
theme_override_colors/default_color = Color(0, 1, 0, 1)
|
||||
bbcode_enabled = true
|
||||
text = "[color=red][b]USING CHEATS MAY PAUSE ACHIEVEMENTS WHILE THE CHEATS ARE ACTIVE[/b][/color]
|
||||
"
|
||||
scroll_following = true
|
||||
selection_enabled = true
|
||||
|
||||
[node name="line_edit" type="LineEdit" parent="v_box_container"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 1, 0, 1)
|
||||
theme_override_colors/caret_color = Color(0, 1, 0, 1)
|
||||
placeholder_text = "Type in cheat or command. Use \"help\" for help."
|
||||
max_length = 200
|
||||
context_menu_enabled = false
|
||||
clear_button_enabled = true
|
||||
flat = true
|
||||
select_all_on_focus = true
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
caret_force_displayed = true
|
||||
|
||||
[node name="cheatcode_timer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[connection signal="popup_hide" from="." to="." method="OnPopupHide"]
|
||||
[connection signal="text_submitted" from="v_box_container/line_edit" to="." method="OnLineEditTextSubmitted"]
|
117
scenes/gui/dialog_bubble.tscn
Normal file
@@ -0,0 +1,117 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://bkm7365u1mm3o"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/scene-scripts/dialogue-system/dialog_bubble.cs" id="1_xtj1q"]
|
||||
[ext_resource type="FontFile" uid="uid://cx6bvqk0ghmjv" path="res://assets/fonts/urbane-rounded-medium.otf" id="2_qrihj"]
|
||||
[ext_resource type="AudioStream" uid="uid://cg6grs5k5m33n" path="res://assets/audios/typewrite/default_tw.wav" id="2_wg62u"]
|
||||
[ext_resource type="Texture2D" uid="uid://04pdpdvkg2s" path="res://assets/textures/dialogue/dialogue_answer_ninepatch.png" id="3_n3y1v"]
|
||||
[ext_resource type="AudioStream" uid="uid://7si4jccoofsf" path="res://assets/audios/ui/small_btn.wav" id="5_w6jq7"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5w2xu"]
|
||||
|
||||
[node name="dialog_bubble" type="CanvasLayer"]
|
||||
process_mode = 4
|
||||
script = ExtResource("1_xtj1q")
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="typewriter_audio_stream" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("2_wg62u")
|
||||
pitch_scale = 0.4
|
||||
bus = &"Dialogue"
|
||||
|
||||
[node name="typewriter_timer" type="Timer" parent="."]
|
||||
wait_time = 0.05
|
||||
|
||||
[node name="box" type="ColorRect" parent="."]
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.083
|
||||
anchor_top = 0.694
|
||||
anchor_right = 0.923
|
||||
anchor_bottom = 0.968
|
||||
offset_left = 0.428993
|
||||
offset_top = 0.383972
|
||||
offset_right = -40.651
|
||||
offset_bottom = 19.6479
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
color = Color(0.0705882, 0.0705882, 0.0705882, 1)
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="rich_text_label" type="RichTextLabel" parent="box"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.034
|
||||
anchor_top = 0.276
|
||||
anchor_right = 0.964
|
||||
anchor_bottom = 0.914
|
||||
offset_left = 0.569996
|
||||
offset_top = 0.0679932
|
||||
offset_right = 0.219971
|
||||
offset_bottom = 0.10199
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_colors/default_color = Color(1, 1, 1, 1)
|
||||
theme_override_fonts/normal_font = ExtResource("2_qrihj")
|
||||
theme_override_font_sizes/normal_font_size = 42
|
||||
bbcode_enabled = true
|
||||
scroll_active = false
|
||||
visible_characters_behavior = 1
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="name_label" type="Label" parent="box"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.01
|
||||
anchor_top = 0.039
|
||||
anchor_right = 0.118
|
||||
anchor_bottom = 0.233
|
||||
offset_left = 0.0499992
|
||||
offset_top = -0.0229998
|
||||
offset_right = 0.389984
|
||||
offset_bottom = 0.118996
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_fonts/font = ExtResource("2_qrihj")
|
||||
theme_override_font_sizes/font_size = 38
|
||||
text = "???"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="panel_container" type="PanelContainer" parent="box"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -187.88
|
||||
offset_top = -367.402
|
||||
offset_right = 28.12
|
||||
offset_bottom = -247.402
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
size_flags_horizontal = 8
|
||||
size_flags_vertical = 8
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_5w2xu")
|
||||
|
||||
[node name="nine_patch_rect" type="NinePatchRect" parent="box/panel_container"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("3_n3y1v")
|
||||
patch_margin_left = 50
|
||||
patch_margin_top = 50
|
||||
patch_margin_right = 50
|
||||
patch_margin_bottom = 50
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="margin_container" type="MarginContainer" parent="box/panel_container"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 48
|
||||
theme_override_constants/margin_top = 36
|
||||
theme_override_constants/margin_right = 72
|
||||
theme_override_constants/margin_bottom = 36
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="answerbtn_audio_stream" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_w6jq7")
|
||||
bus = &"UI"
|
||||
|
||||
[connection signal="visibility_changed" from="." to="." method="OnVisibilityChanged"]
|
||||
[connection signal="timeout" from="typewriter_timer" to="." method="OnTypewriterTimerTimeout"]
|
46
scenes/gui/dlg_answer_button.tscn
Normal file
@@ -0,0 +1,46 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cv87js42t1sty"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://cx6bvqk0ghmjv" path="res://assets/fonts/urbane-rounded-medium.otf" id="1_2bkol"]
|
||||
[ext_resource type="Texture2D" uid="uid://boxc677b5i605" path="res://assets/textures/dialogue/circle.png" id="2_tkpfr"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mvyo0"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_h66dw"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_2axga"]
|
||||
content_margin_top = 8.0
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_s6xfc"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_trdc6"]
|
||||
|
||||
[sub_resource type="ButtonGroup" id="ButtonGroup_y8j7j"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = "answer_buttons"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_nhv51"]
|
||||
resource_name = "button"
|
||||
script/source = "extends Button
|
||||
func _process(_delta):
|
||||
if(is_hovered()): grab_focus()
|
||||
"
|
||||
|
||||
[node name="answer_button" type="Button"]
|
||||
custom_minimum_size = Vector2(100, 32)
|
||||
theme_override_colors/icon_normal_color = Color(0, 0, 0, 0)
|
||||
theme_override_colors/icon_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/icon_hover_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/icon_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/icon_focus_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/icon_disabled_color = Color(1, 1, 1, 0)
|
||||
theme_override_fonts/font = ExtResource("1_2bkol")
|
||||
theme_override_font_sizes/font_size = 36
|
||||
theme_override_styles/normal = SubResource("StyleBoxEmpty_mvyo0")
|
||||
theme_override_styles/hover = SubResource("StyleBoxEmpty_h66dw")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxEmpty_2axga")
|
||||
theme_override_styles/disabled = SubResource("StyleBoxEmpty_s6xfc")
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_trdc6")
|
||||
button_group = SubResource("ButtonGroup_y8j7j")
|
||||
icon = ExtResource("2_tkpfr")
|
||||
alignment = 0
|
||||
script = SubResource("GDScript_nhv51")
|
@@ -1,19 +0,0 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://assets/textures/debugitem_one64.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="CircleShape2D" id=1]
|
||||
radius = 31.0
|
||||
|
||||
[node name="debug_tile_one" type="Node2D"]
|
||||
|
||||
[node name="RigidBody2D" type="RigidBody2D" parent="."]
|
||||
gravity_scale = 0.0
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="RigidBody2D"]
|
||||
texture = ExtResource( 1 )
|
||||
centered = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
|
||||
position = Vector2( 31, 34 )
|
||||
shape = SubResource( 1 )
|
@@ -1,16 +0,0 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://scenes/maps/tilemaps/world.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://src/main.cs" type="Script" id=3]
|
||||
|
||||
[node name="Main" type="Node2D"]
|
||||
position = Vector2( 4, 0 )
|
||||
scale = Vector2( 1, 1.00619 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="World" parent="." instance=ExtResource( 1 )]
|
||||
tile_data = PoolIntArray( -196612, 0, 0, -196611, 0, 1, -196610, 0, 1, -196609, 0, 1, -262144, 0, 1, -262143, 0, 1, -262142, 0, 1, -262141, 0, 2, -131076, 0, 65536, -131075, 0, 65537, -131074, 0, 131073, -131073, 0, 131073, -196608, 0, 131073, -196607, 0, 131073, -196606, 0, 65537, -196605, 0, 65538, -65540, 0, 65536, -65539, 0, 65538, -131070, 0, 65536, -131069, 0, 65538, -4, 0, 65536, -3, 0, 65537, -2, 0, 1, -1, 0, 1, -65536, 0, 1, -65535, 0, 1, -65534, 0, 65537, -65533, 0, 65538, 65532, 0, 65536, 65533, 0, 65537, 65534, 0, 65537, 65535, 0, 65537, 0, 0, 65537, 1, 0, 65537, 2, 0, 65537, 3, 0, 65538, 131068, 0, 65536, 131069, 0, 65537, 131070, 0, 65537, 131071, 0, 65537, 65536, 0, 65537, 65537, 0, 65537, 65538, 0, 65537, 65539, 0, 65538, 196604, 0, 131072, 196605, 0, 131073, 196606, 0, 131073, 196607, 0, 131073, 131072, 0, 131073, 131073, 0, 131073, 131074, 0, 131073, 131075, 0, 131074 )
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 2 )]
|
||||
speed = 600
|
@@ -1,19 +0,0 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://tilesets/Background.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://tilesets/foreground_test.tres" type="TileSet" id=2]
|
||||
[ext_resource path="res://src/tilemap_foreground.cs" type="Script" id=3]
|
||||
|
||||
[node name="World" type="TileMap"]
|
||||
tile_set = ExtResource( 1 )
|
||||
cell_size = Vector2( 512, 512 )
|
||||
cell_quadrant_size = 128
|
||||
format = 1
|
||||
tile_data = PoolIntArray( -196612, 0, 0, -196611, 0, 1, -196610, 0, 1, -196609, 0, 1, -262144, 0, 1, -262143, 0, 1, -262142, 0, 1, -262141, 0, 2, -131076, 0, 65536, -131075, 0, 65537, -131074, 0, 131073, -131073, 0, 131073, -196608, 0, 131073, -196607, 0, 131073, -196606, 0, 65537, -196605, 0, 65538, -65540, 0, 65536, -65539, 0, 65538, -131070, 0, 65536, -131069, 0, 65538, -4, 0, 65536, -3, 0, 65537, -2, 0, 1, -1, 0, 1, -65536, 536870912, 1, -65535, 0, 1, -65534, 0, 65537, -65533, 0, 65538, 65532, 0, 65536, 65533, 0, 65537, 65534, 0, 65537, 65535, 0, 65537, 0, 0, 65537, 1, 0, 65537, 2, 0, 65537, 3, 0, 65538, 131068, 0, 65536, 131069, 0, 65537, 131070, 0, 65537, 131071, 0, 65537, 65536, 0, 65537, 65537, 0, 65537, 65538, 0, 65537, 65539, 0, 65538, 196604, 0, 131072, 196605, 0, 131073, 196606, 0, 131073, 196607, 0, 131073, 131072, 0, 131073, 131073, 0, 131073, 131074, 0, 131073, 131075, 0, 131074 )
|
||||
|
||||
[node name="Foreground" type="TileMap" parent="."]
|
||||
tile_set = ExtResource( 2 )
|
||||
format = 1
|
||||
tile_data = PoolIntArray( -1900525, 1, 0, -1769494, 0, 0, -1769493, 0, 0, -1834990, 1, 0, -1834989, 1, 0, -1834986, 1, 0, -1834980, 1, 0, -1703959, 0, 0, -1703958, 0, 0, -1703957, 0, 0, -1703956, 0, 0, -1769454, 1, 0, -1769453, 1, 0, -1769452, 1, 0, -1769450, 1, 0, -1638426, 0, 0, -1638425, 0, 0, -1638424, 0, 0, -1638423, 0, 0, -1638420, 0, 0, -1703919, 1, 0, -1703918, 1, 0, -1703916, 1, 0, -1703915, 1, 0, -1703914, 1, 0, -1703909, 1, 0, -1572891, 0, 0, -1572890, 0, 0, -1572888, 0, 0, -1572884, 0, 0, -1638379, 1, 0, -1638373, 1, 0, -1507355, 0, 0, -1507349, 0, 0, -1507348, 0, 0, -1572843, 1, 0, -1572838, 1, 0, -1572837, 1, 0, -1441819, 0, 0, -1441814, 0, 0, -1441813, 0, 0, -1507302, 1, 0, -1376283, 0, 0, -1376282, 0, 0, -1376278, 0, 0, -1441789, 1, 0, -1441788, 1, 0, -1441787, 1, 0, -1441786, 1, 0, -1441785, 1, 0, -1441784, 1, 0, -1310746, 0, 0, -1310745, 0, 0, -1310743, 0, 0, -1310742, 0, 0, -1376251, 1, 0, -1376250, 1, 0, -1376249, 1, 0, -1245209, 0, 0, -1245208, 0, 0, -1245207, 0, 0, -1310715, 1, 0, -1310714, 1, 0, -1245179, 1, 0, -458775, 0, 0, -393239, 0, 0, -393235, 0, 0, -327708, 0, 0, -327707, 0, 0, -327700, 0, 0, -327699, 0, 0, -262168, 0, 0, -262167, 0, 0, -262165, 0, 0, -262164, 0, 0, -196633, 0, 0, -196632, 0, 0, -196631, 0, 0, -196615, 1, 0, -196614, 1, 0, -196611, 1, 0, -196610, 1, 0, -131097, 0, 0, -131096, 0, 0, -131095, 0, 0, -131094, 0, 0, -131079, 1, 0, -131078, 1, 0, -131075, 1, 0, -131074, 1, 0, -196595, 0, 0, -196586, 0, 0, -65561, 0, 0, -65560, 0, 0, -65559, 0, 0, -65558, 0, 0, -131059, 0, 0, -131056, 0, 0, -131055, 0, 0, -131050, 0, 0, -29, 0, 0, -28, 0, 0, -27, 0, 0, -20, 0, 0, -8, 1, 0, -1, 1, 0, -65524, 0, 0, -65520, 0, 0, 65507, 0, 0, 65511, 0, 0, 65516, 0, 0, 65517, 0, 0, 65528, 1, 0, 65529, 1, 0, 65534, 1, 0, 65535, 1, 0, 12, 0, 0, 13, 0, 0, 14, 0, 0, 15, 0, 0, 16, 0, 0, 21, 0, 0, 131047, 0, 0, 131048, 0, 0, 131053, 0, 0, 131065, 1, 0, 131066, 1, 0, 131067, 1, 0, 131068, 1, 0, 131069, 1, 0, 131070, 1, 0, 65547, 0, 0, 65548, 0, 0, 65550, 0, 0, 65551, 0, 0, 65557, 0, 0, 131083, 0, 0, 131085, 0, 0, 131092, 0, 0, 262141, 1, 0, 262142, 1, 0, 262143, 1, 0, 196608, 1, 0, 196609, 1, 0, 196610, 1, 0, 196627, 0, 0, 196628, 0, 0, 327676, 1, 0, 327677, 1, 0, 327678, 0, 0, 327679, 0, 0, 262144, 0, 0, 262145, 0, 0, 262146, 1, 0, 262147, 1, 0, 393193, 0, 0, 393194, 0, 0, 393212, 1, 0, 393213, 1, 0, 393214, 0, 0, 327680, 0, 0, 327681, 0, 0, 327682, 0, 0, 327683, 1, 0, 327684, 1, 0, 458729, 0, 0, 458730, 0, 0, 458734, 0, 0, 458735, 0, 0, 458736, 0, 0, 458749, 1, 0, 458750, 0, 0, 458751, 0, 0, 393216, 0, 0, 393217, 0, 0, 393218, 0, 0, 393220, 1, 0, 524265, 0, 0, 524266, 0, 0, 524269, 0, 0, 524270, 0, 0, 524271, 0, 0, 524272, 0, 0, 524273, 0, 0, 524285, 1, 0, 524286, 0, 0, 524287, 1, 0, 458752, 1, 0, 458753, 0, 0, 458754, 0, 0, 458756, 1, 0, 589805, 0, 0, 589806, 0, 0, 589807, 0, 0, 589808, 0, 0, 589809, 0, 0, 589821, 1, 0, 589822, 0, 0, 589823, 1, 0, 524288, 1, 0, 524289, 0, 0, 524292, 1, 0, 655342, 0, 0, 655343, 0, 0, 655344, 0, 0, 655357, 1, 0, 655358, 1, 0, 655359, 1, 0, 589824, 1, 0, 589825, 1, 0, 589827, 1, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 786408, 0, 0, 851943, 0, 0, 851944, 0, 0, 851951, 0, 0, 851952, 0, 0, 851962, 1, 0, 917478, 0, 0, 917479, 0, 0, 917480, 0, 0, 917486, 0, 0, 917487, 0, 0, 917488, 0, 0, 917500, 1, 0, 851983, 0, 0, 851984, 0, 0, 851985, 0, 0, 851986, 0, 0, 851987, 0, 0, 851988, 0, 0, 851989, 0, 0, 851990, 0, 0, 851991, 0, 0, 851992, 0, 0, 851993, 0, 0, 851994, 0, 0, 983015, 0, 0, 983016, 0, 0, 983017, 0, 0, 983018, 0, 0, 983019, 0, 0, 983020, 0, 0, 983021, 0, 0, 983022, 0, 0, 917518, 0, 0, 917521, 0, 0, 917522, 0, 0, 917524, 0, 0, 917525, 0, 0, 917527, 0, 0, 917528, 0, 0, 917530, 0, 0, 1048552, 0, 0, 1048553, 0, 0, 1048554, 0, 0, 1048555, 0, 0, 983047, 0, 0, 983048, 0, 0, 983049, 0, 0, 983050, 0, 0, 983051, 0, 0, 983052, 0, 0, 983053, 0, 0, 983054, 0, 0, 983055, 0, 0, 983056, 0, 0, 983057, 0, 0, 983058, 0, 0, 983060, 0, 0, 983061, 0, 0, 983063, 0, 0, 983064, 0, 0, 983065, 0, 0, 983066, 0, 0, 983067, 0, 0, 1048582, 0, 0, 1048583, 0, 0, 1048584, 0, 0, 1048585, 0, 0, 1048586, 0, 0, 1048587, 0, 0, 1048588, 0, 0, 1048590, 0, 0, 1048592, 0, 0, 1048593, 0, 0, 1048594, 0, 0, 1048599, 0, 0, 1048600, 0, 0, 1048601, 0, 0, 1048602, 0, 0, 1048603, 0, 0, 1114117, 0, 0, 1114118, 0, 0, 1114120, 0, 0, 1114121, 0, 0, 1114122, 0, 0, 1114123, 0, 0, 1114124, 0, 0, 1114126, 0, 0, 1114127, 0, 0, 1179656, 0, 0, 1179657, 0, 0, 1179658, 0, 0, 1179659, 0, 0, 1179660, 0, 0 )
|
||||
script = ExtResource( 3 )
|
||||
array2D = PoolIntArray( )
|
87
scenes/overworld.tscn
Normal file
@@ -1,28 +1,137 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://bxaheg7l4h1ip"]
|
||||
|
||||
[ext_resource path="res://assets/textures/banana.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/player.cs" type="Script" id=2]
|
||||
[ext_resource type="Script" path="res://src/scene-scripts/player.cs" id="1_qehox"]
|
||||
[ext_resource type="Texture2D" uid="uid://olceowuycu8c" path="res://assets/textures/debug/dummy-player-atlas.png" id="2_yu1q5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bkm7365u1mm3o" path="res://scenes/gui/dialog_bubble.tscn" id="3_8f573"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id=1]
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_068kt"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(0, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tubtg"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(59, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ck0si"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(118, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_48laa"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(177, 0, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dp3ld"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(177, 90, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7t6sn"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(0, 90, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w5lt5"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(59, 90, 59, 90)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0gngb"]
|
||||
atlas = ExtResource("2_yu1q5")
|
||||
region = Rect2(118, 90, 59, 90)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_65gi3"]
|
||||
animations = [{
|
||||
"frames": [ ExtResource( 1 ) ],
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_068kt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tubtg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_068kt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ck0si")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": "default",
|
||||
"name": &"move_down",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_48laa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dp3ld")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"move_side",
|
||||
"speed": 4.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7t6sn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w5lt5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7t6sn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0gngb")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"move_up",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 19, 29 )
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_38v5o"]
|
||||
height = 54.0
|
||||
|
||||
[node name="Player" type="KinematicBody2D"]
|
||||
script = ExtResource( 2 )
|
||||
[node name="player" type="CharacterBody2D"]
|
||||
process_mode = 1
|
||||
collision_layer = 5
|
||||
collision_mask = 5
|
||||
motion_mode = 1
|
||||
script = ExtResource("1_qehox")
|
||||
|
||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
|
||||
frames = SubResource( 1 )
|
||||
[node name="rotation_center" type="Marker2D" parent="."]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 0, 2 )
|
||||
shape = SubResource( 2 )
|
||||
[node name="ray_cast_2d" type="RayCast2D" parent="rotation_center"]
|
||||
rotation = 3.14159
|
||||
target_position = Vector2(-32, 0)
|
||||
collision_mask = 2
|
||||
hit_from_inside = true
|
||||
collide_with_areas = true
|
||||
collide_with_bodies = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
current = true
|
||||
[node name="animated_sprite_2d" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_65gi3")
|
||||
animation = &"move_down"
|
||||
|
||||
[node name="main_cam" type="Camera2D" parent="."]
|
||||
process_callback = 0
|
||||
position_smoothing_enabled = true
|
||||
drag_horizontal_enabled = true
|
||||
drag_vertical_enabled = true
|
||||
editor_draw_drag_margin = true
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="cheat_cam" type="Camera2D" parent="."]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="audio_listener_2d" type="AudioListener2D" parent="."]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="dialog_bubble" parent="." instance=ExtResource("3_8f573")]
|
||||
visible = false
|
||||
|
||||
[node name="collision_shape" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 35)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("CapsuleShape2D_38v5o")
|
||||
|
||||
[node name="globalposition_timer" type="Timer" parent="."]
|
||||
wait_time = 1.5
|
||||
autostart = true
|
||||
|
50
scenes/tiles/3d_cube_tile.tscn
Normal file
@@ -0,0 +1,50 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://ct6s1gfjkciva"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://boxvq5qowh8nn" path="res://scenes/3D/3d_cube.tscn" id="1_643fx"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lxe27"]
|
||||
size = Vector2(64, 64)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_1h1n3"]
|
||||
resource_name = "visibillity"
|
||||
script/source = "extends VisibleOnScreenNotifier2D
|
||||
|
||||
func OnScreenEntered():
|
||||
get_child(0).visible = true
|
||||
pass
|
||||
|
||||
func OnScreenExited():
|
||||
get_child(0).visible = false
|
||||
pass
|
||||
"
|
||||
|
||||
[node name="3d_cube_tile" type="Node2D"]
|
||||
|
||||
[node name="static_body_2d" type="StaticBody2D" parent="."]
|
||||
position = Vector2(0, 1)
|
||||
collision_priority = 20.0
|
||||
|
||||
[node name="collision_shape_2d" type="CollisionShape2D" parent="static_body_2d"]
|
||||
position = Vector2(1, -2)
|
||||
shape = SubResource("RectangleShape2D_lxe27")
|
||||
|
||||
[node name="visible_on_screen_notifier_2d" type="VisibleOnScreenNotifier2D" parent="."]
|
||||
script = SubResource("GDScript_1h1n3")
|
||||
|
||||
[node name="sub_viewport_container" type="SubViewportContainer" parent="visible_on_screen_notifier_2d"]
|
||||
offset_left = -115.0
|
||||
offset_top = -110.0
|
||||
offset_right = 141.0
|
||||
offset_bottom = 146.0
|
||||
|
||||
[node name="sub_viewport" type="SubViewport" parent="visible_on_screen_notifier_2d/sub_viewport_container"]
|
||||
own_world_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(230, 230)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Node3D" parent="visible_on_screen_notifier_2d/sub_viewport_container/sub_viewport" instance=ExtResource("1_643fx")]
|
||||
|
||||
[connection signal="screen_entered" from="visible_on_screen_notifier_2d" to="visible_on_screen_notifier_2d" method="OnScreenEntered"]
|
||||
[connection signal="screen_exited" from="visible_on_screen_notifier_2d" to="visible_on_screen_notifier_2d" method="OnScreenExited"]
|
19
scenes/tiles/cupcake.tscn
Normal file
@@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dckxciecwjfgf"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://p5ubildre2tg" path="res://assets/textures/debug/cupcake.png" id="1_5n0fd"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_pchpi"]
|
||||
size = Vector2(64, 14.625)
|
||||
|
||||
[node name="dialogdebug_cupcake" type="StaticBody2D"]
|
||||
collision_priority = 20.0
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_5n0fd")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 23)
|
||||
shape = SubResource("RectangleShape2D_pchpi")
|
||||
metadata/_edit_lock_ = true
|
61
scenes/tiles/enemies/slime.tscn
Normal file
@@ -0,0 +1,61 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://cpu7t7csffoxg"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ca1es3hoj53wg" path="res://assets/textures/enemies/slime_green_atlas.png" id="1_bw6us"]
|
||||
[ext_resource type="Script" path="res://src/scene-scripts/enemies/slime.cs" id="1_l1742"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_eghup"]
|
||||
atlas = ExtResource("1_bw6us")
|
||||
region = Rect2(0, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8p5ni"]
|
||||
atlas = ExtResource("1_bw6us")
|
||||
region = Rect2(64, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j8570"]
|
||||
atlas = ExtResource("1_bw6us")
|
||||
region = Rect2(128, 0, 64, 64)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_bwr2v"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_eghup")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8p5ni")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j8570")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_eghup")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_e6mi3"]
|
||||
radius = 9.0
|
||||
height = 46.0
|
||||
|
||||
[node name="slime" type="CharacterBody2D" groups=["enemies"]]
|
||||
collision_layer = 8
|
||||
collision_mask = 9
|
||||
motion_mode = 1
|
||||
floor_stop_on_slope = false
|
||||
floor_constant_speed = true
|
||||
script = ExtResource("1_l1742")
|
||||
|
||||
[node name="animated_sprite_2d" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, 19)
|
||||
sprite_frames = SubResource("SpriteFrames_bwr2v")
|
||||
frame_progress = 0.348187
|
||||
|
||||
[node name="collision_shape_2d" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 28)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("CapsuleShape2D_e6mi3")
|
||||
|
||||
[node name="visible_notifier_2d" type="VisibleOnScreenNotifier2D" parent="."]
|
||||
rect = Rect2(-25, 0, 50, 40)
|
19
scenes/tiles/first_debug_tile.tscn
Normal file
@@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dk7fqaw2b3w1k"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://diwxy1fl5m02y" path="res://assets/textures/debug/debugitem_one64.png" id="1_2m632"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_qgi6t"]
|
||||
radius = 33.1361
|
||||
|
||||
[node name="rigid_body_2d" type="RigidBody2D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 11
|
||||
collision_priority = 25.0
|
||||
gravity_scale = 0.0
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
texture = ExtResource("1_2m632")
|
||||
|
||||
[node name="collision_shape_2d" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_qgi6t")
|
41
scenes/tiles/sound_debug_tile.tscn
Normal file
@@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c4dkrtswpv8cv"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ciidukjv5k6oa" path="res://assets/textures/debug/banana.png" id="1_7651j"]
|
||||
[ext_resource type="AudioStream" uid="uid://s64cl4x57oae" path="res://assets/audios/sound_explode.wav" id="3_dnu2u"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_krkfl"]
|
||||
resource_name = "sound_debug_tile"
|
||||
script/source = "extends StaticBody2D
|
||||
|
||||
@export var soundOn = true
|
||||
|
||||
func _ready():
|
||||
$audio_stream_player_2d.autoplay = soundOn
|
||||
if(soundOn):
|
||||
$audio_stream_player_2d.play()
|
||||
func OnAudioFinished():
|
||||
if(soundOn):
|
||||
$audio_stream_player_2d.play()
|
||||
"
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2d5dy"]
|
||||
radius = 30.8058
|
||||
|
||||
[node name="sound_debug_tile" type="StaticBody2D"]
|
||||
collision_priority = 20.0
|
||||
script = SubResource("GDScript_krkfl")
|
||||
soundOn = false
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_7651j")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-1, 4)
|
||||
shape = SubResource("CircleShape2D_2d5dy")
|
||||
|
||||
[node name="audio_stream_player_2d" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("3_dnu2u")
|
||||
max_distance = 1700.0
|
||||
attenuation = 1.7
|
||||
|
||||
[connection signal="finished" from="audio_stream_player_2d" to="." method="OnAudioFinished"]
|
50
src/essential.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class essential : Node
|
||||
{
|
||||
public static string currentController = Input.GetJoyName(0);
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
//Checks if using Keyboard or controller. It gives out the current controller and changes cursor visibillity
|
||||
if (@event is InputEventKey || @event is InputEventMouseButton || @event is InputEventMouseMotion || currentController == "")
|
||||
{
|
||||
currentController = "PC";
|
||||
Input.MouseMode = Input.MouseModeEnum.Visible;
|
||||
}
|
||||
if (@event is InputEventJoypadButton || @event is InputEventJoypadMotion & Input.GetVector("move_left", "move_right", "move_up", "move_down") != Vector2.Zero && currentController != Input.GetJoyName(0))
|
||||
{
|
||||
currentController = Input.GetJoyName(0);
|
||||
Input.MouseMode = Input.MouseModeEnum.Hidden;
|
||||
}
|
||||
}
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
//CHANGE INPUT FOR NINTENDO CONTROLLER
|
||||
InputEventJoypadButton JoyButtonA = new InputEventJoypadButton() { ButtonIndex = JoyButton.A };
|
||||
InputEventJoypadButton JoyButtonB = new InputEventJoypadButton() { ButtonIndex = JoyButton.B };
|
||||
if (currentController.StartsWith("Nintendo") && InputMap.ActionHasEvent("ui_accept", JoyButtonA))
|
||||
{
|
||||
InputMap.ActionEraseEvent("ui_accept", JoyButtonA);
|
||||
InputMap.ActionEraseEvent("ui_cancel", JoyButtonB);
|
||||
InputMap.ActionAddEvent("ui_accept", JoyButtonB);
|
||||
InputMap.ActionAddEvent("ui_cancel", JoyButtonA);
|
||||
}
|
||||
else if (InputMap.ActionHasEvent("ui_accept", JoyButtonB))
|
||||
{
|
||||
InputMap.ActionEraseEvent("ui_accept", JoyButtonB);
|
||||
InputMap.ActionEraseEvent("ui_cancel", JoyButtonA);
|
||||
InputMap.ActionAddEvent("ui_accept", JoyButtonA);
|
||||
InputMap.ActionAddEvent("ui_cancel", JoyButtonB);
|
||||
}
|
||||
|
||||
//FULLSCREEN HOTKEY
|
||||
if (Input.IsActionJustPressed("hotkey_fullscreen"))
|
||||
{
|
||||
if (DisplayServer.WindowGetMode() == DisplayServer.WindowMode.Fullscreen)
|
||||
DisplayServer.WindowSetMode(DisplayServer.WindowMode.Windowed);
|
||||
else DisplayServer.WindowSetMode(DisplayServer.WindowMode.Fullscreen);
|
||||
}
|
||||
}
|
||||
}
|
19
src/main.cs
@@ -1,19 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public class main : Node2D
|
||||
{
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void _Process(float delta)
|
||||
{
|
||||
if (Input.IsActionJustReleased("fullscreen"))
|
||||
{
|
||||
OS.WindowFullscreen = !OS.WindowFullscreen;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,45 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public class player : KinematicBody2D
|
||||
{
|
||||
[Export]
|
||||
public int speed = 400;
|
||||
|
||||
public override void _PhysicsProcess(float delta)
|
||||
{
|
||||
MoveAndCollide(new Vector2
|
||||
(
|
||||
Input.GetActionStrength("move_right")
|
||||
- Input.GetActionStrength("move_left"),
|
||||
Input.GetActionStrength("move_down")
|
||||
- Input.GetActionStrength("move_up")
|
||||
).LimitLength(1)
|
||||
* speed * delta
|
||||
);
|
||||
}
|
||||
|
||||
public override void _Process(float delta)
|
||||
{
|
||||
//debug the grid
|
||||
int currentCellID = 1;
|
||||
var tilemap = GetNode<TileMap>("/root/Main/World/Foreground");
|
||||
Vector2 coordinates = tilemap.WorldToMap(Position);
|
||||
if (Input.IsActionJustReleased("debug"))
|
||||
{
|
||||
GD.Print("All Number 1 tiles: " + tilemap.GetUsedCellsById(1));
|
||||
GD.Print("Player coordinate: " + coordinates);
|
||||
}
|
||||
if (Input.IsKeyPressed((int)KeyList.F1))
|
||||
{
|
||||
tilemap.SetCell((int)coordinates.x, (int)coordinates.y, -1);
|
||||
}
|
||||
if (Input.IsKeyPressed((int)KeyList.F2))
|
||||
{
|
||||
if(tilemap.GetCell((int)coordinates.x, (int)coordinates.y) == -1)
|
||||
{
|
||||
tilemap.SetCell((int)coordinates.x, (int)coordinates.y, currentCellID); //place offset coordinates += offset = build coordinates
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
19
src/player_variables.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
public partial class player_variables : Node
|
||||
{
|
||||
private static string _playername = "Yannik";
|
||||
public static string PlayerName
|
||||
{
|
||||
get { return _playername; }
|
||||
set
|
||||
{
|
||||
_playername = Regex.Replace(value, @"\[[^]]+\]", "");
|
||||
_playername = Regex.Replace(_playername, @"<[^>]*>", "");
|
||||
if (PlayerName.Length > 12)
|
||||
_playername = PlayerName.Substring(0, 12);
|
||||
}
|
||||
}
|
||||
}
|
11
src/scene-scripts/console/commands.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"help": " [command] - Shows help or help for a specific command",
|
||||
"consoleclear": " - Clears the console",
|
||||
"speed": " <multiplier number> - Multiplies the player speed by the given value",
|
||||
"noclip": " - Toggles the player collision and lets you walk through walls and world barriers",
|
||||
"stickycamera": " - Toggles the camera mode. Stickycamera follows the player without limits and extra animation",
|
||||
"playername": " <new name> - Renames the player",
|
||||
"closedialogue": " - Closes the current dialogue box",
|
||||
"reload": " - Reloads the current level (for softlocks or other issues)",
|
||||
"visiblecollision": " - Toggles if collision shapes hitboxes and hitmarkers are visible. Use 'reload' to see changes!"
|
||||
}
|
150
src/scene-scripts/console/console.cs
Normal file
@@ -0,0 +1,150 @@
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
|
||||
public partial class console : PopupPanel
|
||||
{
|
||||
private string[] gamepadCheatcode = { "ui_up", "ui_up", "ui_down", "ui_down", "ui_left", "ui_right", "ui_left", "ui_right", "ui_cancel", "ui_accept", "cheat_start" };
|
||||
private int gpCcIndexer = 0;
|
||||
private InputEvent inputEvent;
|
||||
private static RichTextLabel textblock;
|
||||
private LineEdit line;
|
||||
private Dictionary commandDict;
|
||||
private string error = "Not found! :(";
|
||||
|
||||
//functions with capital letters can't be used inside the console
|
||||
public override void _Ready()
|
||||
{
|
||||
Visible = false;
|
||||
textblock = GetNode<RichTextLabel>("v_box_container/rich_text_label");
|
||||
line = GetNode<LineEdit>("v_box_container/line_edit");
|
||||
commandDict = Json.ParseString(FileAccess.GetFileAsString("res://src/scene-scripts/console/commands.json").ToString()).AsGodotDictionary();
|
||||
}
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
//Cheatcode
|
||||
if (Input.IsActionJustPressed(gamepadCheatcode[gpCcIndexer]))
|
||||
{
|
||||
gpCcIndexer++;
|
||||
GetNode<Timer>("cheatcode_timer").Start();
|
||||
if (gpCcIndexer == gamepadCheatcode.Length)
|
||||
{
|
||||
gpCcIndexer = 0;
|
||||
ToggleVisible();
|
||||
}
|
||||
}
|
||||
if (Input.IsActionJustPressed("ui_cancel"))
|
||||
Visible = false;
|
||||
//Normal keyboard hotkey
|
||||
if (Input.IsActionJustPressed("console"))
|
||||
ToggleVisible();
|
||||
}
|
||||
private void ToggleVisible()
|
||||
{
|
||||
Visible = !Visible;
|
||||
player.allowMovement = !Visible;
|
||||
line.GrabFocus();
|
||||
}
|
||||
private void OnPopupHide() { if (dialog_bubble.isTalking == false) player.allowMovement = true; }
|
||||
private void OnLineEditTextSubmitted(string command)
|
||||
{
|
||||
line.Clear();
|
||||
//repeat user input to console
|
||||
if (command.Length != 0) Print(player_variables.PlayerName + " > " + command);
|
||||
//splits command into arguments and uses the right call functions for the given amount of split string arguments by the user
|
||||
Variant args;
|
||||
if (command.Split(' ').Length == 2 && commandDict.ContainsKey(command.Split(' ')[0].ToLower()))
|
||||
{
|
||||
int i = command.IndexOf(" ") + 1;
|
||||
args = command.Substring(i);
|
||||
commandDict.ContainsKey(command.Split(' ')[0].ToLower());
|
||||
Call(command.Split(' ')[0].ToLower(), args);
|
||||
}
|
||||
else if (command.Split(' ').Length > 2 && commandDict.ContainsKey(command.Split(' ')[0].ToLower()))
|
||||
{
|
||||
int i = command.IndexOf(" ") + 1;
|
||||
args = command.Substring(i).Split(' ');
|
||||
commandDict.ContainsKey(command.Split(' ')[0].ToLower());
|
||||
Callv(command.Split(' ')[0].ToLower(), args.AsGodotArray());
|
||||
}
|
||||
else if (commandDict.ContainsKey(command.ToLower()))
|
||||
{
|
||||
Call(command.ToLower());
|
||||
}
|
||||
else if (command.Length != 0) Print(error);
|
||||
}
|
||||
public static void Print(string text)
|
||||
{
|
||||
GD.Print(text);
|
||||
textblock.AddText(text + "\n");
|
||||
}
|
||||
|
||||
|
||||
private void help()
|
||||
{
|
||||
Print("==================================== Help ====================================");
|
||||
for (int i = 0; i < commandDict.Count; i++)
|
||||
{
|
||||
Print((i + 1) + ". " + Json.ParseString(commandDict.Keys.ToString()).AsStringArray()[i]
|
||||
+ Json.ParseString(commandDict.Values.ToString()).AsStringArray()[i]);
|
||||
}
|
||||
}
|
||||
private void help(string key) //Optional parameters aren't optional in Call()/Callv() so i use overloads instead
|
||||
{
|
||||
key = key.ToLower();
|
||||
if (key.Length != 0 && commandDict.ContainsKey(key))
|
||||
{
|
||||
Print(key);
|
||||
Print(commandDict[key].ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
Print(error);
|
||||
help("help");
|
||||
};
|
||||
}
|
||||
private void consoleclear() => textblock.Clear();
|
||||
private void speed(float multiplier)
|
||||
{
|
||||
player.speed = Mathf.Clamp(multiplier, 0.01f, 15f);
|
||||
Print("Set player speed to " + Mathf.Clamp(multiplier, 0.01f, 15f));
|
||||
}
|
||||
private void noclip()
|
||||
{
|
||||
try { Print(player.CollisionToggle()); }
|
||||
catch
|
||||
{
|
||||
Print("Player is not accessable");
|
||||
help("noclip");
|
||||
}
|
||||
}
|
||||
private void stickycamera()
|
||||
{
|
||||
try { Print(player.CheatCam()); }
|
||||
catch
|
||||
{
|
||||
Print("Player is not accessable");
|
||||
help("stickycamera");
|
||||
}
|
||||
}
|
||||
private void playername(string name)
|
||||
{
|
||||
player_variables.PlayerName = name;
|
||||
Print("Your new name is now: " + player_variables.PlayerName);
|
||||
}
|
||||
private void closedialogue()
|
||||
{
|
||||
dialog_bubble.forceClose = true;
|
||||
Print("Dialogue got closed!");
|
||||
}
|
||||
private void reload()
|
||||
{
|
||||
GetTree().ReloadCurrentScene();
|
||||
Print("Level got reloaded!");
|
||||
}
|
||||
private void visiblecollision()
|
||||
{
|
||||
GetTree().DebugCollisionsHint = !GetTree().DebugCollisionsHint;
|
||||
Print("Visible collision shapes and hitmarker now set to: " + GetTree().DebugCollisionsHint + "Use 'reload' to see changes!");
|
||||
}
|
||||
}
|
171
src/scene-scripts/dialogue-system/dialog_bubble.cs
Normal file
@@ -0,0 +1,171 @@
|
||||
using Godot;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
public partial class dialog_bubble : CanvasLayer
|
||||
{
|
||||
public Variant parsedDlg;
|
||||
public Variant dlgLines;
|
||||
public int dlgPointer = 0;
|
||||
public RichTextLabel richText;
|
||||
public Timer typewriterTimer;
|
||||
public string title;
|
||||
public Area2D triggerArea;
|
||||
public static bool forceClose;
|
||||
public static bool isTalking;
|
||||
/*TODO:
|
||||
- Dont repeat the same randomized dialogue after you get asked do you need something "else"
|
||||
- add tree support (example: "story" key)
|
||||
- ability to add dialogue begin answers on the fly (special ones are colored)
|
||||
they will be in a dictionary with event IDs or Dictionary keys it also needs an array wich ones are active
|
||||
-strings like in the "goodbye" key should be randomized without the array brackets so they are only needed for multiline texts
|
||||
-answers should work more like dialogue for tree support*/
|
||||
public override void _Ready()
|
||||
{
|
||||
richText = GetNode<RichTextLabel>("box/rich_text_label");
|
||||
typewriterTimer = GetNode<Timer>("typewriter_timer");
|
||||
}
|
||||
public void GetDialog(string file, Area2D actor)
|
||||
{
|
||||
console.Print("Loaded dialogue from: " + file + "\nClose dialogue with 'closedialogue'");
|
||||
triggerArea = actor;
|
||||
title = actor.Get("title").AsString();
|
||||
bool introducedVillager = actor.Get("introducedVillager").AsBool();
|
||||
|
||||
parsedDlg = Json.ParseString(FileAccess.Open(file, FileAccess.ModeFlags.Read).GetAsText()
|
||||
.Replace("{player}", "[color=cyan]" + player_variables.PlayerName + "[/color]").Replace("{title}", "[color=purple]" + title + "[/color]"));
|
||||
|
||||
if (parsedDlg.AsGodotDictionary()["dialogType"].AsString() != "villager" || introducedVillager)
|
||||
GetNode<Label>("box/name_label").Text = title;
|
||||
|
||||
player.allowMovement = false;
|
||||
|
||||
//Get first key
|
||||
if (parsedDlg.AsGodotDictionary()["dialogType"].AsString() == "villager")
|
||||
if (introducedVillager)
|
||||
GatherDialog("welcome");
|
||||
else
|
||||
GatherDialog("intro");
|
||||
|
||||
else if (parsedDlg.AsGodotDictionary()["dialogType"].AsString() == "message")
|
||||
GatherDialog("message");
|
||||
|
||||
Visible = true;
|
||||
isTalking = true;
|
||||
}
|
||||
public void GatherDialog(string key)
|
||||
{
|
||||
dlgPointer = 0;
|
||||
dlgLines = parsedDlg.AsGodotDictionary()[key].AsGodotArray();
|
||||
dlgLines = dlgLines.AsGodotArray()[GD.RandRange(0, dlgLines.AsGodotArray().Count - 1)];
|
||||
//TODO:copy a clean default array and remove already used indexes and copy from clean array when its empty
|
||||
}
|
||||
public void OnVisibilityChanged()
|
||||
{
|
||||
if (Visible)
|
||||
ProcessMode = ProcessModeEnum.Inherit;
|
||||
else ProcessMode = ProcessModeEnum.Disabled;
|
||||
}
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
DialogControlls();
|
||||
AnswerBoxControlls();
|
||||
}
|
||||
public void DialogControlls()
|
||||
{
|
||||
if (Input.IsActionJustPressed("ui_cancel")) richText.VisibleCharacters = richText.Text.Length;
|
||||
|
||||
if (Input.IsActionJustPressed("ui_accept") && GetNode<console>("/root/Console").Visible == false && GetNode<PanelContainer>("box/panel_container").Visible == false
|
||||
&& richText.VisibleCharacters == -1 | Regex.Replace(richText.Text, @"\[[^]]+\]", "").Length <= richText.VisibleCharacters)
|
||||
{
|
||||
if (dlgPointer < dlgLines.AsGodotArray().Count)
|
||||
{
|
||||
//read and write the dialogue
|
||||
if (dlgLines.AsGodotArray()[dlgPointer].VariantType == Variant.Type.Float)
|
||||
InDialogEvents((int)dlgLines.AsGodotArray()[dlgPointer]);
|
||||
else if (dlgLines.AsGodotArray()[dlgPointer].VariantType == Variant.Type.String && !dlgLines.AsGodotArray()[dlgPointer].AsString().StartsWith("<goto:>"))
|
||||
UpdateDialog();
|
||||
else if (dlgLines.AsGodotArray()[dlgPointer].VariantType == Variant.Type.String && dlgLines.AsGodotArray()[dlgPointer].AsString().StartsWith("<goto:>"))
|
||||
{
|
||||
GatherDialog(dlgLines.AsGodotArray()[dlgPointer].AsString().Replace("<goto:>", ""));
|
||||
UpdateDialog();
|
||||
}
|
||||
else if (dlgLines.AsGodotArray()[dlgPointer].VariantType == Variant.Type.Dictionary)
|
||||
MakeAnswerBox(Json.ParseString(dlgLines.AsGodotArray()[dlgPointer].AsGodotDictionary().Keys.ToString()).AsStringArray());
|
||||
}
|
||||
dlgPointer++;
|
||||
}
|
||||
if (dlgPointer > dlgLines.AsGodotArray().Count || forceClose)
|
||||
CloseDialog();
|
||||
}
|
||||
public void UpdateDialog()
|
||||
{
|
||||
richText.Text = dlgLines.AsGodotArray()[dlgPointer].ToString();
|
||||
richText.VisibleCharacters = 0;
|
||||
typewriterTimer.Start();
|
||||
}
|
||||
public void OnTypewriterTimerTimeout()
|
||||
{
|
||||
if (richText.VisibleCharacters < Regex.Replace(richText.Text, @"\[[^]]+\]", "").Length)
|
||||
{
|
||||
richText.VisibleCharacters++;
|
||||
GetNode<AudioStreamPlayer>("typewriter_audio_stream").Play();
|
||||
}
|
||||
else typewriterTimer.Stop();
|
||||
}
|
||||
public void MakeAnswerBox(string[] dialogOptions)
|
||||
{
|
||||
var parent = GetNode("box/panel_container/margin_container");
|
||||
if (parent.GetChildCount() == 1) parent.GetChild(0).Free();
|
||||
parent.AddChild(new VBoxContainer());
|
||||
parent = parent.GetChild(0);
|
||||
for (int i = 0; parent.GetChildCount() < dialogOptions.Length; i++)
|
||||
{
|
||||
parent.AddChild(GD.Load<PackedScene>("res://scenes/gui/dlg_answer_button.tscn").Instantiate());
|
||||
if (dialogOptions[i].StartsWith("<!>")) parent.GetChild<Button>(i).Disabled = true;
|
||||
parent.GetChild<Button>(i).Text = dialogOptions[i].Replace("<!>", "");
|
||||
}
|
||||
GetNode<PanelContainer>("box/panel_container").Visible = true;
|
||||
parent.GetChild<Button>(0).GrabFocus();
|
||||
}
|
||||
public void AnswerBoxControlls()
|
||||
{
|
||||
if (GetNode<PanelContainer>("box/panel_container").Visible == true
|
||||
&& GetNode("box/panel_container/margin_container").GetChild(0).GetChild<Button>(0).ButtonGroup.GetPressedButton() != null)
|
||||
{
|
||||
GetNode<AudioStreamPlayer>("answerbtn_audio_stream").Play(); //BUG: dialogue box breaks while game console is open.
|
||||
var answer = dlgLines.AsGodotArray()[dlgPointer - 1].AsGodotDictionary()[GetNode<Button>(GetNode("box/panel_container/margin_container")
|
||||
.GetChild(0).GetChild<Button>(0).ButtonGroup.GetPressedButton().GetPath()).Text];
|
||||
GetNode<PanelContainer>("box/panel_container").Visible = false;
|
||||
if (answer.VariantType == Variant.Type.String && answer.AsString().StartsWith("<goto:>"))
|
||||
{
|
||||
GatherDialog(answer.AsString().Replace("<goto:>", ""));
|
||||
UpdateDialog();
|
||||
}
|
||||
dlgPointer++;
|
||||
}
|
||||
}
|
||||
public void InDialogEvents(int eventID)
|
||||
{
|
||||
switch (eventID)
|
||||
{
|
||||
case 0:
|
||||
GetNode<Label>("box/name_label").Text = title;
|
||||
triggerArea.Set("introducedVillager", true);
|
||||
GatherDialog("begindialog");
|
||||
UpdateDialog();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void CloseDialog()
|
||||
{
|
||||
Visible = false;
|
||||
dlgPointer = 0;
|
||||
richText.VisibleCharacters = -1;
|
||||
GetNode<Label>("box/name_label").Text = "???";
|
||||
richText.Text = "";
|
||||
if (GetParent().Name == "player") player.allowMovement = true;
|
||||
isTalking = false;
|
||||
forceClose = false;
|
||||
}
|
||||
}
|
17
src/scene-scripts/enemies/slime.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class slime : CharacterBody2D
|
||||
{
|
||||
[Export] int speed = 70;
|
||||
Vector2 motion = Vector2.Zero;
|
||||
public override void _Ready() => GetNode<AnimatedSprite2D>("animated_sprite_2d").Play();
|
||||
public override void _PhysicsProcess(double delta)
|
||||
{
|
||||
if (GetNode<VisibleOnScreenNotifier2D>("visible_notifier_2d").IsOnScreen())
|
||||
motion = Position.DirectionTo(player.globalPlayerPosition) * speed;
|
||||
else motion = Vector2.Zero;
|
||||
Velocity = motion;
|
||||
MoveAndSlide();
|
||||
}
|
||||
}
|
108
src/scene-scripts/player.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
public partial class player : CharacterBody2D
|
||||
{
|
||||
[Export] public static float speed = 1;
|
||||
public static bool allowMovement = true;
|
||||
public Vector2 movement;
|
||||
public AnimatedSprite2D animatedSprite;
|
||||
public Marker2D rotCenter;
|
||||
public RayCast2D dialogRayCast;
|
||||
public static Vector2 globalPlayerPosition;
|
||||
//console cheats:
|
||||
private static Camera2D cheatCam;
|
||||
private static Camera2D mainCam;
|
||||
private static CollisionShape2D collision;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
animatedSprite = GetNode<AnimatedSprite2D>("animated_sprite_2d");
|
||||
rotCenter = GetNode<Marker2D>("rotation_center");
|
||||
dialogRayCast = GetNode<RayCast2D>("rotation_center/ray_cast_2d");
|
||||
cheatCam = GetNode<Camera2D>("cheat_cam");
|
||||
mainCam = GetNode<Camera2D>("main_cam");
|
||||
collision = GetNode<CollisionShape2D>("collision_shape");
|
||||
}
|
||||
public override void _PhysicsProcess(double delta)
|
||||
{
|
||||
globalPlayerPosition = Position;
|
||||
if (allowMovement)
|
||||
movement = Input.GetVector("move_left", "move_right", "move_up", "move_down");
|
||||
else movement = Vector2.Zero;
|
||||
if (Math.Round(movement.Length(), 0) != 0) rotCenter.Rotation = new Vector2((float)Math.Round(movement.X, 0), (float)Math.Round(movement.Y, 0)).Angle();
|
||||
MoveAndCollide(movement * speed * 200 * (float)delta);
|
||||
}
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
if (Input.IsActionJustPressed("ui_accept") && dialogRayCast.IsColliding() && allowMovement)
|
||||
GetNode<dialog_bubble>("dialog_bubble").GetDialog(dialogRayCast.GetCollider().Get("file").AsString(), (Area2D)dialogRayCast.GetCollider());
|
||||
|
||||
|
||||
//animation system (with controller support wich cant get normalized vector)
|
||||
if (allowMovement == false)
|
||||
{
|
||||
animatedSprite.Stop();
|
||||
animatedSprite.Frame = 0;
|
||||
}
|
||||
if (movement.Length() != 0)
|
||||
animatedSprite.Play();
|
||||
else
|
||||
{
|
||||
animatedSprite.Frame = 0;
|
||||
animatedSprite.Stop();
|
||||
}
|
||||
if (Math.Round(movement.X, 0) != 0)
|
||||
{
|
||||
animatedSprite.Animation = "move_side";
|
||||
animatedSprite.FlipH = movement.X < 0.5;
|
||||
animatedSprite.SpeedScale = Math.Abs(movement.X * speed * 1.3f);
|
||||
}
|
||||
else if (Math.Round(movement.Y, 0) != 0)
|
||||
{
|
||||
if (movement.Y > 0.05) animatedSprite.Animation = "move_down";
|
||||
if (movement.Y < 0.05) animatedSprite.Animation = "move_up";
|
||||
animatedSprite.FlipH = false;
|
||||
animatedSprite.SpeedScale = Math.Abs(movement.Y * speed * 1.3f);
|
||||
}
|
||||
}
|
||||
public int BeginDialogue(int i)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
public void OnAnimationChanged()
|
||||
{
|
||||
if (animatedSprite.Animation == "move_side")
|
||||
{
|
||||
//GetNode<CollisionShape2D>("collision_shape").Shape
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//CONSOLE CHEATS
|
||||
public static string CheatCam()
|
||||
{
|
||||
|
||||
if (mainCam.Enabled)
|
||||
{
|
||||
cheatCam.Enabled = true;
|
||||
mainCam.Enabled = false;
|
||||
return "cheat_cam has been enabled\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
cheatCam.Enabled = false;
|
||||
mainCam.Enabled = true;
|
||||
return "cheat_cam has been disabled\n";
|
||||
}
|
||||
}
|
||||
public static string CollisionToggle()
|
||||
{
|
||||
collision.Disabled = !collision.Disabled;
|
||||
return ("Noclip is now set to: " + collision.Disabled + "\n");
|
||||
}
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
public class tilemap_foreground : TileMap
|
||||
{
|
||||
public override void _Process(float delta)
|
||||
{
|
||||
ReplaceStaticTiles(1, "debug_tile_one");
|
||||
}
|
||||
|
||||
public void ReplaceStaticTiles(int CellID, string sceneName)
|
||||
{
|
||||
Vector2[] allCells = GetUsedCellsById(CellID).OfType<Vector2>().ToArray();
|
||||
for(int i = 0; i < allCells.Length; i++)
|
||||
{
|
||||
GD.Print(allCells[i]);
|
||||
SetCell((int)allCells[i].x, (int)allCells[i].y, -1);
|
||||
var scene = GD.Load<PackedScene>("res://scenes/interactable_tiles/" + sceneName + ".tscn");
|
||||
var instance = scene.Instance();
|
||||
AddChild(instance);
|
||||
var node = GetNode<Node2D>(instance.GetPath());
|
||||
node.Position = allCells[i] * CellSize; //node has to be Node2D and can't be centered
|
||||
GD.Print(node);
|
||||
}
|
||||
}
|
||||
}
|
26
theme/main_theme.tres
Normal file
@@ -0,0 +1,26 @@
|
||||
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://drfpgi5fnigok"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4bp5o"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fdtmb"]
|
||||
content_margin_left = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color(0.13125, 0.15, 0.18125, 1)
|
||||
border_color = Color(0.084, 0.096, 0.116, 1)
|
||||
corner_radius_top_left = 3
|
||||
corner_radius_top_right = 3
|
||||
corner_radius_bottom_right = 3
|
||||
corner_radius_bottom_left = 3
|
||||
corner_detail = 3
|
||||
anti_aliasing = false
|
||||
|
||||
[resource]
|
||||
RichTextLabel/colors/default_color = Color(0.8025, 0.81, 0.8225, 1)
|
||||
RichTextLabel/colors/font_shadow_color = Color(0, 0, 0, 0)
|
||||
RichTextLabel/constants/shadow_offset_x = 1
|
||||
RichTextLabel/constants/shadow_offset_y = 1
|
||||
RichTextLabel/constants/shadow_outline_size = 1
|
||||
RichTextLabel/styles/focus = SubResource("StyleBoxEmpty_4bp5o")
|
||||
RichTextLabel/styles/normal = SubResource("StyleBoxFlat_fdtmb")
|
@@ -1,137 +0,0 @@
|
||||
[gd_resource type="TileSet" load_steps=14 format=2]
|
||||
|
||||
[ext_resource path="res://assets/textures/test_background_tileset.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=1]
|
||||
points = PoolVector2Array( 512, 512, 448, 512, 448, 0, 512, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=3]
|
||||
points = PoolVector2Array( 512, 64, 0, 64, 0, 0, 512, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=4]
|
||||
points = PoolVector2Array( 512, 64, 0, 64, 0, 0, 512, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=6]
|
||||
points = PoolVector2Array( 0, 0, 64, 0, 64, 512, 0, 512 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=7]
|
||||
points = PoolVector2Array( 64, 512, 0, 512, 0, 0, 64, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=8]
|
||||
points = PoolVector2Array( 512, 512, 0, 512, 0, 448, 512, 448 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=10]
|
||||
points = PoolVector2Array( 0, 448, 512, 448, 512, 512, 0, 512 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=12]
|
||||
points = PoolVector2Array( 512, 512, 0, 512, 0, 448, 512, 448 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=13]
|
||||
points = PoolVector2Array( 512, 512, 448, 512, 448, 64, 512, 64 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=14]
|
||||
points = PoolVector2Array( 512, 64, 64, 64, 64, 0, 512, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=15]
|
||||
points = PoolVector2Array( 64, 448, 0, 448, 0, 0, 64, 0 )
|
||||
|
||||
[sub_resource type="ConvexPolygonShape2D" id=16]
|
||||
points = PoolVector2Array( 512, 448, 448, 448, 448, 0, 512, 0 )
|
||||
|
||||
[resource]
|
||||
0/name = "test_background_tileset.png 0"
|
||||
0/texture = ExtResource( 1 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 1, 1, 1, 1 )
|
||||
0/region = Rect2( 0, 0, 1536, 1536 )
|
||||
0/tile_mode = 1
|
||||
0/autotile/bitmask_mode = 0
|
||||
0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 256, Vector2( 0, 1 ), 260, Vector2( 0, 2 ), 4, Vector2( 1, 0 ), 320, Vector2( 1, 1 ), 325, Vector2( 1, 2 ), 5, Vector2( 2, 0 ), 64, Vector2( 2, 1 ), 65, Vector2( 2, 2 ), 1 ]
|
||||
0/autotile/icon_coordinate = Vector2( 1, 1 )
|
||||
0/autotile/tile_size = Vector2( 512, 512 )
|
||||
0/autotile/spacing = 0
|
||||
0/autotile/occluder_map = [ ]
|
||||
0/autotile/navpoly_map = [ ]
|
||||
0/autotile/priority_map = [ Vector3( 0, 0, 9 ), Vector3( 0, 1, 6 ), Vector3( 0, 2, 3 ), Vector3( 1, 0, 8 ), Vector3( 1, 1, 5 ), Vector3( 1, 2, 2 ), Vector3( 2, 0, 7 ), Vector3( 2, 1, 4 ) ]
|
||||
0/autotile/z_index_map = [ ]
|
||||
0/occluder_offset = Vector2( 0, 0 )
|
||||
0/navigation_offset = Vector2( 0, 0 )
|
||||
0/shape_offset = Vector2( 0, 0 )
|
||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
0/shape = SubResource( 1 )
|
||||
0/shape_one_way = false
|
||||
0/shape_one_way_margin = 1.0
|
||||
0/shapes = [ {
|
||||
"autotile_coord": Vector2( 2, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 1 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 3 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 1, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 4 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 6 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 1 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 7 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 1, 2 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 8 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 2 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 10 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 2 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 12 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 13 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 0 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 14 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 0, 2 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 15 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
}, {
|
||||
"autotile_coord": Vector2( 2, 2 ),
|
||||
"one_way": false,
|
||||
"one_way_margin": 1.0,
|
||||
"shape": SubResource( 16 ),
|
||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
} ]
|
||||
0/z_index = 0
|
@@ -1,54 +0,0 @@
|
||||
[gd_resource type="TileSet" load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://assets/textures/cupcake.png" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/textures/debugitem_one64.png" type="Texture" id=2]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id=1]
|
||||
vertices = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 )
|
||||
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
|
||||
outlines = [ PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) ]
|
||||
|
||||
[sub_resource type="OccluderPolygon2D" id=2]
|
||||
polygon = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 )
|
||||
|
||||
[sub_resource type="NavigationPolygon" id=6]
|
||||
vertices = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 )
|
||||
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
|
||||
outlines = [ PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 ) ]
|
||||
|
||||
[sub_resource type="OccluderPolygon2D" id=7]
|
||||
polygon = PoolVector2Array( 0, 0, 64, 0, 64, 64, 0, 64 )
|
||||
|
||||
[resource]
|
||||
0/name = "cupcake.png 0"
|
||||
0/texture = ExtResource( 1 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 1, 1, 1, 1 )
|
||||
0/region = Rect2( 0, 0, 64, 64 )
|
||||
0/tile_mode = 0
|
||||
0/occluder_offset = Vector2( 0, 0 )
|
||||
0/occluder = SubResource( 2 )
|
||||
0/navigation_offset = Vector2( 0, 0 )
|
||||
0/navigation = SubResource( 1 )
|
||||
0/shape_offset = Vector2( 0, 0 )
|
||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
0/shape_one_way = false
|
||||
0/shape_one_way_margin = 0.0
|
||||
0/shapes = [ ]
|
||||
0/z_index = 0
|
||||
1/name = "debugitem_one64.png 1"
|
||||
1/texture = ExtResource( 2 )
|
||||
1/tex_offset = Vector2( 0, 0 )
|
||||
1/modulate = Color( 1, 1, 1, 1 )
|
||||
1/region = Rect2( 0, 0, 64, 64 )
|
||||
1/tile_mode = 0
|
||||
1/occluder_offset = Vector2( 0, 0 )
|
||||
1/occluder = SubResource( 7 )
|
||||
1/navigation_offset = Vector2( 0, 0 )
|
||||
1/navigation = SubResource( 6 )
|
||||
1/shape_offset = Vector2( 0, 0 )
|
||||
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
1/shape_one_way = false
|
||||
1/shape_one_way_margin = 0.0
|
||||
1/shapes = [ ]
|
||||
1/z_index = 0
|
30
tilesets/main_tileset.tres
Normal file
@@ -0,0 +1,30 @@
|
||||
[gd_resource type="TileSet" load_steps=10 format=3 uid="uid://dcg1tdmkkx22p"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dk7fqaw2b3w1k" path="res://scenes/tiles/first_debug_tile.tscn" id="1_uxmn6"]
|
||||
[ext_resource type="PackedScene" uid="uid://dckxciecwjfgf" path="res://scenes/tiles/cupcake.tscn" id="2_v4037"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4dkrtswpv8cv" path="res://scenes/tiles/sound_debug_tile.tscn" id="3_lf2fs"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3l4uomk1gw8c" path="res://assets/textures/debug/grass_tile.png" id="4_k7c1q"]
|
||||
[ext_resource type="PackedScene" uid="uid://ct6s1gfjkciva" path="res://scenes/tiles/3d_cube_tile.tscn" id="5_x3uol"]
|
||||
[ext_resource type="PackedScene" uid="uid://cpu7t7csffoxg" path="res://scenes/tiles/enemies/slime.tscn" id="6_mcy76"]
|
||||
|
||||
[sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_lcrun"]
|
||||
resource_name = "debug"
|
||||
scenes/0/scene = ExtResource("1_uxmn6")
|
||||
scenes/1/scene = ExtResource("5_x3uol")
|
||||
scenes/2/scene = ExtResource("2_v4037")
|
||||
scenes/3/scene = ExtResource("3_lf2fs")
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_na45g"]
|
||||
texture = ExtResource("4_k7c1q")
|
||||
texture_region_size = Vector2i(64, 64)
|
||||
0:0/0 = 0
|
||||
|
||||
[sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_d4uti"]
|
||||
resource_name = "enemies"
|
||||
scenes/1/scene = ExtResource("6_mcy76")
|
||||
|
||||
[resource]
|
||||
tile_size = Vector2i(64, 64)
|
||||
sources/0 = SubResource("TileSetScenesCollectionSource_lcrun")
|
||||
sources/3 = SubResource("TileSetAtlasSource_na45g")
|
||||
sources/5 = SubResource("TileSetScenesCollectionSource_d4uti")
|