-
Notifications
You must be signed in to change notification settings - Fork 32
Building on Haiku
The game should work with a default GCC compiler, included with Haiku Beta 1 and higher.
This build is very similar to Linux/xBSD build, however, it has some differences that you need to pay attention on some cases: A build-in-place of SDL2 gives a not working properly build, therefore, you need to use an SDL2 from the system (it can be installed via pkgman
from the terminal).
Open the terminal and install the necessary dependencies if they are missing:
pkgman install libsdl2 libsdl2_devel cmake ninja git
Before to start the build, you should obtain the source code for TheXTech. You can use the stable version as well as the latest in-development to test out any new experimental features and receive any further bugfixes earlier.
If you want to build the stable version, you can simply download the source code archive from the official site or from GitHub releases:
- Download the source code archive from the TheXTech's official page.
- Or download the source code archive from one of GitHub releases pages.
And then, unpack the archive and open the terminal at the just-now unpacked directory that contains the source code for TheXTech.
Important note: Please never use the "Source code" links at Github releases: they are broken. Instead, download the thextech-full-src-v*.*.*
.tar.gz or thextech-full-src-v*.*.*
.tar.bz2 or thextech-full-src-v*.*.*
.zip archive.
This project uses submodules and GitHub is unable to create source code packages that includes submodules too.
If you want to build the latest in-development version, then, instead of downloading the archive, you can clone the repository itself by running this in a terminal (please open the terminal at the directory where you want to put the cloned repository, so, you will know where it is):
git clone --recurse-submodules https://github.com/TheXTech/TheXTech.git
If your version of git
doesn't support --recurse-submodules
, make sure all submodules have been pulled. Otherwise, it won't build:
cd TheXTech
git submodule update --init --recursive
At the TheXTech's source code directory, run next commands in the terminal:
-
Make the building directory:
mkdir build cd build
-
Run a CMake configuring:
# when you want to use the regular GNU Make cmake -DCMAKE_BUILD_TYPE=Debug ..
# OR when you want to use Ninja which does better parallel processes management cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
A note: if you going to deploy a release build, the "MinSizeRel" configuration is suggested.
-
Run the build itself:
# Run regular GNU Make build with 4 parallel tasks # (suggested on 4-core CPU, if you have more cores, use a different number than 4) make -j 4
# Or run a Ninja build ninja
The built game will not work until you will prepare the game root. Please prepare the game root until you will be able to run a game. The game root by default is located in your home directory and you can have multiple builds with different configurations and modes, all will use the same game root directory at your home directory.
- Make a folder in your home directory:
mkdir -p "~/config/settings/TheXTech/"
(Note: When using build version older than 1.3.7, the ~/PGE_Project/thextech
path should be used instead.)
- Download an archive with compatible assets:
- SMBX 1.3 assets
- Adventures of Demo assets
- Or any other TheXTech-compatible game pack that you may find here or downloaded from somewhere also.
- Unpack the content of the archive into your
~/config/settings/TheXTech/assets/<pack>
directory (Where<pack>
is a game pack directory name, choose any that should mean the game assets pack that you chosen to unpack here), - Run the game. This will prepare
worlds
andbattle
subdirectories for your asset pack. - Find the
~/config/settings/TheXTech/worlds/<pack-id>/
directory. (<pack-id>
is determined bygameinfo.ini
and might be different from<pack>
.) Place any compatible episodes you have into this worlds directory (all episodes made for an original SMBX 1.3 and earlier will work here). Optionally you can place any level files which will be used for battle arena purposes into the~/config/settings/TheXTech/battle/<pack-id>/
directory. - Once your game root directory is ready, feel free to run the
output/bin/thextech
binary to start a game.
- 🦊 Official Wohlsoft.ru Thread
- 💬 Our Discord
- Stable releases at GitHub
- Fresh devel builds
- Game assets packages