diff --git a/code/__HELPERS/text_vr.dm b/code/__HELPERS/text_vr.dm index 06aadb6708..7cd683f456 100644 --- a/code/__HELPERS/text_vr.dm +++ b/code/__HELPERS/text_vr.dm @@ -24,4 +24,4 @@ GLOBAL_LIST_EMPTY(whitelisted_species_list) /proc/log_mentor(text) GLOB.mentor_log.Add(text) - GLOB.diary << "\[[time_stamp()]]MENTOR: [text]" \ No newline at end of file + GLOB.world_game_log << "\[[time_stamp()]]MENTOR: [text]" \ No newline at end of file diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index f856db4884..76e29f8c5c 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -64,9 +64,9 @@ var/respawn = 1 var/guest_jobban = 1 var/usewhitelist = 0 - var/inactivity_period = 3000 //time in ds until a player is considered inactive - var/afk_period = 6000 //time in ds until a player is considered afk and kickable - var/kick_inactive = FALSE //force disconnect for inactive players + var/inactivity_period = 3000 //time in ds until a player is considered inactive + var/afk_period = 6000 //time in ds until a player is considered afk and kickable + var/kick_inactive = FALSE //force disconnect for inactive players var/load_jobs_from_txt = 0 var/automute_on = 0 //enables automuting/spam prevention var/minimal_access_threshold = 0 //If the number of players is larger than this threshold, minimal access will be turned on. @@ -267,7 +267,7 @@ if(M.config_tag) if(!(M.config_tag in modes)) // ensure each mode is added only once - GLOB.world_game_log << "Adding game mode [M.name] ([M.config_tag]) to configuration." + GLOB.world_game_log << "Adding game mode [M.name] ([M.config_tag]) to configuration." modes += M.config_tag mode_names[M.config_tag] = M.name probabilities[M.config_tag] = M.probability @@ -289,7 +289,7 @@ GLOB.abandon_allowed = respawn /datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist - var/list/Lines = world.file2list(filename) + var/list/Lines = world.file2list(filename) for(var/t in Lines) if(!t) @@ -406,12 +406,12 @@ usewhitelist = TRUE if("allow_metadata") allow_Metadata = 1 - if("inactivity_period") - inactivity_period = text2num(value) * 10 //documented as seconds in config.txt - if("afk_period") - afk_period = text2num(value) * 10 // ^^^ + if("inactivity_period") + inactivity_period = text2num(value) * 10 //documented as seconds in config.txt + if("afk_period") + afk_period = text2num(value) * 10 // ^^^ if("kick_inactive") - kick_inactive = TRUE + kick_inactive = TRUE if("load_jobs_from_txt") load_jobs_from_txt = 1 if("forbid_singulo_possession") @@ -532,7 +532,7 @@ if("error_msg_delay") error_msg_delay = text2num(value) else - GLOB.world_game_log << "Unknown setting in configuration: '[name]'" + GLOB.world_game_log << "Unknown setting in configuration: '[name]'" else if(type == "game_options") switch(name) @@ -595,13 +595,13 @@ if(mode_name in modes) continuous[mode_name] = 1 else - GLOB.world_game_log << "Unknown continuous configuration definition: [mode_name]." + GLOB.world_game_log << "Unknown continuous configuration definition: [mode_name]." if("midround_antag") var/mode_name = lowertext(value) if(mode_name in modes) midround_antag[mode_name] = 1 else - GLOB.world_game_log << "Unknown midround antagonist configuration definition: [mode_name]." + GLOB.world_game_log << "Unknown midround antagonist configuration definition: [mode_name]." if("midround_antag_time_check") midround_antag_time_check = text2num(value) if("midround_antag_life_check") @@ -617,9 +617,9 @@ if(mode_name in modes) min_pop[mode_name] = text2num(mode_value) else - GLOB.world_game_log << "Unknown minimum population configuration definition: [mode_name]." + GLOB.world_game_log << "Unknown minimum population configuration definition: [mode_name]." else - GLOB.world_game_log << "Incorrect minimum population configuration definition: [mode_name] [mode_value]." + GLOB.world_game_log << "Incorrect minimum population configuration definition: [mode_name] [mode_value]." if("max_pop") var/pop_pos = findtext(value, " ") var/mode_name = null @@ -631,9 +631,9 @@ if(mode_name in modes) max_pop[mode_name] = text2num(mode_value) else - GLOB.world_game_log << "Unknown maximum population configuration definition: [mode_name]." + GLOB.world_game_log << "Unknown maximum population configuration definition: [mode_name]." else - GLOB.world_game_log << "Incorrect maximum population configuration definition: [mode_name] [mode_value]." + GLOB.world_game_log << "Incorrect maximum population configuration definition: [mode_name] [mode_value]." if("shuttle_refuel_delay") shuttle_refuel_delay = text2num(value) if("show_game_type_odds") @@ -661,9 +661,9 @@ if(prob_name in modes) probabilities[prob_name] = text2num(prob_value) else - GLOB.world_game_log << "Unknown game mode probability configuration definition: [prob_name]." + GLOB.world_game_log << "Unknown game mode probability configuration definition: [prob_name]." else - GLOB.world_game_log << "Incorrect probability configuration definition: [prob_name] [prob_value]." + GLOB.world_game_log << "Incorrect probability configuration definition: [prob_name] [prob_value]." if("protect_roles_from_antagonist") protect_roles_from_antagonist = 1 @@ -710,7 +710,7 @@ // Value is in the form "LAWID,NUMBER" var/list/L = splittext(value, ",") if(L.len != 2) - GLOB.world_game_log << "Invalid LAW_WEIGHT: " + t + GLOB.world_game_log << "Invalid LAW_WEIGHT: " + t continue var/lawid = L[1] var/weight = text2num(L[2]) @@ -766,8 +766,8 @@ mentors_mobname_only = 1 if ("mentor_legacy_system") mentor_legacy_system = 1 - else - GLOB.diary << "Unknown setting in configuration: '[name]'" + // else + // GLOB.world_game_log << "Adding game mode [M.name] ([M.config_tag]) to configuration." fps = round(fps) if(fps <= 0) @@ -775,7 +775,7 @@ /datum/configuration/proc/loadmaplist(filename) - var/list/Lines = world.file2list(filename) + var/list/Lines = world.file2list(filename) var/datum/map_config/currentmap = null for(var/t in Lines) @@ -821,11 +821,11 @@ maplist[currentmap.map_name] = currentmap currentmap = null else - GLOB.world_game_log << "Unknown command in map vote config: '[command]'" + GLOB.world_game_log << "Unknown command in map vote config: '[command]'" /datum/configuration/proc/loadsql(filename) - var/list/Lines = world.file2list(filename) + var/list/Lines = world.file2list(filename) for(var/t in Lines) if(!t) continue @@ -865,7 +865,7 @@ if("feedback_tableprefix") global.sqlfdbktableprefix = value else - GLOB.world_game_log << "Unknown setting in configuration: '[name]'" + GLOB.world_game_log << "Unknown setting in configuration: '[name]'" /datum/configuration/proc/pick_mode(mode_name) // I wish I didn't have to instance the game modes in order to look up diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 269bf1e4a7..a807202c9e 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -42,6 +42,7 @@ SUBSYSTEM_DEF(blackbox) msg_cargo = SSblackbox.msg_cargo msg_other = SSblackbox.msg_other + feedback = SSblackbox.feedback //no touchie @@ -90,7 +91,7 @@ SUBSYSTEM_DEF(blackbox) if (sqlrowlist != "") sqlrowlist += ", " //a comma (,) at the start of the first row to insert will trigger a SQL error - sqlrowlist += "(null, Now(), [GLOB.round_id], \"[sanitizeSQL(FV.get_variable())]\", [FV.get_value()], \"[sanitizeSQL(FV.get_details())]\")" + sqlrowlist += "(null, Now(), [GLOB.round_id], \"[sanitizeSQL(FV.get_variable())]\", [FV.get_value()], \"[sanitizeSQL(FV.get_details())]\")" if (sqlrowlist == "") return diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 53fefc30bc..7aca1ececb 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -1,50 +1,21 @@ -//By Carnwennan - -//This system was made as an alternative to all the in-game lists and variables used to log stuff in-game. -//lists and variables are great. However, they have several major flaws: -//Firstly, they use memory. TGstation has one of the highest memory usage of all the ss13 branches. -//Secondly, they are usually stored in an object. This means that they aren't centralised. It also means that -//the data is lost when the object is deleted! This is especially annoying for things like the singulo engine! -#define INVESTIGATE_DIR "data/investigate/" - -//SYSTEM -/proc/investigate_subject2file(subject) - return file("[INVESTIGATE_DIR][subject].html") - -/proc/investigate_reset() - if(fdel(INVESTIGATE_DIR)) - return 1 - return 0 - -/atom/proc/investigate_log(message, subject) - if(!message) - return - var/F = investigate_subject2file(subject) - if(!F) +atom/proc/investigate_log(message, subject) + if(!message || !subject) return + var/F = file("[GLOB.log_directory]/[subject].html") F << "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message]
" -//ADMINVERBS -/client/proc/investigate_show( subject in list("hrefs","notes, memos, watchlist","singulo","wires","telesci", "gravity", "records", "cargo", "supermatter", "atmos", "experimentor", "botany") ) + +/client/proc/investigate_show( subject in list("hrefs","notes, memos, watchlist","singulo","wires","telesci", "gravity", "records", "cargo", "supermatter", "atmos", "experimentor", "botany") ) set name = "Investigate" set category = "Admin" if(!holder) return switch(subject) - if("singulo", "wires", "telesci", "gravity", "records", "cargo", "supermatter", "atmos", "botany") //general one-round-only stuff - var/F = investigate_subject2file(subject) - if(!F) - to_chat(src, "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.") - return - src << browse(F,"window=investigate[subject];size=800x300") - if("hrefs") //persistent logs and stuff - if(GLOB.href_logfile) - src << browse(GLOB.href_logfile,"window=investigate[subject];size=800x300") - else if(!config.log_hrefs) - to_chat(src, "Href logging is off and no logfile was found.") - return - else - to_chat(src, "No href logfile was found.") - return if("notes, memos, watchlist") browse_messages() + else + var/F = file("[GLOB.log_directory]/[subject].html") + if(!fexists(F)) + to_chat(src, "No [subject] logfile was found.") + return + src << browse(F,"window=investigate[subject];size=800x300") \ No newline at end of file diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index a1e01cd939..7efbbb839e 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -80,8 +80,7 @@ */ //Logs all hrefs - if(config && config.log_hrefs && GLOB.href_logfile) - GLOB.href_logfile << "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
" + GLOB.world_href_log << "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
" // Admin PM if(href_list["priv_msg"]) @@ -370,7 +369,7 @@ GLOBAL_LIST(external_rsc_urls) adminGreet(1) holder.owner = null GLOB.admins -= src - + if (!GLOB.admins.len && SSticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing. if(!GLOB.admins.len) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell. var/cheesy_message = pick( @@ -396,7 +395,7 @@ GLOBAL_LIST(external_rsc_urls) "Sometimes when I have sex, I think about putting an entire peanut butter and jelly sandwich in the VCR.",\ "Forever alone :("\ ) - + send2irc("Server", "[cheesy_message] (No admins online)") GLOB.ahelp_tickets.ClientLogout(src)