From cd74a1333c1f98b4db02fdf89606677fe7f4c3a5 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 21 Oct 2017 02:30:47 -0400 Subject: [PATCH 1/2] Blank globals will no longer assign null to themselves --- code/__DATASTRUCTURES/globals.dm | 43 +++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/code/__DATASTRUCTURES/globals.dm b/code/__DATASTRUCTURES/globals.dm index bcc860245f..a9199a6f7b 100644 --- a/code/__DATASTRUCTURES/globals.dm +++ b/code/__DATASTRUCTURES/globals.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD //See controllers/globals.dm #define GLOBAL_MANAGED(X, InitValue)\ /datum/controller/global_vars/proc/InitGlobal##X(){\ @@ -35,4 +36,44 @@ #define GLOBAL_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, null) -#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, null) \ No newline at end of file +#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, null) +======= +//See controllers/globals.dm +#define GLOBAL_MANAGED(X, InitValue)\ +/datum/controller/global_vars/proc/InitGlobal##X(){\ + ##X = ##InitValue;\ + gvars_datum_init_order += #X;\ +} +#define GLOBAL_UNMANAGED(X) /datum/controller/global_vars/proc/InitGlobal##X() { return; } + +#ifndef TESTING +#define GLOBAL_PROTECT(X)\ +/datum/controller/global_vars/InitGlobal##X(){\ + ..();\ + gvars_datum_protected_varlist += #X;\ +} +#else +#define GLOBAL_PROTECT(X) +#endif + +#define GLOBAL_REAL_VAR(X) var/global/##X +#define GLOBAL_REAL(X, Typepath) var/global##Typepath/##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_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_EMPTY(X) GLOBAL_LIST_INIT(X, list()) + +#define GLOBAL_DATUM_INIT(X, Typepath, InitValue) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, InitValue) + +#define GLOBAL_VAR(X) GLOBAL_RAW(/##X); GLOBAL_UNMANAGED(X) + +#define GLOBAL_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_UNMANAGED(X) + +#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_UNMANAGED(X) +>>>>>>> 1029b5a... Blank globals will no longer assign null to themselves (#31882) From 007907940d822c6a3c0d46b4a9d7416e931d9bb7 Mon Sep 17 00:00:00 2001 From: Poojawa Date: Sat, 21 Oct 2017 07:24:50 -0500 Subject: [PATCH 2/2] Update globals.dm --- code/__DATASTRUCTURES/globals.dm | 41 -------------------------------- 1 file changed, 41 deletions(-) diff --git a/code/__DATASTRUCTURES/globals.dm b/code/__DATASTRUCTURES/globals.dm index a9199a6f7b..808f8da757 100644 --- a/code/__DATASTRUCTURES/globals.dm +++ b/code/__DATASTRUCTURES/globals.dm @@ -1,43 +1,3 @@ -<<<<<<< HEAD -//See controllers/globals.dm -#define GLOBAL_MANAGED(X, InitValue)\ -/datum/controller/global_vars/proc/InitGlobal##X(){\ - ##X = ##InitValue;\ - gvars_datum_init_order += #X;\ -} -#define GLOBAL_UNMANAGED(X, InitValue) /datum/controller/global_vars/proc/InitGlobal##X() - -#ifndef TESTING -#define GLOBAL_PROTECT(X)\ -/datum/controller/global_vars/InitGlobal##X(){\ - ..();\ - gvars_datum_protected_varlist += #X;\ -} -#else -#define GLOBAL_PROTECT(X) -#endif - -#define GLOBAL_REAL_VAR(X) var/global/##X -#define GLOBAL_REAL(X, Typepath) var/global##Typepath/##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_CONST(X, InitValue) GLOBAL_RAW(/const/##X) = InitValue; GLOBAL_UNMANAGED(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_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_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, null) - -#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, null) -======= //See controllers/globals.dm #define GLOBAL_MANAGED(X, InitValue)\ /datum/controller/global_vars/proc/InitGlobal##X(){\ @@ -76,4 +36,3 @@ #define GLOBAL_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_UNMANAGED(X) #define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_UNMANAGED(X) ->>>>>>> 1029b5a... Blank globals will no longer assign null to themselves (#31882)