diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 3485a45771..c11674f771 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -322,6 +322,14 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") pct += delta winset(src, "mainwindow.split", "splitter=[pct]") +//GS13: Runtime viewer for users +/client/verb/view_runtimes_minimal() + set name = "View Minimal Runtimes" + set category = "OOC" + set desc = "Open the runtime error viewer, with reduced information" + + GLOB.error_cache.show_to_minimal(src) + /client/verb/fix_stat_panel() set name = "Fix Stat Panel" set hidden = TRUE diff --git a/code/modules/error_handler/error_viewer.dm b/code/modules/error_handler/error_viewer.dm index b88437edef..ad868138b5 100644 --- a/code/modules/error_handler/error_viewer.dm +++ b/code/modules/error_handler/error_viewer.dm @@ -23,6 +23,7 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) // Common vars and procs are kept at the error_viewer level /datum/error_viewer var/name = "" + var/min_name = "" //GS13: Runtime viewer for users /datum/error_viewer/proc/browse_to(client/user, html) var/datum/browser/browser = new(user.mob, "error_viewer", null, 600, 400) @@ -78,6 +79,15 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) var/list/error_sources = list() var/list/errors_silenced = list() +/datum/error_viewer/error_cache/proc/show_to_minimal(user, datum/error_viewer/back_to, linear) + var/html = "[GLOB.total_runtimes] runtimes, [GLOB.total_runtimes_skipped] skipped

" + var/datum/error_viewer/error_source/error_source + for (var/erroruid in error_sources) + error_source = error_sources[erroruid] + html += "[error_source.min_name]
" + + browse_to(user, html) + /datum/error_viewer/error_cache/show_to(user, datum/error_viewer/back_to, linear) var/html = build_header() html += "[GLOB.total_runtimes] runtimes, [GLOB.total_runtimes_skipped] skipped

" @@ -134,7 +144,9 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) name = "\[[TIME_STAMP("hh:mm:ss", FALSE)]] Uncaught exceptions" return - name = "\[[TIME_STAMP("hh:mm:ss", FALSE)]] Runtime in [e.file], line [e.line]: [html_encode(e.name)]" + //GS13: Runtime viewer for users + min_name = "\[[TIME_STAMP("hh:mm:ss", FALSE)]] Runtime in [e.file], line [e.line]" + name = min_name + ": [html_encode(e.name)]" /datum/error_viewer/error_source/show_to(user, datum/error_viewer/back_to, linear) if (!istype(back_to)) @@ -164,7 +176,9 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) is_skip_count = TRUE return - name = "\[[TIME_STAMP("hh:mm:ss", FALSE)]] Runtime in [e.file], line [e.line]: [html_encode(e.name)]" + //GS13: Runtime viewer for users + min_name = "\[[TIME_STAMP("hh:mm:ss", FALSE)]] Runtime in [e.file], line [e.line]" + name = min_name + ": [html_encode(e.name)]" exc = e if (istype(desclines)) for (var/line in desclines)