mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 12:01:47 +00:00
About The Pull Request
Converts more inputs to TGUI. Possibly all user-facing input lists in the game.
Did any surrounding text/number inputs as well
Added null choice support so users can press cancel.
Added some misc TGUI input fixes
Fixed custom vendors while I was there
I refactored a lot of code while just poking around.
Primarily, usage of .len in files where I was already working on lists.
Some code was just awful - look at guardian.dm and its non use of early returns
If there are any disputes, I can revert it just fine, those changes are not integral to the PR.
Why It's Good For The Game
Fixes #63629
Fixes #63307
Fixes custom vendors /again/
Text input is more performant.
Part of a long series of TGUI conversion to make the game more visually appealing
Changelog
cl
refactor: The majority of user facing input lists have been converted to TGUI.
refactor: Tgui text inputs now scale with entered input.
fix: Many inputs now properly accept cancelling out of the menu.
fix: Fixes an edge case where users could not press enter on number inputs.
fix: Custom vendor bluescreen.
fix: You can now press ENTER on text inputs without an entry to cancel.
/cl
64 lines
1.7 KiB
Plaintext
64 lines
1.7 KiB
Plaintext
/atom/proc/investigate_log(message, subject)
|
|
if(!message || !subject)
|
|
return
|
|
var/F = file("[GLOB.log_directory]/[subject].html")
|
|
WRITE_FILE(F, "[time_stamp()] [REF(src)] ([x],[y],[z]) || [src] [message]<br>")
|
|
|
|
/client/proc/investigate_show()
|
|
set name = "Investigate"
|
|
set category = "Admin.Game"
|
|
if(!holder)
|
|
return
|
|
|
|
var/list/investigates = list(
|
|
INVESTIGATE_ACCESSCHANGES,
|
|
INVESTIGATE_ATMOS,
|
|
INVESTIGATE_BOTANY,
|
|
INVESTIGATE_CARGO,
|
|
INVESTIGATE_CRAFTING,
|
|
INVESTIGATE_EXONET,
|
|
INVESTIGATE_EXPERIMENTOR,
|
|
INVESTIGATE_GRAVITY,
|
|
INVESTIGATE_HALLUCINATIONS,
|
|
INVESTIGATE_HYPERTORUS,
|
|
INVESTIGATE_PORTAL,
|
|
INVESTIGATE_PRESENTS,
|
|
INVESTIGATE_RADIATION,
|
|
INVESTIGATE_RECORDS,
|
|
INVESTIGATE_RESEARCH,
|
|
INVESTIGATE_SINGULO,
|
|
INVESTIGATE_SUPERMATTER,
|
|
INVESTIGATE_TELESCI,
|
|
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(src, "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(src, span_danger("No [selected] logfile was found."), confidential = TRUE)
|
|
return
|
|
src << browse(F,"window=investigate[selected];size=800x300")
|