ACS header files - DavidPH/GDCC GitHub Wiki

In addition to the standard C library headers, GDCC includes a set of ACS_* headers to make use of functions from supported engines. The currently available headers are as follows:

  • ACS_Hexen.h - Includes Hexen ACS functions and line specials.
  • ACS_ZDoom.h - Includes ACS_Hexen.h, plus GZDoom (and derivatives thereof) functions and line specials.
  • ACS_Zandronum.h - Includes ACS_ZDoom.h, plus Zandronum-specific functions and line specials.
  • ACS_GLOOME.h - Includes ACS_Zandronum.h, plus GLOOME-specific functions.

All functions and line specials included in the above headers have their identifiers prefixed with ACS_. Defining a macro named ACS_SHORT_NAMES before including any of the headers will disable this prefix.

Some functions may return/take more than one data type (as in ZDoom's GetActorProperty, which may return int, _Accum/fixed or string, and SetActorProperty where the third parameter may equally vary, depending on the property accessed). Whenever this is the case, GDCC provides additional declarations with the proper types, where int is the default, _Accum/fixed is the variant suffixed Fixed, and __str_ent */__str is the variant suffixed String. An example, again using ZDoom's GetActorProperty:

  • ACS_GetActorProperty has an int return type.
  • ACS_GetActorPropertyFixed has an _Accum/fixed return type.
  • ACS_GetActorPropertyString has a __str_ent */__str return type.