Precompiler definitions
Contents
Definitions
#define
Syntax: #define <defname>[(<macroparams>)] [<defvalue>]
#undef
Control Logic
#ifdef
#ifndef
#if
#else
#endif
Something
#message
Syntax: #message <message>
#warning
Syntax: #warning <message>
#error
Syntax: #error <message>
File things
#include
Syntax: #include <file>
#includelist
#endlist
#output
Depreciated, use #pragma PROGS_DAT instead.
Second file things
#eof
#forcecrc
#copyright
#datafile
#pack
Pragma (#pragma)
- pragma is an extensive precompiler statement which controls many aspects of the compiler.
Note that all unknown #pragma statements encountered by FTEQCC are ignored (with a warning.)
#pragma DONT_COMPILE_THIS_FILE
This pragma is parsed but ignored by FTEQCC so PREQCC-using code can compile cleanly.
#pragma COPYRIGHT
#pragma TARGET
Syntax: #pragma TARGET <target>
Switches compiled progs to a specific target type.
<target> can be the following:
- ID, STANDARD: standard Quake progs
- KK7: kkqwsv progs
- H2, HEXEN2: Hexen 2 progs
- FTE: FTE progs
- DEBUG, FTEDEBUG: FTE progs with debug information
It is not recommended to switch target types during compilation.
#pragma PROGS_SRC
This pragma is parsed but ignored by FTEQCC so PREQCC-using code can compile cleanly.
#pragma PROGS_DAT
Syntax: #pragma PROGS_DAT <progsfile>
Changes the destination file you wish to compile to. <progsfile> contains the new file name.
Example:
#ifdef MONSTERS #pragma PROGS_DAT monsters.dat #message FTEQCC will now compile to monsters.dat #else #pragma PROGS_DAT nomonsters.dat #message FTEQCC will now compile to nomonsters.dat #endif