Files
Bubberstation/code/modules/admin/admin_investigate.dm
Aylong 1795c18aea Fix a bunch of html UI's for 516 (#88917)
## About The Pull Request
Moved broken on 516 UI's to browser datum
They now work and have a dark theme
Most of them are admin ones (All except 1)

I tried to check all the raw HTML UI's by typing `<< browse(` into the
VSC search and going through each element, but I might have missed
something.

What worked as it was, I didn't touch, except for the Dynamic control
UI's

## Why It's Good For The Game
Admin can do their things on 516
Coders/Mappers can debug some stuff on 516


![image](https://github.com/user-attachments/assets/013508d1-18cc-4001-92e4-0bc554960f86)

## Changelog

🆑
fix: Admin/Debug UI's (Especially the Game Panel) now work properly on
Byond 516, instead of showing raw HTML
/🆑
2025-01-06 18:13:48 -08:00

68 lines
2.0 KiB
Plaintext

/atom/proc/investigate_log(message, subject)
if(!message)
return
if(!subject)
CRASH("No subject provided for investigate_log")
var/F = file("[GLOB.log_directory]/[subject].html")
var/source = "[src]"
if(isliving(src))
var/mob/living/source_mob = src
source += " ([source_mob.ckey ? source_mob.ckey : "*no key*"])"
WRITE_FILE(F, "[time_stamp(format = "YYYY-MM-DD hh:mm:ss")] [REF(src)] ([x],[y],[z]) || [source] [message]<br>")
ADMIN_VERB(investigate_show, R_NONE, "Investigate", "Browse various detailed logs.", ADMIN_CATEGORY_GAME)
var/static/list/investigates = list(
INVESTIGATE_ACCESSCHANGES,
INVESTIGATE_ATMOS,
INVESTIGATE_BOTANY,
INVESTIGATE_CARGO,
INVESTIGATE_CRAFTING,
INVESTIGATE_DEATHS,
INVESTIGATE_ENGINE,
INVESTIGATE_EXPERIMENTOR,
INVESTIGATE_GRAVITY,
INVESTIGATE_HALLUCINATIONS,
INVESTIGATE_HYPERTORUS,
INVESTIGATE_PORTAL,
INVESTIGATE_PRESENTS,
INVESTIGATE_RADIATION,
INVESTIGATE_RECORDS,
INVESTIGATE_RESEARCH,
INVESTIGATE_WIRES,
)
var/list/logs_present = list("notes, memos, watchlist")
var/list/logs_missing = list("---")
for(var/subject in investigates)
var/temp_file = file("[GLOB.log_directory]/[subject].html")
if(fexists(temp_file))
logs_present += subject
else
logs_missing += "[subject] (empty)"
var/list/combined = sort_list(logs_present) + sort_list(logs_missing)
var/selected = tgui_input_list(user, "Investigate what?", "Investigation", combined)
if(isnull(selected))
return
if(!(selected in combined) || selected == "---")
return
selected = replacetext(selected, " (empty)", "")
if(selected == "notes, memos, watchlist" && check_rights(R_ADMIN))
browse_messages()
return
var/F = file("[GLOB.log_directory]/[selected].html")
if(!fexists(F))
to_chat(user, span_danger("No [selected] logfile was found."), confidential = TRUE)
return
var/datum/browser/browser = new(user, "investigate[selected]", "Investigation of [selected]", 800, 300)
browser.set_content(file2text(F))
browser.open()