From 1a0e64e890bfe03dcbcb94c94d7ffb5a17a15949 Mon Sep 17 00:00:00 2001 From: Timberpoes Date: Sat, 19 Jun 2021 22:39:00 +0100 Subject: [PATCH] Converts the new span_ procs to macros, fixing a few oversights/errors along the way (#59685) This is a partial re-implementation of #59645 oranges has expressed a desire for the span_ procs to instead be macros. I agree. Even though it's a small micro-optimisation, a well contained macro can be self-linting. I've already caught one edge case thanks to this in launch_pad.dm Similarly, there was an edge case where a [ was escaped inappropriately (that errored out) in watercloset.dm and a case where a ] that should probably have been escaped actually wasn't in robot_defense.dm I have opted to make an exception to the ALLCAPS convention for these macros. I have guaraded these macros in parenthesis. In doing so, additional error states can be captured as part of the build process as malformed inputs will then cause errors and prompt further investigation. --- code/__DEFINES/span.dm | 114 +++++++++ code/__HELPERS/span.dm | 228 ------------------ code/game/machinery/launch_pad.dm | 2 +- code/game/objects/structures/watercloset.dm | 2 +- .../mob/living/silicon/robot/robot_defense.dm | 2 +- tgstation.dme | 2 +- 6 files changed, 118 insertions(+), 232 deletions(-) create mode 100644 code/__DEFINES/span.dm delete mode 100644 code/__HELPERS/span.dm diff --git a/code/__DEFINES/span.dm b/code/__DEFINES/span.dm new file mode 100644 index 00000000000..45eae3ce762 --- /dev/null +++ b/code/__DEFINES/span.dm @@ -0,0 +1,114 @@ +// Sorted alphabetically +#define span_abductor(str) ("" + str + "") +#define span_admin(str) ("" + str + "") +#define span_adminhelp(str) ("" + str + "") +#define span_adminnotice(str) ("" + str + "") +#define span_adminobserverooc(str) ("" + str + "") +#define span_adminooc(str) ("" + str + "") +#define span_adminsay(str) ("" + str + "") +#define span_aiprivradio(str) ("" + str + "") +#define span_alert(str) ("" + str + "") +#define span_alertalien(str) ("" + str + "") +#define span_alertsyndie(str) ("" + str + "") +#define span_alertwarning(str) ("" + str + "") +#define span_alien(str) ("" + str + "") +#define span_announce(str) ("" + str + "") +#define span_big(str) ("" + str + "") +#define span_bigicon(str) ("" + str + "") +#define span_binarysay(str) ("" + str + "") +#define span_blue(str) ("" + str + "") +#define span_blueteamradio(str) ("" + str + "") +#define span_bold(str) ("" + str + "") +#define span_boldannounce(str) ("" + str + "") +#define span_boldnotice(str) ("" + str + "") +#define span_boldwarning(str) ("" + str + "") +#define span_centcomradio(str) ("" + str + "") +#define span_changeling(str) ("" + str + "") +#define span_clown(str) ("" + str + "") +#define span_colossus(str) ("" + str + "") +#define span_command_headset(str) ("" + str + "") +#define span_comradio(str) ("" + str + "") +#define span_cult(str) ("" + str + "") +#define span_cultbold(str) ("" + str + "") +#define span_cultboldtalic(str) ("" + str + "") +#define span_cultitalic(str) ("" + str + "") +#define span_cultlarge(str) ("" + str + "") +#define span_danger(str) ("" + str + "") +#define span_deadsay(str) ("" + str + "") +#define span_deconversion_message(str) ("" + str + "") +#define span_drone(str) ("" + str + "") +#define span_engradio(str) ("" + str + "") +#define span_extremelybig(str) ("" + str + "") +#define span_ghostalert(str) ("" + str + "") +#define span_green(str) ("" + str + "") +#define span_greenannounce(str) ("" + str + "") +#define span_greenteamradio(str) ("" + str + "") +#define span_greentext(str) ("" + str + "") +#define span_hear(str) ("" + str + "") +#define span_hidden(str) ("") +#define span_hierophant(str) ("" + str + "") +#define span_hierophant_warning(str) ("" + str + "") +#define span_highlight(str) ("" + str + "") +#define span_his_grace(str) ("" + str + "") +#define span_holoparasite(str) ("" + str + "") +#define span_hypnophrase(str) ("" + str + "") +#define span_icon(str) ("" + str + "") +#define span_info(str) ("" + str + "") +#define span_interface(str) ("" + str + "") +#define span_looc(str) ("" + str + "") +#define span_medal(str) ("" + str + "") +#define span_medradio(str) ("" + str + "") +#define span_memo(str) ("" + str + "") +#define span_memoedit(str) ("" + str + "") +#define span_mind_control(str) ("" + str + "") +#define span_minorannounce(str) ("" + str + "") +#define span_monkey(str) ("" + str + "") +#define span_monkeyhive(str) ("" + str + "") +#define span_monkeylead(str) ("" + str + "") +#define span_name(str) ("" + str + "") +#define span_narsie(str) ("" + str + "") +#define span_narsiesmall(str) ("" + str + "") +#define span_nicegreen(str) ("" + str + "") +#define span_notice(str) ("" + str + "") +#define span_noticealien(str) ("" + str + "") +#define span_ooc(str) ("" + str + "") +#define span_papyrus(str) ("" + str + "") +#define span_phobia(str) ("" + str + "") +#define span_prefix(str) ("" + str + "") +#define span_purple(str) ("" + str + "") +#define span_radio(str) ("" + str + "") +#define span_reallybig(str) ("" + str + "") +#define span_red(str) ("" + str + "") +#define span_redteamradio(str) ("" + str + "") +#define span_redtext(str) ("" + str + "") +#define span_resonate(str) ("" + str + "") +#define span_revenbignotice(str) ("" + str + "") +#define span_revenboldnotice(str) ("" + str + "") +#define span_revendanger(str) ("" + str + "") +#define span_revenminor(str) ("" + str + "") +#define span_revennotice(str) ("" + str + "") +#define span_revenwarning(str) ("" + str + "") +#define span_robot(str) ("" + str + "") +#define span_rose(str) ("" + str + "") +#define span_sans(str) ("" + str + "") +#define span_sciradio(str) ("" + str + "") +#define span_secradio(str) ("" + str + "") +#define span_servradio(str) ("" + str + "") +#define span_singing(str) ("" + str + "") +#define span_slime(str) ("" + str + "") +#define span_small(str) ("" + str + "") +#define span_smallnotice(str) ("" + str + "") +#define span_smallnoticeital(str) ("" + str + "") +#define span_spider(str) ("" + str + "") +#define span_suicide(str) ("" + str + "") +#define span_suppradio(str) ("" + str + "") +#define span_swarmer(str) ("" + str + "") +#define span_syndradio(str) ("" + str + "") +#define span_tape_recorder(str) ("" + str + "") +#define span_tinynotice(str) ("" + str + "") +#define span_tinynoticeital(str) ("" + str + "") +#define span_unconscious(str) ("" + str + "") +#define span_userdanger(str) ("" + str + "") +#define span_warning(str) ("" + str + "") +#define span_yell(str) ("" + str + "") +#define span_yellowteamradio(str) ("" + str + "") diff --git a/code/__HELPERS/span.dm b/code/__HELPERS/span.dm deleted file mode 100644 index 37dc6fa0e7e..00000000000 --- a/code/__HELPERS/span.dm +++ /dev/null @@ -1,228 +0,0 @@ -// Sorted alphabetically - -/proc/span_abductor(str) - return "[str]" -/proc/span_admin(str) - return "[str]" -/proc/span_adminhelp(str) - return "[str]" -/proc/span_adminnotice(str) - return "[str]" -/proc/span_adminobserverooc(str) - return "[str]" -/proc/span_adminooc(str) - return "[str]" -/proc/span_adminsay(str) - return "[str]" -/proc/span_aiprivradio(str) - return "[str]" -/proc/span_alert(str) - return "[str]" -/proc/span_alertalien(str) - return "[str]" -/proc/span_alertsyndie(str) - return "[str]" -/proc/span_alertwarning(str) - return "[str]" -/proc/span_alien(str) - return "[str]" -/proc/span_announce(str) - return "[str]" -/proc/span_big(str) - return "[str]" -/proc/span_bigicon(str) - return "[str]" -/proc/span_binarysay(str) - return "[str]" -/proc/span_blue(str) - return "[str]" -/proc/span_blueteamradio(str) - return "[str]" -/proc/span_bold(str) - return "[str]" -/proc/span_boldannounce(str) - return "[str]" -/proc/span_boldnotice(str) - return "[str]" -/proc/span_boldwarning(str) - return "[str]" -/proc/span_centcomradio(str) - return "[str]" -/proc/span_changeling(str) - return "[str]" -/proc/span_clown(str) - return "[str]" -/proc/span_colossus(str) - return "[str]" -/proc/span_command_headset(str) - return "[str]" -/proc/span_comradio(str) - return "[str]" -/proc/span_cult(str) - return "[str]" -/proc/span_cultbold(str) - return "[str]" -/proc/span_cultboldtalic(str) - return "[str]" -/proc/span_cultitalic(str) - return "[str]" -/proc/span_cultlarge(str) - return "[str]" -/proc/span_danger(str) - return "[str]" -/proc/span_deadsay(str) - return "[str]" -/proc/span_deconversion_message(str) - return "[str]" -/proc/span_drone(str) - return "[str]" -/proc/span_engradio(str) - return "[str]" -/proc/span_extremelybig(str) - return "[str]" -/proc/span_ghostalert(str) - return "[str]" -/proc/span_green(str) - return "[str]" -/proc/span_greenannounce(str) - return "[str]" -/proc/span_greenteamradio(str) - return "[str]" -/proc/span_greentext(str) - return "[str]" -/proc/span_hear(str) - return "[str]" -/proc/span_hidden(str) - return "" -/proc/span_hierophant(str) - return "[str]" -/proc/span_hierophant_warning(str) - return "[str]" -/proc/span_highlight(str) - return "[str]" -/proc/span_his_grace(str) - return "[str]" -/proc/span_holoparasite(str) - return "[str]" -/proc/span_hypnophrase(str) - return "[str]" -/proc/span_icon(str) - return "[str]" -/proc/span_info(str) - return "[str]" -/proc/span_interface(str) - return "[str]" -/proc/span_looc(str) - return "[str]" -/proc/span_medal(str) - return "[str]" -/proc/span_medradio(str) - return "[str]" -/proc/span_memo(str) - return "[str]" -/proc/span_memoedit(str) - return "[str]" -/proc/span_mind_control(str) - return "[str]" -/proc/span_minorannounce(str) - return "[str]" -/proc/span_monkey(str) - return "[str]" -/proc/span_monkeyhive(str) - return "[str]" -/proc/span_monkeylead(str) - return "[str]" -/proc/span_name(str) - return "[str]" -/proc/span_narsie(str) - return "[str]" -/proc/span_narsiesmall(str) - return "[str]" -/proc/span_nicegreen(str) - return "[str]" -/proc/span_notice(str) - return "[str]" -/proc/span_noticealien(str) - return "[str]" -/proc/span_ooc(str) - return "[str]" -/proc/span_papyrus(str) - return "[str]" -/proc/span_phobia(str) - return "[str]" -/proc/span_prefix(str) - return "[str]" -/proc/span_purple(str) - return "[str]" -/proc/span_radio(str) - return "[str]" -/proc/span_reallybig(str) - return "[str]" -/proc/span_red(str) - return "[str]" -/proc/span_redteamradio(str) - return "[str]" -/proc/span_redtext(str) - return "[str]" -/proc/span_resonate(str) - return "[str]" -/proc/span_revenbignotice(str) - return "[str]" -/proc/span_revenboldnotice(str) - return "[str]" -/proc/span_revendanger(str) - return "[str]" -/proc/span_revenminor(str) - return "[str]" -/proc/span_revennotice(str) - return "[str]" -/proc/span_revenwarning(str) - return "[str]" -/proc/span_robot(str) - return "[str]" -/proc/span_rose(str) - return "[str]" -/proc/span_sans(str) - return "[str]" -/proc/span_sciradio(str) - return "[str]" -/proc/span_secradio(str) - return "[str]" -/proc/span_servradio(str) - return "[str]" -/proc/span_singing(str) - return "[str]" -/proc/span_slime(str) - return "[str]" -/proc/span_small(str) - return "[str]" -/proc/span_smallnotice(str) - return "[str]" -/proc/span_smallnoticeital(str) - return "[str]" -/proc/span_spider(str) - return "[str]" -/proc/span_suicide(str) - return "[str]" -/proc/span_suppradio(str) - return "[str]" -/proc/span_swarmer(str) - return "[str]" -/proc/span_syndradio(str) - return "[str]" -/proc/span_tape_recorder(str) - return "[str]" -/proc/span_tinynotice(str) - return "[str]" -/proc/span_tinynoticeital(str) - return "[str]" -/proc/span_unconscious(str) - return "[str]" -/proc/span_userdanger(str) - return "[str]" -/proc/span_warning(str) - return "[str]" -/proc/span_yell(str) - return "[str]" -/proc/span_yellowteamradio(str) - return "[str]" diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index 379e16ea879..5ec3cd7c0c0 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -284,7 +284,7 @@ if(!isturf(user.loc)) //no setting up in a locker return add_fingerprint(user) - user.visible_message(span_notice("[user] starts setting down [src]...", "You start setting up [pad]...")) + user.visible_message(span_notice("[user] starts setting down [src]..."), span_notice("You start setting up [pad]...")) if(do_after(user, 30, target = user)) pad.forceMove(get_turf(src)) pad.update_indicator() diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 1eaf3325358..38be1a1ac75 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -215,7 +215,7 @@ to_chat(user, span_warning("[I] is too large for the drain enclosure.")) return if(!user.transferItemToLoc(I, src)) - to_chat(user, span_warning("\[I] is stuck to your hand, you cannot put it in the drain enclosure!")) + to_chat(user, span_warning("[I] is stuck to your hand, you cannot put it in the drain enclosure!")) return hiddenitem = I to_chat(user, span_notice("You place [I] into the drain enclosure.")) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index ea36b9507ff..25159bed3d8 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -338,7 +338,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if(connected_ai && connected_ai.mind && connected_ai.mind.has_antag_datum(/datum/antagonist/traitor)) to_chat(src, span_danger("ALERT: Foreign software execution prevented.")) logevent("ALERT: Foreign software execution prevented.") - to_chat(connected_ai, span_danger("ALERT: Cyborg unit \[[src]] successfully defended against subversion.")) + to_chat(connected_ai, span_danger("ALERT: Cyborg unit \[[src]\] successfully defended against subversion.")) log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].") return diff --git a/tgstation.dme b/tgstation.dme index 449171a7ade..187d0b5c1f7 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -127,6 +127,7 @@ #include "code\__DEFINES\sound.dm" #include "code\__DEFINES\space.dm" #include "code\__DEFINES\spaceman_dmm.dm" +#include "code\__DEFINES\span.dm" #include "code\__DEFINES\stat.dm" #include "code\__DEFINES\stat_tracking.dm" #include "code\__DEFINES\station.dm" @@ -195,7 +196,6 @@ #include "code\__HELPERS\roundend.dm" #include "code\__HELPERS\sanitize_values.dm" #include "code\__HELPERS\shell.dm" -#include "code\__HELPERS\span.dm" #include "code\__HELPERS\stat_tracking.dm" #include "code\__HELPERS\string_assoc_lists.dm" #include "code\__HELPERS\string_lists.dm"