mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 17:52:36 +00:00
[MIRROR] Converts SSblackbox feedback to an associative list [MDB IGNORE] (#15955)
* Converts SSblackbox feedback to an associative list (#69399) About The Pull Request I DID NOT TEST THIS. I DO NOT KNOW DATABASE STUFF. I JUST NOTICED IT WHILE WORKING ON AN UNRELATED PR. Title. Why It's Good For The Game Speeds up a hot proc substantially * Converts SSblackbox feedback to an associative list Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
This commit is contained in:
@@ -4,7 +4,7 @@ SUBSYSTEM_DEF(blackbox)
|
|||||||
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
|
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
|
||||||
init_order = INIT_ORDER_BLACKBOX
|
init_order = INIT_ORDER_BLACKBOX
|
||||||
|
|
||||||
var/list/feedback = list() //list of datum/feedback_variable
|
var/list/feedback_list = list() //list of datum/feedback_variable
|
||||||
var/list/first_death = list() //the first death of this round, assoc. vars keep track of different things
|
var/list/first_death = list() //the first death of this round, assoc. vars keep track of different things
|
||||||
var/triggertime = 0
|
var/triggertime = 0
|
||||||
var/sealed = FALSE //time to stop tracking stats?
|
var/sealed = FALSE //time to stop tracking stats?
|
||||||
@@ -58,18 +58,18 @@ SUBSYSTEM_DEF(blackbox)
|
|||||||
qdel(query_record_playercount)
|
qdel(query_record_playercount)
|
||||||
|
|
||||||
/datum/controller/subsystem/blackbox/Recover()
|
/datum/controller/subsystem/blackbox/Recover()
|
||||||
feedback = SSblackbox.feedback
|
feedback_list = SSblackbox.feedback_list
|
||||||
sealed = SSblackbox.sealed
|
sealed = SSblackbox.sealed
|
||||||
|
|
||||||
//no touchie
|
//no touchie
|
||||||
/datum/controller/subsystem/blackbox/vv_get_var(var_name)
|
/datum/controller/subsystem/blackbox/vv_get_var(var_name)
|
||||||
if(var_name == NAMEOF(src, feedback))
|
if(var_name == NAMEOF(src, feedback_list))
|
||||||
return debug_variable(var_name, deep_copy_list(feedback), 0, src)
|
return debug_variable(var_name, deep_copy_list(feedback_list), 0, src)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value)
|
/datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value)
|
||||||
switch(var_name)
|
switch(var_name)
|
||||||
if(NAMEOF(src, feedback))
|
if(NAMEOF(src, feedback_list))
|
||||||
return FALSE
|
return FALSE
|
||||||
if(NAMEOF(src, sealed))
|
if(NAMEOF(src, sealed))
|
||||||
if(var_value)
|
if(var_value)
|
||||||
@@ -101,7 +101,9 @@ SUBSYSTEM_DEF(blackbox)
|
|||||||
"datetime" = "NOW()"
|
"datetime" = "NOW()"
|
||||||
)
|
)
|
||||||
var/list/sqlrowlist = list()
|
var/list/sqlrowlist = list()
|
||||||
for (var/datum/feedback_variable/FV in feedback)
|
|
||||||
|
for (var/key in feedback_list)
|
||||||
|
var/datum/feedback_variable/FV = feedback_list[key]
|
||||||
sqlrowlist += list(list(
|
sqlrowlist += list(list(
|
||||||
"round_id" = GLOB.round_id,
|
"round_id" = GLOB.round_id,
|
||||||
"key_name" = FV.key,
|
"key_name" = FV.key,
|
||||||
@@ -162,13 +164,13 @@ SUBSYSTEM_DEF(blackbox)
|
|||||||
record_feedback("tally", "radio_usage", 1, "other")
|
record_feedback("tally", "radio_usage", 1, "other")
|
||||||
|
|
||||||
/datum/controller/subsystem/blackbox/proc/find_feedback_datum(key, key_type)
|
/datum/controller/subsystem/blackbox/proc/find_feedback_datum(key, key_type)
|
||||||
for(var/datum/feedback_variable/FV in feedback)
|
var/datum/feedback_variable/FV = feedback_list[key]
|
||||||
if(FV.key == key)
|
if(FV)
|
||||||
return FV
|
return FV
|
||||||
|
else
|
||||||
var/datum/feedback_variable/FV = new(key, key_type)
|
FV = new(key, key_type)
|
||||||
feedback += FV
|
feedback_list[key] = FV
|
||||||
return FV
|
return FV
|
||||||
/*
|
/*
|
||||||
feedback data can be recorded in 5 formats:
|
feedback data can be recorded in 5 formats:
|
||||||
"text"
|
"text"
|
||||||
|
|||||||
Reference in New Issue
Block a user