Revert "12/21 modernizations from TG live"

This commit is contained in:
LetterJay
2016-12-22 22:35:44 -06:00
committed by GitHub
parent cf59ac1c3d
commit ae40d4134e
2215 changed files with 86928 additions and 707332 deletions
+32 -11
View File
@@ -23,6 +23,8 @@ For almost all pooling purposes, it is better to use the QDEL hint than to pool
*/
#define MAINTAINING_OBJECT_POOL_COUNT 500
var/global/list/GlobalPool = list()
//You'll be using this proc 90% of the time.
@@ -40,22 +42,14 @@ var/global/list/GlobalPool = list()
if(!get_type)
return
if(SSpool)
INCREMENT_TALLY(SSpool.stats_pooled_or_newed, get_type)
. = GetFromPool(get_type,second_arg)
if(!.)
if(SSpool)
INCREMENT_TALLY(SSpool.stats_created_new, get_type)
if(ispath(get_type))
if(islist(second_arg))
. = new get_type (arglist(second_arg))
else
. = new get_type (second_arg)
else
if(SSpool)
INCREMENT_TALLY(SSpool.stats_reused, get_type)
/proc/GetFromPool(get_type,second_arg)
@@ -96,9 +90,6 @@ var/global/list/GlobalPool = list()
if(diver in GlobalPool[diver.type])
return
if(SSpool)
INCREMENT_TALLY(SSpool.stats_placed_in_pool, diver.type)
if(!GlobalPool[diver.type])
GlobalPool[diver.type] = list()
@@ -144,3 +135,33 @@ var/list/pooledvariables = list()
/image/ResetVars()
..()
loc = null
/proc/returnToPool(const/datum/D)
ASSERT(D)
if(istype(D, /atom/movable) && length(GlobalPool[D.type]) > MAINTAINING_OBJECT_POOL_COUNT)
#ifdef DEBUG_DATUM_POOL
to_chat(world, text("DEBUG_DATUM_POOL: returnToPool([]) exceeds [] discarding...", D.type, MAINTAINING_OBJECT_POOL_COUNT))
#endif
qdel(D)
return
if(isnull(GlobalPool[D.type]))
GlobalPool[D.type] = list()
D.Destroy()
D.ResetVars()
#ifdef DEBUG_DATUM_POOL
if(D in GlobalPool[D.type])
to_chat(world, text("returnToPool has been called twice for the same datum of type [] time to panic.", D.type))
#endif
GlobalPool[D.type] |= D
#ifdef DEBUG_DATUM_POOL
to_chat(world, text("DEBUG_DATUM_POOL: returnToPool([]) [] left.", D.type, length(GlobalPool[D.type])))
#endif
#undef MAINTAINING_OBJECT_POOL_COUNT