Readme.md cleanup part 1.

This commit is contained in:
Relintai 2020-06-10 10:44:18 +02:00
parent d27363175d
commit bf582640ef
6 changed files with 123 additions and 28 deletions

149
README.md
View File

@ -1,6 +1,8 @@
# Broken Seals
### The project requires a few custom engine modules to run! read the Editing the game part!
### In order to open the game project in Godot, you need [See Here](#editing-the-game)
Binary releases will be available eventually.
Keep in mind, that most of the work went into the engine modules so far, and the style itself.
@ -67,46 +69,141 @@ https://github.com/Relintai/texture_packer.git
https://github.com/Relintai/godot_fastnoise.git
These modules should be more like core modules. Game specific c++ features will go to a different module. I'll set it up soon.
https://github.com/Relintai/mesh_data_resource.git
https://github.com/Relintai/procedural_animations.git
https://github.com/Relintai/props.git
https://github.com/Relintai/mesh_utils.git
https://github.com/Relintai/broken_seals_module.git
https://github.com/Relintai/thread_pool.git
## Compiling
Before compiling, in the project's folder just run scons, it will set every dependency up. Like:
First make sure, that you have everything installed to be able to compile the engine. See: [Official docs for compiling GODOT](https://docs.godotengine.org/en/latest/development/compiling/index.html)
Now let's clone this repository:
``` scons ```
I still have the old setup scripts in the repository, in case the scons command fails:
`EngineSetup.bat` on windows, or `engine_setup.sh` on linux/osx.
Before compiling, in the project's folder just run scons, it will set every dependency up. Like:
And then just compile godot as usual. Note I have a bunch of scripts to do it in the root of the project, you can just select the one you need.
``` git clone https://github.com/Relintai/broken_seals ```
[Official docs for compiling GODOT](https://docs.godotengine.org/en/latest/development/compiling/index.html)
cd into the new folder:
``` cd broken_seals ```
Now let's run the project's setup script, by calling scons without arguments.
``` scons ```
This will clone and setup the engine, and all of the required modules into a new engine folder inside the project, using http.
(If you want to use the github's ssh links append `repository_type=ssh` like ``` scons repository_type=ssh ```)
Once it is done you can compile the engine, either by going into the engine folder and following the
[official docs](https://docs.godotengine.org/en/latest/development/compiling/index.html), or by using build words without changing directories.
(These are inspired by how pacman works.)
Once the build finished you can find the editor executable inside the `./engine/bin/` folder, but you can also run it using the provided `editor.sh`,
or `editor.bat` (These will create a copy, so you can compile while the editor is running).
### Build words
The project's setup script now contains support for "build words".
For example to build the editor for windows with 4 threads you can use:
``` scons bew -j4 ```
The first argument must start with b (build), then it needs to be followed by a few abbreviations (the order does not matters)
The rest of the arguments will be passed directly to godot's scons script.
#### Editor
Append `e` to build with `tools=yes` a.k.a the editor.
``` scons bew -j4 ```
if you omit `e`, the system will build the export template for you. For example:
``` scons bw -j4 ```
This will be the `release_debug` windows export template.
#### Platform abbreviations
`l`: linux
`w`: windows
`a`: android
`j`: Javascript
`i`: iphone (Not yet finished, use `build_ios.sh`, and `build_ios_release.sh`)
Mac OSX: Not yet finished, use `build_osx.sh`
#### Target abbreviations
By default ther system builds in release_debug.
Append `d` for debug, and `r` for release.
``` scons bewd -j4 ```
build editor windows debug
``` scons bwr -j4 ```
build windows release (this will build the windows release export template)
#### Shared modules
Note: This only works on linux!
append `s` to the build string.
Optionally you can also make the build system only build a target module, by appending one of these:
`E`: Entity Spell System
`T`: Texture Packer
`V`: Voxelman
`W`: World Generator
`P`: Procedural Animations
Example:
``` scons belsE -j4 ```
build editor linux shared (Entity Spell System) with 4 threads
Note: to easily run the editor while it's build like this, you can use the editor.sh in the root of the project.
#### Scons cache, and sdk locations
Unfortunately the sdk locations and the scons cache location is hardcoded atm, as I kind of forgot about it. This will be fixed very soon.
In the meantime you can always just go into the engine directory,
``` cd engine ```
and compile godot using the [official docs](https://docs.godotengine.org/en/latest/development/compiling/).
## Pulling upstream changes
After you pull changes, just run `scons`, it will update the dependencies.
## Editing/Exporting the model
## Upgrading the modules
To edit the model you will need blender, and the better collada exporter plugin for it.
Note: this is how to update the HEADS file. Normally you don't need to do this.
If you edit the model (the armature), and want to export it, you will need to do it with these settings:
If you want to update the modules, and the engine to the latest, you can use (`action=update`):
![Export settings](pictures/export_settings.png)
``` scons a=u ```
I recommend, that before exporting, you set the action back to the rest action, like
You can also update different targets: `all`, `engine`, `modules`, `all_addons`, `addons`, `third_party_addons`
![Export Action](pictures/export_setting_action.png)
this will usually eliminate the import issue below.
Sometimes when the model gets imported into godot it will look like this:
![Export Error](pictures/export_error.png)
(I'll add an in-editor screenshot aswell when it happens again)
Usually the simplest fix is to just export again (since blender is probably still open).
I was also able to fix it by changins some settings and clicking reimport a few times in the inspector.
But exportin again is usually the fastest.
I haven't been able to figure out what causes this yet.
For example to update the engine to the latest: ``` scons a=u target=engine ```

View File

@ -285,8 +285,6 @@ if len(sys.argv) > 1:
target += 'bin/libworld_generator.x11.opt.tools.64.so'
elif 'P' in arg:
target += 'bin/libprocedural_animations.x11.opt.tools.64.so'
elif 'M' in arg:
target += 'bin/libfqms.x11.opt.tools.64.so'
print('Running command: ' + build_string)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

After

Width:  |  Height:  |  Size: 247 KiB