Merge pull request #3531 from Citadel-Station-13/upstream-merge-31882
[MIRROR] Blank globals will no longer assign null to themselves
This commit is contained in:
@@ -1,38 +1,38 @@
|
|||||||
//See controllers/globals.dm
|
//See controllers/globals.dm
|
||||||
#define GLOBAL_MANAGED(X, InitValue)\
|
#define GLOBAL_MANAGED(X, InitValue)\
|
||||||
/datum/controller/global_vars/proc/InitGlobal##X(){\
|
/datum/controller/global_vars/proc/InitGlobal##X(){\
|
||||||
##X = ##InitValue;\
|
##X = ##InitValue;\
|
||||||
gvars_datum_init_order += #X;\
|
gvars_datum_init_order += #X;\
|
||||||
}
|
}
|
||||||
#define GLOBAL_UNMANAGED(X, InitValue) /datum/controller/global_vars/proc/InitGlobal##X()
|
#define GLOBAL_UNMANAGED(X) /datum/controller/global_vars/proc/InitGlobal##X() { return; }
|
||||||
|
|
||||||
#ifndef TESTING
|
#ifndef TESTING
|
||||||
#define GLOBAL_PROTECT(X)\
|
#define GLOBAL_PROTECT(X)\
|
||||||
/datum/controller/global_vars/InitGlobal##X(){\
|
/datum/controller/global_vars/InitGlobal##X(){\
|
||||||
..();\
|
..();\
|
||||||
gvars_datum_protected_varlist += #X;\
|
gvars_datum_protected_varlist += #X;\
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define GLOBAL_PROTECT(X)
|
#define GLOBAL_PROTECT(X)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GLOBAL_REAL_VAR(X) var/global/##X
|
#define GLOBAL_REAL_VAR(X) var/global/##X
|
||||||
#define GLOBAL_REAL(X, Typepath) var/global##Typepath/##X
|
#define GLOBAL_REAL(X, Typepath) var/global##Typepath/##X
|
||||||
|
|
||||||
#define GLOBAL_RAW(X) /datum/controller/global_vars/var/global##X
|
#define GLOBAL_RAW(X) /datum/controller/global_vars/var/global##X
|
||||||
|
|
||||||
#define GLOBAL_VAR_INIT(X, InitValue) GLOBAL_RAW(/##X); GLOBAL_MANAGED(X, InitValue)
|
#define GLOBAL_VAR_INIT(X, InitValue) GLOBAL_RAW(/##X); GLOBAL_MANAGED(X, InitValue)
|
||||||
|
|
||||||
#define GLOBAL_VAR_CONST(X, InitValue) GLOBAL_RAW(/const/##X) = InitValue; GLOBAL_UNMANAGED(X, InitValue)
|
#define GLOBAL_VAR_CONST(X, InitValue) GLOBAL_RAW(/const/##X) = InitValue; GLOBAL_UNMANAGED(X)
|
||||||
|
|
||||||
#define GLOBAL_LIST_INIT(X, InitValue) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, InitValue)
|
#define GLOBAL_LIST_INIT(X, InitValue) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, InitValue)
|
||||||
|
|
||||||
#define GLOBAL_LIST_EMPTY(X) GLOBAL_LIST_INIT(X, list())
|
#define GLOBAL_LIST_EMPTY(X) GLOBAL_LIST_INIT(X, list())
|
||||||
|
|
||||||
#define GLOBAL_DATUM_INIT(X, Typepath, InitValue) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, InitValue)
|
#define GLOBAL_DATUM_INIT(X, Typepath, InitValue) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, InitValue)
|
||||||
|
|
||||||
#define GLOBAL_VAR(X) GLOBAL_RAW(/##X); GLOBAL_MANAGED(X, null)
|
#define GLOBAL_VAR(X) GLOBAL_RAW(/##X); GLOBAL_UNMANAGED(X)
|
||||||
|
|
||||||
#define GLOBAL_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, null)
|
#define GLOBAL_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_UNMANAGED(X)
|
||||||
|
|
||||||
#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, null)
|
#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_UNMANAGED(X)
|
||||||
|
|||||||
Reference in New Issue
Block a user