Difference between revisions of "Precompiler definitions"

From FTE
Jump to: navigation, search
m (#pragma TARGET)
Line 61: Line 61:
 
* ID, STANDARD: standard Quake progs
 
* ID, STANDARD: standard Quake progs
 
* KK7: kkqwsv progs
 
* KK7: kkqwsv progs
* H2, HEXEN2: Hexen 2 progs, version 6 but different CRC algorithm
+
* H2, HEXEN2: Hexen 2 progs
 
* FTE: FTE progs
 
* FTE: FTE progs
 
* DEBUG, FTEDEBUG: FTE progs with debug information
 
* DEBUG, FTEDEBUG: FTE progs with debug information

Revision as of 20:36, 30 October 2005

Definitions

#define

#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 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

#pragma keyword and #pragma flag

#pragma warning