From 9d29a541cb73af8da9204074973dd881d6643a8e Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Mon, 22 Aug 2016 21:24:48 -0700 Subject: [PATCH 1/5] The message for to_chat runtimes is more descriptive now --- goon/code/datums/browserOutput.dm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/goon/code/datums/browserOutput.dm b/goon/code/datums/browserOutput.dm index e8af8c93430..3000da9073a 100644 --- a/goon/code/datums/browserOutput.dm +++ b/goon/code/datums/browserOutput.dm @@ -198,16 +198,26 @@ var/list/chatResources = list( return "" +/proc/is_valid_tochat_message(message) + return !(istype(message, /image) || istype(message, /sound)) + +/proc/is_valid_tochat_target(target) + return !istype(target, /savefile) && (ismob(target) || islist(target) || isclient(target) || target == world) + var/to_chat_filename var/to_chat_line var/to_chat_src // Call using macro: to_chat(target, message) /proc/__to_chat(target, message) - if(istype(message, /image) || istype(message, /sound) || istype(target, /savefile) || !(ismob(target) || islist(target) || isclient(target) || target == world)) + if(!is_valid_tochat_message(message) || !is_valid_tochat_target(target)) target << message if(!istext(message)) message = "(non-text type)" - world.Error(new/exception("DEBUG: to_chat called with invalid message: [message]", to_chat_filename, to_chat_line), e_src = to_chat_src) + var/targetstring = "\'[target]\'" + if(istype(target, /datum)) + var/datum/D = target + targetstring += ", [D.type]" + world.Error(new/exception("DEBUG: to_chat called with invalid message/target: Message: \'[message]\', Target: [targetstring]", to_chat_filename, to_chat_line), e_src = to_chat_src) return else if(istext(message)) @@ -238,4 +248,4 @@ var/to_chat_src return - target << output(url_encode(message), "browseroutput:output") \ No newline at end of file + target << output(url_encode(message), "browseroutput:output") From 4a3addd0f6768ba78b6cf20457d11a3c1eefdad2 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Tue, 23 Aug 2016 17:32:29 -0700 Subject: [PATCH 2/5] Makes things a bit cleaner --- goon/code/datums/browserOutput.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/goon/code/datums/browserOutput.dm b/goon/code/datums/browserOutput.dm index 3000da9073a..650df4dc83e 100644 --- a/goon/code/datums/browserOutput.dm +++ b/goon/code/datums/browserOutput.dm @@ -199,7 +199,7 @@ var/list/chatResources = list( return "" /proc/is_valid_tochat_message(message) - return !(istype(message, /image) || istype(message, /sound)) + return istext(message) /proc/is_valid_tochat_target(target) return !istype(target, /savefile) && (ismob(target) || islist(target) || isclient(target) || target == world) @@ -217,7 +217,7 @@ var/to_chat_src if(istype(target, /datum)) var/datum/D = target targetstring += ", [D.type]" - world.Error(new/exception("DEBUG: to_chat called with invalid message/target: Message: \'[message]\', Target: [targetstring]", to_chat_filename, to_chat_line), e_src = to_chat_src) + log_runtime(new/exception("DEBUG: to_chat called with invalid message/target.", to_chat_filename, to_chat_line), to_chat_src, list("Message: '[message]'", "Target: [targetstring]")) return else if(istext(message)) From 46553aac06d05a5cd01eb91d10a4fe21ab00020d Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Fri, 26 Aug 2016 15:38:10 -0700 Subject: [PATCH 3/5] Makes the messages a fair shot more descriptive --- goon/code/datums/browserOutput.dm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/goon/code/datums/browserOutput.dm b/goon/code/datums/browserOutput.dm index 650df4dc83e..89f0537a85b 100644 --- a/goon/code/datums/browserOutput.dm +++ b/goon/code/datums/browserOutput.dm @@ -211,12 +211,23 @@ var/to_chat_src /proc/__to_chat(target, message) if(!is_valid_tochat_message(message) || !is_valid_tochat_target(target)) target << message - if(!istext(message)) - message = "(non-text type)" - var/targetstring = "\'[target]\'" + + // Info about the "message" + if(isnull(message)) + message = "(null)" + else if(istype(target, /datum)) + var/datum/D = target + message = "'[D]' ([D.type])" + else if(!is_valid_tochat_message(message)) + message = "(bad message) : '[message]'" + + // Info about the target + var/targetstring = "'[target]'" if(istype(target, /datum)) var/datum/D = target targetstring += ", [D.type]" + + // The final output log_runtime(new/exception("DEBUG: to_chat called with invalid message/target.", to_chat_filename, to_chat_line), to_chat_src, list("Message: '[message]'", "Target: [targetstring]")) return From c4c6bae2ec04add4845c659891ff615f04274d24 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Fri, 26 Aug 2016 15:41:02 -0700 Subject: [PATCH 4/5] Adds logging for what should be an impossible case --- goon/code/datums/browserOutput.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/goon/code/datums/browserOutput.dm b/goon/code/datums/browserOutput.dm index 89f0537a85b..273f7a0f1a0 100644 --- a/goon/code/datums/browserOutput.dm +++ b/goon/code/datums/browserOutput.dm @@ -217,7 +217,7 @@ var/to_chat_src message = "(null)" else if(istype(target, /datum)) var/datum/D = target - message = "'[D]' ([D.type])" + message = "([D.type]): '[D]'" else if(!is_valid_tochat_message(message)) message = "(bad message) : '[message]'" @@ -231,8 +231,9 @@ var/to_chat_src log_runtime(new/exception("DEBUG: to_chat called with invalid message/target.", to_chat_filename, to_chat_line), to_chat_src, list("Message: '[message]'", "Target: [targetstring]")) return - else if(istext(message)) + else if(is_valid_tochat_message(message)) if(istext(target)) + log_runtime(EXCEPTION("Somehow, to_chat got a text as a target")) return message = replacetext(message, "\n", "
") From 4e9f922cd453e33544533078fbfa2536ff2b3d43 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Fri, 26 Aug 2016 16:57:57 -0700 Subject: [PATCH 5/5] Fixes tabbing --- goon/code/datums/browserOutput.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goon/code/datums/browserOutput.dm b/goon/code/datums/browserOutput.dm index 273f7a0f1a0..b77fcc6ab9c 100644 --- a/goon/code/datums/browserOutput.dm +++ b/goon/code/datums/browserOutput.dm @@ -216,7 +216,7 @@ var/to_chat_src if(isnull(message)) message = "(null)" else if(istype(target, /datum)) - var/datum/D = target + var/datum/D = target message = "([D.type]): '[D]'" else if(!is_valid_tochat_message(message)) message = "(bad message) : '[message]'"