diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
index db13bf2328c..352e0eb2265 100644
--- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
@@ -74,11 +74,11 @@
if(node1)
node1.disconnect(src)
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
if(node2)
node2.disconnect(src)
if(network2)
- returnToDPool(network2)
+ returnToPool(network2)
node1 = null
node2 = null
@@ -95,12 +95,12 @@
/obj/machinery/atmospherics/binary/build_network()
if(!network1 && node1)
- network1 = getFromDPool(/datum/pipe_network)
+ network1 = getFromPool(/datum/pipe_network)
network1.normal_members += src
network1.build_network(node1, src)
if(!network2 && node2)
- network2 = getFromDPool(/datum/pipe_network)
+ network2 = getFromPool(/datum/pipe_network)
network2.normal_members += src
network2.build_network(node2, src)
@@ -137,12 +137,12 @@
/obj/machinery/atmospherics/binary/disconnect(obj/machinery/atmospherics/reference)
if(reference==node1)
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
node1 = null
else if(reference==node2)
if(network2)
- returnToDPool(network2)
+ returnToPool(network2)
node2 = null
return null
diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm
index 3fa1d539c06..3fd70e55de6 100644
--- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm
@@ -129,11 +129,11 @@
if(node1)
node1.disconnect(src)
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
if(node2)
node2.disconnect(src)
if(network2)
- returnToDPool(network2)
+ returnToPool(network2)
node1 = null
node2 = null
diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index 0d9701c1b35..866f3034c29 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -131,7 +131,7 @@
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index 8f18b80d2f8..172e415dc62 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -70,7 +70,7 @@
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 5dcf7505241..fcb42e26a48 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -85,7 +85,7 @@ Thus, the two variables affect pump operation are set in New():
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
diff --git a/code/ATMOSPHERICS/components/binary_devices/valve.dm b/code/ATMOSPHERICS/components/binary_devices/valve.dm
index 5fd3268438f..ab66bba6cb7 100644
--- a/code/ATMOSPHERICS/components/binary_devices/valve.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/valve.dm
@@ -64,10 +64,10 @@
if(network1)
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
if(network2)
if(network1)
- returnToDPool(network2)
+ returnToPool(network2)
build_network()
diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
index 14b538b0c4e..921f91c1faf 100644
--- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
@@ -76,7 +76,7 @@ Thus, the two variables affect pump operation are set in New():
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
diff --git a/code/ATMOSPHERICS/components/trinary_devices/t_valve.dm b/code/ATMOSPHERICS/components/trinary_devices/t_valve.dm
index 36b2fdf389b..3c9794ec7d8 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/t_valve.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/t_valve.dm
@@ -77,9 +77,9 @@
update_icon()
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
if(network3)
- returnToDPool(network3)
+ returnToPool(network3)
build_network()
if(network1&&network2)
@@ -104,9 +104,9 @@
update_icon()
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
if(network2)
- returnToDPool(network2)
+ returnToPool(network2)
build_network()
if(network1&&network3)
diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
index d651ff0da28..5ecb83e8297 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
@@ -91,15 +91,15 @@ obj/machinery/atmospherics/trinary/Destroy()
if(node1)
node1.disconnect(src)
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
if(node2)
node2.disconnect(src)
if(network2)
- returnToDPool(network2)
+ returnToPool(network2)
if(node3)
node3.disconnect(src)
if(network3)
- returnToDPool(network3)
+ returnToPool(network3)
node1 = null
node2 = null
@@ -129,17 +129,17 @@ obj/machinery/atmospherics/trinary/initialize()
obj/machinery/atmospherics/trinary/build_network()
if(!network1 && node1)
- network1 = getFromDPool(/datum/pipe_network)
+ network1 = getFromPool(/datum/pipe_network)
network1.normal_members += src
network1.build_network(node1, src)
if(!network2 && node2)
- network2 = getFromDPool(/datum/pipe_network)
+ network2 = getFromPool(/datum/pipe_network)
network2.normal_members += src
network2.build_network(node2, src)
if(!network3 && node3)
- network3 = getFromDPool(/datum/pipe_network)
+ network3 = getFromPool(/datum/pipe_network)
network3.normal_members += src
network3.build_network(node3, src)
@@ -183,17 +183,17 @@ obj/machinery/atmospherics/trinary/return_network_air(datum/pipe_network/referen
obj/machinery/atmospherics/trinary/disconnect(obj/machinery/atmospherics/reference)
if(reference==node1)
if(network1)
- returnToDPool(network1)
+ returnToPool(network1)
node1 = null
else if(reference==node2)
if(network2)
- returnToDPool(network2)
+ returnToPool(network2)
node2 = null
else if(reference==node3)
if(network3)
- returnToDPool(network3)
+ returnToPool(network3)
node3 = null
return null
diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
index af06288da55..e0e770adf3c 100644
--- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm
+++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
@@ -93,7 +93,7 @@
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
diff --git a/code/ATMOSPHERICS/components/unary/portables_connector.dm b/code/ATMOSPHERICS/components/unary/portables_connector.dm
index e476222cb1c..e6ccef93856 100644
--- a/code/ATMOSPHERICS/components/unary/portables_connector.dm
+++ b/code/ATMOSPHERICS/components/unary/portables_connector.dm
@@ -45,7 +45,7 @@
if(node)
node.disconnect(src)
if(network)
- returnToDPool(network)
+ returnToPool(network)
node = null
diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm
index 5db5c4527b5..5afb9c975a4 100644
--- a/code/ATMOSPHERICS/components/unary/unary_base.dm
+++ b/code/ATMOSPHERICS/components/unary/unary_base.dm
@@ -46,7 +46,7 @@
if(node)
node.disconnect(src)
if(network)
- returnToDPool(network)
+ returnToPool(network)
node = null
..()
@@ -62,7 +62,7 @@
/obj/machinery/atmospherics/unary/build_network()
if(!network && node)
- network = getFromDPool(/datum/pipe_network)
+ network = getFromPool(/datum/pipe_network)
network.normal_members += src
network.build_network(node, src)
@@ -87,7 +87,7 @@
/obj/machinery/atmospherics/unary/disconnect(obj/machinery/atmospherics/reference)
if(reference==node)
if(network)
- returnToDPool(network)
+ returnToPool(network)
node = null
return null
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 3e60a1fe500..5f97aa2fb0a 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -171,7 +171,7 @@
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index 66a943b5a90..a920780cd8d 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -34,7 +34,7 @@
icon_state = "on"
/obj/machinery/atmospherics/unary/vent_scrubber/on/burn_chamber
- name = "\improper Burn Chamber Scrubber"
+ name = "\improper Burn Chamber Scrubber"
frequency = 1449
id_tag = "inc_out"
@@ -94,7 +94,7 @@
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data = list(
diff --git a/code/ATMOSPHERICS/datum_pipe_network.dm b/code/ATMOSPHERICS/datum_pipe_network.dm
index bb86ab02a1a..bdcf4d37cc9 100644
--- a/code/ATMOSPHERICS/datum_pipe_network.dm
+++ b/code/ATMOSPHERICS/datum_pipe_network.dm
@@ -51,7 +51,7 @@
//Notes: Assuming that members will add themselves to appropriate roster in network_expandz()
if(!start_normal)
- returnToDPool(src)
+ returnToPool(src)
return
start_normal.network_expand(src, reference)
@@ -61,7 +61,7 @@
if((normal_members.len>0)||(line_members.len>0))
pipe_networks |= src
else
- returnToDPool(src)
+ returnToPool(src)
return
return 1
diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm
index 3da1ab3f362..168cbb1aa5f 100644
--- a/code/ATMOSPHERICS/datum_pipeline.dm
+++ b/code/ATMOSPHERICS/datum_pipeline.dm
@@ -13,7 +13,7 @@
/datum/pipeline/Destroy()
if(network) //For the pipenet rebuild
- returnToDPool(network)
+ returnToPool(network)
if(air && air.volume) //For the pipeline rebuild next tick
temporarily_store_air()
del(air)
@@ -132,7 +132,7 @@
/datum/pipeline/proc/return_network(obj/machinery/atmospherics/reference)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/datum/pipeline/proc/return_network() called tick#: [world.time]")
if(!network)
- network = getFromDPool(/datum/pipe_network)
+ network = getFromPool(/datum/pipe_network)
network.build_network(src, null)
//technically passing these parameters should not be allowed
//however pipe_network.build_network(..) and pipeline.network_extend(...)
diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm
index 08d00c93a70..70b04a0d45a 100644
--- a/code/ATMOSPHERICS/pipes.dm
+++ b/code/ATMOSPHERICS/pipes.dm
@@ -61,35 +61,35 @@
/obj/machinery/atmospherics/pipe/return_air()
if(!parent)
- parent = getFromDPool(/datum/pipeline)
+ parent = getFromPool(/datum/pipeline)
parent.build_pipeline(src)
return parent.air
/obj/machinery/atmospherics/pipe/build_network()
if(!parent)
- parent = getFromDPool(/datum/pipeline)
+ parent = getFromPool(/datum/pipeline)
parent.build_pipeline(src)
return parent.return_network()
/obj/machinery/atmospherics/pipe/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
if(!parent)
- parent = getFromDPool(/datum/pipeline)
+ parent = getFromPool(/datum/pipeline)
parent.build_pipeline(src)
return parent.network_expand(new_network, reference)
/obj/machinery/atmospherics/pipe/return_network(obj/machinery/atmospherics/reference)
if(!parent)
- parent = getFromDPool(/datum/pipeline)
+ parent = getFromPool(/datum/pipeline)
parent.build_pipeline(src)
return parent.return_network(reference)
/obj/machinery/atmospherics/pipe/Destroy()
if(parent)
- returnToDPool(parent)
+ returnToPool(parent)
for(var/obj/machinery/meter/M in src.loc)
if(M.target == src)
new /obj/item/pipe_meter(src.loc)
@@ -341,12 +341,12 @@
/obj/machinery/atmospherics/pipe/simple/disconnect(obj/machinery/atmospherics/reference)
if(reference == node1)
if(istype(node1, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node1 = null
if(reference == node2)
if(istype(node2, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node2 = null
update_icon()
@@ -545,17 +545,17 @@
/obj/machinery/atmospherics/pipe/manifold/disconnect(obj/machinery/atmospherics/reference)
if(reference == node1)
if(istype(node1, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node1 = null
if(reference == node2)
if(istype(node2, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node2 = null
if(reference == node3)
if(istype(node3, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node3 = null
update_icon()
@@ -764,22 +764,22 @@
/obj/machinery/atmospherics/pipe/manifold4w/disconnect(obj/machinery/atmospherics/reference)
if(reference == node1)
if(istype(node1, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node1 = null
if(reference == node2)
if(istype(node2, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node2 = null
if(reference == node3)
if(istype(node3, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node3 = null
if(reference == node4)
if(istype(node4, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
node4 = null
update_icon()
@@ -983,14 +983,14 @@
/obj/machinery/atmospherics/pipe/layer_manifold/disconnect(obj/machinery/atmospherics/reference)
if(reference == other_node)
if(istype(other_node, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
other_node = null
else
for(var/pipelayer = PIPING_LAYER_MIN; pipelayer <= PIPING_LAYER_MAX; pipelayer += PIPING_LAYER_INCREMENT)
if(reference == layer_nodes[pipelayer])
if(istype(layer_nodes[pipelayer], /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
layer_nodes[pipelayer] = null
update_icon()
@@ -1169,11 +1169,11 @@
/obj/machinery/atmospherics/pipe/layer_adapter/disconnect(var/obj/machinery/atmospherics/reference)
if(reference == mid_node)
if(istype(mid_node, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
mid_node = null
if(reference == layer_node)
if(istype(layer_node, /obj/machinery/atmospherics/pipe))
- returnToDPool(parent)
+ returnToPool(parent)
layer_node = null
update_icon()
diff --git a/code/__HELPERS/datumpool.dm b/code/__HELPERS/datumpool.dm
index 66253644769..5919d7b4e57 100644
--- a/code/__HELPERS/datumpool.dm
+++ b/code/__HELPERS/datumpool.dm
@@ -4,81 +4,89 @@
//#define DEBUG_DATUM_POOL
-#define MAINTAINING_DATUM_POOL_COUNT 500
-var/global/list/masterdatumPool = new
-var/global/list/pooledvariables = new
+#define MAINTAINING_OBJECT_POOL_COUNT 500
+
+// Read-only or compile-time vars and special exceptions.
+/var/list/exclude = list("inhand_states", "loc", "locs", "parent_type", "vars", "verbs", "type", "x", "y", "z","group", "animate_movement")
+
+/var/global/list/masterdatumPool = new
+/var/global/list/pooledvariables = new
/*
* @args : datum type, normal arguments
* Example call: getFromPool(/datum/pipeline, args)
*/
-/proc/getFromDPool()
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/proc/getFromDPool() called tick#: [world.time]")
- var/A = args[1]
- var/list/B = list()
- B += (args - A)
- if(length(masterdatumPool["[A]"]) <= 0)
+/proc/getFromPool(var/type, ...)
+ var/list/B = (args - type)
+
+ if(length(masterdatumPool[type]) <= 0)
+
#ifdef DEBUG_DATUM_POOL
if(ticker)
- world << text("DEBUG_DATUM_POOL: new proc has been called ([] | []).", A, list2params(B))
+ world << text("DEBUG_DATUM_POOL: new proc has been called ([] | []).", type, list2params(B))
#endif
- //so the GC knows we're pooling this type.
- if(isnull(masterdatumPool["[A]"]))
- masterdatumPool["[A]"] = list(new A)
- if(B && B.len)
- return new A(arglist(B))
- else
- return new A()
- var/datum/O = masterdatumPool["[A]"][1]
- masterdatumPool["[A]"] -= O
+ //so the GC knows we're pooling this type.
+ if(isnull(masterdatumPool[type]))
+ masterdatumPool[type] = list(new type)
+
+ if(B && B.len)
+ return new type(arglist(B))
+ else
+ return new type()
+
+ var/datum/O = masterdatumPool[type][1]
+ masterdatumPool[type] -= O
#ifdef DEBUG_DATUM_POOL
- world << text("DEBUG_DATUM_POOL: getFromPool([]) [] left arglist([]).", A, length(masterdatumPool[A]), list2params(B))
+ world << text("DEBUG_DATUM_POOL: getFromPool([]) [] left arglist([]).", type, length(masterdatumPool[type]), list2params(B))
#endif
+
if(!O || !istype(O))
- O = new A(arglist(B))
+ O = new type(arglist(B))
else
if(B && B.len)
O.New(arglist(B))
else
O.New()
+
O.disposed = null //Set to process once again
return O
/*
* @args
- * A, datum instance
+ * D, datum instance
*
- * @return
- * -1, if A is not a movable atom
- *
- * Example call: returnToDPool(src)
+ * Example call: returnToPool(src)
*/
-/proc/returnToDPool(const/datum/D)
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/proc/returnToDPool() called tick#: [world.time]")
- if(!D)
- return
- if(length(masterdatumPool["[D.type]"]) > MAINTAINING_DATUM_POOL_COUNT)
+
+/proc/returnToPool(const/datum/D)
+ ASSERT(D)
+
+ if(istype(D, /atom/movable) && length(masterdatumPool[D.type]) > MAINTAINING_OBJECT_POOL_COUNT)
#ifdef DEBUG_DATUM_POOL
- world << text("DEBUG_DATUM_POOL: returnToPool([]) exceeds [] discarding...", D.type, MAINTAINING_DATUM_POOL_COUNT)
+ world << text("DEBUG_DATUM_POOL: returnToPool([]) exceeds [] discarding...", D.type, MAINTAINING_OBJECT_POOL_COUNT)
#endif
- var/list/pool = masterdatumPool["[D.type]"]
- pool.Cut(1,2) //LET IT GO. LET IT GOOOOOO. AKA REMOVE THE OLDEST ENTRY
+
+ qdel(D)
return
- if(isnull(masterdatumPool["[D.type]"]))
- masterdatumPool["[D.type]"] = list()
+
+ if(isnull(masterdatumPool[D.type]))
+ masterdatumPool[D.type] = list()
+
D.Destroy()
D.resetVariables()
D.disposed = 1 //Set to stop processing while pooled
- #ifdef DEBUG_DATUM_POOL
- if(D in masterdatumPool["[D.type]"])
- world << text("returnToPool has been called twice for the same datum of type [] time to panic.", D.type)
- #endif
- masterdatumPool["[D.type]"] |= D
#ifdef DEBUG_DATUM_POOL
- world << text("DEBUG_DATUM_POOL: returnToPool([]) [] left.", D.type, length(masterdatumPool["[D.type]"]))
+ if(D in masterdatumPool[D.type])
+ world << text("returnToPool has been called twice for the same datum of type [] time to panic.", D.type)
+ #endif
+
+ masterdatumPool[D.type] |= D
+
+ #ifdef DEBUG_DATUM_POOL
+ world << text("DEBUG_DATUM_POOL: returnToPool([]) [] left.", D.type, length(masterdatumPool[D.type]))
#endif
#undef MAINTAINING_DATUM_POOL_COUNT
@@ -88,7 +96,6 @@ var/global/list/pooledvariables = new
#endif
/datum/proc/createVariables()
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/datum/proc/createVariables() called tick#: [world.time]")
pooledvariables[type] = new/list()
var/list/exclude = global.exclude + args
@@ -102,7 +109,6 @@ var/global/list/pooledvariables = new
//SEE http://www.byond.com/forum/?post=76850 AS A REFERENCE ON THIS
/datum/proc/resetVariables()
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/datum/proc/resetVariables() called tick#: [world.time]")
if(!pooledvariables[type])
createVariables(args)
@@ -110,7 +116,6 @@ var/global/list/pooledvariables = new
vars[key] = pooledvariables[type][key]
/proc/isInTypes(atom/Object, types)
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/proc/isInTypes() called tick#: [world.time]")
if(!Object)
return 0
var/prototype = Object.type
diff --git a/code/__HELPERS/experimental.dm b/code/__HELPERS/experimental.dm
deleted file mode 100644
index 912b17af766..00000000000
--- a/code/__HELPERS/experimental.dm
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Experimental procs by ESwordTheCat!
- */
-
-/**
- * Object pooling.
- *
- * If this file is named experimental,
- * well treat this implementation as experimental experimental (redundancy intended).
- *
- * WARNING, only supports /atom/movable (/mob and /obj)
- */
-
-// Uncomment to show debug messages.
-//#define DEBUG_OBJECT_POOL
-
-#define MAINTAINING_OBJECT_POOL_COUNT 500
-
-var/global/list/masterPool = new
-
-// Read-only or compile-time vars and special exceptions.
-var/list/exclude = list("inhand_states", "loc", "locs", "parent_type", "vars", "verbs", "type", "x", "y", "z","group", "animate_movement")
-
-/*
- * @args
- * A, object type
- * B, location to spawn
- *
- * Example call: getFromPool(/obj/item/weapon/shard, loc)
- */
-/proc/getFromPool()
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/proc/getFromPool() called tick#: [world.time]")
- var/A = args[1]
- var/list/B = list()
- B += (args - A)
- if(length(masterPool["[A]"]) <= 0)
- #ifdef DEBUG_OBJECT_POOL
- if(ticker)
- world << text("DEBUG_OBJECT_POOL: new proc has been called ([] | []).", A, list2params(B))
- #endif
- //so the GC knows we're pooling this type.
- if(isnull(masterPool["[A]"]))
- masterPool["[A]"] = list(new A)
- if(B && B.len)
- return new A(arglist(B))
- else
- return new A()
-
- var/atom/movable/O = masterPool["[A]"][1]
- masterPool["[A]"] -= O
-
- #ifdef DEBUG_OBJECT_POOL
- world << text("DEBUG_OBJECT_POOL: getFromPool([]) [] left arglist([]).", A, length(masterPool[A]), list2params(B))
- #endif
- if(!O || !istype(O))
- O = new A(arglist(B))
- else
- if(length(B))
- O.loc = B[1]
- O.New(arglist(B))
- return O
-
-/*
- * @args
- * A, object instance
- *
- * @return
- * -1, if A is not a movable atom
- *
- * Example call: returnToPool(src)
- */
-/proc/returnToPool(const/atom/movable/AM)
- //writepanic("[__FILE__].[__LINE__] (no type)([usr ? usr.ckey : ""]) \\/proc/returnToPool() called tick#: [world.time]")
- ASSERT(AM)
- if(istype(AM.loc,/mob/living))
- var/mob/living/L = AM.loc
- L.u_equip(AM,1)
- if(length(masterPool["[AM.type]"]) > MAINTAINING_OBJECT_POOL_COUNT)
- #ifdef DEBUG_OBJECT_POOL
- world << text("DEBUG_OBJECT_POOL: returnToPool([]) exceeds [] discarding...", AM.type, MAINTAINING_OBJECT_POOL_COUNT)
- #endif
-
- qdel(AM, 1)
- return
-
- if(isnull(masterPool["[AM.type]"]))
- masterPool["[AM.type]"] = list()
- AM.Destroy()
- AM.resetVariables()
- masterPool["[AM.type]"] |= AM
-
- #ifdef DEBUG_OBJECT_POOL
- world << text("DEBUG_OBJECT_POOL: returnToPool([]) [] left.", AM.type, length(masterPool["[AM.type]"]))
- #endif
-
-#undef MAINTAINING_OBJECT_POOL_COUNT
-
-#ifdef DEBUG_OBJECT_POOL
-#undef DEBUG_OBJECT_POOL
-#endif
-
-/*
- * if you have a variable that needed to be preserve, override this and call ..
- *
- * example
- *
- * /obj/item/resetVariables()
- * ..("var1", "var2", "var3")
- *
- * however, if the object has a child type an it has overridden resetVariables()
- * this should be
- *
- * /obj/item/resetVariables()
- * ..("var1", "var2", "var3", args)
- *
- * /obj/item/weapon/resetVariables()
- * ..("var4")
- */
-
-//RETURNS NULL WHEN INITIALIZED AS A LIST() AND POSSIBLY OTHER DISCRIMINATORS
-//IF YOU ARE USING SPECIAL VARIABLES SUCH A LIST() INITIALIZE THEM USING RESET VARIABLES
-//SEE http://www.byond.com/forum/?post=76850 AS A REFERENCE ON THIS
-
-/atom/movable/resetVariables()
- loc = null
- ..("loc",args)
\ No newline at end of file
diff --git a/code/controllers/garbage.dm b/code/controllers/garbage.dm
index a4d76090c84..6ec37c01693 100644
--- a/code/controllers/garbage.dm
+++ b/code/controllers/garbage.dm
@@ -111,7 +111,7 @@ var/soft_dels = 0
return
//We are object pooling this.
- if(("[D.type]" in masterPool) && !ignore_pooling)
+ if(("[D.type]" in masterdatumPool) && !ignore_pooling)
returnToPool(D)
return
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 97213b84592..aa217a3d079 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -142,7 +142,7 @@ var/global/list/ghdel_profiling = list()
reagents = null
if(materials)
- returnToDPool(materials)
+ returnToPool(materials)
// Idea by ChuckTheSheep to make the object even more unreferencable.
invisibility = 101
@@ -164,7 +164,7 @@ var/global/list/ghdel_profiling = list()
on_moved = new("owner"=src)
. = ..()
if(starting_materials)
- materials = getFromDPool(/datum/materials, src)
+ materials = getFromPool(/datum/materials, src)
for(var/matID in starting_materials)
materials.addAmount(matID, starting_materials[matID])
AddToProfiler()
diff --git a/code/game/communications.dm b/code/game/communications.dm
index 8515c4d663a..d57d1ef8eb2 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -239,7 +239,7 @@ var/global/datum/controller/radio/radio_controller
if(range)
start_point = get_turf(source)
if(!start_point)
- returnToDPool(signal)
+ returnToPool(signal)
return 0
if (filter) //here goes some copypasta. It is for optimisation. -rastaf0
@@ -287,7 +287,7 @@ var/global/datum/controller/radio/radio_controller
//log_admin("DEBUG: post_signal(source=[source] ([source.x], [source.y], [source.z]),filter=[filter]) frequency=[frequency], N_f=[N_f], N_nf=[N_nf]")
- returnToDPool(signal)
+ returnToPool(signal)
/datum/radio_frequency/proc/add_listener(const/obj/device, var/filter)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/datum/radio_frequency/proc/add_listener() called tick#: [world.time]")
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index 9cc787bde71..5c097707634 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -60,7 +60,7 @@ obj/machinery/door/airlock/receive_signal(datum/signal/signal)
obj/machinery/door/airlock/proc/send_status()
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/door/airlock/proc/send_status() called tick#: [world.time]")
if(radio_connection)
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
@@ -86,7 +86,7 @@ obj/machinery/door/airlock/Bumped(atom/AM)
if(istype(AM, /obj/mecha))
var/obj/mecha/mecha = AM
if(density && radio_connection && mecha.occupant && (src.allowed(mecha.occupant) || src.check_access_list(mecha.operation_req_access)))
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
@@ -156,7 +156,7 @@ obj/machinery/airlock_sensor/update_icon()
obj/machinery/airlock_sensor/attack_hand(mob/user)
if(..())
return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.data["tag"] = master_tag
signal.data["command"] = command
@@ -166,7 +166,7 @@ obj/machinery/airlock_sensor/attack_hand(mob/user)
obj/machinery/airlock_sensor/process()
if(on)
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
@@ -315,7 +315,7 @@ obj/machinery/access_button/attack_hand(mob/user)
user << "Access Denied"
else if(radio_connection)
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.data["tag"] = master_tag
signal.data["command"] = command
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 8cd728912be..3490d3096dc 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -400,7 +400,7 @@
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
@@ -463,7 +463,7 @@
if(!frequency)
return
- var/datum/signal/alert_signal = getFromDPool(/datum/signal)
+ var/datum/signal/alert_signal = getFromPool(/datum/signal)
alert_signal.source = src
alert_signal.transmission_method = 1
alert_signal.data["zone"] = areaMaster.name
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index 976f98233e7..2d2953e134a 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -60,7 +60,7 @@
/obj/machinery/air_sensor/process()
if(on)
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.data["tag"] = id_tag
signal.data["timestamp"] = world.time
@@ -494,7 +494,7 @@ font-weight:bold;
/obj/machinery/computer/general_air_control/large_tank_control/proc/send_signal(var/list/data)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/computer/general_air_control/large_tank_control/proc/send_signal() called tick#: [world.time]")
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data=data
@@ -516,7 +516,7 @@ font-weight:bold;
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
if(href_list["in_refresh_status"])
@@ -582,7 +582,7 @@ font-weight:bold;
if(data["temperature"] <= on_temperature)
injecting = 1
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
@@ -661,7 +661,7 @@ font-weight:bold;
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data = list(
@@ -680,7 +680,7 @@ font-weight:bold;
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data = list(
@@ -695,7 +695,7 @@ font-weight:bold;
if(!radio_connection)
return 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data = list(
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index abe9c6da0b5..30745f669e4 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -77,7 +77,7 @@
if(!radio_connection) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
signal.data = list(
diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm
index d08dfd0782c..8a4393827d9 100644
--- a/code/game/machinery/bots/cleanbot.dm
+++ b/code/game/machinery/bots/cleanbot.dm
@@ -209,7 +209,7 @@ text("[src.oddbutton ? "Yes" : "No"
closest_loc = null
next_dest_loc = null
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
signal.data = list("findbeacon" = "patrol")
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index b0188e5d27d..df472791b61 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -633,7 +633,7 @@ Auto Patrol: []"},
if(!frequency) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
//for(var/key in keyval)
diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm
index 9435e86d7c2..462d9b8e011 100644
--- a/code/game/machinery/bots/floorbot.dm
+++ b/code/game/machinery/bots/floorbot.dm
@@ -669,7 +669,7 @@ var/global/list/floorbot_targets=list()
if(!frequency) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
//for(var/key in keyval)
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index 206c19e2d75..a841f36922a 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -881,7 +881,7 @@ var/global/mulebot_count = 0
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
//for(var/key in keyval)
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index 46b873d8d54..a7c9a0257a0 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -606,7 +606,7 @@ Auto Patrol: []"},
if(!frequency) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
//for(var/key in keyval)
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 4ddc3bc992e..ecb2b6b4fb9 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -556,7 +556,7 @@ var/shuttle_call/shuttle_calls[0]
if(!frequency) return
- var/datum/signal/status_signal = getFromDPool(/datum/signal)
+ var/datum/signal/status_signal = getFromPool(/datum/signal)
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm
index dcbf9dfd49e..ab68416d0d2 100644
--- a/code/game/machinery/computer/prisonshuttle.dm
+++ b/code/game/machinery/computer/prisonshuttle.dm
@@ -134,7 +134,7 @@ var/prison_shuttle_timeleft = 0
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\proc/post_signal() called tick#: [world.time]")
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1311)
if(!frequency) return
- var/datum/signal/status_signal = getFromDPool(/datum/signal)
+ var/datum/signal/status_signal = getFromPool(/datum/signal)
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm
index 7c20e23d2b2..d3c637b182b 100644
--- a/code/game/machinery/embedded_controller/airlock_program.dm
+++ b/code/game/machinery/embedded_controller/airlock_program.dm
@@ -218,12 +218,12 @@
if(master)
master.post_signal(signal, comm_line)
else
- returnToDPool(signal)
+ returnToPool(signal)
/datum/computer/file/embedded_program/proc/signalDoor(var/tag, var/command)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/datum/computer/file/embedded_program/proc/signalDoor() called tick#: [world.time]")
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.data["tag"] = tag
signal.data["command"] = command
post_signal(signal)
@@ -231,7 +231,7 @@
/datum/computer/file/embedded_program/proc/signalPump(var/tag, var/power, var/direction, var/pressure)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/datum/computer/file/embedded_program/proc/signalPump() called tick#: [world.time]")
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.data = list(
"tag" = tag,
"sigtype" = "command",
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 2a2fae45d25..cba7153332b 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -290,7 +290,7 @@
if(href_list["radio-op"])
// Prepare signal beforehand, because this is a radio operation
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 // radio transmission
signal.source = src
signal.frequency = frequency
@@ -357,7 +357,7 @@
looping = 1
// Prepare the radio signal
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 // radio transmission
signal.source = src
signal.frequency = frequency
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index ad7b3d83456..1cd38130ce8 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -93,7 +93,7 @@
if(!frequency) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
signal.data["beacon"] = location
diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm
index d0afdbc68e2..6995411b6e6 100644
--- a/code/game/machinery/telecomms/broadcaster.dm
+++ b/code/game/machinery/telecomms/broadcaster.dm
@@ -554,7 +554,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/atom/proc/telecomms_process() called tick#: [world.time]")
// First, we want to generate a new radio signal
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 2 // 2 would be a subspace transmission.
var/turf/pos = get_turf(src)
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index a659f9b70a0..a19fcd96649 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -71,7 +71,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
if(long_range_link == 0 && machine.long_range_link == 0)
continue
// If we're sending a copy, be sure to create the copy for EACH machine and paste the data
- var/datum/signal/copy = getFromDPool(/datum/signal)
+ var/datum/signal/copy = getFromPool(/datum/signal)
if(copysig)
copy.transmission_method = 2
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index a9b3a14f512..c3a7cf4da14 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -255,7 +255,7 @@
if(!frequency) return
- var/datum/signal/status_signal = getFromDPool(/datum/signal)
+ var/datum/signal/status_signal = getFromPool(/datum/signal)
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
diff --git a/code/game/objects/items/devices/PDA/radio.dm b/code/game/objects/items/devices/PDA/radio.dm
index 1e5ab26ec4e..45be1c76433 100644
--- a/code/game/objects/items/devices/PDA/radio.dm
+++ b/code/game/objects/items/devices/PDA/radio.dm
@@ -22,7 +22,7 @@
if(!frequency) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
signal.data[key] = value
@@ -265,7 +265,7 @@
var/turf/T = get_turf(src)
lastsignalers.Add("[time] : [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(frequency)]/[code]")
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.encryption = code
signal.data["message"] = message
diff --git a/code/game/objects/items/devices/deskbell.dm b/code/game/objects/items/devices/deskbell.dm
index bbc5462fa13..9ade1555274 100644
--- a/code/game/objects/items/devices/deskbell.dm
+++ b/code/game/objects/items/devices/deskbell.dm
@@ -182,7 +182,7 @@
if(!radio_connection) return //the desk bell also works like a simple send-only signaler.
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.encryption = code //Since its default code is 0, which cannot be set on a remote signaling device,
signal.data["message"] = "ACTIVATE" //there is no risk that one of the desk bells already there at round start could trigger a signaler
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 4cbddada20c..b3f4b85b29c 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -326,7 +326,7 @@
if(subspace_transmission)
// First, we want to generate a new radio signal
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 2 // 2 would be a subspace transmission.
// transmission_method could probably be enumerated through #define. Would be neater.
@@ -380,7 +380,7 @@
filter_type = 1
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 2
diff --git a/code/game/objects/items/stacks/cable.dm b/code/game/objects/items/stacks/cable.dm
index cbd5bcc5b67..07faf2b315e 100644
--- a/code/game/objects/items/stacks/cable.dm
+++ b/code/game/objects/items/stacks/cable.dm
@@ -160,7 +160,7 @@ var/global/list/datum/stack_recipe/cable_recipes = list ( \
C.update_icon()
//create a new powernet with the cable, if needed it will be merged later
- var/datum/powernet/PN = getFromDPool(/datum/powernet)
+ var/datum/powernet/PN = getFromPool(/datum/powernet)
PN.add_cable(C)
C.mergeConnectedNetworks(C.d2) // merge the powernet with adjacents powernets
diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm
index ec276c09a28..b57dc08e69b 100644
--- a/code/game/supplyshuttle.dm
+++ b/code/game/supplyshuttle.dm
@@ -830,7 +830,7 @@ var/list/mechtoys = list(
if(!frequency) return
- var/datum/signal/status_signal = getFromDPool(/datum/signal)
+ var/datum/signal/status_signal = getFromPool(/datum/signal)
status_signal.source = src
status_signal.transmission_method = 1
status_signal.data["command"] = command
diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index 5ea2579249f..47a7250283e 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -120,7 +120,7 @@
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/item/device/assembly/signaler/proc/signal() called tick#: [world.time]")
if(!radio_connection) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.encryption = code
signal.data["message"] = "ACTIVATE"
diff --git a/code/modules/atmos_automation/console.dm b/code/modules/atmos_automation/console.dm
index 6beb1df9004..1e373f12d2b 100644
--- a/code/modules/atmos_automation/console.dm
+++ b/code/modules/atmos_automation/console.dm
@@ -52,7 +52,7 @@
/obj/machinery/computer/general_air_control/atmos_automation/proc/send_signal(var/list/data, filter = RADIO_ATMOSIA)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/computer/general_air_control/atmos_automation/proc/send_signal() called tick#: [world.time]")
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data=data
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index 5776b4427ff..c7f9eab2b00 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -234,7 +234,7 @@
if(!frequency)
return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.data["tag"] = smelter_tag
signal.transmission_method = 1 //radio signal
signal.source = src
@@ -379,7 +379,7 @@
/obj/machinery/mineral/processing_unit/proc/send_signal(list/data)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/mineral/processing_unit/proc/send_signal() called tick#: [world.time]")
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data["tag"] = id_tag
diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm
index 5b047c19a3c..37b1666b838 100644
--- a/code/modules/mining/machine_stacking.dm
+++ b/code/modules/mining/machine_stacking.dm
@@ -77,7 +77,7 @@
if(!radio_connection)
return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1 //radio signal
signal.data["tag"] = stacker_tag
@@ -257,7 +257,7 @@
if(!radio_connection)
return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1 //radio signal
signal.data["tag"] = id_tag
diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm
index 4027c8aaa01..5ec0bfafc55 100644
--- a/code/modules/mining/money_bag.dm
+++ b/code/modules/mining/money_bag.dm
@@ -15,7 +15,7 @@
/obj/item/weapon/moneybag/attack_hand(user as mob)
var/credits=0
if(!coin_value)
- coin_value = getFromDPool(/datum/materials)
+ coin_value = getFromPool(/datum/materials)
else
coin_value.resetVariables() //make its storage be 0
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index e7efaf74bfc..00c6fcb9f8c 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -295,7 +295,7 @@ By design, d1 is the smallest direction and d2 is the highest
continue
if(C.d1 == (direction ^ 3) || C.d2 == (direction ^ 3)) // we've got a diagonally matching cable
if(!C.powernet) // if the matching cable somehow got no powernet, make him one (should not happen for cables)
- var/datum/powernet/newPN = getFromDPool(/datum/powernet/)
+ var/datum/powernet/newPN = getFromPool(/datum/powernet/)
newPN.add_cable(C)
if(powernet) //if we already have a powernet, then merge the two powernets
merge_powernets(powernet,C.powernet)
@@ -312,7 +312,7 @@ By design, d1 is the smallest direction and d2 is the highest
continue
if(C.d1 == (direction ^ 12) || C.d2 == (direction ^ 12)) // we've got a diagonally matching cable
if(!C.powernet) // if the matching cable somehow got no powernet, make him one (should not happen for cables)
- var/datum/powernet/newPN = getFromDPool(/datum/powernet/)
+ var/datum/powernet/newPN = getFromPool(/datum/powernet/)
newPN.add_cable(C)
if(powernet) // if we already have a powernet, then merge the two powernets
merge_powernets(powernet, C.powernet)
@@ -336,7 +336,7 @@ By design, d1 is the smallest direction and d2 is the highest
continue
if(C.d1 == fdir || C.d2 == fdir) // we've got a matching cable in the neighbor turf
if(!C.powernet) // if the matching cable somehow got no powernet, make him one (should not happen for cables)
- var/datum/powernet/newPN = getFromDPool(/datum/powernet/)
+ var/datum/powernet/newPN = getFromPool(/datum/powernet/)
newPN.add_cable(C)
if(powernet) // if we already have a powernet, then merge the two powernets
merge_powernets(powernet,C.powernet)
@@ -350,7 +350,7 @@ By design, d1 is the smallest direction and d2 is the highest
var/list/connections = list()
if(!powernet) // if we somehow have no powernet, make one (should not happen for cables)
- var/datum/powernet/newPN = getFromDPool(/datum/powernet/)
+ var/datum/powernet/newPN = getFromPool(/datum/powernet/)
newPN.add_cable(src)
// first let's add turf cables to our powernet
@@ -448,8 +448,8 @@ By design, d1 is the smallest direction and d2 is the highest
var/list/powerlist = power_list(T1, src, 0, 0) // find the other cables that ended in the centre of the turf, with or without a powernet
if(powerlist.len>0)
- var/datum/powernet/PN = getFromDPool(/datum/powernet/)
+ var/datum/powernet/PN = getFromPool(/datum/powernet/)
propagate_network(powerlist[1], PN) // propagates the new powernet beginning at the source cable
if(PN.is_empty()) // can happen with machines made nodeless when smoothing cables
- returnToDPool(PN) //powernets do not get qdelled
+ returnToPool(PN) //powernets do not get qdelled
diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm
index 3097994eb33..878e7083431 100644
--- a/code/modules/power/powernet.dm
+++ b/code/modules/power/powernet.dm
@@ -75,7 +75,7 @@ Powernet procs :
cables -= C
C.powernet = null
if(is_empty())
- returnToDPool(src)
+ returnToPool(src)
// helper proc for removing a power machine from the current powernet
// warning : this proc doesn't check if the machine exists, but don't worry a runtime should tell you if it doesn't
@@ -84,7 +84,7 @@ Powernet procs :
nodes -= M
M.powernet = null
if(is_empty())
- returnToDPool(src)
+ returnToPool(src)
// helper proc for removing a power machine from the current powernet
// warning : this proc doesn't check if the machine exists, but don't worry a runtime should tell you if it doesn't
@@ -93,7 +93,7 @@ Powernet procs :
components -= C
C.powernet = null
if(is_empty())
- returnToDPool(src)
+ returnToPool(src)
// add a cable to the current powernet
/datum/powernet/proc/add_cable(obj/structure/cable/C)
@@ -175,7 +175,7 @@ Powernet procs :
P.build_status = 1
for(var/datum/power_connection/C in components)
C.build_status = 1
- returnToDPool(src)
+ returnToPool(src)
//Hopefully this will never ever have to be used
var/global/powernets_broke = 0
@@ -184,7 +184,7 @@ var/global/powernets_broke = 0
/obj/structure/cable/proc/rebuild_from()
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/structure/cable/proc/rebuild_from() called tick#: [world.time]")
if(!powernet)
- var/datum/powernet/NewPN = getFromDPool(/datum/powernet)
+ var/datum/powernet/NewPN = getFromPool(/datum/powernet)
NewPN.add_cable(src)
propagate_network(src, src.powernet)
NewPN.load = oldload
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 334fce1b21c..5f1799a21a9 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -384,7 +384,7 @@
/obj/machinery/conveyor_switch/proc/send_command(var/command)
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/conveyor_switch/proc/send_command() called tick#: [world.time]")
if(radio_connection)
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source=src
signal.transmission_method = 1 //radio signal
signal.data["tag"] = id_tag
diff --git a/code/modules/research/fabricators.dm b/code/modules/research/fabricators.dm
index 3c31f17b63a..9fcb6913dda 100644
--- a/code/modules/research/fabricators.dm
+++ b/code/modules/research/fabricators.dm
@@ -284,7 +284,7 @@
src.overlays -= "[base_state]_ani"
if(being_built)
if(!being_built.materials)
- being_built.materials = getFromDPool(/datum/materials, being_built)
+ being_built.materials = getFromPool(/datum/materials, being_built)
for(var/matID in part.materials)
if(copytext(matID, 1, 2) != "$") //it's not a material, let's ignore it
continue
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 6d36ccd5d21..bb302579536 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -38,7 +38,7 @@ var/global/list/rnd_machines = list()
icon_state_open = "[base_state]_t"
if(research_flags & TAKESMATIN && !materials)
- materials = getFromDPool(/datum/materials, src)
+ materials = getFromPool(/datum/materials, src)
if(ticker) initialize()
diff --git a/code/modules/scripting/IDE.dm b/code/modules/scripting/IDE.dm
index 16c9dcb7f1e..5e31da654b6 100644
--- a/code/modules/scripting/IDE.dm
+++ b/code/modules/scripting/IDE.dm
@@ -92,7 +92,7 @@ client/verb/tcsrun()
if(Machine.SelectedServer)
var/obj/machinery/telecomms/server/Server = Machine.SelectedServer
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.data["message"] = ""
if(Server.freq_listening.len > 0)
signal.frequency = Server.freq_listening[1]
diff --git a/code/modules/scripting/Implementations/Telecomms.dm b/code/modules/scripting/Implementations/Telecomms.dm
index 22a21f36ec2..7e61ca5021c 100644
--- a/code/modules/scripting/Implementations/Telecomms.dm
+++ b/code/modules/scripting/Implementations/Telecomms.dm
@@ -276,7 +276,7 @@ datum/signal
code = round(code)
code = Clamp(code, 0, 100)
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = S
signal.encryption = code
signal.data["message"] = "ACTIVATE"
@@ -291,7 +291,7 @@ datum/signal
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\proc/tcombroadcast() called tick#: [world.time]")
- var/datum/signal/newsign = getFromDPool(/datum/signal)
+ var/datum/signal/newsign = getFromPool(/datum/signal)
var/obj/machinery/telecomms/server/S = data["server"]
var/obj/item/device/radio/hradio = S.server_radio
diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm
index cbdecd1b279..1529fb3bb91 100644
--- a/code/modules/supermatter/supermatter.dm
+++ b/code/modules/supermatter/supermatter.dm
@@ -206,7 +206,7 @@
if(!radio_connection) return
- var/datum/signal/signal = getFromDPool(/datum/signal)
+ var/datum/signal/signal = getFromPool(/datum/signal)
signal.source = src
signal.transmission_method = 1
signal.data = list(
diff --git a/vgstation13.dme b/vgstation13.dme
index 96fc95e5b1f..8cfed5ad59a 100644
--- a/vgstation13.dme
+++ b/vgstation13.dme
@@ -20,7 +20,6 @@
#include "code\__HELPERS\cmp.dm"
#include "code\__HELPERS\constants.dm"
#include "code\__HELPERS\datumpool.dm"
-#include "code\__HELPERS\experimental.dm"
#include "code\__HELPERS\files.dm"
#include "code\__HELPERS\game.dm"
#include "code\__HELPERS\gender.dm"