diff --git a/.gitignore b/.gitignore index a7339f6..e9ffb83 100644 --- a/.gitignore +++ b/.gitignore @@ -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__/* \ No newline at end of file diff --git a/HEADS b/HEADS index 179d86d..1cf6027 100644 --- a/HEADS +++ b/HEADS @@ -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"}} \ No newline at end of file +{"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"}} \ No newline at end of file diff --git a/SConstruct b/SConstruct index 7bae16d..4abba6b 100644 --- a/SConstruct +++ b/SConstruct @@ -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': diff --git a/build_ios.sh b/build_ios.sh index 6d287a4..8b03851 100755 --- a/build_ios.sh +++ b/build_ios.sh @@ -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 diff --git a/build_ios_release.sh b/build_ios_release.sh index f5d8303..afcb741 100755 --- a/build_ios_release.sh +++ b/build_ios_release.sh @@ -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 diff --git a/build_osx.sh b/build_osx.sh index fab5d0d..c5bbfa8 100755 --- a/build_osx.sh +++ b/build_osx.sh @@ -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 .. diff --git a/build_pi.sh b/build_pi.sh new file mode 100755 index 0000000..cf08322 --- /dev/null +++ b/build_pi.sh @@ -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 diff --git a/build_uwp.bat b/build_uwp.bat deleted file mode 100644 index fde9658..0000000 --- a/build_uwp.bat +++ /dev/null @@ -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 .. - diff --git a/editor.bat b/editor.bat index 0170b95..6259159 100644 --- a/editor.bat +++ b/editor.bat @@ -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 \ No newline at end of file +cmd /c pandemonium_engine\bin\run_pandemonium.windows.opt.tools.64.exe \ No newline at end of file diff --git a/editor.sh b/editor.sh index ce9ff0c..1aec724 100755 --- a/editor.sh +++ b/editor.sh @@ -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 diff --git a/export_all.sh b/export_all.sh new file mode 100755 index 0000000..e7763c9 --- /dev/null +++ b/export_all.sh @@ -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 diff --git a/game/project.godot b/game/project.pandemonium similarity index 87% rename from game/project.godot rename to game/project.pandemonium index dc60eca..2b8d880 100644 --- a/game/project.godot +++ b/game/project.pandemonium @@ -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 diff --git a/game/scenes/DungeonLevel.gd b/game/scenes/DungeonLevel.gd index 2b40acd..e3f8537 100644 --- a/game/scenes/DungeonLevel.gd +++ b/game/scenes/DungeonLevel.gd @@ -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() diff --git a/game/tilesets/Visibility_map/vis_16x16.tres b/game/tilesets/Visibility_map/vis_16x16.tres index e91c5f7..aa978c3 100644 --- a/game/tilesets/Visibility_map/vis_16x16.tres +++ b/game/tilesets/Visibility_map/vis_16x16.tres @@ -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] diff --git a/game/tilesets/Visibility_map/vis_32x32.tres b/game/tilesets/Visibility_map/vis_32x32.tres index cd90f59..4d5e168 100644 --- a/game/tilesets/Visibility_map/vis_32x32.tres +++ b/game/tilesets/Visibility_map/vis_32x32.tres @@ -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] diff --git a/game/tilesets/Visibility_map/vis_8x8.tres b/game/tilesets/Visibility_map/vis_8x8.tres index ffc3a1d..0688315 100644 --- a/game/tilesets/Visibility_map/vis_8x8.tres +++ b/game/tilesets/Visibility_map/vis_8x8.tres @@ -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] diff --git a/game/tilesets/dc_32x32/dc_32x32_world.tscn b/game/tilesets/dc_32x32/dc_32x32_world.tscn index 731c50d..e2c14bc 100644 --- a/game/tilesets/dc_32x32/dc_32x32_world.tscn +++ b/game/tilesets/dc_32x32/dc_32x32_world.tscn @@ -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 diff --git a/game/tilesets/denzi_32x32_orthogonal/denzi_32x32_orthogonal_world.tscn b/game/tilesets/denzi_32x32_orthogonal/denzi_32x32_orthogonal_world.tscn index bb85bbb..8896763 100644 --- a/game/tilesets/denzi_32x32_orthogonal/denzi_32x32_orthogonal_world.tscn +++ b/game/tilesets/denzi_32x32_orthogonal/denzi_32x32_orthogonal_world.tscn @@ -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 diff --git a/game/tilesets/denzi_public_domain/denzi_public_domain_world.tscn b/game/tilesets/denzi_public_domain/denzi_public_domain_world.tscn index afdb06d..0499672 100644 --- a/game/tilesets/denzi_public_domain/denzi_public_domain_world.tscn +++ b/game/tilesets/denzi_public_domain/denzi_public_domain_world.tscn @@ -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 diff --git a/game/tilesets/denzi_public_domain/new_tileset.tres b/game/tilesets/denzi_public_domain/new_tileset.tres index 5445857..e77fb57 100644 --- a/game/tilesets/denzi_public_domain/new_tileset.tres +++ b/game/tilesets/denzi_public_domain/new_tileset.tres @@ -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] diff --git a/game/tilesets/tileset.tres b/game/tilesets/tileset.tres index 6af0aba..386f072 100644 --- a/game/tilesets/tileset.tres +++ b/game/tilesets/tileset.tres @@ -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] diff --git a/game/world/WorldLayer.tscn b/game/world/WorldLayer.tscn index e83b876..43ee39b 100644 --- a/game/world/WorldLayer.tscn +++ b/game/world/WorldLayer.tscn @@ -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 diff --git a/ged.sh b/ged.sh index cb71cb6..51ef2eb 100755 --- a/ged.sh +++ b/ged.sh @@ -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/ diff --git a/make_release.sh b/make_release.sh new file mode 100755 index 0000000..b6cc0e7 --- /dev/null +++ b/make_release.sh @@ -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 .. + diff --git a/module_config.py b/module_config.py index b520572..a49575e 100644 --- a/module_config.py +++ b/module_config.py @@ -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' diff --git a/play.sh b/play.sh new file mode 100755 index 0000000..385f12b --- /dev/null +++ b/play.sh @@ -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/