Now the project uses the pandemonium engine. (My heavily modified godot fork.)

This commit is contained in:
Relintai 2022-03-26 14:04:56 +01:00
parent 45b7a90fb2
commit 8d22d88ba9
26 changed files with 388 additions and 198 deletions

8
.gitignore vendored
View File

@ -1,6 +1,6 @@
engine
pandemonium_engine
modules/*
ignore/*
logs/*
*.d
@ -11,6 +11,9 @@ game/.prop_tool_temp/**
.sconsign.dblite
.DS_Store
export/**
release/**
.vs/*
.kdev4/*
.vscode/*
@ -25,4 +28,5 @@ game/android/build/*
.dir-locals.el
build.config
__pycache__/*
__pycache__/*

2
HEADS
View File

@ -1 +1 @@
{"engine": {"3.2": "f15f5b45781eb3de8e5811400f654e3e49580149", "3.x": "a76316c0f06ef63f9b818d1ee8fd8771f73e4f3f"}, "world_generator": {"master": "d12ab222a2387e20164b3e7c6236983223ca88ef"}, "entity_spell_system": {"master": "3536f01bacf5f54cefb32b768cd020a1f94d0ade"}, "ui_extensions": {"master": "80a3b96fc56991a0f88a1d441ed1e3cebaf3307a"}, "texture_packer": {"master": "ae4d222fbaade063ed6f0bc9f3aaa53df68a7fed"}, "fastnoise": {"master": "46bb1f610bfb7171613b5c708d312bcf94e89356"}, "thread_pool": {"master": "0917511d04bb1aa308385b63ec88d3c182990628"}, "rtile_map": {"master": "389070cfef387b69902e23e6c4ac53997b69e42e"}}
{"engine": {"3.2": "f15f5b45781eb3de8e5811400f654e3e49580149", "3.x": "a76316c0f06ef63f9b818d1ee8fd8771f73e4f3f"}, "world_generator": {"master": "d12ab222a2387e20164b3e7c6236983223ca88ef"}, "entity_spell_system": {"master": "3536f01bacf5f54cefb32b768cd020a1f94d0ade"}, "ui_extensions": {"master": "80a3b96fc56991a0f88a1d441ed1e3cebaf3307a"}, "texture_packer": {"master": "ae4d222fbaade063ed6f0bc9f3aaa53df68a7fed"}, "fastnoise": {"master": "46bb1f610bfb7171613b5c708d312bcf94e89356"}, "thread_pool": {"master": "0917511d04bb1aa308385b63ec88d3c182990628"}, "rtile_map": {"master": "389070cfef387b69902e23e6c4ac53997b69e42e"}, "pandemonium_engine": {"master": "4b2f580fda56de21dba70863518d0f59958dcf4a"}}

View File

@ -46,6 +46,9 @@ exports = {
'windows': [],
'android': [],
'javascript': [],
'osx': [],
'ios': [],
'server': [],
}
additional_commands = {
@ -54,6 +57,9 @@ additional_commands = {
'windows': [],
'android': [],
'javascript': [],
'osx': [],
'ios': [],
'server': [],
}
target_commits = {}
@ -174,6 +180,55 @@ def copytree(src, dst):
shutil.copy2(sp, dp)
def validate_repository_origin(data, clone_path, branch = 'master'):
full_path = os.path.abspath(clone_path)
if not os.path.isdir(full_path):
return
cwd = os.getcwd()
os.chdir(full_path)
res = subprocess.run('git remote -v', shell=True, capture_output=True)
resstr = res.stdout.decode('ascii')
resarr = resstr.split("\n")
res_orig = []
for l in resarr:
if "origin" in l:
res_orig.append(l)
if len(res_orig) == 0:
print("The repository " + clone_path + " does not seem to have an origin remote. Adding it.")
subprocess.call('git remote add origin ' + data[0][repository_index], shell=True)
os.chdir(cwd)
return
for l in data[0]:
for ll in res_orig:
if l in ll:
os.chdir(cwd)
return
rind = 0
if 'git@' in res_orig[0]:
rind = 1
subprocess.call('git remote remove origin', shell=True)
subprocess.call('git remote add origin ' + data[0][rind], shell=True)
subprocess.call('git pull origin', shell=True)
subprocess.call('git checkout origin/' + branch, shell=True)
print('Updated git remote origin in ' + clone_path)
os.chdir(cwd)
def remove_repository(data, target_folder):
folder = os.path.abspath(target_folder + data[1])
@ -181,12 +236,13 @@ def remove_repository(data, target_folder):
shutil.rmtree(folder)
def update_engine():
update_repository(module_config.engine_repository, '/', module_config.godot_branch)
validate_repository_origin(module_config.engine_repository, './pandemonium_engine/', module_config.pandemonium_branch)
update_repository(module_config.engine_repository, '/', module_config.pandemonium_branch)
def update_modules():
for rep in module_config.module_repositories:
update_repository(rep, module_clone_path)
copy_repository(rep, './engine/modules/', '.' + module_clone_path)
copy_repository(rep, './pandemonium_engine/modules/', '.' + module_clone_path)
def update_addons():
for rep in module_config.addon_repositories:
@ -208,15 +264,16 @@ def update_all():
def setup_engine():
setup_repository(module_config.engine_repository, '/', module_config.godot_branch)
validate_repository_origin(module_config.engine_repository, './pandemonium_engine/', module_config.pandemonium_branch)
setup_repository(module_config.engine_repository, '/', module_config.pandemonium_branch)
def setup_modules():
for rep in module_config.module_repositories:
setup_repository(rep, module_clone_path)
copy_repository(rep, './engine/modules/', '.' + module_clone_path)
copy_repository(rep, './pandemonium_engine/modules/', '.' + module_clone_path)
for rep in module_config.removed_modules:
remove_repository(rep, './engine/modules/')
remove_repository(rep, './pandemonium_engine/modules/')
def setup_addons():
@ -382,6 +439,14 @@ if len(sys.argv) > 1:
build_string += 'debug_symbols=no'
build_string += ' '
if 'threads' in arg_split:
build_string += 'threads_enabled=yes'
build_string += ' '
if 'c' in arg:
build_string += 'compiledb=yes'
build_string += ' '
target = ' '
if 'E' in arg:
@ -396,10 +461,10 @@ if len(sys.argv) > 1:
target += 'bin/libprocedural_animations.x11.opt.tools.64.so'
cwd = os.getcwd()
full_path = cwd + '/engine/'
full_path = cwd + '/pandemonium_engine/'
if not os.path.isdir(full_path):
print('engine directory doesnt exists.')
print('engine (pandemonium_engine) directory doesnt exists.')
exit()
os.chdir(full_path)
@ -434,8 +499,12 @@ if len(sys.argv) > 1:
os.chdir(full_path + 'platform/android/java/')
print('Running command: ' + get_exports_for('global') + get_additional_commands_for('global') + get_exports_for('android') + get_additional_commands_for('android') + './gradlew generateGodotTemplates')
subprocess.call(get_exports_for('global') + get_additional_commands_for('global') + get_exports_for('android') + get_additional_commands_for('android') + './gradlew generateGodotTemplates', shell=True)
if 'e' in arg: #editor
print('Running command: ' + get_exports_for('global') + get_additional_commands_for('global') + get_exports_for('android') + get_additional_commands_for('android') + './gradlew generatePandemoniumEditor')
subprocess.call(get_exports_for('global') + get_additional_commands_for('global') + get_exports_for('android') + get_additional_commands_for('android') + './gradlew generatePandemoniumEditor', shell=True)
else: #normal templates
print('Running command: ' + get_exports_for('global') + get_additional_commands_for('global') + get_exports_for('android') + get_additional_commands_for('android') + './gradlew generatePandemoniumTemplates')
subprocess.call(get_exports_for('global') + get_additional_commands_for('global') + get_exports_for('android') + get_additional_commands_for('android') + './gradlew generatePandemoniumTemplates', shell=True)
elif 'j' in arg:
build_string += 'platform=javascript'
@ -446,67 +515,73 @@ if len(sys.argv) > 1:
elif 'i' in arg:
build_string += 'platform=iphone'
subprocess.call(build_string + ' arch=arm', shell=True)
subprocess.call(build_string + ' arch=arm64', shell=True)
print('Running command: ' + build_string)
subprocess.call(build_string, shell=True)
#subprocess.call('lipo -create bin/libgodot.iphone.{0}.arm.a bin/libgodot.iphone.{0}.arm64.a -output bin/libgodot.iphone.{1}.fat.a'.fomat(), shell=True)
#print('Running command: ' + build_string + " arch=arm")
#subprocess.call(build_string + ' arch=arm', shell=True)
#print('Running command: ' + build_string + " arch=arm64")
#subprocess.call(build_string + ' arch=arm64', shell=True)
#print('Running command: ' + build_string + " arch=x86_64")
#subprocess.call(build_string + ' arch=x86_64', shell=True)
elif 'x' in arg:
build_string += 'platform=osx'
#lipo -create bin/libgodot.iphone.opt.debug.arm.a bin/libgodot.iphone.opt.debug.arm64.a -output bin/libgodot.iphone.debug.fat.a
#rm bin/ios_xcode/libgodot.iphone.debug.fat.a
#cp bin/libgodot.iphone.debug.fat.a bin/ios_xcode/libgodot.iphone.debug.fat.a
build_string = get_exports_for('osx') + get_additional_commands_for('osx') + build_string + target
#lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a -output bin/libgodot.iphone.release.fat.a
#rm bin/ios_xcode/libgodot.iphone.release.fat.a
#cp bin/libgodot.iphone.release.fat.a bin/ios_xcode/libgodot.iphone.release.fat.a
print('Running command: ' + build_string)
subprocess.call(build_string, shell=True)
elif 'h' in arg:
#headless
build_string += 'platform=server'
subprocess.call('rm bin/iphone.zip', shell=True)
#cd bin/ios_xcode
subprocess.call(build_string + ' arch=arm64', shell=True)
subprocess.call('zip -r -X ../iphone.zip .', shell=True)
build_string = get_exports_for('server') + get_additional_commands_for('server') + build_string
print('Running command: ' + build_string)
subprocess.call(build_string, shell=True)
else:
print('No platform specified')
exit()
exit()
elif arg[0] == 'p':
if arg == 'p':
print("Applies a patch. No Patches right now.Append s for the skeleton editor patch. For example: ps ")
exit()
cwd = os.getcwd()
full_path = cwd + '/engine/'
if not os.path.isdir(full_path):
print('engine directory does not exists.')
exit()
os.chdir(full_path)
#apply the patch to just the working directory, without creating a commit
if 's' in arg:
subprocess.call('git apply --index ../patches/custom_skeleton_3d_editor_plugin.patch', shell=True)
#unstage all files
subprocess.call('git reset', shell=True)
vman_full_path = cwd + '/engine/modules/voxelman/'
#also patch voxelman as the plugin changes forward_spatial_gui_input's definition
if os.path.isdir(vman_full_path):
os.chdir(vman_full_path)
subprocess.call('git apply --index ../../../patches/fix-voxel-editor-after-the-skeleton-editor-patch.patch', shell=True)
#unstage all files
subprocess.call('git reset', shell=True)
else:
print('Voxelman directory does not exists, skipping patch.')
exit()
# elif arg[0] == 'p':
# if arg == 'p':
# print("Applies a patch. No Patches right now.Append s for the skeleton editor patch. For example: ps ")
# exit()
#
# cwd = os.getcwd()
# full_path = cwd + '/pandemonium_engine/'
#
# if not os.path.isdir(full_path):
# print('engine (pandemonium_engine) directory does not exists.')
# exit()
#
# os.chdir(full_path)
#
# #apply the patch to just the working directory, without creating a commit
#
# if 's' in arg:
# subprocess.call('git apply --index ../patches/custom_skeleton_3d_editor_plugin.patch', shell=True)
#
# #unstage all files
# subprocess.call('git reset', shell=True)
#
# vman_full_path = cwd + '/pandemonium_engine/modules/voxelman/'
#
# #also patch voxelman as the plugin changes forward_spatial_gui_input's definition
# if os.path.isdir(vman_full_path):
# os.chdir(vman_full_path)
#
# subprocess.call('git apply --index ../../../patches/fix-voxel-editor-after-the-skeleton-editor-patch.patch', shell=True)
#
# #unstage all files
# subprocess.call('git reset', shell=True)
# else:
# print('Voxelman directory does not exists, skipping patch.')
#
# exit()
opts = Variables(args=ARGUMENTS)
@ -539,7 +614,7 @@ if not os.path.isdir('./modules'):
os.mkdir('./modules')
if 'm' in action:
godot_branch = 'master'
pandemonium_branch = 'master'
if 'setup' in action or action[0] == 's':
if target == 'all':

View File

@ -2,13 +2,13 @@
export SCONS_CACHE=~/.scons_cache
export SCONS_CACHE_LIMIT=5000
cd ./engine
cd ./pandemonium_engine
scons -j6 p=iphone tools=no target=release_debug arch=arm module_arkit_enabled=no game_center=no
scons -j6 p=iphone tools=no target=release_debug arch=arm64 module_arkit_enabled=no game_center=no
lipo -create bin/libgodot.iphone.opt.debug.arm.a bin/libgodot.iphone.opt.debug.arm64.a -output bin/libgodot.iphone.debug.fat.a
rm bin/ios_xcode/libgodot.iphone.debug.fat.a
cp bin/libgodot.iphone.debug.fat.a bin/ios_xcode/libgodot.iphone.debug.fat.a
lipo -create bin/libpandemonium.iphone.opt.debug.arm.a bin/libpandemonium.iphone.opt.debug.arm64.a -output bin/libpandemonium.iphone.debug.fat.a
rm bin/ios_xcode/libpandemonium.iphone.debug.fat.a
cp bin/libpandemonium.iphone.debug.fat.a bin/ios_xcode/libpandemonium.iphone.debug.fat.a
rm bin/iphone.zip
cd bin/ios_xcode

View File

@ -2,13 +2,13 @@
export SCONS_CACHE=~/.scons_cache
export SCONS_CACHE_LIMIT=5000
cd ./engine
cd ./pandemonium_engine
scons -j6 p=iphone tools=no target=release arch=arm module_arkit_enabled=no game_center=no
scons -j6 p=iphone tools=no target=release arch=arm64 module_arkit_enabled=no game_center=no
lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a -output bin/libgodot.iphone.release.fat.a
rm bin/ios_xcode/libgodot.iphone.release.fat.a
cp bin/libgodot.iphone.release.fat.a bin/ios_xcode/libgodot.iphone.release.fat.a
lipo -create bin/libpandemonium.iphone.opt.arm.a bin/libpandemonium.iphone.opt.arm64.a -output bin/libpandemonium.iphone.release.fat.a
rm bin/ios_xcode/libpandemonium.iphone.release.fat.a
cp bin/libpandemonium.iphone.release.fat.a bin/ios_xcode/libpandemonium.iphone.release.fat.a
rm bin/iphone.zip
cd bin/ios_xcode

View File

@ -2,14 +2,14 @@
export SCONS_CACHE=~/.scons_cache
export SCONS_CACHE_LIMIT=5000
cd ./engine
cd ./pandemonium_engine
scons -j6 platform=osx target=release_debug
rm -Rf bin/Godot.app
cp -r misc/dist/osx_tools.app ./bin/Godot.app
mkdir -p ./bin/Godot.app/Contents/MacOS
cp bin/godot.osx.opt.tools.64 bin/Godot.app/Contents/MacOS/Godot
cp bin/pandemonium.osx.opt.tools.64 bin/Godot.app/Contents/MacOS/Godot
chmod +x bin/Godot.app/Contents/MacOS/Godot
cd ..

12
build_pi.sh Executable file
View File

@ -0,0 +1,12 @@
scons bel_latomic_strip_slim -j4
scons bl_latomic_strip_slim -j4
scons blr_latomic_strip_slim -j4
rm -f ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.32
rm -f ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.debug.32
rm -f ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.tools.32
mv ./pandemonium_engine/bin/pandemonium.x11.opt.32 ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.32
mv ./pandemonium_engine/bin/pandemonium.x11.opt.debug.32 ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.debug.32
mv ./pandemonium_engine/bin/pandemonium.x11.opt.tools.32 ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.tools.32

View File

@ -1,14 +0,0 @@
cd ./engine
if not defined DevEnvDir (
rem call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
)
call scons -j6 platform=uwp target=release
rem call scons -j6 platform=uwp target=release_debug
rem call scons -j6 platform=uwp target=release
cd ..

View File

@ -1,6 +1,6 @@
copy "engine\bin\godot.windows.opt.tools.64.exe" "engine\bin\run_godot.windows.opt.tools.64.exe" /y
copy "engine\bin\godot.windows.opt.tools.64.pdb" "engine\bin\run_godot.windows.opt.tools.64.pdb" /y
copy "engine\bin\godot.windows.opt.tools.64.exp" "engine\bin\run_godot.windows.opt.tools.64.exp" /y
copy "pandemonium_engine\bin\pandemonium.windows.opt.tools.64.exe" "pandemonium_engine\bin\run_pandemonium.windows.opt.tools.64.exe" /y
copy "pandemonium_engine\bin\pandemonium.windows.opt.tools.64.pdb" "pandemonium_engine\bin\run_pandemonium.windows.opt.tools.64.pdb" /y
copy "pandemonium_engine\bin\pandemonium.windows.opt.tools.64.exp" "pandemonium_engine\bin\run_pandemonium.windows.opt.tools.64.exp" /y
cmd /c engine\bin\run_godot.windows.opt.tools.64.exe
cmd /c pandemonium_engine\bin\run_pandemonium.windows.opt.tools.64.exe

View File

@ -1,6 +1,6 @@
#!/bin/bash
cp -u ./engine/bin/godot.x11.opt.tools.64 ./engine/bin/run.godot.x11.opt.tools.64
cp -u ./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 ./pandemonium_engine/bin/run.pandemonium.x11.opt.tools.64
export LD_LIBRARY_PATH=`pwd`/engine/bin/
./engine/bin/run.godot.x11.opt.tools.64 -v
export LD_LIBRARY_PATH=`pwd`/pandemonium_engine/bin/
./pandemonium_engine/bin/run.pandemonium.x11.opt.tools.64 -v

53
export_all.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/bash
set -e
version=""
version_snake_cased=""
if [ ! -z $1 ]; then
version="."
version+=$1
version_snake_cased=${version//./_}
fi
project_root=$(pwd)
rm -Rf ./export
mkdir export
mkdir export/broken_seals${version_snake_cased}_android_release
mkdir export/broken_seals${version_snake_cased}_android_debug
mkdir export/broken_seals${version_snake_cased}_linux
mkdir export/broken_seals${version_snake_cased}_windows
mkdir export/broken_seals${version_snake_cased}_javascript
mkdir export/broken_seals${version_snake_cased}_pi4
mkdir export/broken_seals${version_snake_cased}_osx
mkdir export/export_templates_bs${version_snake_cased}
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export-debug Android-Release ${project_root}/export/broken_seals${version_snake_cased}_android_release/broken_seals${version_snake_cased}.apk
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export-debug Android ${project_root}/export/broken_seals${version_snake_cased}_android_debug/broken_seals_debug${version_snake_cased}.apk
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export Linux/X11 ${project_root}/export/broken_seals${version_snake_cased}_linux/broken_seals${version_snake_cased}_x11
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export "Windows Desktop" ${project_root}/export/broken_seals${version_snake_cased}_windows/broken_seals${version_snake_cased}.exe
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export HTML5 ${project_root}/export/broken_seals${version_snake_cased}_javascript/broken_seals.html
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export PI4/X11 ${project_root}/export/broken_seals${version_snake_cased}_pi4/broken_seals${version_snake_cased}_pi4
./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 --path ./game/ --export "Mac OSX" ${project_root}/export/broken_seals${version_snake_cased}_osx/broken_seals${version_snake_cased}.app
cp ./pandemonium_engine/bin/pandemonium.windows.opt.tools.64.exe ${project_root}/export/pandemonium.bs${version}.windows.opt.tools.64.exe
cp ./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 ${project_root}/export/pandemonium.bs${version}.x11.opt.tools.64
cp ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.tools.32 ${project_root}/export/pandemonium.bs${version}.x11.pi4.opt.tools.32
cp ./pandemonium_engine/bin/pandemonium.javascript.opt.tools.threads.zip ${project_root}/export/pandemonium.bs${version}.javascript.opt.tools.zip
cp ./pandemonium_engine/bin/android_editor.apk ${project_root}/export/pandemonium.bs${version}.android_editor.apk
cp ./pandemonium_engine/bin/Pandemonium.app.zip ${project_root}/export/pandemonium.bs${version}.osx.opt.tools.zip
cp ./pandemonium_engine/bin/android_debug.apk ${project_root}/export/export_templates_bs${version_snake_cased}/android_debug.apk
cp ./pandemonium_engine/bin/android_release.apk ${project_root}/export/export_templates_bs${version_snake_cased}/android_release.apk
cp ./pandemonium_engine/bin/pandemonium.javascript.opt.debug.zip ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.javascript.opt.debug.zip
cp ./pandemonium_engine/bin/pandemonium.javascript.opt.zip ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.javascript.opt.zip
cp ./pandemonium_engine/bin/pandemonium.windows.opt.64.exe ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.windows.opt.64.exe
cp ./pandemonium_engine/bin/pandemonium.windows.opt.debug.64.exe ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.windows.opt.debug.64.exe
cp ./pandemonium_engine/bin/pandemonium.x11.opt.64 ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.x11.opt.64
cp ./pandemonium_engine/bin/pandemonium.x11.opt.debug.64 ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.x11.opt.debug.64
cp ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.32 ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.x11.pi4.opt.32
cp ./pandemonium_engine/bin/pandemonium.x11.pi4.opt.debug.32 ${project_root}/export/export_templates_bs${version_snake_cased}/pandemonium.x11.pi4.opt.debug.32
cp ./pandemonium_engine/bin/osx.zip ${project_root}/export/export_templates_bs${version_snake_cased}/osx.zip

View File

@ -10,156 +10,156 @@ config_version=4
_global_script_classes=[ {
"base": "CharacterAtlas",
"class": "CharacterAtlas2D",
"language": "GDScript",
"class": @"CharacterAtlas2D",
"language": @"GDScript",
"path": "res://scripts/item_visuals/CharacterAtlas2D.gd"
}, {
"base": "CharacterAtlasEntry",
"class": "CharacterAtlasEntry2D",
"language": "GDScript",
"class": @"CharacterAtlasEntry2D",
"language": @"GDScript",
"path": "res://scripts/item_visuals/CharacterAtlasEntry2D.gd"
}, {
"base": "Node2D",
"class": "CharacterSkeketonAttachPoint",
"language": "GDScript",
"class": @"CharacterSkeketonAttachPoint",
"language": @"GDScript",
"path": "res://player/CharacterSkeletonAttachPoint.gd"
}, {
"base": "CharacterSkeleton2D",
"class": "CharacterSkeleton2DGD",
"language": "GDScript",
"class": @"CharacterSkeleton2DGD",
"language": @"GDScript",
"path": "res://player/CharacterSkeleton2DGD.gd"
}, {
"base": "Entity",
"class": "DisplayPlayerGD",
"language": "GDScript",
"class": @"DisplayPlayerGD",
"language": @"GDScript",
"path": "res://player/DisplayPlayer.gd"
}, {
"base": "EntityAI",
"class": "EntityAIGD",
"language": "GDScript",
"class": @"EntityAIGD",
"language": @"GDScript",
"path": "res://scripts/ai/EntityAIGD.gd"
}, {
"base": "EntityData",
"class": "EntityDataGD",
"language": "GDScript",
"class": @"EntityDataGD",
"language": @"GDScript",
"path": "res://scripts/entities/EntityDataGD.gd"
}, {
"base": "Resource",
"class": "GameModule",
"language": "GDScript",
"class": @"GameModule",
"language": @"GDScript",
"path": "res://scripts/game_modules/GameModule.gd"
}, {
"base": "EntityResource",
"class": "HealthResource",
"language": "GDScript",
"class": @"HealthResource",
"language": @"GDScript",
"path": "res://scripts/resources/HealthResource.gd"
}, {
"base": "CharacterBones",
"class": "HumanoidCharacterBones2D",
"language": "GDScript",
"class": @"HumanoidCharacterBones2D",
"language": @"GDScript",
"path": "res://player/HumanoidCharacterBones2D.gd"
}, {
"base": "ItemTemplate",
"class": "ItemTemplateGD",
"language": "GDScript",
"class": @"ItemTemplateGD",
"language": @"GDScript",
"path": "res://scripts/items/ItemTemplateGD.gd"
}, {
"base": "SkeletonModelEntry",
"class": "ItemVisual2D",
"language": "GDScript",
"class": @"ItemVisual2D",
"language": @"GDScript",
"path": "res://scripts/item_visuals/ItemVisual2D.gd"
}, {
"base": "SkeletonModelEntry",
"class": "ItemVisualEntry2D",
"language": "GDScript",
"class": @"ItemVisualEntry2D",
"language": @"GDScript",
"path": "res://scripts/item_visuals/ItemVisualEntry2D.gd"
}, {
"base": "Node2D",
"class": "LayeredTextureMaker",
"language": "GDScript",
"class": @"LayeredTextureMaker",
"language": @"GDScript",
"path": "res://tools/texture_tools/LayeredTextureMaker.gd"
}, {
"base": "Node",
"class": "Main",
"language": "GDScript",
"class": @"Main",
"language": @"GDScript",
"path": "res://scenes/MainScene.gd"
}, {
"base": "EntityResource",
"class": "ManaResource",
"language": "GDScript",
"class": @"ManaResource",
"language": @"GDScript",
"path": "res://scripts/resources/ManaResource.gd"
}, {
"base": "Control",
"class": "Menu",
"language": "GDScript",
"class": @"Menu",
"language": @"GDScript",
"path": "res://scenes/Menu.gd"
}, {
"base": "Entity",
"class": "MobGD",
"language": "GDScript",
"class": @"MobGD",
"language": @"GDScript",
"path": "res://player/Mob.gd"
}, {
"base": "Entity",
"class": "PlayerGD",
"language": "GDScript",
"class": @"PlayerGD",
"language": @"GDScript",
"path": "res://player/Player.gd"
}, {
"base": "Resource",
"class": "PlayerMaster",
"language": "GDScript",
"class": @"PlayerMaster",
"language": @"GDScript",
"path": "res://scripts/networking/PlayerMaster.gd"
}, {
"base": "EntityResource",
"class": "SpeedResource",
"language": "GDScript",
"class": @"SpeedResource",
"language": @"GDScript",
"path": "res://scripts/resources/SpeedResource.gd"
}, {
"base": "SpellEffectVisual",
"class": "SpellEffectVisualBasic",
"language": "GDScript",
"class": @"SpellEffectVisualBasic",
"language": @"GDScript",
"path": "res://scripts/resources/spell_effect_visual_basic.gd"
}, {
"base": "Spell",
"class": "SpellGD",
"language": "GDScript",
"class": @"SpellGD",
"language": @"GDScript",
"path": "res://scripts/spells/gd_spell_script.gd"
}, {
"base": "GameModule",
"class": "UIGuiChildModule",
"language": "GDScript",
"class": @"UIGuiChildModule",
"language": @"GDScript",
"path": "res://scripts/game_modules/ui_gui_child_module.gd"
}, {
"base": "GameModule",
"class": "UIWindowModule",
"language": "GDScript",
"class": @"UIWindowModule",
"language": @"GDScript",
"path": "res://scripts/game_modules/ui_window_module.gd"
} ]
_global_script_class_icons={
"CharacterAtlas2D": "",
"CharacterAtlasEntry2D": "",
"CharacterSkeketonAttachPoint": "",
"CharacterSkeleton2DGD": "",
"DisplayPlayerGD": "",
"EntityAIGD": "",
"EntityDataGD": "",
"GameModule": "",
"HealthResource": "",
"HumanoidCharacterBones2D": "",
"ItemTemplateGD": "",
"ItemVisual2D": "",
"ItemVisualEntry2D": "",
"LayeredTextureMaker": "",
"Main": "",
"ManaResource": "",
"Menu": "",
"MobGD": "",
"PlayerGD": "",
"PlayerMaster": "",
"SpeedResource": "",
"SpellEffectVisualBasic": "",
"SpellGD": "",
"UIGuiChildModule": "",
"UIWindowModule": ""
@"CharacterAtlasEntry2D": "",
@"EntityAIGD": "",
@"EntityDataGD": "",
@"ItemVisual2D": "",
@"MobGD": "",
@"PlayerMaster": "",
@"SpeedResource": "",
@"CharacterAtlas2D": "",
@"CharacterSkeketonAttachPoint": "",
@"GameModule": "",
@"PlayerGD": "",
@"HumanoidCharacterBones2D": "",
@"LayeredTextureMaker": "",
@"DisplayPlayerGD": "",
@"HealthResource": "",
@"ItemTemplateGD": "",
@"Main": "",
@"ManaResource": "",
@"Menu": "",
@"UIGuiChildModule": "",
@"UIWindowModule": "",
@"CharacterSkeleton2DGD": "",
@"ItemVisualEntry2D": "",
@"SpellEffectVisualBasic": "",
@"SpellGD": ""
}
Node="input/actionbar_5_11"
@ -367,7 +367,6 @@ limits/message_queue/max_size_kb=2048
[rendering]
quality/driver/driver_name="GLES2"
quality/driver/fallback_to_gles2=true
quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=0

View File

@ -51,7 +51,7 @@ var entrance_position : Transform2D = Transform2D()
var player_visibility_array : Array = Array()
onready var tile_map : = $Terrarin
onready var visibility_map : TileMap = $VisibilityMap
onready var visibility_map : RTileMap = $VisibilityMap
func _ready():
tile_size = get_node("/root/Main").get_tile_size()

View File

@ -1,4 +1,4 @@
[gd_resource type="TileSet" load_steps=2 format=2]
[gd_resource type="RTileSet" load_steps=2 format=2]
[ext_resource path="res://tilesets/Visibility_map/16_16.png" type="Texture" id=1]

View File

@ -1,4 +1,4 @@
[gd_resource type="TileSet" load_steps=2 format=2]
[gd_resource type="RTileSet" load_steps=2 format=2]
[ext_resource path="res://tilesets/Visibility_map/32_32.png" type="Texture" id=1]

View File

@ -1,4 +1,4 @@
[gd_resource type="TileSet" load_steps=2 format=2]
[gd_resource type="RTileSet" load_steps=2 format=2]
[ext_resource path="res://tilesets/Visibility_map/8_8.png" type="Texture" id=1]

View File

@ -3,7 +3,7 @@
[ext_resource path="res://scenes/DungeonLevel.gd" type="Script" id=1]
[ext_resource path="res://world/WorldLayer.tscn" type="PackedScene" id=2]
[ext_resource path="res://tilesets/dc_32x32/tileset.tres" type="RTileSet" id=3]
[ext_resource path="res://tilesets/Visibility_map/vis_32x32.tres" type="TileSet" id=4]
[ext_resource path="res://tilesets/Visibility_map/vis_32x32.tres" type="RTileSet" id=4]
[node name="World" type="Node2D"]
script = ExtResource( 1 )
@ -15,7 +15,7 @@ tile_set = ExtResource( 3 )
cell_size = Vector2( 32, 32 )
format = 1
[node name="VisibilityMap" type="TileMap" parent="."]
[node name="VisibilityMap" type="RTileMap" parent="."]
tile_set = ExtResource( 4 )
cell_size = Vector2( 32, 32 )
format = 1

View File

@ -3,7 +3,7 @@
[ext_resource path="res://scenes/DungeonLevel.gd" type="Script" id=1]
[ext_resource path="res://world/WorldLayer.tscn" type="PackedScene" id=2]
[ext_resource path="res://tilesets/denzi_32x32_orthogonal/new_tileset.tres" type="RTileSet" id=3]
[ext_resource path="res://tilesets/Visibility_map/vis_32x32.tres" type="TileSet" id=4]
[ext_resource path="res://tilesets/Visibility_map/vis_32x32.tres" type="RTileSet" id=4]
[node name="World" type="Node2D"]
script = ExtResource( 1 )
@ -15,7 +15,7 @@ tile_set = ExtResource( 3 )
cell_size = Vector2( 32, 32 )
format = 1
[node name="VisibilityMap" type="TileMap" parent="."]
[node name="VisibilityMap" type="RTileMap" parent="."]
tile_set = ExtResource( 4 )
cell_size = Vector2( 32, 32 )
format = 1

View File

@ -3,7 +3,7 @@
[ext_resource path="res://scenes/DungeonLevel.gd" type="Script" id=1]
[ext_resource path="res://world/WorldLayer.tscn" type="PackedScene" id=2]
[ext_resource path="res://tilesets/denzi_public_domain/new_tilesetr.tres" type="RTileSet" id=3]
[ext_resource path="res://tilesets/Visibility_map/vis_32x32.tres" type="TileSet" id=4]
[ext_resource path="res://tilesets/Visibility_map/vis_32x32.tres" type="RTileSet" id=4]
[node name="World" type="Node2D"]
script = ExtResource( 1 )
@ -16,7 +16,7 @@ tile_set = ExtResource( 3 )
cell_size = Vector2( 32, 32 )
format = 1
[node name="VisibilityMap" type="TileMap" parent="."]
[node name="VisibilityMap" type="RTileMap" parent="."]
tile_set = ExtResource( 4 )
cell_size = Vector2( 32, 32 )
format = 1

View File

@ -1,4 +1,4 @@
[gd_resource type="TileSet" load_steps=2 format=2]
[gd_resource type="RTileSet" load_steps=2 format=2]
[ext_resource path="res://tilesets/denzi_public_domain/DENZI_CC0_32x32_tileset.png" type="Texture" id=1]

View File

@ -1,4 +1,4 @@
[gd_resource type="TileSet" load_steps=5 format=2]
[gd_resource type="RTileSet" load_steps=5 format=2]
[ext_resource path="res://tilesets/tiles.png" type="Texture" id=1]

View File

@ -1,12 +1,12 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://tilesets/tileset.tres" type="TileSet" id=1]
[ext_resource path="res://tilesets/tileset.tres" type="RTileSet" id=1]
[ext_resource path="res://world/WorldLayer.gd" type="Script" id=2]
[node name="WorldLayer" type="Navigation2D"]
script = ExtResource( 2 )
[node name="Terrarin" type="TileMap" parent="."]
[node name="Terrarin" type="RTileMap" parent="."]
tile_set = ExtResource( 1 )
cell_size = Vector2( 32, 32 )
format = 1

6
ged.sh
View File

@ -1,6 +1,6 @@
#!/bin/bash
cp -u ./engine/bin/godot.x11.opt.tools.64 ./engine/bin/run.godot.x11.opt.tools.64
cp -u ./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 ./pandemonium_engine/bin/run.pandemonium.x11.opt.tools.64
export LD_LIBRARY_PATH=`pwd`/engine/bin/
./engine/bin/run.godot.x11.opt.tools.64 -e --path ./game/
export LD_LIBRARY_PATH=`pwd`/pandemonium_engine/bin/
./pandemonium_engine/bin/run.pandemonium.x11.opt.tools.64 -e --path ./game/

55
make_release.sh Executable file
View File

@ -0,0 +1,55 @@
#!/bin/bash
set -e
version=""
version_snake_cased=""
if [ ! -z $1 ]; then
version="."
version+=$1
version_snake_cased=${version//./_}
fi
project_root=$(pwd)
rm -Rf ./release
mkdir release
cd export
rm -Rf broken_seals${version_snake_cased}_full_source
rm -Rf broken_seals${version_snake_cased}_game_source
mkdir broken_seals${version_snake_cased}_full_source
mkdir broken_seals${version_snake_cased}_game_source
# Warn if a file is over a megabyte. Used to catch big temporary files that would slip through outherwise
python ../tools/copy_repos.py ../ ./broken_seals${version_snake_cased}_full_source 1048576
python ../tools/copy_repos.py ../game/ ./broken_seals${version_snake_cased}_game_source
zip -q ../release/broken_seals${version_snake_cased}_android_debug.zip ./broken_seals${version_snake_cased}_android_debug/*
zip -q ../release/broken_seals${version_snake_cased}_android_release.zip ./broken_seals${version_snake_cased}_android_release/*
zip -q ../release/broken_seals${version_snake_cased}_javascript.zip ./broken_seals${version_snake_cased}_javascript/*
zip -q ../release/broken_seals${version_snake_cased}_linux.zip ./broken_seals${version_snake_cased}_linux/*
zip -q ../release/broken_seals${version_snake_cased}_windows.zip ./broken_seals${version_snake_cased}_windows/*
zip -q ../release/broken_seals${version_snake_cased}_pi4.zip ./broken_seals${version_snake_cased}_pi4/*
zip -r -q ../release/broken_seals${version_snake_cased}_osx.zip ./broken_seals${version_snake_cased}_osx/*
# Editor
zip -q ../release/editor_windows_bs${version_snake_cased}.zip ./pandemonium.bs${version}.windows.opt.tools.64.exe
zip -q ../release/editor_linux_bs${version_snake_cased}.zip ./pandemonium.bs${version}.x11.opt.tools.64
zip -q ../release/editor_pi4_bs${version_snake_cased}.zip ./pandemonium.bs${version}.x11.pi4.opt.tools.32
cp ./pandemonium.bs${version}.javascript.opt.tools.zip ../release/editor_javascript_bs${version_snake_cased}.zip
zip -q ../release/editor_osx_bs${version_snake_cased}.zip ./pandemonium.bs${version}.osx.opt.tools.zip
zip -q ../release/pandemonium.bs${version}.android_editor.zip ./pandemonium.bs${version}.android_editor.apk
zip -q ../release/export_templates_bs${version_snake_cased}.zip ./export_templates_bs${version_snake_cased}/*
#mv ../release/export_templates_bs${version_snake_cased}.zip ../release/export_templates_bs${version_snake_cased}.tpz
zip -q -r ../release/broken_seals${version_snake_cased}_full_source.zip ./broken_seals${version_snake_cased}_full_source/*
zip -q -r ../release/broken_seals${version_snake_cased}_game_source.zip ./broken_seals${version_snake_cased}_game_source/*
cd ..

View File

@ -1,17 +1,19 @@
engine_repository = [ ['https://github.com/godotengine/godot.git', 'git@github.com:godotengine/godot.git'], 'engine', '' ]
pandemonium_branch = 'master'
engine_repository = [ ['https://github.com/Relintai/pandemonium_engine.git', 'git@github.com:Relintai/pandemonium_engine.git'], 'pandemonium_engine', '' ]
module_repositories = [
[ ['https://github.com/Relintai/entity_spell_system.git', 'git@github.com:Relintai/entity_spell_system.git'], 'entity_spell_system', '' ],
[ ['https://github.com/Relintai/ui_extensions.git', 'git@github.com:Relintai/ui_extensions.git'], 'ui_extensions', '' ],
[ ['https://github.com/Relintai/texture_packer.git', 'git@github.com:Relintai/texture_packer.git'], 'texture_packer', '' ],
[ ['https://github.com/Relintai/godot_fastnoise.git', 'git@github.com:Relintai/godot_fastnoise.git'], 'fastnoise', '' ],
[ ['https://github.com/Relintai/thread_pool.git', 'git@github.com:Relintai/thread_pool.git'], 'thread_pool', '' ],
[ ['https://github.com/Relintai/rtile_map.git', 'git@github.com:Relintai/rtile_map.git'], 'rtile_map', '' ],
#[ ['https://github.com/Relintai/entity_spell_system.git', 'git@github.com:Relintai/entity_spell_system.git'], 'entity_spell_system', '' ],
#[ ['https://github.com/Relintai/ui_extensions.git', 'git@github.com:Relintai/ui_extensions.git'], 'ui_extensions', '' ],
#[ ['https://github.com/Relintai/texture_packer.git', 'git@github.com:Relintai/texture_packer.git'], 'texture_packer', '' ],
#[ ['https://github.com/Relintai/godot_fastnoise.git', 'git@github.com:Relintai/godot_fastnoise.git'], 'fastnoise', '' ],
#[ ['https://github.com/Relintai/thread_pool.git', 'git@github.com:Relintai/thread_pool.git'], 'thread_pool', '' ],
#[ ['https://github.com/Relintai/rtile_map.git', 'git@github.com:Relintai/rtile_map.git'], 'rtile_map', '' ],
]
removed_modules = [
[ ['https://github.com/Relintai/world_generator.git', 'git@github.com:Relintai/world_generator.git'], 'world_generator', '' ],
#[ ['https://github.com/Relintai/world_generator.git', 'git@github.com:Relintai/world_generator.git'], 'world_generator', '' ],
]
addon_repositories = [
@ -20,6 +22,4 @@ addon_repositories = [
third_party_addon_repositories = [
]
godot_branch = '3.x'
slim_args = 'module_webm_enabled=no module_arkit_enabled=no module_visual_script_enabled=no module_gdnative_enabled=no module_mobile_vr_enabled=no module_theora_enabled=no module_xatlas_unwrap_enabled=no no_editor_splash=yes module_bullet_enabled=no module_camera_enabled=no module_csg_enabled=no module_denoise_enabled=no module_fbx_enabled=no module_gridmap_enabled=no module_hdr_enabled=no module_lightmapper_cpu_enabled=no module_raycast_enabled=no module_recast_enabled=no module_vhacd_enabled=no module_webxr_enabled=no'

6
play.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
cp -u ./pandemonium_engine/bin/pandemonium.x11.opt.tools.64 ./pandemonium_engine/bin/run.pandemonium.x11.opt.tools.64
export LD_LIBRARY_PATH=`pwd`/pandemonium_engine/bin/
./pandemonium_engine/bin/run.pandemonium.x11.opt.tools.64 -v --path ./game/