mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 11:07:12 +01:00
* 515 compat * double spaces * Callback documentation, aa review * spacing * NAMEOF_STATIC * big beta
18 lines
756 B
Plaintext
18 lines
756 B
Plaintext
// This file contains defines allowing targeting byond versions newer than the supported
|
|
|
|
// So we want to have compile time guarantees these procs exist on local type, unfortunately 515 killed the .proc/procname syntax so we have to use nameof()
|
|
#if DM_VERSION < 515
|
|
#define PROC_REF(X) (.proc/##X)
|
|
#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)
|
|
#define GLOBAL_PROC_REF(X) (.proc/##X)
|
|
#define NAMEOF_STATIC(datum, X) (#X || ##datum.##X)
|
|
#define CALL_EXT call
|
|
#else
|
|
/// Validates the proc exists on this type (or global unfortunately)
|
|
#define PROC_REF(X) (nameof(.proc/##X))
|
|
#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X))
|
|
#define GLOBAL_PROC_REF(X) (/proc/##X)
|
|
#define NAMEOF_STATIC(datum, X) (#X || type::##X)
|
|
#define CALL_EXT call_ext
|
|
#endif
|