mirror of
https://github.com/Relintai/godot-steering-ai-framework.git
synced 2024-11-18 09:07:18 +01:00
Bring in my tooling.
This commit is contained in:
parent
4da6f683ba
commit
bb844f1311
34
.gitignore
vendored
34
.gitignore
vendored
@ -1 +1,33 @@
|
|||||||
.import/
|
.import/
|
||||||
|
engine
|
||||||
|
pandemonium_engine
|
||||||
|
modules/*
|
||||||
|
logs/*
|
||||||
|
|
||||||
|
*.d
|
||||||
|
*.o
|
||||||
|
*.meta
|
||||||
|
game/.import/**
|
||||||
|
game/.prop_tool_temp/**
|
||||||
|
.sconsign.dblite
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
export/**
|
||||||
|
release/**
|
||||||
|
|
||||||
|
.vs/*
|
||||||
|
.kdev4/*
|
||||||
|
.vscode/*
|
||||||
|
|
||||||
|
TestRWTextures
|
||||||
|
|
||||||
|
_build/*
|
||||||
|
_binaries/*
|
||||||
|
game/android/build/*
|
||||||
|
|
||||||
|
*.blend1
|
||||||
|
.dir-locals.el
|
||||||
|
|
||||||
|
build.config
|
||||||
|
|
||||||
|
__pycache__/*
|
1
HEADS
Normal file
1
HEADS
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"engine": {"3.2": "94a0fc47f7b4e90f8973f9adbfd3312579ed2825", "master": "8c73e813134001e575b6f59e3b0100471c007410", "3.x": "c4864a0e5f73a375259503ea1485794a6aad6df7"}, "world_generator": {"master": "260c430f11b0b591eaf4714516419aa327d2842c"}, "entity_spell_system": {"master": "3536f01bacf5f54cefb32b768cd020a1f94d0ade"}, "ui_extensions": {"master": "80a3b96fc56991a0f88a1d441ed1e3cebaf3307a"}, "voxelman": {"master": "65485930a20f65844d496b4ba47dec5b6ed70b91"}, "texture_packer": {"master": "ae4d222fbaade063ed6f0bc9f3aaa53df68a7fed"}, "fastnoise": {"master": "46bb1f610bfb7171613b5c708d312bcf94e89356"}, "mesh_data_resource": {"master": "a062d871d49d954c5466b9de54b4075cb61cbef4"}, "procedural_animations": {"master": "f8aae42bf06b3936cc6bd24cb18e1c3ec9f78f4f"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "props": {"master": "983090d21a08ebed30a5ce06681269819ab12e48"}, "mesh_utils": {"master": "b52a261c31f04fad624e5cfbcdcc4a45d61136da"}, "broken_seals_module": {"master": "52c5a81350db1c29d375c63d95010260911ec034"}, "thread_pool": {"master": "0917511d04bb1aa308385b63ec88d3c182990628"}, "terraman": {"master": "c72d8fc03295588fc18c5168ce351bd0c321ec5f"}, "pandemonium_engine": {"master": "4b09cb47ab00a2fa63dbab46bc932e3c19309e53"}}
|
173
SConstruct
Normal file
173
SConstruct
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright (c) 2019-2021 Péter Magyar
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import module_config
|
||||||
|
|
||||||
|
repository_index = 0
|
||||||
|
clone_command = 'git clone {0} {1}'
|
||||||
|
target_commits = {}
|
||||||
|
|
||||||
|
def setup_repository(data, clone_path, branch = 'master'):
|
||||||
|
cwd = os.getcwd()
|
||||||
|
|
||||||
|
full_path = cwd + clone_path + data[1] + '/'
|
||||||
|
|
||||||
|
if not os.path.isdir(full_path):
|
||||||
|
os.chdir(cwd + clone_path)
|
||||||
|
|
||||||
|
subprocess.call(clone_command.format(data[0][repository_index], data[1]), shell=True)
|
||||||
|
|
||||||
|
os.chdir(full_path)
|
||||||
|
|
||||||
|
subprocess.call('git reset', shell=True)
|
||||||
|
subprocess.call('git reset --hard', shell=True)
|
||||||
|
subprocess.call('git clean -f -d', shell=True)
|
||||||
|
subprocess.call('git checkout -B ' + branch + ' origin/' + branch, shell=True)
|
||||||
|
subprocess.call('git pull origin ' + branch, shell=True)
|
||||||
|
subprocess.call('git reset', shell=True)
|
||||||
|
subprocess.call('git reset --hard', shell=True)
|
||||||
|
|
||||||
|
target = ""
|
||||||
|
|
||||||
|
if data[1] in target_commits:
|
||||||
|
target = target_commits[data[1]][branch]
|
||||||
|
|
||||||
|
subprocess.call('git checkout -B ' + branch + ' ' + target, shell=True)
|
||||||
|
subprocess.call('git clean -f -d', shell=True)
|
||||||
|
subprocess.call('git reset', shell=True)
|
||||||
|
subprocess.call('git reset --hard', shell=True)
|
||||||
|
|
||||||
|
os.chdir(cwd)
|
||||||
|
|
||||||
|
|
||||||
|
def update_repository(data, clone_path, branch = 'master'):
|
||||||
|
cwd = os.getcwd()
|
||||||
|
|
||||||
|
full_path = cwd + clone_path + data[1] + '/'
|
||||||
|
|
||||||
|
if not os.path.isdir(full_path):
|
||||||
|
os.chdir(cwd + clone_path)
|
||||||
|
|
||||||
|
subprocess.call(clone_command.format(data[0][repository_index], data[1]), shell=True)
|
||||||
|
|
||||||
|
os.chdir(full_path)
|
||||||
|
|
||||||
|
subprocess.call('git reset', shell=True)
|
||||||
|
subprocess.call('git reset --hard', shell=True)
|
||||||
|
subprocess.call('git clean -f -d', shell=True)
|
||||||
|
subprocess.call('git checkout -B ' + branch + ' origin/' + branch, shell=True)
|
||||||
|
subprocess.call('git reset', shell=True)
|
||||||
|
subprocess.call('git reset --hard', shell=True)
|
||||||
|
subprocess.call('git clean -f -d', shell=True)
|
||||||
|
subprocess.call('git pull origin ' + branch, shell=True)
|
||||||
|
|
||||||
|
process = subprocess.Popen('git rev-parse HEAD', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
|
output = process.communicate()[0].decode().strip()
|
||||||
|
|
||||||
|
if data[1] not in target_commits:
|
||||||
|
target_commits[data[1]] = {}
|
||||||
|
|
||||||
|
target_commits[data[1]][branch] = output
|
||||||
|
|
||||||
|
os.chdir(cwd)
|
||||||
|
|
||||||
|
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 update_engine():
|
||||||
|
validate_repository_origin(module_config.engine_repository, './pandemonium_engine/', module_config.pandemonium_branch)
|
||||||
|
update_repository(module_config.engine_repository, '/', module_config.pandemonium_branch)
|
||||||
|
|
||||||
|
engine_abspath = os.path.abspath(module_config.engine_repository[1])
|
||||||
|
|
||||||
|
if not os.path.isdir(engine_abspath):
|
||||||
|
if not os.path.isfile('./HEADS'):
|
||||||
|
print("Error! HEADS file doesn't exists! Exiting.")
|
||||||
|
exit()
|
||||||
|
|
||||||
|
with open('./HEADS', 'r') as infile:
|
||||||
|
target_commits = json.load(infile)
|
||||||
|
|
||||||
|
if 'repository_type=ssh' in sys.argv:
|
||||||
|
repository_index = 1
|
||||||
|
|
||||||
|
setup_repository(module_config.engine_repository, '/', module_config.pandemonium_branch)
|
||||||
|
else:
|
||||||
|
if not os.path.isfile('pandemonium_engine/misc/scripts_app/SConstruct'):
|
||||||
|
update_engine()
|
||||||
|
|
||||||
|
|
||||||
|
SConscript("pandemonium_engine/misc/scripts_app/SConstruct")
|
||||||
|
|
||||||
|
|
46
build.config.example
Normal file
46
build.config.example
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Copyright (c) 2019-2021 Péter Magyar
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
# Rename this file to build.config to use it
|
||||||
|
|
||||||
|
# Lines starting with # are comments. (Only works at the start of the line!)
|
||||||
|
|
||||||
|
# Note:
|
||||||
|
# ~ will be converted to %userprofile% on windows
|
||||||
|
# / will be converted to \ on windows
|
||||||
|
# so you don't have to worry about it
|
||||||
|
|
||||||
|
# Visual studio related setup:
|
||||||
|
visual_studio_call_vcvarsall True
|
||||||
|
visual_studio_vcvarsall_path C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build/vcvarsall.bat
|
||||||
|
visual_studio_arch amd64
|
||||||
|
|
||||||
|
# You can export variables with the export keyword
|
||||||
|
# You can run commands with the run keywords
|
||||||
|
# <export/run> <target platform> <exported variable/command>
|
||||||
|
# available export/run targets: global, linux, windows, android, javascript
|
||||||
|
|
||||||
|
export global SCONS_CACHE=~/.scons_cache
|
||||||
|
export global SCONS_CACHE_LIMIT=5000
|
||||||
|
|
||||||
|
export android ANDROID_HOME=~/SDKs/Android/SDK
|
||||||
|
export android ANDROID_SDK_ROOT=~/SDKs/Android/SDK
|
||||||
|
|
||||||
|
run javascript source ~/SDKs/emsdk/emsdk_env.sh
|
6
editor.sh
Executable file
6
editor.sh
Executable 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
|
6
ged.sh
Executable file
6
ged.sh
Executable 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 -e --path ./game/
|
94
module_config.py
Normal file
94
module_config.py
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
pandemonium_branch = 'master'
|
||||||
|
|
||||||
|
engine_repository = [ ['https://github.com/Relintai/pandemonium_engine.git', 'git@github.com:Relintai/pandemonium_engine.git'], 'pandemonium_engine', '' ]
|
||||||
|
|
||||||
|
# Relative to this script's directory
|
||||||
|
module_install_folder = './custom_modules/'
|
||||||
|
|
||||||
|
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/mesh_data_resource.git', 'git@github.com:Relintai/mesh_data_resource.git'], 'mesh_data_resource', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/props.git', 'git@github.com:Relintai/props.git'], 'props', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/mesh_utils.git', 'git@github.com:Relintai/mesh_utils.git'], 'mesh_utils', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/broken_seals_module.git', 'git@github.com:Relintai/broken_seals_module.git'], 'broken_seals_module', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/thread_pool.git', 'git@github.com:Relintai/thread_pool.git'], 'thread_pool', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/terraman.git', 'git@github.com:Relintai/terraman.git'], 'terraman', '' ],
|
||||||
|
]
|
||||||
|
|
||||||
|
removed_modules = [
|
||||||
|
#[ ['https://github.com/Relintai/voxelman.git', 'git@github.com:Relintai/voxelman.git'], 'voxelman', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/procedural_animations.git', 'git@github.com:Relintai/procedural_animations.git'], 'procedural_animations', '' ],
|
||||||
|
#[ ['https://github.com/Relintai/world_generator.git', 'git@github.com:Relintai/world_generator.git'], 'world_generator', '' ],
|
||||||
|
]
|
||||||
|
|
||||||
|
addon_repositories = [
|
||||||
|
]
|
||||||
|
|
||||||
|
third_party_addon_repositories = [
|
||||||
|
]
|
||||||
|
|
||||||
|
# Relative to the engine directory
|
||||||
|
custom_module_folders = ''
|
||||||
|
|
||||||
|
slim_args = ''
|
||||||
|
#slim_args += 'module_bmp_enabled=no '
|
||||||
|
#slim_args += 'module_broken_seals_module_enabled=no '
|
||||||
|
slim_args += 'module_cscript_enabled=no '
|
||||||
|
#slim_args += 'module_cvtt_enabled=no '
|
||||||
|
slim_args += 'module_database_enabled=no '
|
||||||
|
slim_args += 'module_database_sqlite_enabled=no '
|
||||||
|
#slim_args += 'module_dds_enabled=no '
|
||||||
|
#slim_args += 'module_enet_enabled=no '
|
||||||
|
#slim_args += 'module_entity_spell_system_enabled=no '
|
||||||
|
#slim_args += 'module_fastnoise_enabled=no '
|
||||||
|
#slim_args += 'module_freetype_enabled=no '
|
||||||
|
#slim_args += 'module_gdscript_enabled=no '
|
||||||
|
slim_args += 'module_gridmap_enabled=no '
|
||||||
|
#slim_args += 'module_hdr_enabled=no '
|
||||||
|
slim_args += 'module_http_server_simple_enabled=no '
|
||||||
|
#slim_args += 'module_jpg_enabled=no '
|
||||||
|
#slim_args += 'module_material_maker_enabled=no '
|
||||||
|
#slim_args += 'module_mbedtls_enabled=no '
|
||||||
|
#slim_args += 'module_mesh_data_resource_enabled=no '
|
||||||
|
#slim_args += 'module_mesh_utils_enabled=no '
|
||||||
|
#slim_args += 'module_minimp3_enabled=no '
|
||||||
|
#slim_args += 'module_navigation_enabled=no '
|
||||||
|
slim_args += 'module_network_synchronizer_enabled=no '
|
||||||
|
#slim_args += 'module_ogg_enabled=no '
|
||||||
|
#slim_args += 'module_opensimplex_enabled=no '
|
||||||
|
#slim_args += 'module_opus_enabled=no '
|
||||||
|
#slim_args += 'module_paint_enabled=no '
|
||||||
|
#slim_args += 'module_props_enabled=no '
|
||||||
|
slim_args += 'module_props_2d_enabled=no '
|
||||||
|
#slim_args += 'module_pvr_enabled=no '
|
||||||
|
#slim_args += 'module_regex_enabled=no '
|
||||||
|
slim_args += 'module_skeleton_2d_enabled=no '
|
||||||
|
#slim_args += 'module_skeleton_3d_enabled=no '
|
||||||
|
#slim_args += 'module_squish_enabled=no '
|
||||||
|
#slim_args += 'module_stb_vorbis_enabled=no '
|
||||||
|
#slim_args += 'module_svg_enabled=no '
|
||||||
|
#slim_args += 'module_terraman_enabled=no '
|
||||||
|
slim_args += 'module_terraman_2d_enabled=no '
|
||||||
|
#slim_args += 'module_texture_packer_enabled=no '
|
||||||
|
#slim_args += 'module_tga_enabled=no '
|
||||||
|
#slim_args += 'module_theora_enabled=no '
|
||||||
|
slim_args += 'module_tile_map_enabled=no '
|
||||||
|
#slim_args += 'module_ui_extensions_enabled=no '
|
||||||
|
#slim_args += 'module_upnp_enabled=no '
|
||||||
|
slim_args += 'module_users_enabled=no '
|
||||||
|
#slim_args += 'module_vhacd_enabled=no '
|
||||||
|
#slim_args += 'module_vorbis_enabled=no '
|
||||||
|
slim_args += 'module_voxelman_enabled=no '
|
||||||
|
slim_args += 'module_web_enabled=no '
|
||||||
|
#slim_args += 'module_websocket_enabled=no '
|
||||||
|
slim_args += 'module_wfc_enabled=no '
|
||||||
|
#slim_args += 'module_etc_enabled=no '
|
||||||
|
#slim_args += 'module_gltf_enabled=no '
|
||||||
|
#slim_args += 'module_plugin_refresher_enabled=no '
|
||||||
|
#slim_args += 'module_text_editor_enabled=no '
|
||||||
|
#slim_args += 'module_tinyexr_enabled=no '
|
||||||
|
|
Loading…
Reference in New Issue
Block a user