diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index fd2e072cef9..c6d36bc6061 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -206,8 +206,6 @@ }\ }\ A.flags_1 &= ~OVERLAY_QUEUED_1;\ - if(isturf(A)){SSdemo.mark_turf(A);}\ - else if(isobj(A) || ismob(A)){SSdemo.mark_dirty(A);}\ } // Air subsystem subtasks diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 2f7986f8310..62a22967d51 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -8,11 +8,6 @@ * * [/obj/item/proc/afterattack]. The return value does not matter. */ /obj/item/proc/melee_attack_chain(mob/user, atom/target, params) - SSdemo.mark_dirty(src) - if(isturf(target)) - SSdemo.mark_turf(target) - else - SSdemo.mark_dirty(target) if(tool_behaviour && target.tool_act(user, src, tool_behaviour)) return if(pre_attack(target, user, params)) diff --git a/code/controllers/subsystem/chat.dm b/code/controllers/subsystem/chat.dm index ccc2d8c8f7a..e99bb22e080 100644 --- a/code/controllers/subsystem/chat.dm +++ b/code/controllers/subsystem/chat.dm @@ -39,9 +39,6 @@ SUBSYSTEM_DEF(chat) if (trailing_newline) message += "
" - if(!confidential) - SSdemo.write_chat(target, message) - //url_encode it TWICE, this way any UTF-8 characters are able to be decoded by the Javascript. //Do the double-encoding here to save nanoseconds var/twiceEncoded = url_encode(url_encode(message)) diff --git a/code/controllers/subsystem/demo.dm b/code/controllers/subsystem/demo.dm deleted file mode 100644 index e48c100c35d..00000000000 --- a/code/controllers/subsystem/demo.dm +++ /dev/null @@ -1,443 +0,0 @@ -SUBSYSTEM_DEF(demo) - name = "Demo" - wait = 1 - flags = SS_TICKER - init_order = INIT_ORDER_DEMO - runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY - - var/list/pre_init_lines = list() // stuff like chat before the init - var/list/icon_cache = list() - var/list/icon_state_caches = list() - var/list/name_cache = list() - - var/list/marked_dirty = list() - var/list/marked_new = list() - var/list/marked_turfs = list() - var/list/del_list = list() - - var/last_written_time = null - var/last_chat_message = null - - // stats stuff - var/last_queued = 0 - var/last_completed = 0 - -/datum/controller/subsystem/demo/proc/write_time() - var/new_time = world.time - if(last_written_time != new_time) - if(initialized) - WRITE_LOG_NO_FORMAT(GLOB.demo_log, "time [new_time]\n") - else - pre_init_lines += "time [new_time]" - last_written_time = new_time - -/datum/controller/subsystem/demo/proc/write_event_line(line) - write_time() - if(initialized) - WRITE_LOG_NO_FORMAT(GLOB.demo_log, "[line]\n") - else - pre_init_lines += line - -/datum/controller/subsystem/demo/proc/write_chat(target, text) - var/target_text = "" - if(target == GLOB.clients) - target_text = "world" - else if(islist(target)) - var/list/target_keys = list() - for(var/T in target) - var/client/C = CLIENT_FROM_VAR(T) - if(C) - target_keys += C.ckey - if(!target_keys.len) - return - target_text = jointext(target_keys, ",") - else - var/client/C = CLIENT_FROM_VAR(target) - if(C) - target_text = C.ckey - else - return - write_event_line("chat [target_text] [last_chat_message == text ? "=" : json_encode(text)]") - last_chat_message = text - -/datum/controller/subsystem/demo/Initialize() - if(!CONFIG_GET(flag/demos_enabled)) - flags |= SS_NO_FIRE - can_fire = FALSE - marked_dirty.Cut() - marked_new.Cut() - marked_turfs.Cut() - return ..() - - WRITE_LOG_NO_FORMAT(GLOB.demo_log, "demo version 1\n") // increment this if you change the format - if(GLOB.revdata) - WRITE_LOG_NO_FORMAT(GLOB.demo_log, "commit [GLOB.revdata.originmastercommit || GLOB.revdata.commit]\n") - - // write a "snapshot" of the world at this point. - // start with turfs - log_world("Writing turfs...") - WRITE_LOG_NO_FORMAT(GLOB.demo_log, "init [world.maxx] [world.maxy] [world.maxz]\n") - marked_turfs.Cut() - for(var/z in 1 to world.maxz) - var/row_list = list() - var/last_appearance - var/rle_count = 1 - for(var/y in 1 to world.maxy) - for(var/x in 1 to world.maxx) - var/turf/T = locate(x,y,z) - T.demo_last_appearance = T.appearance - var/this_appearance - // space turfs are difficult to RLE otherwise, because they all - // have different appearances despite being the same thing. - if(T.type == /turf/open/space || T.type == /turf/open/space/basic) - this_appearance = "s" // save the bytes - else if(istype(T, /turf/open/space/transit)) - this_appearance = "t[T.dir]" - else - this_appearance = T.appearance - if(this_appearance == last_appearance) - rle_count++ - else - if(rle_count > 1) - row_list += rle_count - rle_count = 1 - if(istext(this_appearance)) - row_list += this_appearance - else - // do a diff with the previous turf to save those bytes - row_list += encode_appearance(this_appearance, istext(last_appearance) ? null : last_appearance) - last_appearance = this_appearance - if(rle_count > 1) - row_list += rle_count - WRITE_LOG_NO_FORMAT(GLOB.demo_log, jointext(row_list, ",") + "\n") - CHECK_TICK - // then do objects - log_world("Writing objects") - marked_new.Cut() - marked_dirty.Cut() - for(var/z in 1 to world.maxz) - var/spacing = 0 - var/row_list = list() - for(var/y in 1 to world.maxy) - for(var/x in 1 to world.maxx) - var/turf/T = locate(x,y,z) - var/list/turf_list = list() - for(var/C in T.contents) - var/atom/movable/as_movable = C - if(as_movable.loc != T) - continue - if(isobj(C) || ismob(C)) - turf_list += encode_init_obj(C) - if(turf_list.len) - if(spacing) - row_list += spacing - spacing = 0 - row_list += turf_list - spacing++ - CHECK_TICK // This is a bit risky because something might change but meh, its not a big deal. - WRITE_LOG_NO_FORMAT(GLOB.demo_log, jointext(row_list, ",") + "\n") - - // track objects that exist in nullspace - var/nullspace_list = list() - for(var/M in world) - if(!isobj(M) && !ismob(M)) - continue - var/atom/movable/AM = M - if(AM.loc != null) - continue - nullspace_list += encode_init_obj(AM) - CHECK_TICK - WRITE_LOG_NO_FORMAT(GLOB.demo_log, jointext(nullspace_list, ",") + "\n") - - for(var/line in pre_init_lines) - WRITE_LOG_NO_FORMAT(GLOB.demo_log, "[line]\n") - - return ..() - -/datum/controller/subsystem/demo/fire() - if(!src.marked_new.len && !src.marked_dirty.len && !src.marked_turfs.len && !src.del_list.len) - return // nothing to do - - last_queued = src.marked_new.len + src.marked_dirty.len + src.marked_turfs.len - last_completed = 0 - - write_time() - if(src.del_list.len) - var/s = "del [jointext(src.del_list, ",")]\n" // if I don't do it like this I get "incorrect number of macro arguments" because byond is stupid and sucks - WRITE_LOG_NO_FORMAT(GLOB.demo_log, s) - src.del_list.Cut() - - var/canceled = FALSE - - var/list/marked_dirty = src.marked_dirty - var/list/dirty_updates = list() - while(marked_dirty.len) - last_completed++ - var/atom/movable/M = marked_dirty[marked_dirty.len] - marked_dirty.len-- - if(M.gc_destroyed || !M) - continue - if(M.loc == M.demo_last_loc && M.appearance == M.demo_last_appearance) - continue - var/loc_string = "=" - if(M.loc != M.demo_last_loc) - loc_string = "null" - if(isturf(M.loc)) - loc_string = "[M.x],[M.y],[M.z]" - else if(ismovable(M.loc)) - loc_string = "\ref[M.loc]" - M.demo_last_loc = M.loc - var/appearance_string = "=" - if(M.appearance != M.demo_last_appearance) - appearance_string = encode_appearance(M.appearance, M.demo_last_appearance) - M.demo_last_appearance = M.appearance - dirty_updates += "\ref[M] [loc_string] [appearance_string]" - if(MC_TICK_CHECK) - canceled = TRUE - break - if(dirty_updates.len) - var/s = "update [jointext(dirty_updates, ",")]\n" - WRITE_LOG_NO_FORMAT(GLOB.demo_log, s) - if(canceled) - return - - - var/list/marked_new = src.marked_new - var/list/new_updates = list() - while(marked_new.len) - last_completed++ - var/atom/movable/M = marked_new[marked_new.len] - marked_new.len-- - if(M.gc_destroyed || !M) - continue - var/loc_string = "null" - if(isturf(M.loc)) - loc_string = "[M.x],[M.y],[M.z]" - else if(ismovable(M.loc)) - loc_string = "\ref[M.loc]" - M.demo_last_appearance = M.appearance - new_updates += "\ref[M] [loc_string] [encode_appearance(M.appearance)]" - if(MC_TICK_CHECK) - canceled = TRUE - break - if(new_updates.len) - var/s = "new [jointext(new_updates, ",")]\n" - WRITE_LOG_NO_FORMAT(GLOB.demo_log, s) - if(canceled) - return - - - var/list/marked_turfs = src.marked_turfs - var/list/turf_updates = list() - while(marked_turfs.len) - last_completed++ - var/turf/T = marked_turfs[marked_turfs.len] - marked_turfs.len-- - if(T && T.appearance != T.demo_last_appearance) - turf_updates += "([T.x],[T.y],[T.z])=[encode_appearance(T.appearance, T.demo_last_appearance)]" - T.demo_last_appearance = T.appearance - if(MC_TICK_CHECK) - canceled = TRUE - break - if(turf_updates.len) - var/s = "turf [jointext(turf_updates, ",")]\n" - WRITE_LOG_NO_FORMAT(GLOB.demo_log, s) - if(canceled) - return - -/datum/controller/subsystem/demo/proc/encode_init_obj(atom/movable/M) - M.demo_last_loc = M.loc - M.demo_last_appearance = M.appearance - var/encoded_appearance = encode_appearance(M.appearance) - var/list/encoded_contents = list() - for(var/C in M.contents) - if(isobj(C) || ismob(C)) - encoded_contents += encode_init_obj(C) - return "\ref[M]=[encoded_appearance][(encoded_contents.len ? "([jointext(encoded_contents, ",")])" : "")]" - -// please make sure the order you call this function in is the same as the order you write -/datum/controller/subsystem/demo/proc/encode_appearance(image/appearance, image/diff_appearance, diff_remove_overlays = FALSE) - if(appearance == null) - return "n" - if(appearance == diff_appearance) - return "=" - - var/icon_txt = "[appearance.icon]" - var/cached_icon = icon_cache[icon_txt] || icon_txt - var/list/icon_state_cache - if(!isnum(cached_icon)) - icon_cache[icon_txt] = icon_cache.len + 1 - icon_state_cache = (icon_state_caches[++icon_state_caches.len] = list()) - else - icon_state_cache = icon_state_caches[cached_icon] - - var/list/cached_icon_state = icon_state_cache[appearance.icon_state] || appearance.icon_state - if(!isnum(cached_icon_state)) - icon_state_cache[appearance.icon_state] = icon_state_cache.len + 1 - - var/cached_name = name_cache[appearance.name] || appearance.name - if(!isnum(cached_name)) - name_cache[appearance.name] = name_cache.len + 1 - - var/color_string = appearance.color || "w" - if(islist(color_string)) - var/list/old_list = appearance.color - var/list/inted = list() - inted.len = old_list.len - for(var/i in 1 to old_list.len) - inted[i] += round(old_list[i] * 255) - color_string = jointext(inted, ",") - var/overlays_string = "\[]" - if(appearance.overlays.len) - var/list/overlays_list = list() - for(var/i in 1 to appearance.overlays.len) - var/image/overlay = appearance.overlays[i] - overlays_list += encode_appearance(overlay, appearance, TRUE) - overlays_string = "\[[jointext(overlays_list, ",")]]" - - var/underlays_string = "\[]" - if(appearance.underlays.len) - var/list/underlays_list = list() - for(var/i in 1 to appearance.underlays.len) - var/image/underlay = appearance.underlays[i] - underlays_list += encode_appearance(underlay, appearance, TRUE) - underlays_string = "\[[jointext(underlays_list, ",")]]" - - var/appearance_transform_string = "i" - if(appearance.transform) - var/matrix/M = appearance.transform - appearance_transform_string = "[M.a],[M.b],[M.c],[M.d],[M.e],[M.f]" - if(appearance_transform_string == "1,0,0,0,1,0") - appearance_transform_string = "i" - var/list/appearance_list = list( - json_encode(cached_icon), - json_encode(cached_icon_state), - json_encode(cached_name), - appearance.appearance_flags, - appearance.layer, - appearance.plane == -32767 ? "" : appearance.plane, - appearance.dir == 2 ? "" : appearance.dir, - appearance.color ? color_string : "", - appearance.alpha == 255 ? "" : appearance.alpha, - appearance.pixel_x == 0 ? "" : appearance.pixel_x, - appearance.pixel_y == 0 ? "" : appearance.pixel_y, - appearance.blend_mode <= 1 ? "" : appearance.blend_mode, - appearance_transform_string != "i" ? appearance_transform_string : "", - appearance:invisibility == 0 ? "" : appearance:invisibility, // colon because dreamchecker is dumb - appearance.pixel_w == 0 ? "" : appearance.pixel_w, - appearance.pixel_z == 0 ? "" : appearance.pixel_z, - appearance.overlays.len ? overlays_string : "", - appearance.underlays.len ? underlays_string : "" - ) - while(appearance_list[appearance_list.len] == "" && appearance_list.len > 0) - appearance_list.len-- - - var/undiffed_string = "{[jointext(appearance_list, ";")]}" - - if(diff_appearance) - var/overlays_identical = TRUE - if(diff_remove_overlays) - overlays_identical = (appearance.overlays.len == 0) - else if(appearance.overlays.len != diff_appearance.overlays.len) - overlays_identical = FALSE - else - for(var/i in 1 to appearance.overlays.len) - if(appearance.overlays[i] != diff_appearance.overlays[i]) - overlays_identical = FALSE - break - - var/underlays_identical = TRUE - if(diff_remove_overlays) - underlays_identical = (appearance.underlays.len == 0) - else if(appearance.underlays.len != diff_appearance.underlays.len) - underlays_identical = FALSE - else - for(var/i in 1 to appearance.underlays.len) - if(appearance.underlays[i] != diff_appearance.underlays[i]) - underlays_identical = FALSE - break - - var/diff_transform_string = "i" - if(diff_appearance.transform) - var/matrix/M = diff_appearance.transform - diff_transform_string = "[M.a],[M.b],[M.c],[M.d],[M.e],[M.f]" - if(diff_transform_string == "1,0,0,0,1,0") - diff_transform_string = "i" - - var/list/diffed_appearance_list = list( - json_encode(cached_icon), - json_encode(cached_icon_state), - json_encode(cached_name), - appearance.appearance_flags == diff_appearance.appearance_flags ? "" : appearance.appearance_flags, - appearance.layer == diff_appearance.layer ? "" : appearance.layer, - appearance.plane == diff_appearance.plane ? "" : appearance.plane, - appearance.dir == diff_appearance.dir ? "" : appearance.dir, - appearance.color == diff_appearance.color ? "" : color_string, - appearance.alpha == diff_appearance.alpha ? "" : appearance.alpha, - appearance.pixel_x == diff_appearance.pixel_x ? "" : appearance.pixel_x, - appearance.pixel_y == diff_appearance.pixel_y ? "" : appearance.pixel_y, - appearance.blend_mode == diff_appearance.blend_mode ? "" : appearance.blend_mode, - appearance_transform_string == diff_transform_string ? "" : appearance_transform_string, - appearance:invisibility == diff_appearance:invisibility ? "" : appearance:invisibility, // colon because dreamchecker is too dumb - appearance.pixel_w == diff_appearance.pixel_w ? "" : appearance.pixel_w, - appearance.pixel_z == diff_appearance.pixel_z ? "" : appearance.pixel_z, - overlays_identical ? "" : overlays_string, - underlays_identical ? "" :underlays_string - ) - while(diffed_appearance_list[diffed_appearance_list.len] == "" && diffed_appearance_list.len > 0) - diffed_appearance_list.len-- - - var/diffed_string = "~{[jointext(diffed_appearance_list, ";")]}" - if(length(diffed_string) < length(undiffed_string)) - return diffed_string - return undiffed_string - -/datum/controller/subsystem/demo/stat_entry(msg) - msg += "Remaining: {" - msg += "Trf:[marked_turfs.len]|" - msg += "New:[marked_new.len]|" - msg += "Upd:[marked_dirty.len]|" - msg += "Del:[del_list.len]" - msg += "}" - ..(msg) - -/datum/controller/subsystem/demo/proc/mark_turf(turf/T) - if(!can_fire) - return - if(!isturf(T)) - return - marked_turfs[T] = TRUE - -/datum/controller/subsystem/demo/proc/mark_new(atom/movable/M) - if(!can_fire) - return - if(!isobj(M) && !ismob(M)) - return - if(M.gc_destroyed) - return - marked_new[M] = TRUE - if(marked_dirty[M]) - marked_dirty -= M - -// I can't wait for when TG ports this and they make this a #define macro. -/datum/controller/subsystem/demo/proc/mark_dirty(atom/movable/M) - if(!can_fire) - return - if(!isobj(M) && !ismob(M)) - return - if(M.gc_destroyed) - return - if(!marked_new[M]) - marked_dirty[M] = TRUE - -/datum/controller/subsystem/demo/proc/mark_destroyed(atom/movable/M) - if(!can_fire) - return - if(!isobj(M) && !ismob(M)) - return - if(marked_new[M]) - marked_new -= M - if(marked_dirty[M]) - marked_dirty -= M - if(initialized) - del_list["\ref[M]"] = 1 diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index a6086a370ef..f8ca1e7eae4 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -98,7 +98,7 @@ SUBSYSTEM_DEF(garbage) state = SS_RUNNING break - + /datum/controller/subsystem/garbage/proc/HandleQueue(level = GC_QUEUE_CHECK) @@ -279,7 +279,6 @@ SUBSYSTEM_DEF(garbage) SSgarbage.Queue(D) if (QDEL_HINT_IWILLGC) D.gc_destroyed = world.time - SSdemo.mark_destroyed(D) return if (QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destory. if(!force) @@ -299,10 +298,8 @@ SUBSYSTEM_DEF(garbage) SSgarbage.Queue(D) if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete - SSdemo.mark_destroyed(D) SSgarbage.Queue(D, GC_QUEUE_HARDDELETE) if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. - SSdemo.mark_destroyed(D) SSgarbage.HardDelete(D) if (QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion. SSgarbage.Queue(D) @@ -321,8 +318,6 @@ SUBSYSTEM_DEF(garbage) #endif I.no_hint++ SSgarbage.Queue(D) - if(D) - SSdemo.mark_destroyed(D) else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic") diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 9bcb4f97d5b..088536ecd82 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -126,7 +126,6 @@ if(SSatoms.InitAtom(src, args)) //we were deleted return - SSdemo.mark_new(src) /** * The primary method that objects are setup in SS13 with @@ -567,7 +566,6 @@ add_overlay(new_overlays) . = TRUE - SSdemo.mark_dirty(src) SEND_SIGNAL(src, COMSIG_ATOM_UPDATED_ICON, signalOut, .) /// Updates the icon state of the atom @@ -852,7 +850,6 @@ SHOULD_CALL_PARENT(TRUE) SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, dir, newdir) dir = newdir - SSdemo.mark_dirty(src) ///Handle melee attack by a mech /atom/proc/mech_melee_attack(obj/mecha/M) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 5282fa51f38..a33efbf1f6e 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -395,7 +395,6 @@ if (length(client_mobs_in_contents)) update_parallax_contents() - SSdemo.mark_dirty(src) return TRUE /atom/movable/Destroy(force) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 288fdfab112..7e0f0f9abf5 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -431,7 +431,6 @@ if(AIRLOCK_DENY, AIRLOCK_OPENING, AIRLOCK_CLOSING, AIRLOCK_EMAG) icon_state = "nonexistenticonstate" //MADNESS set_airlock_overlays(state) - SSdemo.mark_dirty(src) /obj/machinery/door/airlock/proc/set_airlock_overlays(state) var/mutable_appearance/frame_overlay diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 5786314acc7..dfe84db4e54 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -87,7 +87,6 @@ icon_state = "closed" else icon_state = "open" - SSdemo.mark_dirty(src) /obj/machinery/door/poddoor/try_to_activate_door(mob/user) return diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index c0c8e2a87dd..3f419f6a2e8 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -54,7 +54,6 @@ icon_state = base_state else icon_state = "[base_state]open" - SSdemo.mark_dirty(src) /obj/machinery/door/window/proc/open_and_close() if(!open()) diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index 13745061452..0de4b556219 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -132,7 +132,6 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( for(var/turf/open/space/S in RANGE_TURFS(1, src)) //RANGE_TURFS is in code\__HELPERS\game.dm S.update_starlight() - SSdemo.mark_turf(W) return W diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d7588334abd..717c0f5ec3e 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -547,7 +547,3 @@ . = ..() if(. != BULLET_ACT_FORCE_PIERCE) . = BULLET_ACT_TURF - -/turf/setDir() - . = ..() - SSdemo.mark_turf(src) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 2306c604231..b2885c31771 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -204,7 +204,6 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) #endif /client/New(TopicData) - SSdemo.write_event_line("login [ckey]") var/tdata = TopicData //save this for later use chatOutput = new /datum/chatOutput(src) TopicData = null //Prevent calls to client.Topic from connect @@ -494,7 +493,6 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) UNSETEMPTY(movingmob.client_mobs_in_contents) seen_messages = null Master.UpdateTickRate() - SSdemo.write_event_line("logout [ckey]") . = ..() //Even though we're going to be hard deleted there are still some things that want to know the destroy is happening return QDEL_HINT_HARDDEL_NOW diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm index 18289d51f60..de3456cbdea 100644 --- a/code/modules/goonchat/browserOutput.dm +++ b/code/modules/goonchat/browserOutput.dm @@ -247,9 +247,6 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("tmp/iconCache.sav")) //Cache of ico if(trailing_newline) message += "
" - if(!confidential) - SSdemo.write_chat(target, message) - if(islist(target)) // Do the double-encoding outside the loop to save nanoseconds var/twiceEncoded = url_encode(url_encode(message)) diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index e48f15a981f..7c663413c7c 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -87,7 +87,6 @@ auto_deadmin_on_login() log_message("Client [key_name(src)] has taken ownership of mob [src]([src.type])", LOG_OWNERSHIP) - SSdemo.write_event_line("setmob [client.ckey] \ref[src]") SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client) return TRUE diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 222b843c27b..daf67825bdc 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -105,7 +105,6 @@ All ShuttleMove procs go here loc = newT - SSdemo.mark_dirty(src) return TRUE diff --git a/tgstation.dme b/tgstation.dme index ff48021804d..25c0d03983c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -250,7 +250,6 @@ #include "code\controllers\subsystem\communications.dm" #include "code\controllers\subsystem\dbcore.dm" #include "code\controllers\subsystem\dcs.dm" -#include "code\controllers\subsystem\demo.dm" #include "code\controllers\subsystem\discord.dm" #include "code\controllers\subsystem\disease.dm" #include "code\controllers\subsystem\economy.dm"