Un projet pour tester et apprivoiser godot.
Ce n'est pas un client officiel.
Utile également pour se balader dans les décors
et voir les objets nouvellement créés dans un client godot.
addons | ||
assets | ||
background_loader_scene | ||
dispensaire_gridmap | ||
dispensaire_scenes | ||
game_scene | ||
gdnative | ||
gui_scene/GUI | ||
login_scene | ||
modules | ||
scenes | ||
test_grid_map | ||
test_scene | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
ca-certificates.crt | ||
default_env.tres | ||
export_presets.cfg | ||
global.gd | ||
global.tscn | ||
icon.png | ||
icon.png.import | ||
JukeboxPannel.gd | ||
portail.gd | ||
project.godot | ||
README.md | ||
TODO |
Build
Before build and launch client, we need build godot-cpp (lib to connect c++ code to godot engine) and build crypt (c++ module use to authentification with khaganat)
Build module
mkdir build
cd build
# Disable build directory on godot editor
touch .gdignore
# clone godot
git clone https://github.com/godotengine/godot.git
cd godot
# switch on release
#git checkout 3.1.2-stable
git checkout 3.2
# Create link with our module (or copy file to godot/modules - as you like)
cd modules
for file in ../../../modules/*
do
if [ -d $file ]
then
echo "$file"
ln -s $file .
fi
done
cd ..
# Copy modules doc to godot
cp modules/*/doc_classes/* doc/classes/.
# Clean project (if you build before)
scons -j$(nproc) -c
# Build
scons -j$(nproc) platform=x11
cd ../..
Generate doc
If you want, you can regenerate doc. (Normally it's generated)
cd build/godot
./bin/godot.x11.tools.64 --doctool .
cp modules/*/doc_classes/* doc/classes/.
Launch godot with module
cd build/godot
bin/godot.x11.tools.64
cd ../..
Build godot-cpp
Initialize
Load git submodule (godot-cpp & godot_header)
git submodule update --init --recursive
Build on 64bits
godot --gdnative-generate-json-api godot-cpp/godot_headers/api.json
scons -C godot-cpp platform=linux generate_bindings=yes custom_api_file=godot_headers/api.json bits=64
Build on 32bits
godot --gdnative-generate-json-api godot-cpp/godot_headers/api.json
scons -C godot-cpp platform=linux generate_bindings=yes custom_api_file=godot_headers/api.json bits=32
Build gdnative (crypt / bitstream / bitset)
Build on 64bits
scons -C gdnative platform=linux bits=64 target=debug
scons -C gdnative platform=linux bits=64 target=release
Build on 32bits
scons -C gdnative platform=linux bits=32 target=debug
scons -C gdnative platform=linux bits=64 target=release
Package client khaganat
Configure export
Configure on project export (or edit file export_presets.cfg)
Ex.: export_presets.cfg
[preset.0]
name="khaganat.linux.64"
platform="Linux/X11"
runnable=true
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path=""
patch_list=PoolStringArray( )
script_export_mode=1
script_encryption_key=""
[preset.0.options]
texture_format/bptc=false
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/no_bptc_fallbacks=true
binary_format/64_bits=true
custom_template/release=""
custom_template/debug=""
Generate package
godot --path . --export khaganat.linux.64 khaganat.linux64.bin
Launch client khaganat
With godot
godot login_scene/login_scene.tsc