zscript-doc/2-api.md

4.3 KiB

API

The ZScript API (Advanced Programming Interface) is vast and has some holes which are hard to explain. Some parts are implemented in ways that don't make sense to user code, but are fine to the engine. Because of this, the API shall be documented in pseudo-ZScript which gives an idea of how it works for the modder rather than for the engine.

Note to authors: Capitalization is normalized within this documentation to encourage consistent code, and does not follow ZScript's original capitalization exactly. Similarly, argument names in methods are sometimes renamed. Note well that arguments with defaults MAY NOT be renamed as they are part of the API.

Actors

TODO

Base

TODO

Drawing

TODO

Files

TODO

Intermission Screens

For legacy reasons, many intermission-related things may be prefixed with WI or WB. The abbreviation WI means World Intermission (the intermission screen was originally called "World Map" by Tom Hall) and WB meaning World Buffer, as this data was originally buffered into a specific memory address for statistics drivers. Author's Note: I am not actually sure if this naming scheme is documented anywhere else, as even source port developers I asked didn't know about it. Feel free to disseminate this information, it was an original research.

Level Data

TODO

Players

TODO

Sounds

TODO

Weapons

TODO

Global Objects

These types are used by global variables.

These variables are accessible in any context and are not bound by any specific object.

These functions are accessible in any context and are not bound by any specific object.