diff --git a/code/__HELPERS/510.dm b/code/__HELPERS/510.dm index 6bca2a51721..48e14bf14df 100644 --- a/code/__HELPERS/510.dm +++ b/code/__HELPERS/510.dm @@ -1,4 +1,8 @@ // Helpers for running 510 code on older versions of BYOND. +// list of places with #if DM_VERSION defines for when we remove 509 support: +// master controller and subsystems.dm +// map loader (reader.dm) +// defines/tick.dm #if DM_VERSION < 510 #define BYGEX "code/__HELPERS/bygex" /proc/replacetext(text, replace, replacement) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 5ab2eb7e142..e36a81bf833 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -75,6 +75,7 @@ if(char == "/" || char == "*") for(var/from in from_objs) objs += SDQL_get_all(type, from) + CHECK_TICK else if(char == "'" || char == "\"") objs += locate(copytext(type, 2, length(type))) @@ -85,6 +86,7 @@ for(var/datum/d in objs_temp) if(SDQL_expression(d, query_tree["where"])) objs += d + CHECK_TICK switch(query_tree[1]) if("call") @@ -94,10 +96,12 @@ for(var/datum/d in objs) for(var/v in call_list) SDQL_callproc(d, v, args_list) + CHECK_TICK if("delete") for(var/datum/d in objs) qdel(d) + CHECK_TICK if("select") var/text = "" @@ -140,6 +144,7 @@ else for(var/v in vals) d.vars[v] = vals[v] + CHECK_TICK @@ -246,31 +251,37 @@ for(var/mob/d in location) if(istype(d, type)) out += d + CHECK_TICK else if(ispath(type, /turf)) for(var/turf/d in location) if(istype(d, type)) out += d + CHECK_TICK else if(ispath(type, /obj)) for(var/obj/d in location) if(istype(d, type)) out += d + CHECK_TICK else if(ispath(type, /area)) for(var/area/d in location) if(istype(d, type)) out += d + CHECK_TICK else if(ispath(type, /atom)) for(var/atom/d in location) if(istype(d, type)) out += d + CHECK_TICK else for(var/datum/d in location) if(istype(d, type)) out += d + CHECK_TICK return out diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 90b385a3376..30074a1ed3f 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -406,6 +406,7 @@ var/global/list/g_fancy_list_of_types = null if(istype(O, hsbitem)) counter++ qdel(O) + CHECK_TICK log_admin("[key_name(src)] has deleted all ([counter]) instances of [hsbitem].") message_admins("[key_name_admin(src)] has deleted all ([counter]) instances of [hsbitem].", 0) feedback_add_details("admin_verb","DELA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm index 5c65e22ebd4..c258e48c61a 100644 --- a/code/modules/admin/verbs/massmodvar.dm +++ b/code/modules/admin/verbs/massmodvar.dm @@ -145,32 +145,38 @@ for(var/mob/M in mob_list) if ( istype(M , O.type) ) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /mob)) for(var/mob/M in mob_list) if (M.type == O.type) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK if("edit referenced object") return .(O.vars[variable]) @@ -219,6 +225,7 @@ new_value = O.vars[variable] //We already processed the non-unique form for O, reuse it M.vars[variable] = new_value + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) @@ -233,6 +240,7 @@ new_value = O.vars[variable] A.vars[variable] = new_value + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) @@ -247,6 +255,7 @@ new_value = O.vars[variable] A.vars[variable] = new_value + CHECK_TICK else if(istype(O, /mob)) for(var/mob/M in mob_list) @@ -261,6 +270,7 @@ new_value = O.vars[variable] M.vars[variable] = new_value + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) @@ -275,6 +285,7 @@ new_value = O.vars[variable] A.vars[variable] = new_value + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) @@ -289,6 +300,7 @@ new_value = O.vars[variable] A.vars[variable] = new_value + CHECK_TICK if("num") var/new_value = input("Enter new number:","Num",\ @@ -308,6 +320,7 @@ M.SetLuminosity(new_value) else M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) @@ -316,6 +329,7 @@ A.SetLuminosity(new_value) else A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) @@ -324,6 +338,7 @@ A.SetLuminosity(new_value) else A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /mob)) @@ -333,6 +348,7 @@ M.SetLuminosity(new_value) else M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) @@ -341,6 +357,7 @@ A.SetLuminosity(new_value) else A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) @@ -349,6 +366,7 @@ A.SetLuminosity(new_value) else A.vars[variable] = O.vars[variable] + CHECK_TICK if("type") var/new_value @@ -360,31 +378,38 @@ for(var/mob/M in mob_list) if ( istype(M , O.type) ) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK + else if(istype(O, /mob)) for(var/mob/M in mob_list) if (M.type == O.type) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK if("file") var/new_value = input("Pick file:","File",O.vars[variable]) as null|file @@ -396,31 +421,37 @@ for(var/mob/M in mob_list) if ( istype(M , O.type) ) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O.type, /obj)) for(var/obj/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O.type, /turf)) for(var/turf/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /mob)) for(var/mob/M in mob_list) if (M.type == O.type) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK if("icon") var/new_value = input("Pick icon:","Icon",O.vars[variable]) as null|icon @@ -431,64 +462,76 @@ for(var/mob/M in mob_list) if ( istype(M , O.type) ) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if ( istype(A , O.type) ) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /mob)) for(var/mob/M in mob_list) if (M.type == O.type) M.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if (A.type == O.type) A.vars[variable] = O.vars[variable] + CHECK_TICK if(method) if(istype(O,/mob)) for(var/mob/M in mob_list) if(istype(M,O.type)) M.on_varedit(variable) + CHECK_TICK else if(istype(O,/obj)) for(var/obj/A in world) if(istype(A,O.type)) A.on_varedit(variable) + CHECK_TICK else if(istype(O,/turf)) for(var/turf/A in block(locate(1,1,1),locate(world.maxx,world.maxy,world.maxz))) if(istype(A,O.type)) A.on_varedit(variable) + CHECK_TICK else if(istype(O, /mob)) for(var/mob/M in mob_list) if(M.type == O.type) M.on_varedit(variable) + CHECK_TICK else if(istype(O, /obj)) for(var/obj/A in world) if(A.type == O.type) A.on_varedit(variable) + CHECK_TICK else if(istype(O, /turf)) for(var/turf/A in world) if(A.type == O.type) A.on_varedit(variable) + CHECK_TICK world.log << "### MassVarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]" log_admin("[key_name(src)] mass modified [original_name]'s [variable] to [O.vars[variable]]") diff --git a/code/modules/awaymissions/maploader/reader.dm b/code/modules/awaymissions/maploader/reader.dm index 732f7c36251..e785f3a32f1 100644 --- a/code/modules/awaymissions/maploader/reader.dm +++ b/code/modules/awaymissions/maploader/reader.dm @@ -94,13 +94,20 @@ var/global/dmm_suite/preloader/_preloader = new break ycrd-- - +#if DM_VERSION < 510 sleep(-1) +#else + CHECK_TICK +#endif //reached End Of File if(findtext(tfile,quote+"}",zpos,0)+2==tfile_len) break +#if DM_VERSION < 510 sleep(-1) +#else + CHECK_TICK +#endif /** * Fill a given tile with its area/turf/objects/mobs @@ -158,7 +165,11 @@ var/global/dmm_suite/preloader/_preloader = new members_attributes.len++ members_attributes[index++] = fields +#if DM_VERSION < 510 sleep(-1) +#else + CHECK_TICK +#endif while(dpos != 0) @@ -211,6 +222,7 @@ var/global/dmm_suite/preloader/_preloader = new //finally instance all remainings objects/mobs for(index in 1 to first_turf_index-1) instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd) + CHECK_TICK //////////////// //Helpers procs