3 KiB
Building
Preface
If you don't plan on modifying the engine, then you can grab binaries from FTEQW and move them into the root directory.
Dependencies
Nuclide is entirely game-logic oriented, so it only requires a working QuakeC compiler. In our case FTEQCC. Which you can also build with:
$ make fteqcc
The resulting binary ./fteqcc
will then be used to build the
game-logic related targets.
Besides a working C compiler, such as gcc
or clang
, the QuakeC compiler shouldn't need any other dependencies. Click here for a full list of dependencies for the various optional components.
Tip
make help
will always show a list of available targets, including their purpose.
Keeping Up-To-Date
You can issue the following to check for updates of tools/dependencies:
$ make update
Building Game-Logic
You can build games by running the following command:
$ make game GAME=base
Adjust the GAME argument to select which game you want to
build. The game base
is the assumed, default target.
Usually, the resulting files are progs.dat
, csprogs.dat
and
(sometimes) menu.dat
. Those are the libraries dealing with the
Server, Client and Menu aspect of the game respectively.
They are accompanied by name-matching .lno
files. These contain
extra debugging information helpful to the engine. They can be
stripped from a shipping build of your game.
Tip
You do not need to rebuild the logic for each and every platform. The results will be identical, since QuakeC is not machine code.
Building the Engine
Issue the following to build a generic version of the engine FTEQW:
$ make fteqw
Which you can then run with ./fteqw -game base
. For more information on launching games, mods, check out the page on Launching.
Some engine features are only available as a plugin. See $ make help
for info on how to build them.
Optional: Custom Branding & Features
If you want to build a custom version of the engine,
with custom branding and the ability to strip unneeded
functionality out of the binary, you can make a copy of
ThirdParty/fteqw/engine/common/config_fteqw.h
, adjust it and save
it under your game directory as engine.h
. When issuing the command:
$ make engine GAME=yourgame
It will then look for yourgame/engine.h
, and build a copy of FTEQW
against it. The output will normally be something along the lines of
yourgame_x64
. The name can be changed by passing NAME=YourGame
to the make program.
Building the Level Editor
Issue the following to build GtkRadiant:
$ make radiant
A launcher will be created in the root directory allowing you to launch it via ./radiant
.
For documentation regarding Radiant and general id Tech level design, you can visit this page.