diff --git a/code/FEA/FEA_airgroup.dm b/code/FEA/FEA_airgroup.dm
index 8cdd873..27a4430 100644
--- a/code/FEA/FEA_airgroup.dm
+++ b/code/FEA/FEA_airgroup.dm
@@ -38,13 +38,12 @@
// overrides
/datum/air_group/disposing()
- pool(air)
air = null
..()
/datum/air_group/New()
..()
- air = unpool(/datum/gas_mixture)
+ air = new /datum/gas_mixture
// Group procs
/datum/air_group/proc/suspend_group_processing()
@@ -65,6 +64,7 @@
for (var/turf/S in members)
if (istype(S, /turf/space))
members -= S
+ LAGCHECK(90)
if(!members || !members.len ) //I guess all the areas were BADSPACE!!! OH NO! (Spyguy fix for pick() from empty list)
qdel(src)
return 0
@@ -82,6 +82,7 @@
/datum/air_group/proc/update_tiles_from_group()
for(var/turf/simulated/member in members)
if (member.air) member.air.copy_from(air)
+ LAGCHECK(90)
/datum/air_group/proc/archive()
air.archive()
@@ -109,8 +110,7 @@
var/turf/simulated/sample = pick(members)
for(var/turf/simulated/member in members)
- if (!istype(member)) // Marq fix for undefined variable /turf/space/var/air
- continue
+ LAGCHECK(90)
if(member.active_hotspot)
return 0
if(member.air && member.air.compare(sample.air)) continue
@@ -178,6 +178,7 @@
if(!self_tile_borders)
self_tile_borders = list()
self_tile_borders += border_tile
+ LAGCHECK(90)
var/abort_group = 0
@@ -220,6 +221,7 @@
enemy_turf.consider_pressure_difference(-connection_difference, get_dir(enemy_turf,self_border))
border_index++
+ LAGCHECK(90)
// Process connections to adjacent tiles
border_index = 1
@@ -282,8 +284,6 @@
// This logic is not inverted because group processing may have been
// suspended in the above block.
if(!group_processing) //Revert to individual processing
- var/c = 0
-
// space fastpath
if (members.len && length_space_border) {
if (space_fastpath(parent_controller))
@@ -292,13 +292,13 @@
}
for(var/turf/simulated/member in members)
member.process_cell()
- if (!(c++ % 10) && parent_controller)
- parent_controller.scheck()
+ LAGCHECK(90)
else
if(air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST)
for(var/turf/simulated/member in members)
member.hotspot_expose(air.temperature, CELL_VOLUME)
member.consider_superconductivity(starting=1)
+ LAGCHECK(90)
air.react()
@@ -311,7 +311,6 @@
var/dist
var/turf/space/sample = locate()
var/totalPressure = 0
- var/c
for(var/turf/simulated/member in members)
minDist = null
@@ -331,9 +330,6 @@
if (member && member.air)
totalPressure += member.air.return_pressure()
- if (!(c++ % 20))
- parent_controller.scheck()
-
if (totalPressure / members.len < 5)
space_group()
return 1
diff --git a/code/FEA/FEA_system.dm b/code/FEA/FEA_system.dm
index 2bbe63d..2ac0968 100644
--- a/code/FEA/FEA_system.dm
+++ b/code/FEA/FEA_system.dm
@@ -161,15 +161,15 @@ datum
set_controller(controller)
boutput(world, "Processing Geometry...")
- sleep(1)
var/start_time = world.timeofday
for(var/turf/simulated/S in world)
if(!S.blocks_air && !S.parent)
- assemble_group_turf(S)
+ assemble_group_turf(S)
//for(var/turf/simulated/S in world) //Update all pathing and border information as well
S.update_air_properties()
+ LAGCHECK(50)
/*
for(var/obj/movable/floor/S in world)
if(!S.parent)
@@ -209,6 +209,7 @@ datum
if(test.length_space_border > 0)
possible_space_length += test.length_space_border
possible_members -= test
+ LAGCHECK(50)
if(members.len > 1)
var/datum/air_group/group = new
@@ -222,6 +223,7 @@ datum
test.parent = group
test.processing = 0
active_singletons -= test
+ LAGCHECK(50)
group.members = members
air_groups += group
@@ -280,7 +282,6 @@ datum
return null
*/
process()
- set background = 1
current_cycle++
if(groups_to_rebuild.len > 0)
process_rebuild_select_groups()
@@ -298,23 +299,16 @@ datum
if(current_cycle%10==5) //Check for groups of tiles to resume group processing every 10 cycles
- var/c
for(var/datum/air_group/AG in air_groups)
AG.check_regroup()
- // There's about 700 airgroups, so this should be enough...
- if (!(c++ % 50))
- parent_controller.scheck()
+ LAGCHECK(90)
return 1
process_update_tiles()
- set background = 1
- var/c
for(var/turf/simulated/T in tiles_to_update)
T.update_air_properties()
- // This list can be quite large, so lets not scheck like a madperson.
- if(!(c++ % 50))
- parent_controller.scheck()
+ LAGCHECK(90)
/*
for(var/obj/movable/floor/O in tiles_to_update)
@@ -323,7 +317,6 @@ datum
tiles_to_update.len = 0
process_rebuild_select_groups()
- set background = 1
var/turf/list/turfs = list()
for(var/datum/air_group/turf_AG in groups_to_rebuild) //Deconstruct groups, gathering their old members
@@ -332,20 +325,15 @@ datum
turfs += T
air_master.air_groups -= turf_AG
turf_AG.members.len = 0
+ LAGCHECK(90)
- // This can be some expensive shit, so lets scheck every time.
- parent_controller.scheck()
-
- var/c
for(var/turf/simulated/S in turfs) //Have old members try to form new groups
if(!S.parent)
assemble_group_turf(S)
+ LAGCHECK(90)
//for(var/turf/simulated/S in turfs)
S.update_air_properties()
-
- if (!(c++ % 10))
- parent_controller.scheck()
// var/obj/movable/list/movable_objects = list()
/*
@@ -365,35 +353,23 @@ datum
groups_to_rebuild.len = 0
process_groups()
- set background = 1
- var/c
for(var/datum/air_group/AG in air_groups)
AG.process_group(parent_controller)
- if (!(c++ % 50) && parent_controller)
- parent_controller.scheck()
+ LAGCHECK(90)
process_singletons()
- set background = 1
- var/c
for(var/item in active_singletons)
item:process_cell()
-
- if (!(c++ % 20) && parent_controller)
- parent_controller.scheck()
+ LAGCHECK(90)
process_super_conductivity()
- set background = 1
-
for(var/turf/simulated/hot_potato in active_super_conductivity)
hot_potato.super_conduct()
- if (parent_controller)
- parent_controller.scheck()
+ LAGCHECK(90)
process_high_pressure_delta()
- set background = 1
for(var/turf/pressurized in high_pressure_delta)
pressurized.high_pressure_movements()
- if (parent_controller)
- parent_controller.scheck()
+ LAGCHECK(90)
high_pressure_delta.len = 0
diff --git a/code/FEA/FEA_turf_tile.dm b/code/FEA/FEA_turf_tile.dm
index 6f9ac0d..9d5c547 100644
--- a/code/FEA/FEA_turf_tile.dm
+++ b/code/FEA/FEA_turf_tile.dm
@@ -142,7 +142,7 @@ turf
//overlays.len = 0
- var/list/graphics = params2list(model.graphic)//dd_text2list(model.graphic, ";")
+ var/list/graphics = params2list(model.graphic)//splittext(model.graphic, ";")
if(!graphics || !graphics.len)
if (gas_icon_overlay)
diff --git a/code/WorkInProgress/DrMelonsStuff.dm b/code/WorkInProgress/DrMelonsStuff.dm
index c113acc..14a541d 100644
--- a/code/WorkInProgress/DrMelonsStuff.dm
+++ b/code/WorkInProgress/DrMelonsStuff.dm
@@ -96,7 +96,7 @@
/proc/honk(var/string)
var/modded = ""
- var/list/text_tokens = dd_text2list(string, " ")
+ var/list/text_tokens = splittext(string, " ")
for(var/token in text_tokens)
modded += "HONK "
modded += "HONK!"
diff --git a/code/WorkInProgress/MarqStuff.dm b/code/WorkInProgress/MarqStuff.dm
index c8437ed..874474f 100644
--- a/code/WorkInProgress/MarqStuff.dm
+++ b/code/WorkInProgress/MarqStuff.dm
@@ -63,7 +63,7 @@
if (!NA)
return null
var/temp = copytext(str, pos, NA)
- buf += dd_replacetext(temp, " ", " ")
+ buf += replacetext(temp, " ", " ")
pos = NA + 1
state = NONE
@@ -75,14 +75,14 @@
pos = NQ + 1
continue
var/temp = copytext(str, qpos, NQ)
- buf += dd_replacetext(dd_replacetext(temp, " ", " "), "\\\"", "\"")
+ buf += replacetext(replacetext(temp, " ", " "), "\\\"", "\"")
pos = NQ + 1
state = NONE
- var/list/el = dd_text2list(buf, " ")
+ var/list/el = splittext(buf, " ")
var/list/ret = list()
for (var/s in el)
- ret += dd_replacetext(s, " ", " ")
+ ret += replacetext(s, " ", " ")
return ret
#undef ESCAPE
diff --git a/code/WorkInProgress/Materials_Crafting/Mat_ProcsDefines.dm b/code/WorkInProgress/Materials_Crafting/Mat_ProcsDefines.dm
index 29d7d6b..b012056 100644
--- a/code/WorkInProgress/Materials_Crafting/Mat_ProcsDefines.dm
+++ b/code/WorkInProgress/Materials_Crafting/Mat_ProcsDefines.dm
@@ -107,8 +107,8 @@ var/global/list/triggerVars = list("triggersFail", "triggersTemp", "triggersChem
/atom/proc/setMaterial(var/datum/material/mat1)
if(!mat1 ||!istype(mat1, /datum/material)) return
var/traitDesc = get_material_trait_desc(mat1)
- var/strPrefix = dd_list2text(mat1.prefixes, " ")
- var/strSuffix = dd_list2text(mat1.suffixes, " ")
+ var/strPrefix = jointext(mat1.prefixes, " ")
+ var/strSuffix = jointext(mat1.suffixes, " ")
// Setting mat_changename/desc == 0 is almost as conspicuous as having "good gold chameleon bombs".
// Real_desc/name is a substandard implementation, but it will prevent some midas touch exploits (Convair880).
if (src.mat_changename) // now that I've cleaned up the name prefix/suffix stuff, let's try this, in the hopes that eveything that SHOULD override UpdateName() actually DOES - Haine
diff --git a/code/WorkInProgress/MechanicMadness.dm b/code/WorkInProgress/MechanicMadness.dm
index e7d1322..26bf8a0 100644
--- a/code/WorkInProgress/MechanicMadness.dm
+++ b/code/WorkInProgress/MechanicMadness.dm
@@ -1068,8 +1068,8 @@ var/list/mechanics_telepads = new/list()
var/inp = input(usr,"Please enter Expression:","Expression setting", expression) as text
if(length(inp))
var/regex/R = new(inp)
- if(R.error)
- boutput(usr, "[R.error]")
+ if(!R)
+ boutput(usr, "Bad regex")
else
inp = sanitize(html_encode(inp))
expression = inp
@@ -1128,8 +1128,8 @@ var/list/mechanics_telepads = new/list()
var/inp = input(usr,"Please enter Expression:","Expression setting", expression) as text
if(length(inp))
var/regex/R = new(inp)
- if(R.error)
- boutput(usr, "[R.error]")
+ if(!R)
+ boutput(usr, "Bad regex")
else
expression = inp
inp = sanitize(html_encode(inp))
diff --git a/code/WorkInProgress/MportsStuff.dm b/code/WorkInProgress/MportsStuff.dm
index 87df368..0afdb7b 100644
--- a/code/WorkInProgress/MportsStuff.dm
+++ b/code/WorkInProgress/MportsStuff.dm
@@ -21,14 +21,14 @@
if("Add")
var/t = input(user, "What text do you wish to add?", text("[]", src.name), null) as message
t = copytext(html_encode(t), 1, MAX_MESSAGE_LEN)
- t = dd_replacetext(t, "\n", "
")
- t = dd_replacetext(t, "\[b\]", "")
- t = dd_replacetext(t, "\[/b\]", "")
- t = dd_replacetext(t, "\[i\]", "")
- t = dd_replacetext(t, "\[/i\]", "")
- t = dd_replacetext(t, "\[u\]", "")
- t = dd_replacetext(t, "\[/u\]", "")
- t = dd_replacetext(t, "\[sign\]", text("[]", user.real_name))
+ t = replacetext(t, "\n", "
")
+ t = replacetext(t, "\[b\]", "")
+ t = replacetext(t, "\[/b\]", "")
+ t = replacetext(t, "\[i\]", "")
+ t = replacetext(t, "\[/i\]", "")
+ t = replacetext(t, "\[u\]", "")
+ t = replacetext(t, "\[/u\]", "")
+ t = replacetext(t, "\[sign\]", text("[]", user.real_name))
t = text("[]", t)
src.info += t
@@ -70,14 +70,14 @@
if ((!in_range(src, usr) && src.loc != user && !( istype(src.loc, /obj/item/clipboard) ) && src.loc.loc != user && user.equipped() != P))
return
t = copytext(html_encode(t), 1, MAX_MESSAGE_LEN)
- t = dd_replacetext(t, "\n", "
")
- t = dd_replacetext(t, "\[b\]", "")
- t = dd_replacetext(t, "\[/b\]", "")
- t = dd_replacetext(t, "\[i\]", "")
- t = dd_replacetext(t, "\[/i\]", "")
- t = dd_replacetext(t, "\[u\]", "")
- t = dd_replacetext(t, "\[/u\]", "")
- t = dd_replacetext(t, "\[sign\]", text("[]", user.real_name))
+ t = replacetext(t, "\n", "
")
+ t = replacetext(t, "\[b\]", "")
+ t = replacetext(t, "\[/b\]", "")
+ t = replacetext(t, "\[i\]", "")
+ t = replacetext(t, "\[/i\]", "")
+ t = replacetext(t, "\[u\]", "")
+ t = replacetext(t, "\[/u\]", "")
+ t = replacetext(t, "\[sign\]", text("[]", user.real_name))
t = text("[]", t)
src.info += t
diff --git a/code/WorkInProgress/WiresStuff.dm b/code/WorkInProgress/WiresStuff.dm
index eefe050..d3968db 100644
--- a/code/WorkInProgress/WiresStuff.dm
+++ b/code/WorkInProgress/WiresStuff.dm
@@ -4,9 +4,15 @@
set hidden = 1
admin_only
+ boutput(world, "hi")
//src.chui.reload()
- src.Browse(grabResource("html/wireTest.html"), "window=wireTest;size=500x650;title=Wire Test;")
+ //src.Browse(grabResource("html/wireTest.html"), "window=wireTest;size=500x650;title=Wire Test;")
//src.mob.deathConfetti()
+ //var/list/testList = new("")
+ var/text = "availableMail@=cogwerks01@,hubbert01@,isaidno01@,isaidno02@,isaidno03@,isaidno04@,isaidno05@,mollymillions01@,mollymillions02@,mollymillions03@,mollymillions04@,mollymillions05@,mollymillions06@,mollymillions07@,mollymillions08@,mollymillions09@,mollymillions10@,mollymillions11@,mollymillions12@,mollymillions13@,mollymillions14@,hubbert02@,cogwerks02@,cogwerks03@,cogwerks04@,isaidno03@,cogwerks05@,hubbert03@,cogwerks06@,cogwerks07@,cogwerks08@,cogwerks10@,cogwerks11@,cogwerks12@,cogwerks14@,cogwerks15@,cogwerks16@,cogwerks17@,cogwerks18@,cogwerks19@,cogwerks20@,cogwerks21@,cogwerks22@,cogwerks23@,cogwerks24@,cogwerks25@,cogwerks26@,cogwerks31@,cogwerks32@,tman02@,aphtonites01@,aphtonites02@,daunt01@,mozi01@,mozi02@,mozi03@,mozi04@,mozi05@,mozi06@,mozi07@,mozi08@,mozi09@,mozi10@,mozi11@,mozi12@,mozi13@,mozi14@,mozi15@,mozi16@,mozi17@,mozi18@,mozi19@,mozi20@,daunt02@,daunt03@,nubcake01@,nubcake02@,nubcake03@,nubcake04@,nubcake05@,nubcake06"
+ var/list/stringsList = splittext(text, "@=")
+
+ boutput(world, "[stringsList[1]]
[stringsList[2]]")
//Proc for parsing data returned by the bans API (as well as whatever else in the future)
@@ -20,18 +26,12 @@
data = base64str(data)
var/list/ldata = params2list(url_decode(data))
var/parsedList[] = new()
- var/regex/R = new("/(^\\d{1,2})/i")
for (var/e = 1, e <= ldata.len, e++) //each field in the format index[fieldkey]=field
var/index = ldata[e]
- var/num
+ var/num = copytext(index, 1, 2) //grab the index number e.g. the 1 from 1[ckey]=blah
- if (R.Find(index))
- do
- num = R.GroupText(1) //grab the index number e.g. the 1 from 1[ckey]=blah
- while(R.FindNext(index))
-
- if (!num) //no num found, we're assuming this was an error message response (or any kind of message really)
+ if (!num || !text2num(num)) //no num found, we're assuming this was an error message response (or any kind of message really)
ldata[index] = base64str(ldata[index])
return ldata
@@ -39,7 +39,7 @@
field = copytext(field, 2, -1) //convert [ckey] to ckey
var/val = base64str(ldata[index]) //the actual value e.g. blah
- if (!parsedList[num]) //if a list of this num doesnt exist, create it e.g. parsedList(1 => list())
+ if (!(num in parsedList)) //if a list of this num doesnt exist, create it e.g. parsedList(1 => list())
parsedList[num] = new/list()
parsedList[num][field] = val //shove data in appropriate list e.g. parsedList(1 => list("ckey" => "blah"))
//boutput(world, "Index: [index]. Num: [num]. Field: [field]. Val: [val]") //DEBUG
@@ -53,7 +53,7 @@
if (centralConn)
var/list/returnData = new()
returnData["cminutes"] = CMinutes
- return list2json(returnData)
+ return json_encode(returnData)
else
return CMinutes
@@ -130,15 +130,15 @@
var/localData = call(theProc)(query)
if (!localData)
- logTheThing("debug", null, null, "Local API Error - Nothing returned from [theProc]")
- logTheThing("diary", null, null, "Local API Error - Nothing returned from [theProc]", "debug")
+ //logTheThing("debug", null, null, "Local API Error - Nothing returned from [theProc]")
+ //logTheThing("diary", null, null, "Local API Error - Nothing returned from [theProc]", "debug")
return (centralConn ? data : 0)
if (istype(localData, /list))
var/list/ldata = localData
if (ldata["error"])
- logTheThing("debug", null, null, "Local API Error - Callback failed in [theProc] with message: [ldata["error"]]")
- logTheThing("diary", null, null, "Local API Error - Callback failed in [theProc] with message: [ldata["error"]]", "debug")
+ //logTheThing("debug", null, null, "Local API Error - Callback failed in [theProc] with message: [ldata["error"]]")
+ //logTheThing("diary", null, null, "Local API Error - Callback failed in [theProc] with message: [ldata["error"]]", "debug")
if (ldata["showAdmins"])
message_admins("Failed for route [route]BanApiFallback: [ldata["error"]]")
diff --git a/code/WorkInProgress/actuallyKeelinsStuff.dm b/code/WorkInProgress/actuallyKeelinsStuff.dm
index 77627d2..ec1d74a 100644
--- a/code/WorkInProgress/actuallyKeelinsStuff.dm
+++ b/code/WorkInProgress/actuallyKeelinsStuff.dm
@@ -1306,6 +1306,7 @@
active_spread[newspawn] = num_gens
sleep(10 * num_delay)
if(num_spread > 0) num_spread--
+ LAGCHECK(75)
/proc/is_free(var/atom/A)
diff --git a/code/WorkInProgress/apiFallbackRoutes.dm b/code/WorkInProgress/apiFallbackRoutes.dm
index 242291b..a3f7b4f 100644
--- a/code/WorkInProgress/apiFallbackRoutes.dm
+++ b/code/WorkInProgress/apiFallbackRoutes.dm
@@ -249,7 +249,7 @@
returnData["cminutes"] = getWorldMins()
returnData["callback"] = "updateBans"
- return list2json(returnData)
+ return json_encode(returnData)
/proc/uploadLocalBans(F as file)
diff --git a/code/WorkInProgress/blueprints.dm b/code/WorkInProgress/blueprints.dm
index b8c5bf0..55be47c 100644
--- a/code/WorkInProgress/blueprints.dm
+++ b/code/WorkInProgress/blueprints.dm
@@ -226,20 +226,6 @@
return
-proc/splittext(txt as text, sep as text)
- var
- list/accum
- start;end
-
- accum = new/list()
- start = 1
- do
- end = findtext(txt,sep,start)
- accum += copytext(txt,start,end)
- start = end + lentext(sep)
- while(end)
- return accum
-
/datum/objectinfo
var/objecttype = null
var/direction = 0
diff --git a/code/WorkInProgress/computer3/base_os.dm b/code/WorkInProgress/computer3/base_os.dm
index 3c28830..022fc93 100644
--- a/code/WorkInProgress/computer3/base_os.dm
+++ b/code/WorkInProgress/computer3/base_os.dm
@@ -99,7 +99,7 @@
if("cd", "chdir") //Attempts to set current folder to directory arg1
var/dir_string = null
if(command_list.len)
- dir_string = dd_list2text(command_list, " ")
+ dir_string = jointext(command_list, " ")
else
src.print_text("Syntax: \"cd \[directory string]\" String is relative to current directory.")
return
@@ -125,7 +125,7 @@
if("run") //Runs /datum/computer/file/terminal_program with name arg1
var/prog_name = null
if(command_list.len)
- prog_name = dd_list2text(command_list, " ")
+ prog_name = jointext(command_list, " ")
else
src.print_text("Syntax: \"run \[program filepath].\" Path is relative to current directory.")
return
@@ -140,7 +140,7 @@
return
if("makedir","mkdir") //Creates folder in current directory with name arg1
- var/new_folder_name = strip_html(dd_list2text(command_list, " "))
+ var/new_folder_name = strip_html(jointext(command_list, " "))
new_folder_name = copytext(new_folder_name, 1, 16)
if(!new_folder_name)
@@ -197,7 +197,7 @@
if("title") //Set the title var of the current drive.
var/new_name = null
if(command_list.len)
- new_name = strip_html(dd_list2text(command_list, " "))
+ new_name = strip_html(jointext(command_list, " "))
new_name = copytext(new_name, 1, 16)
else
src.print_text("Syntax: \"title \[title name]\" Set name of active drive to given title.")
@@ -212,7 +212,7 @@
if("delete", "del","era","erase","rm") //Deletes file arg1
var/file_name = null
if(command_list.len)
- file_name = ckey(dd_list2text(command_list, " "))
+ file_name = ckey(jointext(command_list, " "))
else
src.print_text("Syntax: \"del \[file name].\" File must be in current directory.")
return
@@ -234,7 +234,7 @@
if("copy","cp") //Sets file arg1 to be copied
var/file_name = null
if(command_list.len)
- file_name = ckey(dd_list2text(command_list, " "))
+ file_name = ckey(jointext(command_list, " "))
else
src.print_text("Syntax: \"copy \[file name].\" File must be in current directory.")
return
@@ -248,7 +248,7 @@
src.print_text("File marked.")
if("paste","ps") //Pastes clipboard file with name arg1
- var/pasted_name = strip_html(dd_list2text(command_list, " "))
+ var/pasted_name = strip_html(jointext(command_list, " "))
pasted_name = copytext(pasted_name, 1, 16)
if(!pasted_name)
@@ -470,7 +470,7 @@
if("print") //Print text arg1 to screen.
- var/new_text = strip_html(dd_list2text(command_list, " "))
+ var/new_text = strip_html(jointext(command_list, " "))
if(new_text)
src.print_text(new_text)
else
@@ -484,7 +484,7 @@
var/anger_text = "A clown? On a space station? what"
if(istype(command_list) && (command_list.len > 0))
- anger_text = strip_html(dd_list2text(command_list, " "))
+ anger_text = strip_html(jointext(command_list, " "))
src.print_text("[anger_text]
[goon]")
@@ -541,7 +541,7 @@
if("read","type") //Display contents of text file arg1
var/file_name = null
if(command_list.len)
- file_name = ckey(dd_list2text(command_list, " "))
+ file_name = ckey(jointext(command_list, " "))
else
src.print_text("Syntax: \"read \[file name].\" Text file must be in current directory.")
return
@@ -575,7 +575,7 @@
else
//Load the program if they just entered a path I guess
- var/prog_name = dd_list2text(command_list, " ")
+ var/prog_name = jointext(command_list, " ")
prog_name = command + prog_name
var/datum/computer/file/terminal_program/to_run = src.parse_file_directory(prog_name, current_folder)
@@ -747,7 +747,7 @@
src.current_folder = src.holder.root
if(access_string && !all_access)
- var/list/decoding = dd_text2list(access_string, ";")
+ var/list/decoding = splittext(access_string, ";")
for(var/x in decoding)
src.active_account.access += text2num(x)
diff --git a/code/WorkInProgress/computer3/base_program.dm b/code/WorkInProgress/computer3/base_program.dm
index 1056f20..193faa5 100644
--- a/code/WorkInProgress/computer3/base_program.dm
+++ b/code/WorkInProgress/computer3/base_program.dm
@@ -241,7 +241,7 @@
string = copytext(string,2)
//boutput(world, "string is now: [string]")
- var/list/sort1 = dd_text2list(string,"/")
+ var/list/sort1 = splittext(string,"/")
if (sort1.len && copytext(sort1[1], 4, 5) == ":")
. = lowertext( copytext(sort1[1], 1, 4) )
if (length(sort1[1]) > 4)
@@ -317,7 +317,7 @@
string = copytext(string,2)
//boutput(world, "string is now: [string]")
- var/list/sort1 = dd_text2list(string,"/")
+ var/list/sort1 = splittext(string,"/")
if (sort1.len && copytext(sort1[1], 4, 5) == ":")
. = lowertext( copytext(sort1[1], 1, 4) )
if (length(sort1[1]) > 4)
@@ -440,7 +440,7 @@
if(!string)
return 1
- if(ckey(string) != dd_replacetext(lowertext(string), " ", null))
+ if(ckey(string) != replacetext(lowertext(string), " ", null))
return 1
if(findtext(string, "/"))
diff --git a/code/WorkInProgress/computer3/comm_dish.dm b/code/WorkInProgress/computer3/comm_dish.dm
index 3e2e1f1..13fdc69 100644
--- a/code/WorkInProgress/computer3/comm_dish.dm
+++ b/code/WorkInProgress/computer3/comm_dish.dm
@@ -49,7 +49,7 @@
if (!src.link)
return
- var/list/report_content = list(title) + dd_text2list(message, "
")
+ var/list/report_content = list(title) + splittext(message, "
")
for (var/listener_netid in src.terminals)
var/datum/computer/file/record/report = new ()
@@ -96,10 +96,10 @@
parse_string(string) //Parse commands the same way a c3 does, for terminal control.
var/list/sort1 = list()
- sort1 = dd_text2list(string,";")
+ sort1 = splittext(string,";")
for(var/x in sort1)
var/list/sorted = list()
- sorted = dd_text2list(x," ")
+ sorted = splittext(x," ")
return sorted
receive_signal(datum/signal/signal)
diff --git a/code/WorkInProgress/computer3/hangar.dm b/code/WorkInProgress/computer3/hangar.dm
index 2655bbf..4ffa391 100644
--- a/code/WorkInProgress/computer3/hangar.dm
+++ b/code/WorkInProgress/computer3/hangar.dm
@@ -52,7 +52,7 @@
if("closeall")
close_all()
if("toggle")
- var/door_name = ckey(dd_list2text(command_list, " "))
+ var/door_name = ckey(jointext(command_list, " "))
if(!door_name)
var/dat = "Available Hangar Doors:
"
for(var/turf/T in get_area_turfs(HANGAR_AREATYPE))
@@ -77,7 +77,7 @@
return
src.print_text("Invalid Hangar Door!
")
if("resetpass")
- var/door_name = ckey(dd_list2text(command_list, " "))
+ var/door_name = ckey(jointext(command_list, " "))
if(!door_name)
var/dat = "Available Hangar Doors:
"
for(var/turf/T in get_area_turfs(HANGAR_AREATYPE))
diff --git a/code/WorkInProgress/computer3/mainframe2/artifact_res.dm b/code/WorkInProgress/computer3/mainframe2/artifact_res.dm
index 684ce83..8062baa 100644
--- a/code/WorkInProgress/computer3/mainframe2/artifact_res.dm
+++ b/code/WorkInProgress/computer3/mainframe2/artifact_res.dm
@@ -34,7 +34,7 @@
silent = 0
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (initlist.len && dd_hasprefix(initlist[1], "-"))
var/flagString = lowertext(copytext(initlist[1], 2))
@@ -378,10 +378,10 @@
switch (lowertext(data["format"]))
if ("values") //Multiple read, formatted as comma separated list.
var/formatted = "|-----------|Sensor Values:|-----------||n"
- var/list/valueList = dd_text2list(data["data"], ",")
+ var/list/valueList = splittext(data["data"], ",")
if (valueList.len)
for (var/x = 1, x <= valueList.len, x++)
- . = dd_replacetext(valueList[x], "-", " ")
+ . = replacetext(valueList[x], "-", " ")
formatted += "| \[[add_zero("[x]",4)]] | [.]|n"
else
@@ -404,7 +404,7 @@
if ("info")
var/formatted = "+---------------|Status|---------------+|n"
- var/list/rawDataList = dd_text2list(data["data"], ",")
+ var/list/rawDataList = splittext(data["data"], ",")
if (rawDataList && rawDataList.len > 3)
formatted += "| Active: [(rawDataList[1] == "1") ? "YES" : "NO"]|n| ID: [rawDataList[2]]|n| Enactor: [(rawDataList[3] == "1") ? "YES" : "NO"]|n| Sensor: [(rawDataList[4] == "1") ? "YES" : "NO"]|n+--------|Configuration Values|--------+|n"
@@ -710,10 +710,10 @@
switch (lowertext(data["format"]))
if ("values") //Multiple read, formatted as comma separated list.
var/formatted = ""//"|-----------|Sensor Values:|-----------||n"
- var/list/valueList = dd_text2list(data["data"], ",")
+ var/list/valueList = splittext(data["data"], ",")
if (valueList.len)
for (var/x = 1, x <= valueList.len, x++)
- . = dd_replacetext(valueList[x], "-", " ")
+ . = replacetext(valueList[x], "-", " ")
formatted += "| \[[add_zero("[x]",4)]] | [.]|n"
else
@@ -755,7 +755,7 @@
if ("info")
var/formatted = ""//"+---------------|Status|---------------+|n"
- var/list/rawDataList = dd_text2list(data["data"], ",")
+ var/list/rawDataList = splittext(data["data"], ",")
if (mode == MODE_DEVICE_INFO)
if (rawDataList && rawDataList.len > 3)
formatted += "| Active: [(rawDataList[1] == "1") ? "YES" : "NO"]|n| ID: [rawDataList[2]]|n| Enactor: [(rawDataList[3] == "1") ? "YES" : "NO"]|n| Sensor: [(rawDataList[4] == "1") ? "YES" : "NO"]|n"
@@ -1058,7 +1058,7 @@
if (wipeRemainingLines)
src.highlightMap = 0
- for (var/entryInfo in dd_text2list(message_list["data"], "|n"))
+ for (var/entryInfo in splittext(message_list["data"], "|n"))
if (++entryOffset > src.entries.len)
break
diff --git a/code/WorkInProgress/computer3/mainframe2/base_program.dm b/code/WorkInProgress/computer3/mainframe2/base_program.dm
index c0d4100..a5213cb 100644
--- a/code/WorkInProgress/computer3/mainframe2/base_program.dm
+++ b/code/WorkInProgress/computer3/mainframe2/base_program.dm
@@ -129,7 +129,7 @@
string = copytext(string,2)
var/list/sort1 = list()
- sort1 = dd_text2list(string,"/")
+ sort1 = splittext(string,"/")
if (sort1.len && !sort1[sort1.len])
sort1.len--
@@ -201,7 +201,7 @@
string = copytext(string,2)
var/list/sort1 = list()
- sort1 = dd_text2list(string,"/")
+ sort1 = splittext(string,"/")
var/file_name = sort1[sort1.len]
if(!file_name)
@@ -271,7 +271,7 @@
string = copytext(string,2)
var/list/sort1 = list()
- sort1 = dd_text2list(string,"/")
+ sort1 = splittext(string,"/")
var/datum_name = sort1[sort1.len]
if(!datum_name)
@@ -456,7 +456,7 @@
if(!string)
return 1
//ckeyEx because it allows for - and _ and we love those!!
- if(lowertext(ckeyEx(string)) != dd_replacetext(lowertext(string), " ", null))
+ if(lowertext(ckeyEx(string)) != replacetext(lowertext(string), " ", null))
return 1
if(findtext(string, "/"))
diff --git a/code/WorkInProgress/computer3/mainframe2/emailserv.dm b/code/WorkInProgress/computer3/mainframe2/emailserv.dm
index 063a969..8ec8e56 100644
--- a/code/WorkInProgress/computer3/mainframe2/emailserv.dm
+++ b/code/WorkInProgress/computer3/mainframe2/emailserv.dm
@@ -18,7 +18,7 @@
//boutput(world, "[initparams]")
var/command = null
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || !initlist.len)
command = "index"
else
@@ -36,7 +36,7 @@
var/list/mail_subjects = list_mail_subjects(user_name, group)
var/message = "mail_index"
if (mail_subjects.len)
- message += "|n" + dd_list2text(mail_subjects, "|n")
+ message += "|n" + jointext(mail_subjects, "|n")
message_user(message, "record")
if ("get")
diff --git a/code/WorkInProgress/computer3/mainframe2/logreader.dm b/code/WorkInProgress/computer3/mainframe2/logreader.dm
index 0f3b9c0..5e3eec6 100644
--- a/code/WorkInProgress/computer3/mainframe2/logreader.dm
+++ b/code/WorkInProgress/computer3/mainframe2/logreader.dm
@@ -94,7 +94,7 @@
else if (!refreshing)
dat += "Connection | Data"
-
+
dat += "
"
@@ -142,7 +142,7 @@
user << browse(dat,"window=net_logreader;size=545x302")
onclose(user,"net_logreader")
return
-
+
Topic(href, href_list)
if(..())
return
@@ -534,7 +534,7 @@ proc/accesslog_digest(var/datum/computer/file/record/R, formatted = 0)
if (useracc)
logfile.metadata["owner"] = read_user_field("name")
logfile.metadata["permissions"] = COMP_ROWNER | COMP_RGROUP
- logfile.fields = loglist(opts["t"], opts["m"], opts["s"], dd_list2text(params, " "))
+ logfile.fields = loglist(opts["t"], opts["m"], opts["s"], jointext(params, " "))
var/datum/computer/folder/logs_dir = signal_program(1, list("command"=DWAINE_COMMAND_FGET, "path"=log_to))
if (istype(logs_dir))
var/idx = 0
@@ -564,7 +564,7 @@ proc/accesslog_digest(var/datum/computer/file/record/R, formatted = 0)
var/time_end = null
if (opts["t"])
var/time_filter = opts["t"]
- var/list/tf_list = dd_text2list(time_filter, ":")
+ var/list/tf_list = splittext(time_filter, ":")
if (tf_list.len != 2)
message_user("Invalid timestamp filter format [time_filter], usage: TIMESTAMP_BEGIN:TIMESTAMP_END.")
mainframe_prog_exit
@@ -598,7 +598,7 @@ proc/accesslog_digest(var/datum/computer/file/record/R, formatted = 0)
message_user("Listing the last [count] records:")
var/paramsearch = null
if (params.len)
- paramsearch = dd_list2text(params, " ")
+ paramsearch = jointext(params, " ")
var/list/records = logs_folder.contents.Copy()
if (!records.len)
message_user("No recorded data.")
@@ -722,7 +722,7 @@ proc/accesslog_digest(var/datum/computer/file/record/R, formatted = 0)
signal_program(1, siglist)
// see what i did here? heh? HEH?
// doubly so, it almost sounds like tar gz
- var/targs = dd_list2text(records, " ")
+ var/targs = jointext(records, " ")
archive_path = null
siglist = list("command"=DWAINE_COMMAND_TSPAWN, "passusr"=1, "path"="/bin/tar", "args"="-cqt -- [targs]")
signal_program(1, siglist)
diff --git a/code/WorkInProgress/computer3/mainframe2/misc_terms.dm b/code/WorkInProgress/computer3/mainframe2/misc_terms.dm
index c30615a..41deeeb 100644
--- a/code/WorkInProgress/computer3/mainframe2/misc_terms.dm
+++ b/code/WorkInProgress/computer3/mainframe2/misc_terms.dm
@@ -607,7 +607,7 @@
if(!string)
return 1
- if(ckey(string) != dd_replacetext(lowertext(string), " ", null))
+ if(ckey(string) != replacetext(lowertext(string), " ", null))
return 1
if(findtext(string, "/"))
@@ -1594,7 +1594,7 @@
src.post_status(target, "command","term_connect","data","noreply","device",src.device_tag)
src.updateUsrDialog()
spawn(5) //Sign up with the driver (if a mainframe contacted us)
- src.post_status(target,"command","term_message","data","command=register[(frequencies && frequencies.len) ? "&freqs=[dd_list2text(frequencies,",")]" : ""]")
+ src.post_status(target,"command","term_message","data","command=register[(frequencies && frequencies.len) ? "&freqs=[jointext(frequencies,",")]" : ""]")
return
if("term_message","term_file")
@@ -1947,7 +1947,7 @@
if(istype(signal.data_file, /datum/computer/file/record))
var/datum/computer/file/record/rec = signal.data_file
if (rec.fields)
- buffer_add = dd_list2text(rec.fields, "
")
+ buffer_add = jointext(rec.fields, "
")
else
buffer_add = signal.data_file:data
diff --git a/code/WorkInProgress/computer3/mainframe2/os_drivers.dm b/code/WorkInProgress/computer3/mainframe2/os_drivers.dm
index ed8ec1e..6b34e54 100644
--- a/code/WorkInProgress/computer3/mainframe2/os_drivers.dm
+++ b/code/WorkInProgress/computer3/mainframe2/os_drivers.dm
@@ -506,7 +506,7 @@
contents_mirror += printFile
to_print.Insert(1, printFile)
- printFile.fields = dd_text2list(oldPrintFile.asText(), "|n")
+ printFile.fields = splittext(oldPrintFile.asText(), "|n")
oldPrintFile.dispose()
message_device("command=print", printFile)
@@ -768,7 +768,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || !initlist.len)
message_user("Invalid commmand argument.|nValid Commands:|n (Coords) to set target coordinates. Specify x y z.|n (Send) to send to target.|n (Receive) to receive from target.|n (Portal) to open bidirectional portal to target.|n (Scan) to scan target atmosphere.","multiline")
mainframe_prog_exit
@@ -1026,7 +1026,7 @@
if (!istype(usdat) || !usdat.fields["registered"] || !usdat.fields["assignment"])
return ESIG_GENERIC
- var/list/accessList = dd_text2list(usdat.fields["access"], ";")
+ var/list/accessList = splittext(usdat.fields["access"], ";")
if (!("[setup_auth_access]" in accessList))
return ESIG_NOUSR
@@ -1050,7 +1050,7 @@
if (!istype(usdat))
return ESIG_NOUSR
- var/list/accessList = dd_text2list(usdat.fields["access"], ";")
+ var/list/accessList = splittext(usdat.fields["access"], ";")
if (!("[setup_auth_access]" in accessList))
return ESIG_NOUSR
@@ -1175,7 +1175,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || !initlist.len)
message_user("Invalid commmand argument.|nValid Commands:|n (Status) for detonator status.|n (Auth) to authorize detonation.|n (Deauth) to revoke authorizations.|n (Time) to set charge timer.|n (Activate) to activate detonation sequence|n (Abort) to halt activation sequence.","multiline")
mainframe_prog_exit
@@ -1579,7 +1579,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || !initlist.len)
message_user("Invalid commmand argument.|nValid Arguments:|n \"list\" to list known docking stations.|n \"stat (PR-6 Net ID)\" to view unit status. |n \"upload (PR-6 Net ID) (task filepath) \[configuration filepath]\" to upload task.|n \"wake (PR-6 Net ID)\" to wake unit.|n \"wipe (PR-6 Net ID)\" to clear unit memory.|n \"recall (PR-6 Net ID | \'all\')\" to recall unit.","multiline")
mainframe_prog_exit
@@ -1689,7 +1689,7 @@
. += initlist[i]
if (.)
- commandRec.fields += dd_text2list(., ";")
+ commandRec.fields += splittext(., ";")
//Now give the driver the actual command record.
@@ -1865,7 +1865,7 @@
if (cmptext(dataList["command"],"register") && !initial_reqistry_complete)
initial_reqistry_complete = 1
- var/list/newFreqs = dd_text2list(dataList["freqs"], ",")
+ var/list/newFreqs = splittext(dataList["freqs"], ",")
for (var/newFreq in newFreqs)
var/datum/computer/folder/folder = new
folder.name = newFreq
@@ -1930,7 +1930,7 @@
if (istext(freq))
var/datum/computer/file/record/R = theFile
if (R.fields.len)
- message_device("_freq=[freq]&[dd_list2text(R.fields, ";")]")
+ message_device("_freq=[freq]&[jointext(R.fields, ";")]")
//qdel(file)
theFile.dispose()
@@ -2233,7 +2233,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || !initlist.len)
message_user("Invalid commmand argument.|nValid Commands:|n (Status) for emitter status.|n (Activate) to activate emitter|n (Deactivate) to shut down emitter.","multiline")
mainframe_prog_exit
@@ -2608,7 +2608,7 @@
knownReadingFields.len = 0
else
knownReadingFields = list()
- var/list/deviceFields = dd_text2list(datalist["readinglist"], ",")
+ var/list/deviceFields = splittext(datalist["readinglist"], ",")
var/unit_offset = 0
for (var/reading_entry in deviceFields)
if (!reading_entry)
@@ -2624,7 +2624,7 @@
knownReadingFields[reading_entry] = .
if (datalist["valuelist"])
- knownValues = dd_text2list(datalist["valuelist"], ",")
+ knownValues = splittext(datalist["valuelist"], ",")
var/waitID = sessions["[sessionID]"]
@@ -2640,7 +2640,7 @@
return
if ("read")
- var/list/readData = dd_text2list(datalist["data"], ",")
+ var/list/readData = splittext(datalist["data"], ",")
var/sessionID = datalist["session"]
if (!sessionID || !(sessionID in sessions))
return
@@ -2791,7 +2791,7 @@
if (data["command"] == DWAINE_COMMAND_MSG_TERM)
if (findtext(data["render"],"record"))
- var/list/dataList = dd_text2list(data["data"],"|n")
+ var/list/dataList = splittext(data["data"],"|n")
var/dataMessage = ""
var/datum/computer/file/record/messageRec = null
if (dataList.len)
@@ -2822,7 +2822,7 @@
return
var/command = null
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || !initlist.len)
command = "index"
else
diff --git a/code/WorkInProgress/computer3/mainframe2/shell.dm b/code/WorkInProgress/computer3/mainframe2/shell.dm
index d2bcbbb..b2b850f 100644
--- a/code/WorkInProgress/computer3/mainframe2/shell.dm
+++ b/code/WorkInProgress/computer3/mainframe2/shell.dm
@@ -189,7 +189,7 @@
anger_text = pipetemp
if(istype(command_list) && (command_list.len > 0))
- anger_text += dd_list2text(command_list, " ")
+ anger_text += jointext(command_list, " ")
if (piping && piped_list.len && (ckey(piped_list[1]) != "break") )
pipetemp = anger_text
@@ -208,7 +208,7 @@
echo_text = pipetemp
if(istype(command_list) && (command_list.len > 0))
- echo_text += dd_list2text(command_list, " ")
+ echo_text += jointext(command_list, " ")
if (piping && piped_list.len && (ckey(piped_list[1]) != "break") )
pipetemp = echo_text
@@ -286,7 +286,7 @@
if (pipetemp)
if(istype(command_list))
- command_list += dd_text2list(pipetemp, " ")
+ command_list += splittext(pipetemp, " ")
if (command_list.len < 2)
message_user("Error: Insufficient arguments for Talk (Requires Target ID and Message).")
@@ -295,7 +295,7 @@
var/targetUser = lowertext(command_list[1])
command_list.Cut(1,2)
- switch (signal_program(1, list("command"=DWAINE_COMMAND_UMSG, "term"=targetUser, data=dd_list2text(command_list, " "))))
+ switch (signal_program(1, list("command"=DWAINE_COMMAND_UMSG, "term"=targetUser, data=jointext(command_list, " "))))
if (ESIG_SUCCESS)
continue
if (ESIG_NOTARGET)
@@ -408,7 +408,7 @@
if (!prefixroot)
command = "[current]" + ((dd_hassuffix(current, "/") || current == "/") ? null : "/") + command
- var/list/templist = dd_text2list(command, "/")
+ var/list/templist = splittext(command, "/")
if (!templist.len)
message_user("Syntax error.")
break
@@ -418,7 +418,7 @@
while (dd_hasprefix(recname, " "))
recname = copytext(recname, 2)
templist.len--
- command = dd_list2text(templist, "/")
+ command = jointext(templist, "/")
if (!recname)
recname = "out"
@@ -427,7 +427,7 @@
//boutput(world, "here is the path: \"[command]\" and the name \"[recname]\"")
var/datum/computer/file/record/rec = new /datum/computer/file/record( )
- rec.fields = dd_text2list(pipetemp, "|n")
+ rec.fields = splittext(pipetemp, "|n")
rec.name = recname
rec.metadata["owner"] = read_user_field("name")
rec.metadata["permission"] = COMP_ALLACC
@@ -455,7 +455,7 @@
if (istype(exec, /datum/computer/file/mainframe_program))
var/list/siglist = list("command"=DWAINE_COMMAND_TSPAWN, "passusr"=1, "path"=fpath)//"[current][command]")
if (command_list.len)
- siglist["args"] = strip_html(dd_list2text(command_list, " ")) + (pipetemp ? " [pipetemp]" : null)
+ siglist["args"] = strip_html(jointext(command_list, " ")) + (pipetemp ? " [pipetemp]" : null)
else if (pipetemp)
siglist["args"] = pipetemp
@@ -548,7 +548,7 @@
scriptlist.Cut(i, i+1)
i--
continue
- scriptlist[i] = dd_replacetext(scriptlist[i], "|", "^")
+ scriptlist[i] = replacetext(scriptlist[i], "|", "^")
return scriptlist
@@ -639,7 +639,7 @@
stack[--stack.len] = script_clampvalue( result )
else if (istext(stack[stack.len]) && istext(stack[stack.len-1]))
- var/list/explodedString = dd_text2list("[stack[stack.len-1]]", "[stack[stack.len]]")
+ var/list/explodedString = splittext("[stack[stack.len-1]]", "[stack[stack.len]]")
if (explodedString.len + stack.len > MAX_STACK_DEPTH)
return ERR_STACK_OVER
@@ -949,7 +949,7 @@
if (dd_hassuffix(msg, "|n"))
msg = copytext(msg, 1, -2)
- previous_pipeout += dd_replacetext(msg, "|n", " ")
+ previous_pipeout += replacetext(msg, "|n", " ")
return ESIG_SUCCESS
diff --git a/code/WorkInProgress/computer3/mainframe2/telesci.dm b/code/WorkInProgress/computer3/mainframe2/telesci.dm
index eee9cd4..03c3889 100644
--- a/code/WorkInProgress/computer3/mainframe2/telesci.dm
+++ b/code/WorkInProgress/computer3/mainframe2/telesci.dm
@@ -928,7 +928,7 @@ var/telesci_modifiers_set = 0
if("term_message","term_file")
var/message = signal.data["data"]
if (message)
- message = dd_replacetext(message, "|n", "
")
+ message = replacetext(message, "|n", "
")
src.readout = copytext(message,9,256)
diff --git a/code/WorkInProgress/computer3/mainframe2/utilities.dm b/code/WorkInProgress/computer3/mainframe2/utilities.dm
index 4fdcbf1..a77b5de 100644
--- a/code/WorkInProgress/computer3/mainframe2/utilities.dm
+++ b/code/WorkInProgress/computer3/mainframe2/utilities.dm
@@ -30,9 +30,9 @@
var/descriptive = 0
if (initparams)
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (initlist.len && initlist[1] == "-l")
- initparams = dd_list2text(initlist - initlist[1])
+ initparams = jointext(initlist - initlist[1], "")
descriptive = 1
var/current = read_user_field("curpath")
@@ -138,7 +138,7 @@
return
proc/trim_path(var/filepath)
- var/list/filelist = dd_text2list(filepath, "/")
+ var/list/filelist = splittext(filepath, "/")
var/list/newfilelist = list()
for (var/x = 1, x <= filelist.len, x++)
switch(filelist[x])
@@ -153,7 +153,7 @@
if (!newfilelist.len)
newfilelist += "/"
- return dd_list2text(newfilelist, "/")
+ return jointext(newfilelist, "/")
//Delete files/directories
/datum/computer/file/mainframe_program/utility/rm
@@ -174,12 +174,12 @@
if (initparams)
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (initlist.len)
var/argstring = initlist[1]
if (dd_hasprefix(argstring, "-"))
initlist -= initlist[1]
- initparams = dd_list2text(initlist, " ")
+ initparams = jointext(initlist, " ")
var/x = 2
while (x <= length(argstring))
@@ -267,7 +267,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || initlist.len < 2)
message_user("Error: Filepaths of target and destination must be specified.")
mainframe_prog_exit
@@ -297,7 +297,7 @@
return
var/prefixroot = dd_hasprefix(initlist[2], "/")
- var/list/copypath = dd_text2list(initlist[2], "/")
+ var/list/copypath = splittext(initlist[2], "/")
var/copyname = null
if (adjust_name)
copypath += adjust_name
@@ -306,7 +306,7 @@
copypath.len--
if (copypath.len)
- initlist[2] = dd_list2text(copypath, "/")
+ initlist[2] = jointext(copypath, "/")
if (prefixroot && !dd_hasprefix(initlist[2], "/"))
initlist[2] = "/" + initlist[2]
else
@@ -334,7 +334,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || initlist.len < 2)
message_user("Error: Filepaths of target and new location must be specified.")
mainframe_prog_exit
@@ -364,7 +364,7 @@
return
var/prefixroot = dd_hasprefix(initlist[2], "/")
- var/list/copypath = dd_text2list(initlist[2], "/")
+ var/list/copypath = splittext(initlist[2], "/")
var/copyname = null
if (adjust_name)
copypath += adjust_name
@@ -373,7 +373,7 @@
copypath.len--
if (copypath.len)
- initlist[2] = dd_list2text(copypath, "/")
+ initlist[2] = jointext(copypath, "/")
if (prefixroot && !dd_hasprefix(initlist[2], "/"))
initlist[2] = "/" + initlist[2]
else
@@ -403,7 +403,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initlist.len || !initparams)
message_user("Error: No filepath(s) specified.")
mainframe_prog_exit
@@ -460,7 +460,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || initlist.len < 2)
message_user("Error: Must specify target and link paths.")
mainframe_prog_exit
@@ -486,14 +486,14 @@
return
var/prefixroot = dd_hasprefix(initlist[2], "/")
- var/list/linkpath = dd_text2list(initlist[2], "/")
+ var/list/linkpath = splittext(initlist[2], "/")
var/linkname = null
if (linkpath.len)
linkname = copytext(linkpath[linkpath.len], 1, 16)
linkpath.len--
if (linkpath.len)
- initlist[2] = dd_list2text(linkpath, "/")
+ initlist[2] = jointext(linkpath, "/")
if (prefixroot && !dd_hasprefix(initlist[2], "/"))
initlist[2] = "/" + initlist[2]
else
@@ -521,7 +521,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initlist.len || !initparams)
message_user("Error: No filepath(s) specified.")
mainframe_prog_exit
@@ -542,14 +542,14 @@
if (!prefixroot)
initlist[1] = "[current]" + (current == "/" ? null : "/") + initlist[1]
- var/list/dirpath = dd_text2list(initlist[1], "/")
+ var/list/dirpath = splittext(initlist[1], "/")
var/dirname = null
if (dirpath.len)
dirname = copytext(dirpath[dirpath.len], 1, 16)
dirpath.len--
if (dirpath.len)
- initlist[1] = dd_list2text(dirpath, "/")
+ initlist[1] = jointext(dirpath, "/")
if (prefixroot && !dd_hasprefix(initlist[1], "/"))
initlist[1] = "/" + initlist[1]
@@ -580,7 +580,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || initlist.len < 2)
message_user("Error: Must specify permission value and target path.")
mainframe_prog_exit
@@ -663,7 +663,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || initlist.len < 2)
message_user("Error: Must specify owner/group value(s) and target path.")
mainframe_prog_exit
@@ -672,7 +672,7 @@
var/newowner = null
var/newgroup = null
- var/list/newlist = dd_text2list(initlist[1], ":") //New owner/group values should given in form owner:group
+ var/list/newlist = splittext(initlist[1], ":") //New owner/group values should given in form owner:group
if (!newlist.len || newlist.len > 2)
message_user("Error: Input values should be of form \[owner]:\[group]")
mainframe_prog_exit
@@ -726,7 +726,7 @@
if (!usdat.fields["registered"] || !usdat.fields["assignment"])
return ESIG_GENERIC
- var/list/accessList = dd_text2list(usdat.fields["access"] + ";", ";")
+ var/list/accessList = splittext(usdat.fields["access"] + ";", ";")
if ("[access_dwaine_superuser]" in accessList)
if(signal_program(1, list("command"=DWAINE_COMMAND_UGROUP, "group"=0)) == ESIG_SUCCESS)
message_user("You are now authorized.")
@@ -758,7 +758,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (!initparams || initlist.len < 2)
message_user("Error: Must specify device file and mount point names.")
mainframe_prog_exit
@@ -792,7 +792,7 @@
mainframe_prog_exit
return
- var/list/initlist = dd_text2list(initparams, " ")
+ var/list/initlist = splittext(initparams, " ")
if (initlist.len > 1)
var/case_sensitive = 1
var/print_only_match = 0
@@ -880,7 +880,7 @@
return
if(initparams)
- var/list/initlist = dd_text2list(initparams," ")
+ var/list/initlist = splittext(initparams," ")
if (initlist.len)
for (var/x in initlist)
x = ckey(x)
@@ -1144,13 +1144,13 @@
else
var/format = opts["t"]
var/t = ticker.round_elapsed_ticks % 10
- format = dd_replacetext(format, "%t", "[t]")
+ format = replacetext(format, "%t", "[t]")
var/s = round(ticker.round_elapsed_ticks / 10) % 60
- format = dd_replacetext(format, "%s", "[s]")
+ format = replacetext(format, "%s", "[s]")
var/m = round(ticker.round_elapsed_ticks / 600) % 60
- format = dd_replacetext(format, "%m", "[m]")
+ format = replacetext(format, "%m", "[m]")
var/h = round(ticker.round_elapsed_ticks / 36000)
- format = dd_replacetext(format, "%h", "[h]")
+ format = replacetext(format, "%h", "[h]")
message_reply_and_user(format)
mainframe_prog_exit
return
@@ -1377,12 +1377,12 @@
mainframe_prog_exit
return
archive.add_file(C2)
- var/list/arcparts = dd_text2list(arcfile, "/")
+ var/list/arcparts = splittext(arcfile, "/")
archive.name = arcparts[arcparts.len]
arcparts.Cut(arcparts.len, 0)
var/arcbase = "/"
if (arcparts.len)
- arcbase = "[dd_list2text(arcparts, "/")]"
+ arcbase = "[jointext(arcparts, "/")]"
if (chs(arcbase, 1) != "/")
arcbase = "/[arcbase]"
var/outcome = signal_program(1, list("command"=DWAINE_COMMAND_FWRITE, "path"=arcbase, "mkdir"=1, "replace" = 1), archive)
diff --git a/code/WorkInProgress/computer3/peripherals.dm b/code/WorkInProgress/computer3/peripherals.dm
index c4c4b5a..10328ab 100644
--- a/code/WorkInProgress/computer3/peripherals.dm
+++ b/code/WorkInProgress/computer3/peripherals.dm
@@ -1025,7 +1025,7 @@
var/datum/signal/newsignal = get_free_signal()
newsignal.data["registered"] = src.authid.registered
newsignal.data["assignment"] = src.authid.assignment
- newsignal.data["access"] = dd_list2text(src.authid.access, ";")
+ newsignal.data["access"] = jointext(src.authid.access, ";")
newsignal.data["balance"] = src.authid.money
spawn(4)
diff --git a/code/WorkInProgress/computer3/sec_rec.dm b/code/WorkInProgress/computer3/sec_rec.dm
index b6e344b..15aa2a8 100644
--- a/code/WorkInProgress/computer3/sec_rec.dm
+++ b/code/WorkInProgress/computer3/sec_rec.dm
@@ -539,7 +539,7 @@
if(!data || !data["command"])
return
- var/list/commandList = dd_text2list(data["command"], "|n")
+ var/list/commandList = splittext(data["command"], "|n")
if (!commandList || !commandList.len)
return
diff --git a/code/WorkInProgress/computer3/smallprogs.dm b/code/WorkInProgress/computer3/smallprogs.dm
index f7c4da7..f77f21f 100644
--- a/code/WorkInProgress/computer3/smallprogs.dm
+++ b/code/WorkInProgress/computer3/smallprogs.dm
@@ -128,7 +128,7 @@
src.print_text("\[[x]] [part]")
if("save")
- var/new_name = strip_html(dd_list2text(command_list, " "))
+ var/new_name = strip_html(jointext(command_list, " "))
new_name = copytext(new_name, 1, 16)
if(!new_name)
@@ -590,7 +590,7 @@ file_save - Save file to local disk."}
if ("file_load")
var/toLoadName = "temp"
if (command_list.len)
- toLoadName = dd_list2text(command_list, "")
+ toLoadName = jointext(command_list, "")
var/datum/computer/file/loadedFile = parse_file_directory(toLoadName,src.holding_folder)
@@ -609,7 +609,7 @@ file_save - Save file to local disk."}
var/toSaveName = "temp"
if (command_list.len)
- toSaveName = dd_list2text(command_list, "")
+ toSaveName = jointext(command_list, "")
var/datum/computer/file/record/saved = get_file_name(toSaveName, src.holding_folder)
if(saved || get_folder_name(toSaveName, src.holding_folder))
@@ -644,7 +644,7 @@ file_save - Save file to local disk."}
var/sendText = "login"
if (command_list.len)
- sendText = dd_list2text(command_list, " ")
+ sendText = jointext(command_list, " ")
src.send_term_message(sendText, 1)
src.print_text("File sent.")
@@ -771,11 +771,11 @@ file_save - Save file to local disk."}
src.master.temp = null
if("multiline") //Oh, they want multiple lines of stuff.
- new_message = dd_replacetext(new_message, "|n", "
]")
+ new_message = replacetext(new_message, "|n", "
]")
if ("multiline|clear","clear|multiline") //Both of the above!
src.master.temp = null
- new_message = dd_replacetext(new_message, "|n", "
]")
+ new_message = replacetext(new_message, "|n", "
]")
src.print_text("][new_message]")
return
@@ -905,7 +905,7 @@ file_save - Save file to local disk."}
command_list -= command_list[1]
key = copytext(lowertext(strip_html(key)), 1, 128)
- data = dd_list2text(command_list, " ")
+ data = jointext(command_list, " ")
data = copytext(strip_html(data), 1, 256)
if(!ckey(key) || ckey(!data))
@@ -970,7 +970,7 @@ file_save - Save file to local disk."}
return
if ("save")
- var/new_name = strip_html(dd_list2text(command_list, " "))
+ var/new_name = strip_html(jointext(command_list, " "))
new_name = copytext(new_name, 1, 16)
if(!new_name)
@@ -1001,7 +1001,7 @@ file_save - Save file to local disk."}
src.print_text("Record \"[new_name]\" saved.")
if ("load")
- var/file_name = ckey(dd_list2text(command_list, " "))
+ var/file_name = ckey(jointext(command_list, " "))
if(!file_name)
src.print_text("Syntax: \"LOAD \[file name]\"")
@@ -1023,7 +1023,7 @@ file_save - Save file to local disk."}
src.print_text("Signal cleared.")
if ("file")
- var/file_name = ckey(dd_list2text(command_list, " "))
+ var/file_name = ckey(jointext(command_list, " "))
if(!file_name)
src.attached_file = null
@@ -1093,7 +1093,7 @@ file_save - Save file to local disk."}
command_list -= command_list[1]
title = copytext(lowertext(strip_html(title)), 1, 16)
- data = dd_list2text(command_list, " ")
+ data = jointext(command_list, " ")
data = copytext(strip_html(data), 1, 255)
if(!ckey(title) || ckey(!data))
@@ -1128,7 +1128,7 @@ file_save - Save file to local disk."}
src.print_half_text("Line \[[selected_line]] cleared.")
if("load")
- var/file_name = ckey(dd_list2text(command_list, " "))
+ var/file_name = ckey(jointext(command_list, " "))
if(!file_name)
src.print_half_text("Syntax: \"load \[file name]\"")
@@ -1148,7 +1148,7 @@ file_save - Save file to local disk."}
src.print_half_text("Load complete.")
if("save")
- var/new_name = strip_html(dd_list2text(command_list, " "))
+ var/new_name = strip_html(jointext(command_list, " "))
new_name = copytext(new_name, 1, 16)
if(!new_name)
@@ -1186,7 +1186,7 @@ file_save - Save file to local disk."}
src.print_half_text("Signal \"[new_name]\" saved.")
if("recsave")
- var/new_name = strip_html(dd_list2text(command_list, " "))
+ var/new_name = strip_html(jointext(command_list, " "))
new_name = copytext(new_name, 1, 16)
if(!new_name)
@@ -1217,7 +1217,7 @@ file_save - Save file to local disk."}
src.print_half_text("Record \"[new_name]\" saved.")
if("file")
- var/inc_path = dd_list2text(command_list, " ")
+ var/inc_path = jointext(command_list, " ")
if(!ckey(inc_path))
src.print_half_text("Syntax: \"file \[filepath]\"")
src.print_half_text("Path of file to include in signal.")
diff --git a/code/WorkInProgress/computer3/terminal.dm b/code/WorkInProgress/computer3/terminal.dm
index 7c2feca..60418e0 100644
--- a/code/WorkInProgress/computer3/terminal.dm
+++ b/code/WorkInProgress/computer3/terminal.dm
@@ -239,7 +239,7 @@ file_save - Save file to local disk."}
var/sendText = "login"
if (command_list.len)
- sendText = dd_list2text(command_list, " ")
+ sendText = jointext(command_list, " ")
src.send_term_message(sendText, 1)
src.print_text("File sent.")
@@ -256,7 +256,7 @@ file_save - Save file to local disk."}
if("file_load")
var/toLoadName = "temp"
if (command_list.len)
- toLoadName = dd_list2text(command_list, "")
+ toLoadName = jointext(command_list, "")
var/datum/computer/file/loadedFile = null
for (var/obj/item/disk/data/drive in src.master.contents)
@@ -289,7 +289,7 @@ file_save - Save file to local disk."}
var/toSaveName = "temp"
if (command_list.len)
- toSaveName = dd_list2text(command_list, "")
+ toSaveName = jointext(command_list, "")
for (var/obj/item/disk/data/drive in src.master.contents)
if (drive == src.holder || !drive.root)
@@ -528,11 +528,11 @@ file_save - Save file to local disk."}
src.master.temp = null
if("multiline") //Oh, they want multiple lines of stuff.
- new_message = dd_replacetext(new_message, "|n", "
]")
+ new_message = replacetext(new_message, "|n", "
]")
if ("multiline|clear","clear|multiline") //Both of the above!
src.master.temp = null
- new_message = dd_replacetext(new_message, "|n", "
]")
+ new_message = replacetext(new_message, "|n", "
]")
src.print_text("][new_message]")
return
diff --git a/code/WorkInProgress/computer3/writer.dm b/code/WorkInProgress/computer3/writer.dm
index 6a93b40..709f4c0 100644
--- a/code/WorkInProgress/computer3/writer.dm
+++ b/code/WorkInProgress/computer3/writer.dm
@@ -159,7 +159,7 @@
src.working_line = 0
if ("!load","!l")
- var/file_name = ckey(dd_list2text(command_list, " "))
+ var/file_name = ckey(jointext(command_list, " "))
if (!file_name)
src.print_text("Syntax: \"!load \[file name]\"")
@@ -172,14 +172,14 @@
if (istype(to_load, /datum/computer/file/text))
var/datum/computer/file/text/loadText = to_load
- src.notelist = dd_text2list(loadText.data, "
")
+ src.notelist = splittext(loadText.data, "
")
else
src.notelist = to_load.fields.Copy()
src.print_text("Load successful.")
if ("!save", "!s")
- var/new_name = strip_html(dd_list2text(command_list, " "))
+ var/new_name = strip_html(jointext(command_list, " "))
new_name = copytext(new_name, 1, 16)
if(!new_name)
@@ -213,7 +213,7 @@
src.print_text(get_help_text())
if ("!print", "!p")
- var/print_name = strip_html(dd_list2text(command_list, " "))
+ var/print_name = strip_html(jointext(command_list, " "))
print_name = copytext(print_name, 1, 16)
var/networked = (src.connected && src.selected_printer)
@@ -334,7 +334,7 @@
if(!data || !data["command"])
return
- var/list/commandList = dd_text2list(data["command"], "|n")
+ var/list/commandList = splittext(data["command"], "|n")
if (!commandList || !commandList.len)
return
@@ -468,7 +468,7 @@
return 1
var/datum/signal/signal = get_free_signal()
- signal.data["data"] = dd_list2text(src.notelist, "
")
+ signal.data["data"] = jointext(src.notelist, "
")
signal.data["title"] = print_title
src.peripheral_command("print",signal, "\ref[printcard]")
return 0
diff --git a/code/WorkInProgress/computerx/computerx.dm b/code/WorkInProgress/computerx/computerx.dm
index e3af2ed..824adad 100644
--- a/code/WorkInProgress/computerx/computerx.dm
+++ b/code/WorkInProgress/computerx/computerx.dm
@@ -367,7 +367,7 @@ var/compx_gridx_max = 5
set name = ".compcommand"
//boutput(world, "compx command: \"[commandstring]\"")
- var/list/commands = dd_text2list(commandstring,"%")
+ var/list/commands = splittext(commandstring,"%")
if(commands.len < 2)
return
var/command = commands[2]
diff --git a/code/WorkInProgress/computerx/main_os.dm b/code/WorkInProgress/computerx/main_os.dm
index 2c2577e..f0a23a1 100644
--- a/code/WorkInProgress/computerx/main_os.dm
+++ b/code/WorkInProgress/computerx/main_os.dm
@@ -193,7 +193,7 @@
var/datum/compx_window/grid/window = src.temp
//If everything works out here, coords[1] should be x and coords[2] should be y of the new grid location.
- var/list/coords = dd_text2list(href_list["drag"], ",")
+ var/list/coords = splittext(href_list["drag"], ",")
if(coords.len != 2)
return
diff --git a/code/WorkInProgress/computerx/peripherals.dm b/code/WorkInProgress/computerx/peripherals.dm
index d9b1728..d2710e3 100644
--- a/code/WorkInProgress/computerx/peripherals.dm
+++ b/code/WorkInProgress/computerx/peripherals.dm
@@ -660,7 +660,7 @@
var/datum/computer/file/record/newrec = new
newrec.fields["registered"] = src.authid.registered
newrec.fields["assignment"] = src.authid.assignment
- newrec.fields["access"] = dd_list2text(src.authid.access, ";")
+ newrec.fields["access"] = jointext(src.authid.access, ";")
newrec.fields["balance"] = src.authid.money
spawn(4)
diff --git a/code/WorkInProgress/halloween.dm b/code/WorkInProgress/halloween.dm
index b4825d1..770151b 100644
--- a/code/WorkInProgress/halloween.dm
+++ b/code/WorkInProgress/halloween.dm
@@ -692,7 +692,7 @@
var/scramblemode = rand(1,10)
switch(scramblemode)
if (5)
- var/list/stutterList = dd_text2list(message, " ")
+ var/list/stutterList = splittext(message, " ")
if (stutterList.len > 1)
var/stutterPoint = rand( round(stutterList.len/2), stutterList.len )
stutterList.len = stutterPoint
@@ -706,13 +706,13 @@
message += "-[uppertext(stutterList[stutterList.len])]"
if (6)
- var/list/bzztList = dd_text2list(message, " ")
+ var/list/bzztList = splittext(message, " ")
if (bzztList.len > 1)
for (var/i = 1, i <= bzztList.len, i++)
if (prob( min(5*i, 20) ))
bzztList[i] = pick("*BZZT*","*ERRT*","*WONK*", "*ZORT*", "*BWOP*", "BWEET")
- message = dd_list2text(bzztList, " ")
+ message = jointext(bzztList, " ")
if (7)
for(var/mob/O in hearers(src, null))
diff --git a/code/WorkInProgress/luna.dm b/code/WorkInProgress/luna.dm
index a12b038..38c3e11 100644
--- a/code/WorkInProgress/luna.dm
+++ b/code/WorkInProgress/luna.dm
@@ -1436,7 +1436,7 @@ datum/computer/file/embedded_program/maintpanel
..()
proc/do_setup(var/setupString)
- var/list/setupList = dd_text2list(setupString, ";")
+ var/list/setupList = splittext(setupString, ";")
if (!setupList || !setupList.len)
return
diff --git a/code/WorkInProgress/meatland.dm b/code/WorkInProgress/meatland.dm
index 6242b97..10f9948 100644
--- a/code/WorkInProgress/meatland.dm
+++ b/code/WorkInProgress/meatland.dm
@@ -409,7 +409,7 @@ var/global/list/default_meat_head_dialog = list("hello hello", "... it's not vir
if (. == ckey(test_string))
return 1
- var/list/exploded_sentence = dd_text2list(message, " ")
+ var/list/exploded_sentence = splittext(message, " ")
if (!exploded_sentence || !exploded_sentence.len)
return 1
@@ -423,7 +423,7 @@ var/global/list/default_meat_head_dialog = list("hello hello", "... it's not vir
if (prob(10))
exploded_sentence[i] = "..."
- . = dd_list2text(exploded_sentence, " ")
+ . = jointext(exploded_sentence, " ")
dialog += .
if ((dialog.len - default_meat_head_dialog.len) > MEATHEAD_MAX_CUSTOM_UTTERANCES)
diff --git a/code/WorkInProgress/numbersstation.dm b/code/WorkInProgress/numbersstation.dm
index 557e01a..10a968d 100644
--- a/code/WorkInProgress/numbersstation.dm
+++ b/code/WorkInProgress/numbersstation.dm
@@ -278,7 +278,7 @@ var/global/datum/numbers_station/lincolnshire = new
var/TP = ldata["numbers"]
if (TP == null)
return 1
- var/list/nums = dd_text2list(TP, " ")
+ var/list/nums = splittext(TP, " ")
if (nums.len < 21)
logTheThing("debug", null, null, "Numbers station got too few numbers.")
return 2
diff --git a/code/WorkInProgress/pathology/newpath/pathogen.dm b/code/WorkInProgress/pathology/newpath/pathogen.dm
index 11697ea..a605a4d 100644
--- a/code/WorkInProgress/pathology/newpath/pathogen.dm
+++ b/code/WorkInProgress/pathology/newpath/pathogen.dm
@@ -122,7 +122,7 @@ datum/controller/pathogen
proc/patient_zero(var/datum/pathogen_cdc/CDC, var/topic_holder)
if (CDC.patient_zero)
- return dd_replacetext(CDC.patient_zero_kname, "%holder%", "\ref[topic_holder]")
+ return replacetext(CDC.patient_zero_kname, "%holder%", "\ref[topic_holder]")
Topic(href, href_list)
var/key = usr.ckey
diff --git a/code/WorkInProgress/pathology/newpath/pathogen_helpers.dm b/code/WorkInProgress/pathology/newpath/pathogen_helpers.dm
index 9d2688b..1c1c535 100644
--- a/code/WorkInProgress/pathology/newpath/pathogen_helpers.dm
+++ b/code/WorkInProgress/pathology/newpath/pathogen_helpers.dm
@@ -1,18 +1,18 @@
/proc/shakespearify(var/string)
- string = dd_replacetext(string, "your ", "[pick("thy", "thine")] ")
- string = dd_replacetext(string, " your", " [pick("thy", "thine")]")
- string = dd_replacetext(string, " is ", " be ")
- string = dd_replacetext(string, "you ", "thou ")
- string = dd_replacetext(string, " you", " thou")
- string = dd_replacetext(string, "are ", "art ")
- string = dd_replacetext(string, " are", " art")
- string = dd_replacetext(string, "does ", "doth ")
- string = dd_replacetext(string, " does", " doth")
- string = dd_replacetext(string, "do ", "doth ")
- string = dd_replacetext(string, " do", " doth")
- string = dd_replacetext(string, "she ", "the lady ")
- string = dd_replacetext(string, " she", " the lady")
- string = dd_replacetext(string, "i think", "methinks")
+ string = replacetext(string, "your ", "[pick("thy", "thine")] ")
+ string = replacetext(string, " your", " [pick("thy", "thine")]")
+ string = replacetext(string, " is ", " be ")
+ string = replacetext(string, "you ", "thou ")
+ string = replacetext(string, " you", " thou")
+ string = replacetext(string, "are ", "art ")
+ string = replacetext(string, " are", " art")
+ string = replacetext(string, "does ", "doth ")
+ string = replacetext(string, " does", " doth")
+ string = replacetext(string, "do ", "doth ")
+ string = replacetext(string, " do", " doth")
+ string = replacetext(string, "she ", "the lady ")
+ string = replacetext(string, " she", " the lady")
+ string = replacetext(string, "i think", "methinks")
return string
/mob/living/carbon/human/proc/become_ice_statue()
diff --git a/code/WorkInProgress/pathology/newpath/pathogen_machines.dm b/code/WorkInProgress/pathology/newpath/pathogen_machines.dm
index b69d28c..384915e 100644
--- a/code/WorkInProgress/pathology/newpath/pathogen_machines.dm
+++ b/code/WorkInProgress/pathology/newpath/pathogen_machines.dm
@@ -481,7 +481,7 @@
gui.sendToSubscribers({"{"splice":{"source":[sOut],"target":[tOut],"pred":[predictive_data],"selSource":[src.manip.sel_source],"selTarget":[src.manip.sel_target],"selected":[src.manip.splicesource]}}"}, "setUIState")
proc/sendAnalysisData()
- var/out = {"{"analysis":{"curr":"[src.manip.analysis]","predeffect":[db.certainty],"buttons":"[dd_list2text(src.manip.analysis_list,"")]""}
+ var/out = {"{"analysis":{"curr":"[src.manip.analysis]","predeffect":[db.certainty],"buttons":"[jointext(src.manip.analysis_list,"")]""}
if(src.manip.last_analysis)
out += {","prev":[src.manip.last_analysis]"}
out += "}}"
diff --git a/code/WorkInProgress/recycling/disposal.dm b/code/WorkInProgress/recycling/disposal.dm
index 7a360eb..a4bab8e 100644
--- a/code/WorkInProgress/recycling/disposal.dm
+++ b/code/WorkInProgress/recycling/disposal.dm
@@ -789,9 +789,11 @@
new_nuggets += current_nugget
qdel(newIngredient)
+ LAGCHECK(50)
for (var/obj/O in new_nuggets)
O.set_loc(H)
+ LAGCHECK(50)
else
var/obj/item/reagent_containers/food/snacks/prison_loaf/newLoaf = new /obj/item/reagent_containers/food/snacks/prison_loaf(src)
@@ -799,7 +801,6 @@
if (newIngredient.reagents)
newIngredient.reagents.trans_to(newLoaf, 1000)
-
if (istype(newIngredient, /obj/item/reagent_containers/food/snacks/prison_loaf))
var/obj/item/reagent_containers/food/snacks/prison_loaf/otherLoaf = newIngredient
newLoaf.loaf_factor += otherLoaf.loaf_factor * 1.2
@@ -830,6 +831,7 @@
else
newLoaf.loaf_factor++
qdel(newIngredient)
+ LAGCHECK(50)
newLoaf.update()
newLoaf.set_loc(H)
diff --git a/code/WorkInProgress/sniper.dm b/code/WorkInProgress/sniper.dm
index e8a7e6a..0223da2 100644
--- a/code/WorkInProgress/sniper.dm
+++ b/code/WorkInProgress/sniper.dm
@@ -41,8 +41,8 @@
/proc/mysql_sanitize(var/t)
if(!t)
return ""
- var/tmp = dd_replacetext(t, "'", "\'")
- tmp = dd_replacetext(tmp, "\\", "/")
+ var/tmp = replacetext(t, "'", "\'")
+ tmp = replacetext(tmp, "\\", "/")
return tmp
/mob/proc/addicted_to_reagent(var/datum/reagent/reagent)
diff --git a/code/_macros.dm b/code/_macros.dm
index c5b8720..f0a1135 100644
--- a/code/_macros.dm
+++ b/code/_macros.dm
@@ -72,4 +72,6 @@ proc/__btime__timeofhour()
#define TimeOfHour world.timeofday % 36000
#endif
-#define CLAMP(V, MN, MX) max(MN, min(MX, V))
\ No newline at end of file
+#define CLAMP(V, MN, MX) max(MN, min(MX, V))
+
+#define LAGCHECK(x) if (world.tick_usage > x) sleep(world.tick_lag)
\ No newline at end of file
diff --git a/code/_setup.dm b/code/_setup.dm
index b518194..498caae 100644
--- a/code/_setup.dm
+++ b/code/_setup.dm
@@ -472,12 +472,11 @@ var/const
#define PROCESS_STATUS_HUNG 6
// Process time thresholds
-#define PROCESS_DEFAULT_HANG_WARNING_TIME 300 // 30 seconds
-#define PROCESS_DEFAULT_HANG_ALERT_TIME 600 // 60 seconds
-#define PROCESS_DEFAULT_HANG_RESTART_TIME 900 // 90 seconds
+#define PROCESS_DEFAULT_HANG_WARNING_TIME 3000 // 300 seconds
+#define PROCESS_DEFAULT_HANG_ALERT_TIME 6000 // 600 seconds
+#define PROCESS_DEFAULT_HANG_RESTART_TIME 9000 // 900 seconds
#define PROCESS_DEFAULT_SCHEDULE_INTERVAL 50 // 50 ticks
-#define PROCESS_DEFAULT_SLEEP_INTERVAL 2 // 2 ticks
-#define PROCESS_DEFAULT_CPU_THRESHOLD 90 // 90%
+#define PROCESS_DEFAULT_TICK_ALLOWANCE 66 // 66% of one tick
/** Delete queue defines */
#define MIN_DELETE_CHUNK_SIZE 20
@@ -502,3 +501,7 @@ var/const
#define CDN_ENABLED 1
#define LOOC_RANGE 8
+
+#define DELETE_STOP 0
+#define DELETE_RUNNING 1
+#define DELETE_CHECK 2
\ No newline at end of file
diff --git a/code/_vox.dm b/code/_vox.dm
index d33a1b9..31eb207 100644
--- a/code/_vox.dm
+++ b/code/_vox.dm
@@ -149,7 +149,7 @@ proc/vox_play(var/input, var/user)
if(!input)
return
- var/list/tokens = dd_text2list(input, " ")
+ var/list/tokens = splittext(input, " ")
var/list/missingwords = list()
for(var/t in tokens)
t = lowertext(t)
diff --git a/code/admin/admin.dm b/code/admin/admin.dm
index e90568d..e9c4c4e 100644
--- a/code/admin/admin.dm
+++ b/code/admin/admin.dm
@@ -17,25 +17,25 @@ var/global/noir = 0
continue
if (M.client.player_mode)
if (asay && M.client.player_mode_asay)
- boutput(M, dd_replaceText(rendered, "%admin_ref%", "\ref[M.client.holder]"))
+ boutput(M, replacetext(rendered, "%admin_ref%", "\ref[M.client.holder]"))
else
continue
else
- boutput(M, dd_replaceText(rendered, "%admin_ref%", "\ref[M.client.holder]")) //this doesnt fail if the placeholder doesnt exist ok dont worry
+ boutput(M, replacetext(rendered, "%admin_ref%", "\ref[M.client.holder]")) //this doesnt fail if the placeholder doesnt exist ok dont worry
sleep(-1)
/proc/message_coders(var/text) //Shamelessly adapted from message_admins
var/rendered = "CODER LOG: [text]"
for (var/mob/M in mobs)
if (M && M.client && M.client.holder && rank_to_level(M.client.holder.rank) >= LEVEL_CODER) //This is for edge cases where a coder needs a goddamn notification when it happens
- boutput(M, dd_replaceText(rendered, "%admin_ref%", "\ref[M.client.holder]"))
+ boutput(M, replacetext(rendered, "%admin_ref%", "\ref[M.client.holder]"))
sleep(-1)
/proc/message_attack(var/text) //Sends a message to folks when an attack goes down
var/rendered = "ATTACK LOG: [text]"
for (var/mob/M in mobs)
if (M && M.client && M.client.holder && rank_to_level(M.client.holder.rank) >= LEVEL_MOD && M.client.holder.attacktoggle && !M.client.player_mode)
- boutput(M, dd_replaceText(rendered, "%admin_ref%", "\ref[M.client.holder]"))
+ boutput(M, replacetext(rendered, "%admin_ref%", "\ref[M.client.holder]"))
sleep(-1)
/proc/rank_to_level(var/rank)
@@ -350,9 +350,9 @@ var/global/noir = 0
if(job in list("Tourist","Mining Supervisor","Atmospheric Technician","Vice Officer"))
continue
if(jobban_isbanned(M, job))
- jobs += "[dd_replacetext(job, " ", " ")] "
+ jobs += "[replacetext(job, " ", " ")] "
else
- jobs += "[dd_replacetext(job, " ", " ")] " //why doesn't this work the stupid cunt
+ jobs += "[replacetext(job, " ", " ")] " //why doesn't this work the stupid cunt
if(jobban_isbanned(M, "Captain"))
jobs += "Captain "
@@ -365,39 +365,39 @@ var/global/noir = 0
jobs += "Head of Security "
if(jobban_isbanned(M, "Syndicate"))
- jobs += "
[dd_replacetext("Syndicate", " ", " ")] "
+ jobs += "
[replacetext("Syndicate", " ", " ")] "
else
- jobs += "
[dd_replacetext("Syndicate", " ", " ")] " //why doesn't this work the stupid cunt
+ jobs += "
[replacetext("Syndicate", " ", " ")] " //why doesn't this work the stupid cunt
if(jobban_isbanned(M, "Special Respawn"))
- jobs += " [dd_replacetext("Special Respawn", " ", " ")] "
+ jobs += " [replacetext("Special Respawn", " ", " ")] "
else
- jobs += " [dd_replacetext("Special Respawn", " ", " ")] "
+ jobs += " [replacetext("Special Respawn", " ", " ")] "
if(jobban_isbanned(M, "Engineering Department"))
- jobs += "
[dd_replacetext("Engineering Department", " ", " ")] "
+ jobs += "
[replacetext("Engineering Department", " ", " ")] "
else
- jobs += "
[dd_replacetext("Engineering Department", " ", " ")] "
+ jobs += "
[replacetext("Engineering Department", " ", " ")] "
if(jobban_isbanned(M, "Security Department"))
- jobs += "
[dd_replacetext("Security Department", " ", " ")] "
+ jobs += "
[replacetext("Security Department", " ", " ")] "
else
- jobs += "
[dd_replacetext("Security Department", " ", " ")] "
+ jobs += "
[replacetext("Security Department", " ", " ")] "
if(jobban_isbanned(M, "Heads of Staff"))
- jobs += "
[dd_replacetext("Heads of Staff", " ", " ")] "
+ jobs += "
[replacetext("Heads of Staff", " ", " ")] "
else
- jobs += "
[dd_replacetext("Heads of Staff", " ", " ")] "
+ jobs += "
[replacetext("Heads of Staff", " ", " ")] "
if(jobban_isbanned(M, "Everything Except Assistant"))
- jobs += "
[dd_replacetext("Everything Except Assistant", " ", " ")] "
+ jobs += "
[replacetext("Everything Except Assistant", " ", " ")] "
else
- jobs += "
[dd_replacetext("Everything Except Assistant", " ", " ")] "
+ jobs += "
[replacetext("Everything Except Assistant", " ", " ")] "
if(jobban_isbanned(M, "Custom Names"))
- jobs += "
[dd_replacetext("Having a Custom Name", " ", " ")] "
+ jobs += "
[replacetext("Having a Custom Name", " ", " ")] "
else
- jobs += "
[dd_replacetext("Having a Custom Name", " ", " ")] "
+ jobs += "
[replacetext("Having a Custom Name", " ", " ")] "
body = "
[jobs]
"
@@ -1100,7 +1100,7 @@ var/global/noir = 0
if ("jumptocoords")
if(src.level >= LEVEL_SA)
- var/list/coords = dd_text2list(href_list["target"], ",")
+ var/list/coords = splittext(href_list["target"], ",")
if (coords.len < 3) return
usr.client.jumptocoord(text2num(coords[1]), text2num(coords[2]), text2num(coords[3]))
else
@@ -1524,7 +1524,7 @@ var/global/noir = 0
if (newname)
if (length(newname) >= 26) newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'") + " the Blob"
+ newname = replacetext(newname, ">", "'") + " the Blob"
B.real_name = newname
B.name = newname
@@ -1812,10 +1812,10 @@ var/global/noir = 0
alert("Select five or less object types only, you colossal ass!")
return
else if (length(removed_paths))
- alert("Spawning of these objects is blocked:\n" + dd_list2text(removed_paths, "\n"))
+ alert("Spawning of these objects is blocked:\n" + jointext(removed_paths, "\n"))
return
- var/list/offset = dd_text2list(href_list["offset"],",")
+ var/list/offset = splittext(href_list["offset"],",")
var/number = dd_range(1, 100, text2num(href_list["object_count"]))
var/X = offset.len > 0 ? text2num(offset[1]) : 0
var/Y = offset.len > 1 ? text2num(offset[2]) : 0
@@ -2829,15 +2829,15 @@ var/global/noir = 0
else if (preSearch)
gettxt = preSearch
- logType = dd_replaceText(logType, "_string", "")
- logType = dd_replaceText(logType, "_log", "")
- var/prettyLogName = dd_replaceText(logType, "_", " ")
+ logType = replacetext(logType, "_string", "")
+ logType = replacetext(logType, "_log", "")
+ var/prettyLogName = replacetext(logType, "_", " ")
if (prettyLogName == "alls") prettyLogName = "all"
var/foundCount = 0
if (logType == "alls")
for (var/log in logs)
var/list/logList = logs[log]
- prettyLogName = dd_replaceText(log, "_", " ")
+ prettyLogName = replacetext(log, "_", " ")
var/searchData
var/found
for (var/l in logList)
@@ -2865,9 +2865,9 @@ var/global/noir = 0
dat += ""
dat = "
" + dat
- dat = dd_replaceText(dat, "%admin_ref%", "\ref[src]")
+ dat = replacetext(dat, "%admin_ref%", "\ref[src]")
var/adminLogHtml = grabResource("html/admin/admin_log.html")
- adminLogHtml = dd_replacetext(adminLogHtml, "", "[dat]")
+ adminLogHtml = replacetext(adminLogHtml, "", "[dat]")
usr << browse(adminLogHtml, "window=[logType]_log;size=750x500")
else
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
@@ -2895,9 +2895,9 @@ var/global/noir = 0
dat += ""
dat = "
" + dat
- dat = dd_replaceText(dat, "%admin_ref%", "\ref[src]")
+ dat = replacetext(dat, "%admin_ref%", "\ref[src]")
var/adminLogHtml = grabResource("html/admin/admin_log.html")
- adminLogHtml = dd_replacetext(adminLogHtml, "", "[dat]")
+ adminLogHtml = replacetext(adminLogHtml, "", "[dat]")
usr << browse(adminLogHtml, "window=[logType]_log;size=750x500")
if ("s_rez")
@@ -3087,8 +3087,8 @@ var/global/noir = 0
return
if (alert("Fix a corrupted local panel or force a complete rebuild of the server's panel?","Select Rebuild Type","Local Fix","Server Rebuild") == "Local Fix")
- var/jobban_dialog_text = dd_replacetext(grabResource("html/admin/jobbans_list.html"), "null /* raw_bans */", "\"[global_jobban_cache]\"");
- usr << browse(dd_replacetext(jobban_dialog_text, "null /* ref_src */", "\"\ref[src]\""),"file=jobbans.html;display=0")
+ var/jobban_dialog_text = replacetext(grabResource("html/admin/jobbans_list.html"), "null /* raw_bans */", "\"[global_jobban_cache]\"");
+ usr << browse(replacetext(jobban_dialog_text, "null /* ref_src */", "\"\ref[src]\""),"file=jobbans.html;display=0")
current_jobbans_rev = global_jobban_cache_rev
jobbans_last_cached = world.timeofday
boutput(usr, "Refresh complete, your panel now matches the server's. If you need to edit a ban that was created after the build time shown please do a server rebuild.")
@@ -3117,8 +3117,8 @@ var/global/noir = 0
set background = 1
if (src.level >= LEVEL_CODER)
if (current_jobbans_rev == 0 || current_jobbans_rev < global_jobban_cache_rev) // the cache is newer than our panel
- var/jobban_dialog_text = dd_replacetext(grabResource("html/admin/jobbans_list.html"), "null /* raw_bans */", "\"[global_jobban_cache]\"");
- usr << browse(dd_replacetext(jobban_dialog_text, "null /* ref_src */", "\"\ref[src]\""),"file=jobbans.html;display=0")
+ var/jobban_dialog_text = replacetext(grabResource("html/admin/jobbans_list.html"), "null /* raw_bans */", "\"[global_jobban_cache]\"");
+ usr << browse(replacetext(jobban_dialog_text, "null /* ref_src */", "\"\ref[src]\""),"file=jobbans.html;display=0")
current_jobbans_rev = global_jobban_cache_rev
jobbans_last_cached = world.timeofday
diff --git a/code/admin/admin_verbs.dm b/code/admin/admin_verbs.dm
index dcb6437..bdf928d 100644
--- a/code/admin/admin_verbs.dm
+++ b/code/admin/admin_verbs.dm
@@ -1170,5 +1170,5 @@ var/list/fun_images = list()
else
var/changelogHtml = grabResource("html/changelog.html")
var/data = admin_changelog:html
- changelogHtml = dd_replacetext(changelogHtml, "", "[data]")
+ changelogHtml = replacetext(changelogHtml, "", "[data]")
src.Browse(changelogHtml, "window=adminchanges;size=500x650;title=Admin+Changelog;")
\ No newline at end of file
diff --git a/code/admin/bans.dm b/code/admin/bans.dm
index df81ae9..071762d 100644
--- a/code/admin/bans.dm
+++ b/code/admin/bans.dm
@@ -559,11 +559,11 @@
var/CMinutes = (world.realtime / 10) / 60
var/bansHtml = grabResource("html/admin/banPanel.html")
var/windowName = "banPanel"
- bansHtml = dd_replacetext(bansHtml, "null /* window_name */", "\'[windowName]\'")
- bansHtml = dd_replacetext(bansHtml, "null /* ref_src */", "\'\ref[src]\'")
- bansHtml = dd_replacetext(bansHtml, "null /* cminutes */", "[CMinutes]")
+ bansHtml = replacetext(bansHtml, "null /* window_name */", "\'[windowName]\'")
+ bansHtml = replacetext(bansHtml, "null /* ref_src */", "\'\ref[src]\'")
+ bansHtml = replacetext(bansHtml, "null /* cminutes */", "[CMinutes]")
if (centralConn)
- bansHtml = dd_replacetext(bansHtml, "null /* api_key */", "\'[md5(config.extserver_web_token)]\'")
+ bansHtml = replacetext(bansHtml, "null /* api_key */", "\'[md5(config.extserver_web_token)]\'")
usr << browse(bansHtml,"window=[windowName];size=1080x500")
@@ -607,11 +607,11 @@
var/list/log = dd_file2list(banLog)
var/lastIndex = (log.len > 1 ? log.len - 1 : 1)
var/lastRow = log[lastIndex]
- var/list/rowDetails = dd_text2list(lastRow, ":")
+ var/list/rowDetails = splittext(lastRow, ":")
lastID = text2num(rowDetails[1])
var/newID = lastID + 1
- var/append = list2json(data)
+ var/append = json_encode(data)
var/logFile = file(banLog)
boutput(logFile, "[newID]:[append]")
@@ -652,7 +652,7 @@
var/logID = row
if (!row) break
logTheThing("debug", null, null, "UPDATE LOCAL DEBUG: logID: [logID]")
- var/list/details = json2list(row[logID])
+ var/list/details = json_decode(row[logID])
logTheThing("debug", null, null, "UPDATE LOCAL DEBUG: details: [list2params(details)]")
var/type = details["type"]
details.Remove(details["type"])
@@ -678,7 +678,7 @@
for (var/e = 1, e <= data.len, e++) //each ban
var/logID = data[e]
logTheThing("debug", null, null, "UPDATE LOCAL DEBUG: logID: [logID]")
- var/list/details = json2list(data[logID])
+ var/list/details = json_decode(data[logID])
logTheThing("debug", null, null, "UPDATE LOCAL DEBUG: details: [list2params(details)]")
var/type = details["type"]
details.Remove(details["type"])
@@ -721,7 +721,7 @@
for (var/i = 1, i <= log.len, i++)
var/row = log[i]
logTheThing("debug", null, null, "UPDATE REMOTE DEBUG: row: [row]")
- var/list/rowDetails = dd_text2list(row, ":")
+ var/list/rowDetails = splittext(row, ":")
logTheThing("debug", null, null, "UPDATE REMOTE DEBUG: rowDetails: [list2params(rowDetails)]")
var/logID = rowDetails[1]
logID = text2num(logID)
@@ -732,11 +732,11 @@
logTheThing("debug", null, null, "UPDATE REMOTE DEBUG: details: [details]")
parsedLog["[logID]"] = details
- logTheThing("debug", null, null, "UPDATE REMOTE DEBUG: parsedLog: [list2json(parsedLog)]")
+ logTheThing("debug", null, null, "UPDATE REMOTE DEBUG: parsedLog: [json_encode(parsedLog)]")
//Send it to the remote so it can update
var/query[] = new()
- query["bans"] = list2json(parsedLog)
+ query["bans"] = json_encode(parsedLog)
queryAPI("bans/updateRemote", query)
return 1
@@ -759,7 +759,7 @@
var/list/log = dd_file2list(banLog)
var/lastIndex = (log.len > 1 ? log.len - 1 : 1)
var/lastRow = log[lastIndex]
- log = dd_text2list(lastRow, ":")
+ log = splittext(lastRow, ":")
latestLocalID = log[1]
//Get the latest logID from the API
diff --git a/code/admin/create.dm b/code/admin/create.dm
index ee158d7..5f1d103 100644
--- a/code/admin/create.dm
+++ b/code/admin/create.dm
@@ -3,30 +3,30 @@
set background = 1
if (!create_mob_html)
var/mobjs = null
- mobjs = dd_list2text(typesof(/mob), ";")
+ mobjs = jointext(typesof(/mob), ";")
create_mob_html = grabResource("html/admin/create_object.html")
- create_mob_html = dd_replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
+ create_mob_html = replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
- if (user) user << browse(dd_replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=530x490")
+ if (user) user << browse(replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=530x490")
/var/create_object_html = null
/datum/admins/proc/create_object(var/mob/user)
set background = 1
if (!create_object_html)
var/objectjs = null
- objectjs = dd_list2text(typesof(/obj), ";")
+ objectjs = jointext(typesof(/obj), ";")
create_object_html = grabResource("html/admin/create_object.html")
- create_object_html = dd_replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
+ create_object_html = replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
- if (user) user << browse(dd_replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=530x490")
+ if (user) user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=530x490")
/var/create_turf_html = null
/datum/admins/proc/create_turf(var/mob/user)
set background = 1
if (!create_turf_html)
var/turfjs = null
- turfjs = dd_list2text(typesof(/turf), ";")
+ turfjs = jointext(typesof(/turf), ";")
create_turf_html = grabResource("html/admin/create_object.html")
- create_turf_html = dd_replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
+ create_turf_html = replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
- if (user) user << browse(dd_replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=530x490")
+ if (user) user << browse(replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=530x490")
diff --git a/code/admin/debug.dm b/code/admin/debug.dm
index 018e706..e8aadf1 100644
--- a/code/admin/debug.dm
+++ b/code/admin/debug.dm
@@ -252,6 +252,7 @@
if (listargs == null) return
for (var/atom/theinstance in world)
+ LAGCHECK(80)
if (!istype(theinstance, thetype))
continue
counter++
@@ -422,19 +423,46 @@
for(var/V in blocked)
if(V == hsbitem)
boutput(usr, "Can't delete that you jerk!")
- return
+ return
if(hsbitem)
+ src.delete_state = DELETE_RUNNING
+ src.verbs += /client/proc/cmd_debug_del_all_cancel
+ src.verbs += /client/proc/cmd_debug_del_all_check
+ boutput(usr, "Deleting [hsbitem]...")
var/numdeleted = 0
for(var/atom/O in world)
if(istype(O, hsbitem))
- qdel(O)
+ del(O)
numdeleted ++
+ LAGCHECK(80)
+ if (src.delete_state == DELETE_STOP)
+ break
+ else if (src.delete_state == DELETE_CHECK)
+ boutput(usr, "Deleted [numdeleted] instances of [hsbitem] so far.")
+ src.delete_state = DELETE_RUNNING
+
if(numdeleted == 0) boutput(usr, "No instances of [hsbitem] found!")
else boutput(usr, "Deleted [numdeleted] instances of [hsbitem]!")
- logTheThing("admin", src, null, "has deleted all instances of [hsbitem].")
- logTheThing("diary", src, null, "has deleted all instances of [hsbitem].", "admin")
- message_admins("[key_name(src)] has deleted all instances of [hsbitem].")
+ logTheThing("admin", src, null, "has deleted [numdeleted] instances of [hsbitem].")
+ logTheThing("diary", src, null, "has deleted [numdeleted] instances of [hsbitem].", "admin")
+ message_admins("[key_name(src)] has deleted [numdeleted] instances of [hsbitem].")
+ src.verbs -= /client/proc/cmd_debug_del_all_cancel
+ src.verbs -= /client/proc/cmd_debug_del_all_check
+ src.delete_state = DELETE_STOP
+// cancels your del_all in process, if one is running
+/client/proc/cmd_debug_del_all_cancel()
+ set category = "Debug"
+ set name = "Del-All Cancel"
+
+ src.delete_state = DELETE_STOP
+
+// makes del_all print how much is currently deleted
+/client/proc/cmd_debug_del_all_check()
+ set category = "Debug"
+ set name = "Del-All Progress"
+
+ src.delete_state = DELETE_CHECK
// fuck this
// fuck
@@ -651,7 +679,7 @@ body
usr.show_text("\The [O] does not have a reagent holder or is empty.", "red")
/client/proc/showMyCoords(var/x, var/y, var/z)
- return dd_replaceText(showCoords(x,y,z), "%admin_ref%", "\ref[src.holder]")
+ return replacetext(showCoords(x,y,z), "%admin_ref%", "\ref[src.holder]")
/client/proc/print_instance(var/atom/theinstance)
if (isarea(theinstance))
diff --git a/code/admin/playernotes.dm b/code/admin/playernotes.dm
index da4cb9d..981ab1b 100644
--- a/code/admin/playernotes.dm
+++ b/code/admin/playernotes.dm
@@ -5,12 +5,11 @@
alert("UM, EXCUSE ME?? YOU AREN'T AN ADMIN, GET DOWN FROM THERE!")
usr << sound('sound/misc/poo2.ogg')
return
- var/dat = text("")
- dat += text("")
- var/query = text("")
+ var/dat = ""
+ dat += ""
+ var/query = ""
query += config.player_notes_baseurl
- query += "playernotes.php?action=getnotes&ckey="
- query += text("[player]")
+ query += "playernotes.php?action=getnotes&ckey=[player]"
var/http[] = world.Export(url_encode(query,1))
if(!http)
@@ -29,16 +28,13 @@
usr << browse(dat, "window=notesp;size=875x400")
return
- var/content = text("")
+ var/content = ""
content += file2text(http["CONTENT"])
- var/deletelinkpre = text("(DEL)")
- var/regex/R = new("/!!ID(\\d+)/[deletelinkpre]$1[deletelinkpost]/")
+ var/deletelinkpre = "(DEL)"
- var/newcontent = R.Replace(content)
- while(newcontent)
- content = newcontent
- newcontent = R.ReplaceNext(content)
+ var/regex/R = new("!!ID(\\d+)", "g")
+ content = R.Replace(content, "[deletelinkpre]$1[deletelinkpost]")
dat += content
dat = "Player Notes for [player]
Add Note
[dat]"
@@ -57,8 +53,8 @@
else
server = "server"
- notetext = dd_replacetext(notetext, "'", " ")
- notetext = dd_replacetext(notetext, "\"", " ")
+ notetext = replacetext(notetext, "'", " ")
+ notetext = replacetext(notetext, "\"", " ")
var/note = notetext
var/query = text("")
diff --git a/code/admin/randomverbs.dm b/code/admin/randomverbs.dm
index 518da2c..0a7e6f6 100644
--- a/code/admin/randomverbs.dm
+++ b/code/admin/randomverbs.dm
@@ -915,7 +915,7 @@
var/new_name = input(usr, "Please select a name:", "Polymorph Menu") as null|text
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\")
for(var/c in bad_characters)
- new_name = dd_replacetext(new_name, c, "")
+ new_name = replacetext(new_name, c, "")
if(new_name)
if(length(new_name) >= 26)
diff --git a/code/client.dm b/code/client.dm
index 39f81cb..c7c255d 100644
--- a/code/client.dm
+++ b/code/client.dm
@@ -71,6 +71,8 @@
var/datum/chatOutput/chatOutput = null
var/resourcesLoaded = 0 //Has this client done the mass resource downloading yet?
var/datum/tooltip/tooltip = null
+
+ var/delete_state = DELETE_STOP
/client/Del()
if (ticker && ticker.current_state < GAME_STATE_FINISHED)
@@ -1071,7 +1073,7 @@ var/global/curr_day = null
else
var/changelogHtml = grabResource("html/changelog.html")
var/data = changelog:html
- changelogHtml = dd_replacetext(changelogHtml, "", "[data]")
+ changelogHtml = replacetext(changelogHtml, "", "[data]")
src.Browse(changelogHtml, "window=changes;size=500x650;title=Changelog;")
src.changes = 1
diff --git a/code/datums/browserOutput.dm b/code/datums/browserOutput.dm
index 50a2b14..74c0d90 100644
--- a/code/datums/browserOutput.dm
+++ b/code/datums/browserOutput.dm
@@ -121,7 +121,7 @@ var/global
//Called in update_admins()
loadAdmin()
- var/data = list2json(list("loadAdminCode" = dd_replacetext(dd_replacetext(grabResource("html/adminOutput.html"), "\n", ""), "\t", "")))
+ var/data = json_encode(list("loadAdminCode" = replacetext(replacetext(grabResource("html/adminOutput.html"), "\n", ""), "\t", "")))
ehjax.send(src.owner, "browseroutput", url_encode(data))
//Sends client connection details to the chat to handle and save
@@ -131,14 +131,14 @@ var/global
deets["clientData"]["ckey"] = src.owner.ckey
deets["clientData"]["ip"] = src.owner.address
deets["clientData"]["compid"] = src.owner.computer_id
- var/data = list2json(deets)
+ var/data = json_encode(deets)
ehjax.send(src.owner, "browseroutput", data)
//Called by client, sent data to investigate (cookie history so far)
analyzeClientData(cookie = "")
if (!cookie) return
if (cookie != "none")
- var/list/connData = json2list(cookie)
+ var/list/connData = json_decode(cookie)
if (connData && islist(connData) && connData.len > 0 && connData["connData"])
src.connectionHistory = connData["connData"] //lol fuck
var/list/found = new()
@@ -213,7 +213,7 @@ var/global
//todo
changeChatMode(mode)
if (!mode) return
- var/data = list2json(list("modeChange" = mode))
+ var/data = json_encode(list("modeChange" = mode))
data = url_encode(data)
for (var/client/C in clients)
@@ -239,7 +239,7 @@ var/global
iconCache[iconKey] << icon
var/iconData = iconCache.ExportText(iconKey)
- var/list/partial = dd_text2list(iconData, "{")
+ var/list/partial = splittext(iconData, "{")
return copytext(partial[2], 3, -5)
@@ -262,7 +262,7 @@ var/global
iconData = iconCache.ExportText(iconKey)
if (iconData)
//It does! Ok, parse out the base64
- var/list/partial = dd_text2list(iconData, "{")
+ var/list/partial = splittext(iconData, "{")
baseData = copytext(partial[2], 3, -5)
else
//It doesn't exist! Create the icon
@@ -294,9 +294,9 @@ var/global
//Some macros remain in the string even after parsing and fuck up the eventual output
if (findtext(message, "\improper"))
- message = dd_replacetext(message, "\improper", "")
+ message = replacetext(message, "\improper", "")
if (findtext(message, "\proper"))
- message = dd_replacetext(message, "\proper", "")
+ message = replacetext(message, "\proper", "")
//Grab us a client if possible
var/client/C
diff --git a/code/datums/buildmodes/adventure/elements/pda.dm b/code/datums/buildmodes/adventure/elements/pda.dm
index e69dd1e..6d0c11f 100644
--- a/code/datums/buildmodes/adventure/elements/pda.dm
+++ b/code/datums/buildmodes/adventure/elements/pda.dm
@@ -40,7 +40,7 @@ But if the document contains <1> <2> <4> then the number of ac
boutput(usr, "Sorry, the HTML content file cannot contain additional links.")
html_content = null
is_custom = "No"
- var/regex/jsep = new("/on[a-zA-Z]+\\s*=/i")
+ var/regex/jsep = new("on[a-zA-Z]+\\s*=", "i")
else if (findtext(html_content, "script") || jsep.Find(html_content))
boutput(usr, "Sorry, the HTML content file cannot contain javascript.")
html_content = null
diff --git a/code/datums/changelog.dm b/code/datums/changelog.dm
index c1ae55d..c24c5b5 100644
--- a/code/datums/changelog.dm
+++ b/code/datums/changelog.dm
@@ -2228,7 +2228,7 @@ so you'll want your single-digit days to have 0s in front
else
html += "- [title] as of [svn_revision]
"
- var/list/lines = dd_text2list(text, "\n")
+ var/list/lines = splittext(text, "\n")
for(var/line in lines)
if (!line)
continue
diff --git a/code/datums/chemistry/Chemistry-Reactions.dm b/code/datums/chemistry/Chemistry-Reactions.dm
index 71e40b9..5f70339 100644
--- a/code/datums/chemistry/Chemistry-Reactions.dm
+++ b/code/datums/chemistry/Chemistry-Reactions.dm
@@ -24,7 +24,8 @@
for(var/atom/movable/M in view(3 + (created_volume > 30 ? 1:0), source))
if(M.anchored || M == source || M.throwing) continue
- spawn(0) M.throw_at(source, 20 + round(created_volume * 2), 1 + round(created_volume / 10))
+ M.throw_at(source, 20 + round(created_volume * 2), 1 + round(created_volume / 10))
+ LAGCHECK(50)
if (holder)
holder.del_reagent(id)
diff --git a/code/datums/chemistry/Reagents-ExplosiveFire.dm b/code/datums/chemistry/Reagents-ExplosiveFire.dm
index a379962..4abe597 100644
--- a/code/datums/chemistry/Reagents-ExplosiveFire.dm
+++ b/code/datums/chemistry/Reagents-ExplosiveFire.dm
@@ -604,7 +604,8 @@ datum
playsound(source, "sound/weapons/flashbang.ogg", 25, 1)
for(var/atom/movable/M in view(2 + (volume > 30 ? 1:0), source))
if(M.anchored || M == source || M.throwing) continue
- spawn(0) M.throw_at(get_edge_cheap(source, get_dir(source, M)), 20 + round(volume * 2), 1 + round(volume / 10))
+ M.throw_at(get_edge_cheap(source, get_dir(source, M)), 20 + round(volume * 2), 1 + round(volume / 10))
+ LAGCHECK(50)
if (holder)
holder.del_reagent(id)
return
diff --git a/code/datums/chemistry/Reagents-Misc.dm b/code/datums/chemistry/Reagents-Misc.dm
index de3bc36..f6a64cb 100644
--- a/code/datums/chemistry/Reagents-Misc.dm
+++ b/code/datums/chemistry/Reagents-Misc.dm
@@ -35,7 +35,7 @@ datum
proc/explode(var/turf/T, expl_reason, del_holder=1)
message_admins("Nitroglycerin explosion (volume = [volume]) due to [expl_reason] at [showCoords(T.x, T.y, T.z)].")
var/list/fh = holder.my_atom.fingerprintshidden
- var/context = "Fingerprints: [dd_list2text(fh)]"
+ var/context = "Fingerprints: [jointext(fh, "")]"
logTheThing("combat", usr, null, "is associated with a nitroglycerin explosion (volume = [volume]) due to [expl_reason] at [showCoords(T.x, T.y, T.z)]. Context: [context].")
explosion_new(usr, T, sqrt(10 * volume), log(10 * volume, 10))
holder.del_reagent("nitroglycerin")
diff --git a/code/datums/chemistry/chemicompiler_core.dm b/code/datums/chemistry/chemicompiler_core.dm
index a86abca..b46f641 100644
--- a/code/datums/chemistry/chemicompiler_core.dm
+++ b/code/datums/chemistry/chemicompiler_core.dm
@@ -233,6 +233,7 @@
if(ip > currentProg.len)
running = 0
break
+ LAGCHECK(50)
exec++
if(exec > 50000)
throwError(CC_ERROR_INSTRUCTION_LIMIT) // Instruction limit reached.
diff --git a/code/datums/chemistry/tools/jars.dm b/code/datums/chemistry/tools/jars.dm
index 93f03f7..73ee98d 100644
--- a/code/datums/chemistry/tools/jars.dm
+++ b/code/datums/chemistry/tools/jars.dm
@@ -89,7 +89,7 @@ proc/load_intraround_jars()
var/jarZ = 0
for (var/jar_entry in jars_encoded)
//boutput(world, "[jar_entry] = [jars_encoded[jar_entry]]")
- var/list/decode_list = dd_text2list(jars_encoded[jar_entry], ",")
+ var/list/decode_list = splittext(jars_encoded[jar_entry], ",")
if (!decode_list || decode_list.len < 3)
continue
diff --git a/code/datums/configuration.dm b/code/datums/configuration.dm
index be9a8bf..6a478b1 100644
--- a/code/datums/configuration.dm
+++ b/code/datums/configuration.dm
@@ -103,7 +103,7 @@
diary << "Reading configuration file '[filename]'"
- var/list/CL = dd_text2list(text, "\n")
+ var/list/CL = splittext(text, "\n")
for (var/t in CL)
if (!t)
@@ -262,7 +262,7 @@
config.server_specific_configs = 1
if ("servers")
- for(var/sv in dd_text2list(trim(value), " "))
+ for(var/sv in splittext(trim(value), " "))
sv = trim(sv)
if(sv)
config.servers.Add(sv)
diff --git a/code/datums/controllers/process/ai_tracking.dm b/code/datums/controllers/process/ai_tracking.dm
index 04d7391..ed6c10d 100644
--- a/code/datums/controllers/process/ai_tracking.dm
+++ b/code/datums/controllers/process/ai_tracking.dm
@@ -3,7 +3,6 @@ datum/controller/process/ai_tracking
setup()
name = "AI Tracking"
schedule_interval = 10
- sleep_interval = 0.1
doWork()
for(var/datum/ai_camera_tracker/T in global.tracking_list)
diff --git a/code/datums/controllers/process/air_system.dm b/code/datums/controllers/process/air_system.dm
index 7893cdd..be66f53 100644
--- a/code/datums/controllers/process/air_system.dm
+++ b/code/datums/controllers/process/air_system.dm
@@ -2,7 +2,7 @@
datum/controller/process/air_system
setup()
name = "Atmos"
- schedule_interval = 25 // 2.5 seconds
+ schedule_interval = 10 // 2.5 seconds
if(!air_master)
air_master = new /datum/controller/air_system()
diff --git a/code/datums/controllers/process/camnet.dm b/code/datums/controllers/process/camnet.dm
index 7f5a70a..e91f615 100644
--- a/code/datums/controllers/process/camnet.dm
+++ b/code/datums/controllers/process/camnet.dm
@@ -3,7 +3,6 @@ datum/controller/process/camnets
setup()
name = "Camera Networks"
schedule_interval = 30
- sleep_interval = 0.5
doWork()
rebuild_camera_network() //Will only actually do something if it needs to.
\ No newline at end of file
diff --git a/code/datums/controllers/process/delete_queue.dm b/code/datums/controllers/process/delete_queue.dm
index 2120133..d650c65 100644
--- a/code/datums/controllers/process/delete_queue.dm
+++ b/code/datums/controllers/process/delete_queue.dm
@@ -3,6 +3,9 @@ datum/controller/process/delete_queue
var/tmp/gccount = 0
var/tmp/deleteChunkSize = MIN_DELETE_CHUNK_SIZE
//var/tmp/delpause = 1
+#ifdef DELETE_QUEUE_DEBUG
+ var/tmp/datum/dynamicQueue/delete_queue = 0
+#endif
// Timing vars
var/tmp/start = 0
@@ -11,13 +14,17 @@ datum/controller/process/delete_queue
setup()
name = "DeleteQueue"
schedule_interval = 1
- sleep_interval = 1
doWork()
if(!global.delete_queue)
boutput(world, "Error: there is no delete queue!")
return 0
+#ifdef DELETE_QUEUE_DEBUG
+ if (!src.delete_queue)
+ src.delete_queue = global.delete_queue
+#endif
+
//var/datum/dynamicQueue/queue =
if(global.delete_queue.isEmpty())
return
diff --git a/code/datums/controllers/process/process.dm b/code/datums/controllers/process/process.dm
index 78081b7..cf33c0e 100644
--- a/code/datums/controllers/process/process.dm
+++ b/code/datums/controllers/process/process.dm
@@ -44,11 +44,10 @@
// process running again.
var/tmp/schedule_interval = PROCESS_DEFAULT_SCHEDULE_INTERVAL // run every 50 ticks
- // Process sleep interval
- // This controls how often the process will yield (call sleep(0)) while it is running.
- // Every concurrent process should sleep periodically while running in order to allow other
- // processes to execute concurrently.
- var/tmp/sleep_interval
+ // Process tick allowance
+ // This controls what percentage a single tick (0 to 100) the process should be
+ // allowed to run before sleeping.
+ var/tmp/tick_allowance = PROCESS_DEFAULT_TICK_ALLOWANCE
// hang_warning_time - this is the time (in 1/10 seconds) after which the server will begin to show "maybe hung" in the context window
var/tmp/hang_warning_time = PROCESS_DEFAULT_HANG_WARNING_TIME
@@ -59,9 +58,6 @@
// hang_restart_time - After this much time(in 1/10 seconds), the server will automatically kill and restart the process.
var/tmp/hang_restart_time = PROCESS_DEFAULT_HANG_RESTART_TIME
- // cpu_threshold - if world.cpu >= cpu_threshold, scheck() will call sleep(1) to defer further work until the next tick. This keeps a process from driving a tick into overtime (causing perceptible lag)
- var/tmp/cpu_threshold = PROCESS_DEFAULT_CPU_THRESHOLD
-
// How many times in the current run has the process deferred work till the next tick?
var/tmp/cpu_defer_count = 0
@@ -75,6 +71,18 @@
// Records the time (1/10s timeofday) at which the process last began running
var/tmp/run_start = 0
+ // Records the world.tick_usage (0 to 100) at which the process last began running
+ /var/tmp/tick_start = 0
+
+ // Records the total usage of the current run, each 100 = 1 byond tick
+ /var/tmp/current_usage = 0
+
+ // Records the total usage of the last run, each 100 = 1 byond tick
+ /var/tmp/last_usage = 0
+
+ // Records the total usage over the life of the process, each 100 = 1 byond tick
+ /var/tmp/total_usage = 0
+
// Records the number of times this process has been killed and restarted
var/tmp/times_killed
@@ -92,20 +100,29 @@ datum/controller/process/New(var/datum/controller/processScheduler/scheduler)
idle()
name = "process"
schedule_interval = 50
- sleep_interval = world.tick_lag / PROCESS_DEFAULT_SLEEP_INTERVAL
last_slept = 0
run_start = 0
+ tick_start = 0
+ current_usage = 0
+ last_usage = 0
+ total_usage = 0
ticks = 0
last_task = 0
last_object = null
datum/controller/process/proc/started()
- // Initialize last_slept so we can know when to sleep
+ // Initialize last_slept so we can record timing information
last_slept = TimeOfHour
// Initialize run_start so we can detect hung processes.
run_start = TimeOfHour
+ // Initialize tick_start so we can know when to sleep
+ tick_start = world.tick_usage
+
+ // Initialize the cpu usage counter
+ current_usage = 0
+
// Initialize defer count
cpu_defer_count = 0
@@ -116,8 +133,11 @@ datum/controller/process/proc/started()
datum/controller/process/proc/finished()
ticks++
+ current_usage += main.world.tick_usage - tick_start
+ last_usage = current_usage
+ current_usage = 0
idle()
- main.processFinished(src)
+ main.processFinished(src)
onFinish()
@@ -197,20 +217,16 @@ datum/controller/process/proc/scheck(var/tickId = 0)
// For each tick the process defers, it increments the cpu_defer_count so we don't
// defer indefinitely
- if (main.getCurrentTickElapsedTime() > main.timeAllowance)
- sleep(world.tick_lag*1)
+ if (world.tick_usage > 100 || main.world.tick_usage > tick_start + tick_allowance)
+ current_usage += main.world.tick_usage - tick_start
+ sleep(world.tick_lag*(main.running.len + main.queued.len))
cpu_defer_count++
last_slept = TimeOfHour
- else
- var/t = TimeOfHour
- // If world.timeofday has rolled over, then we need to adjust.
- if (t < last_slept)
- last_slept -= 36000
+ tick_start = world.tick_usage
- if (t > last_slept + sleep_interval)
- // If we haven't slept in sleep_interval deciseconds, sleep to allow other work to proceed.
- sleep(0)
- last_slept = TimeOfHour
+ return 1
+
+ return 0
datum/controller/process/proc/update()
// Clear delta
@@ -229,12 +245,14 @@ datum/controller/process/proc/update()
else if (elapsedTime > hang_warning_time)
setStatus(PROCESS_STATUS_MAYBE_HUNG)
-
datum/controller/process/proc/getElapsedTime()
if (TimeOfHour < run_start)
return TimeOfHour - (run_start - 36000)
return TimeOfHour - run_start
+datum/controller/process/proc/getAverageUsage()
+
+
datum/controller/process/proc/tickDetail()
return
@@ -293,9 +311,11 @@ datum/controller/process/proc/_copyStateFrom(var/datum/controller/process/target
main = target.main
name = target.name
schedule_interval = target.schedule_interval
- sleep_interval = target.sleep_interval
last_slept = 0
run_start = 0
+ tick_start = 0
+ last_usage = 0
+ total_usage = 0
times_killed = target.times_killed
ticks = target.ticks
last_task = target.last_task
diff --git a/code/datums/controllers/process_scheduler.dm b/code/datums/controllers/process_scheduler.dm
index bf33894..90a23b3 100644
--- a/code/datums/controllers/process_scheduler.dm
+++ b/code/datums/controllers/process_scheduler.dm
@@ -42,17 +42,11 @@ var/global/datum/controller/processScheduler/processScheduler
var/tmp/currentTickStart = 0
- var/tmp/timeAllowance = 0
-
var/tmp/cpuAverage = 0
- var/tmp/timeAllowanceMax = 0
-
/datum/controller/processScheduler/New()
..()
scheduler_sleep_interval = world.tick_lag
- timeAllowance = world.tick_lag * 0.5
- timeAllowanceMax = world.tick_lag
/**
* deferSetupFor
@@ -86,13 +80,7 @@ var/global/datum/controller/processScheduler/processScheduler
process()
/datum/controller/processScheduler/proc/process()
- updateCurrentTickData()
-
- for(var/i=world.tick_lag,i currentTick)
- updateCurrentTickData()
- return 0
- else
- return TimeOfHour - currentTickStart
-
-/datum/controller/processScheduler/proc/updateCurrentTickData()
- if (world.time > currentTick)
- // New tick!
- currentTick = world.time
- currentTickStart = TimeOfHour
- updateTimeAllowance()
- cpuAverage = (world.cpu + cpuAverage + cpuAverage) / 3
-
-
-/datum/controller/processScheduler/proc/updateTimeAllowance()
- // Time allowance goes down linearly with world.cpu.
- var/tmp/error = cpuAverage - 100
- var/tmp/timeAllowanceDelta = sign(error) * -0.5 * world.tick_lag * max(0, 0.01 * abs(error))
-
- //timeAllowance = world.tick_lag * min(1, 0.5 * ((200/max(1,cpuAverage)) - 1))
- timeAllowance = min(timeAllowanceMax, max(0, timeAllowance + timeAllowanceDelta))
-
/datum/controller/processScheduler/proc/sign(var/x)
if (x == 0)
return 1
diff --git a/code/datums/datalogger.dm b/code/datums/datalogger.dm
index 85c8543..0b7f5f5 100644
--- a/code/datums/datalogger.dm
+++ b/code/datums/datalogger.dm
@@ -47,14 +47,14 @@ var/global/datum/datalogger/game_stats
stats[p] = val
return 1
ScanText(var/msg)
- var/list/text_tokens = dd_text2list(msg, " ")
+ var/list/text_tokens = splittext(msg, " ")
var/fornoreason = 0
// var/gayirl = 0
var/verily = 0
for(var/token in text_tokens)
token = lowertext(token)
- token = dd_replacetext(token, "!", "")
- token = dd_replacetext(token, "?", "")
+ token = replacetext(token, "!", "")
+ token = replacetext(token, "?", "")
// this should cover all misspellings of "grief"
if(dd_hasprefix(token, "gr"))
if(dd_hassuffix(token, "ed"))
diff --git a/code/datums/ehjax.dm b/code/datums/ehjax.dm
index df64c24..f8cca39 100644
--- a/code/datums/ehjax.dm
+++ b/code/datums/ehjax.dm
@@ -24,7 +24,7 @@ var/global/datum/ehjax/ehjax = new /datum/ehjax()
if (!C || !window || !data) return
if (!istype(C, /client)) return
if (istype(data, /list))
- data = list2json(data)
+ data = json_encode(data)
C << output("[data]", "[window]:[callbackName]")
diff --git a/code/datums/gamemodes/blob.dm b/code/datums/gamemodes/blob.dm
index b9a1b8f..388b8eb 100644
--- a/code/datums/gamemodes/blob.dm
+++ b/code/datums/gamemodes/blob.dm
@@ -63,7 +63,7 @@
if (newname)
if (length(newname) >= 26) newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'") + " the Blob"
+ newname = replacetext(newname, ">", "'") + " the Blob"
blob.current.real_name = newname
blob.current.name = newname
diff --git a/code/datums/gamemodes/mixed.dm b/code/datums/gamemodes/mixed.dm
index 9cb6d80..a1c5330 100644
--- a/code/datums/gamemodes/mixed.dm
+++ b/code/datums/gamemodes/mixed.dm
@@ -221,7 +221,7 @@
if (newname)
if (length(newname) >= 26) newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'")
+ newname = replacetext(newname, ">", "'")
traitor.current.real_name = newname
traitor.current.name = newname
@@ -249,7 +249,7 @@
if (newname)
if (length(newname) >= 26) newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'") + " the Blob"
+ newname = replacetext(newname, ">", "'") + " the Blob"
traitor.current.real_name = newname
traitor.current.name = newname
diff --git a/code/datums/gamemodes/wizard.dm b/code/datums/gamemodes/wizard.dm
index 375a66e..83d265b 100644
--- a/code/datums/gamemodes/wizard.dm
+++ b/code/datums/gamemodes/wizard.dm
@@ -90,7 +90,7 @@
if (newname)
if (length(newname) >= 26) newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'")
+ newname = replacetext(newname, ">", "'")
wizard.current.real_name = newname
wizard.current.name = newname
diff --git a/code/datums/genetics/bioEffects/speech.dm b/code/datums/genetics/bioEffects/speech.dm
index 3c682c5..39e2c9a 100644
--- a/code/datums/genetics/bioEffects/speech.dm
+++ b/code/datums/genetics/bioEffects/speech.dm
@@ -229,16 +229,16 @@
if (!istext(message))
return ""
- message = dd_replaceText(message, "a", vowel_lower)
- message = dd_replaceText(message, "e", vowel_lower)
- message = dd_replaceText(message, "i", vowel_lower)
- message = dd_replaceText(message, "o", vowel_lower)
- message = dd_replaceText(message, "u", vowel_lower)
- message = dd_replaceText(message, "A", vowel_upper)
- message = dd_replaceText(message, "E", vowel_upper)
- message = dd_replaceText(message, "I", vowel_upper)
- message = dd_replaceText(message, "O", vowel_upper)
- message = dd_replaceText(message, "U", vowel_upper)
+ message = replacetext(message, "a", vowel_lower)
+ message = replacetext(message, "e", vowel_lower)
+ message = replacetext(message, "i", vowel_lower)
+ message = replacetext(message, "o", vowel_lower)
+ message = replacetext(message, "u", vowel_lower)
+ message = replacetext(message, "A", vowel_upper)
+ message = replacetext(message, "E", vowel_upper)
+ message = replacetext(message, "I", vowel_upper)
+ message = replacetext(message, "O", vowel_upper)
+ message = replacetext(message, "U", vowel_upper)
return message
@@ -260,9 +260,9 @@
if (!istext(message))
return ""
- message = dd_replaceText(message, "!", "!!!")
- message = dd_replaceText(message, ".", "!!!")
- message = dd_replaceText(message, "?", "???")
+ message = replacetext(message, "!", "!!!")
+ message = replacetext(message, ".", "!!!")
+ message = replacetext(message, "?", "???")
message = uppertext(message)
message += "!!!"
@@ -308,8 +308,8 @@
if (!istext(message))
return ""
- message = dd_replaceText(message, "!", "...")
- message = dd_replaceText(message, "?", "..?")
+ message = replacetext(message, "!", "...")
+ message = replacetext(message, "?", "..?")
message = lowertext(message)
message += "..."
diff --git a/code/datums/ircbot.dm b/code/datums/ircbot.dm
index bb8e98e..b8b7053 100644
--- a/code/datums/ircbot.dm
+++ b/code/datums/ircbot.dm
@@ -29,7 +29,7 @@ var/global/datum/ircbot/ircbot = new /datum/ircbot()
if (src.queue && src.queue.len > 0)
if (src.debugging)
- src.logDebug("Load success, flushing queue: [list2json(src.queue)]")
+ src.logDebug("Load success, flushing queue: [json_encode(src.queue)]")
for (var/x = 1, x <= src.queue.len, x++) //Flush queue
src.export(src.queue[x]["iface"], src.queue[x]["args"])
@@ -70,7 +70,7 @@ var/global/datum/ircbot/ircbot = new /datum/ircbot()
if (config.env == "dev") return 0
args = (args == null ? list() : args)
- args["server_name"] = (config.server_name ? dd_replacetext(config.server_name, "#", "") : null)
+ args["server_name"] = (config.server_name ? replacetext(config.server_name, "#", "") : null)
args["server"] = (world.port % 1000) / 100
args["api_key"] = (src.apikey ? src.apikey : null)
@@ -88,7 +88,7 @@ var/global/datum/ircbot/ircbot = new /datum/ircbot()
src.logDebug("Export, returned data: [content]")
//Handle the response
- var/list/contentJson = json2list(content)
+ var/list/contentJson = json_decode(content)
if (!contentJson["status"])
logTheThing("debug", null, null, "IRCBOT: Object missing status parameter in export response: [list2params(contentJson)]")
return 0
@@ -111,8 +111,8 @@ var/global/datum/ircbot/ircbot = new /datum/ircbot()
args["api_key"] = (src.apikey ? src.apikey : null)
if (config && config.server_name)
- args["server_name"] = dd_replacetext(config.server_name, "#", "")
- args["server"] = dd_replacetext(config.server_name, "#", "") //TEMP FOR BACKWARD COMPAT WITH SHITFORMANT
+ args["server_name"] = replacetext(config.server_name, "#", "")
+ args["server"] = replacetext(config.server_name, "#", "") //TEMP FOR BACKWARD COMPAT WITH SHITFORMANT
if (src.debugging)
src.logDebug("Response, final args: [list2params(args)]")
diff --git a/code/datums/jobs.dm b/code/datums/jobs.dm
index 879bfba..e251ec6 100644
--- a/code/datums/jobs.dm
+++ b/code/datums/jobs.dm
@@ -1244,7 +1244,7 @@
bee.beeMom = M
bee.beeMomCkey = M.ckey
bee.name = pick_string("bee_names.txt", "beename")
- bee.name = dd_replacetext(bee.name, "larva", "bee")
+ bee.name = replacetext(bee.name, "larva", "bee")
/datum/job/special/random/souschef
name = "Sous-Chef"
diff --git a/code/datums/language.dm b/code/datums/language.dm
index 5f897d1..d9b807a 100644
--- a/code/datums/language.dm
+++ b/code/datums/language.dm
@@ -13,7 +13,7 @@ var/global/datum/languages/languages = new()
proc/get_messages(var/O)
return list(html_encode(heard_understood(O)), html_encode(heard_not_understood(O)))
- proc/heard_not_understood(var/orig_message)
+ proc/heard_not_understood(var/orig_message)
return orig_message
proc/heard_understood(var/orig_message)
@@ -52,7 +52,7 @@ var/global/datum/languages/languages = new()
else if (dd_hasprefix(message, ";"))
prefix = ";"
message = copytext(message, 2)
- var/list/words = dd_text2list(uppertext(message), " ")
+ var/list/words = splittext(uppertext(message), " ")
var/list/newwords = list()
for (var/w in words)
if (w == "")
@@ -76,10 +76,10 @@ var/global/datum/languages/languages = new()
var/list/trl = list()
for (var/i = 1, i <= trlen, i++)
trl += pick("K", "X", "B", "Q", "U", "I", "J", "F", "D", "V", "W", "P", "Z", "R", "M", "Y", "T")
- var/tr = dd_list2text(trl)
+ var/tr = jointext(trl, "")
martian_dictionary[w] = tr
newwords += tr + suf
- return prefix + dd_list2text(newwords, " ")
+ return prefix + jointext(newwords, " ")
heard_not_understood(var/orig_message)
return translate(orig_message)
diff --git a/code/datums/mutantraces.dm b/code/datums/mutantraces.dm
index ee3b5df..90f0e0c 100644
--- a/code/datums/mutantraces.dm
+++ b/code/datums/mutantraces.dm
@@ -213,7 +213,7 @@
mob.see_invisible = 1
say_filter(var/message)
- return dd_replaceText(message, "s", stutter("ss"))
+ return replacetext(message, "s", stutter("ss"))
/datum/mutantrace/zombie
name = "zombie"
diff --git a/code/datums/objective.dm b/code/datums/objective.dm
index 63d1fec..69267d4 100644
--- a/code/datums/objective.dm
+++ b/code/datums/objective.dm
@@ -103,11 +103,11 @@ proc/create_fluff(var/datum/mind/target)
if(flufftext)
//Add pronouns
var/mob/M = target.current
- flufftext = dd_replacetext(flufftext, "$HE", he_or_she(M))
- flufftext = dd_replacetext(flufftext, "$HIMSELF", himself_or_herself(M))
- flufftext = dd_replacetext(flufftext, "$HIM", him_or_her(M))
- flufftext = dd_replacetext(flufftext, "$HIS", his_or_her(M))
- flufftext = dd_replacetext(flufftext, "$JOB", job)
+ flufftext = replacetext(flufftext, "$HE", he_or_she(M))
+ flufftext = replacetext(flufftext, "$HIMSELF", himself_or_herself(M))
+ flufftext = replacetext(flufftext, "$HIM", him_or_her(M))
+ flufftext = replacetext(flufftext, "$HIS", his_or_her(M))
+ flufftext = replacetext(flufftext, "$JOB", job)
return flufftext
diff --git a/code/datums/preferences.dm b/code/datums/preferences.dm
index 24b94d0..1f6e9fe 100644
--- a/code/datums/preferences.dm
+++ b/code/datums/preferences.dm
@@ -73,14 +73,14 @@ datum/preferences
proc/sanitize_name()
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "\[", "\]", "{", "}", "|", "\\", "/")
for (var/c in bad_characters)
- real_name = dd_replacetext(real_name, c, "")
- var/list/namecheck = dd_text2list(trim(real_name), " ")
+ real_name = replacetext(real_name, c, "")
+ var/list/namecheck = splittext(trim(real_name), " ")
if (namecheck.len < 2 || length(real_name) < 5)
randomize_name()
return
for (var/i = 1, i <= namecheck.len, i++)
namecheck[i] = capitalize(namecheck[i])
- real_name = dd_list2text(namecheck, " ")
+ real_name = jointext(namecheck, " ")
proc/update_preview_icon()
//qdel(src.preview_icon)
@@ -640,7 +640,7 @@ datum/preferences
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\", "/")
for (var/c in bad_characters)
- new_profile_name = dd_replacetext(new_profile_name, c, "")
+ new_profile_name = replacetext(new_profile_name, c, "")
new_profile_name = trim(new_profile_name)
@@ -657,14 +657,14 @@ datum/preferences
new_name = input(user, "Please select a name:", "Character Generation") as null|text
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\", "/")
for (var/c in bad_characters)
- new_name = dd_replacetext(new_name, c, "")
+ new_name = replacetext(new_name, c, "")
new_name = trim(new_name)
if (!new_name || (lowertext(new_name) in list("unknown", "floor", "wall", "r wall")))
alert("That name is reserved for use by the game. Please select another.")
return
if (!usr.client.holder)
- var/list/namecheck = dd_text2list(trim(new_name), " ")
+ var/list/namecheck = splittext(trim(new_name), " ")
if (namecheck.len < 2)
alert("Your name must have at least a First and Last name, e.g. John Smith")
return
@@ -673,7 +673,7 @@ datum/preferences
return
for (var/i = 1, i <= namecheck.len, i++)
namecheck[i] = capitalize(namecheck[i])
- new_name = dd_list2text(namecheck, " ")
+ new_name = jointext(namecheck, " ")
if ("random")
if (src.gender == MALE)
@@ -892,7 +892,7 @@ datum/preferences
var/new_will = input(user, "Write a Will that shall appear in the event of your death. (250 max)", "Character Generation") as text
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\", "/")
for (var/c in bad_characters)
- new_will = dd_replacetext(new_will, c, "")
+ new_will = replacetext(new_will, c, "")
if (new_will)
if (length(new_will) > 250)
diff --git a/code/datums/randomevents/antag_ghost_respawn.dm b/code/datums/randomevents/antag_ghost_respawn.dm
index a2f2292..f8b9dcf 100644
--- a/code/datums/randomevents/antag_ghost_respawn.dm
+++ b/code/datums/randomevents/antag_ghost_respawn.dm
@@ -187,7 +187,7 @@
var/newname = input(B, "You are a Blob. Please choose a name for yourself, it will show in the form: the Blob", "Name change") as text
if (B && newname)
if (length(newname) >= 26) newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'") + " the Blob"
+ newname = replacetext(newname, ">", "'") + " the Blob"
B.real_name = newname
B.name = newname
diff --git a/code/datums/randomevents/meteor_shower.dm b/code/datums/randomevents/meteor_shower.dm
index 05ef740..0e8d09b 100644
--- a/code/datums/randomevents/meteor_shower.dm
+++ b/code/datums/randomevents/meteor_shower.dm
@@ -294,7 +294,8 @@ var/global/meteor_shower_active = 0
proc/shatter()
playsound(src.loc, sound_explode, 50, 1)
if (explodes)
- explosion(src, get_turf(src), exp_dev, exp_hvy, exp_lit, exp_fsh)
+ spawn(1)
+ explosion(src, get_turf(src), exp_dev, exp_hvy, exp_lit, exp_fsh)
var/atom/source = src
src = null
qdel(source)
@@ -337,7 +338,8 @@ var/global/meteor_shower_active = 0
shatter()
playsound(src.loc, sound_explode, 50, 1)
if (explodes)
- explosion(src, get_turf(src), exp_dev, exp_hvy, exp_lit, exp_fsh)
+ spawn(1)
+ explosion(src, get_turf(src), exp_dev, exp_hvy, exp_lit, exp_fsh)
for(var/A in alldirs)
if(prob(15))
continue
diff --git a/code/datums/stockmarket.dm b/code/datums/stockmarket.dm
index 0404b50..0f61f98 100644
--- a/code/datums/stockmarket.dm
+++ b/code/datums/stockmarket.dm
@@ -12,11 +12,11 @@ proc/ucfirst(var/S)
return "[uppertext(ascii2text(text2ascii(S, 1)))][copytext(S, 2)]"
proc/ucfirsts(var/S)
- var/list/L = dd_text2list(S, " ")
+ var/list/L = splittext(S, " ")
var/list/M = list()
for (var/P in L)
M += ucfirst(P)
- return dd_list2text(M, " ")
+ return jointext(M, " ")
var/global/list/FrozenAccounts = list()
@@ -125,7 +125,7 @@ proc/list_frozen()
for (var/I in product_tokens)
T_list[I] = list(product_tokens[I])
for (var/I in T_list)
- token_string = dd_replacetext(token_string, "%[I]%", pick(T_list[I]))
+ token_string = replacetext(token_string, "%[I]%", pick(T_list[I]))
return ucfirst(token_string)
/datum/stockEvent
@@ -394,7 +394,7 @@ proc/list_frozen()
proc/generateDesignation(var/name)
if (length(name) <= 4)
return uppertext(name)
- var/list/w = dd_text2list(name, " ")
+ var/list/w = splittext(name, " ")
if (w.len >= 2)
var/d = ""
for (var/i = 1; i <= min(5, w.len), i++)
@@ -523,7 +523,7 @@ var/global/datum/stockMarket/stockExchange = new
proc/detokenize(var/str)
for (var/T in tokens)
- str = dd_replacetext(str, "%[T]%", pick(tokens[T]))
+ str = replacetext(str, "%[T]%", pick(tokens[T]))
return str
agriculture
diff --git a/code/mob.dm b/code/mob.dm
index 72b99f6..1001e9d 100644
--- a/code/mob.dm
+++ b/code/mob.dm
@@ -484,6 +484,8 @@
// medals
/mob/proc/unlock_medal(title, announce)
+ return //No medals 4 u
+
if (!src.client || !src.key)
return
else if (IsGuestKey(src.key))
@@ -1948,9 +1950,9 @@
else
stat("Co-ordinates:", "([x], [y], [z])")
- stat("Server Load:", "[world.cpu] ([lag_string])")
+ stat("Server Load:", "[world.cpu] ([world.cpu < 90 ? "No" : "Yes"])")
else
- stat("Server Load:", lag_string) //Yes very useful a++
+ stat(world.cpu < 90 ? "Server Load: No" : "Server Load: Yes") //Yes very useful a++
if (ticker && ticker.round_elapsed_ticks)
stat(null, " ")
@@ -2003,7 +2005,8 @@
/mob/verb/say_verb(message as text)
set name = "say"
- if (src.client && !src.client.holder && url_regex && url_regex.Find(message))
+ //&& !src.client.holder
+ if (src.client && url_regex && url_regex.Find(message))
boutput(src, "Web/BYOND links are not allowed in ingame chat.")
boutput(src, " \"[message]\"")
return
diff --git a/code/mob/living.dm b/code/mob/living.dm
index 1c38861..955889f 100644
--- a/code/mob/living.dm
+++ b/code/mob/living.dm
@@ -512,14 +512,14 @@
// :downs:
if (src.get_brain_damage() >= 60)
- message = dd_replacetext(message, " am ", " ")
- message = dd_replacetext(message, " is ", " ")
- message = dd_replacetext(message, " are ", " ")
- message = dd_replacetext(message, "you", "u")
- message = dd_replacetext(message, "help", "halp")
- message = dd_replacetext(message, "grief", "grife")
- message = dd_replacetext(message, "she ", "him ")
- message = dd_replacetext(message, "he ", "him ")
+ message = replacetext(message, " am ", " ")
+ message = replacetext(message, " is ", " ")
+ message = replacetext(message, " are ", " ")
+ message = replacetext(message, "you", "u")
+ message = replacetext(message, "help", "halp")
+ message = replacetext(message, "grief", "grife")
+ message = replacetext(message, "she ", "him ")
+ message = replacetext(message, "he ", "him ")
if(prob(50))
message = uppertext(message)
diff --git a/code/mob/living/silicon/ai.dm b/code/mob/living/silicon/ai.dm
index e74a2c0..c10fa14 100644
--- a/code/mob/living/silicon/ai.dm
+++ b/code/mob/living/silicon/ai.dm
@@ -1441,7 +1441,7 @@ var/list/ai_emotions = list("Happy" = "ai_happy",\
return
/mob/living/silicon/ai/proc/announce_arrival(var/name, var/rank)
- var/message = dd_replacetext(dd_replacetext(dd_replacetext(src.arrivalalert, "$STATION", "[station_name()]"), "$JOB", rank), "$NAME", name)
+ var/message = replacetext(replacetext(replacetext(src.arrivalalert, "$STATION", "[station_name()]"), "$JOB", rank), "$NAME", name)
src.say( message )
logTheThing("say", src, null, "SAY: [message]")
diff --git a/code/mob/living/silicon/ai/move.dm b/code/mob/living/silicon/ai/move.dm
index 90dbdee..ff8c213 100644
--- a/code/mob/living/silicon/ai/move.dm
+++ b/code/mob/living/silicon/ai/move.dm
@@ -32,7 +32,7 @@
if (!A)
return
- var/list/old_types = dd_text2list("[A.type]", "/")
+ var/list/old_types = splittext("[A.type]", "/")
for(var/obj/machinery/camera/current in machines)
if(current.qdeled || current.disposed || old.z != current.z)
@@ -57,7 +57,7 @@
if (!cur_area)
continue
- var/list/new_types = dd_text2list("[cur_area.type]", "/")
+ var/list/new_types = splittext("[cur_area.type]", "/")
for(var/i = 1; i <= old_types.len && i <= new_types.len; i++)
if(old_types[i] == new_types[i])
shared_types++
@@ -130,7 +130,7 @@
if (!A)
return
- var/list/old_types = dd_text2list("[A.type]", "/")
+ var/list/old_types = splittext("[A.type]", "/")
for(var/obj/machinery/camera/current in machines)
if(user.network != current.network)
@@ -158,7 +158,7 @@
if (!cur_area)
continue
- var/list/new_types = dd_text2list("[cur_area.type]", "/")
+ var/list/new_types = splittext("[cur_area.type]", "/")
for(var/i = 1; i <= old_types.len && i <= new_types.len; i++)
if(old_types[i] == new_types[i])
shared_types++
diff --git a/code/mob/living/silicon/hivebot/mainframe.dm b/code/mob/living/silicon/hivebot/mainframe.dm
index d4ee28d..f2d35c9 100644
--- a/code/mob/living/silicon/hivebot/mainframe.dm
+++ b/code/mob/living/silicon/hivebot/mainframe.dm
@@ -147,6 +147,6 @@
if (newname)
if (length(newname) >= 26)
newname = copytext(newname, 1, 26)
- newname = dd_replacetext(newname, ">", "'")
+ newname = replacetext(newname, ">", "'")
src.real_name = newname
src.name = newname
\ No newline at end of file
diff --git a/code/mob/living/silicon/robot.dm b/code/mob/living/silicon/robot.dm
index 138be72..eb70e28 100644
--- a/code/mob/living/silicon/robot.dm
+++ b/code/mob/living/silicon/robot.dm
@@ -703,7 +703,7 @@
limbs_report += "Right leg"
if (!part_leg_l)
limbs_report += "Left leg"
- var/limbs_missing = limbs_report.len ? dd_list2text(limbs_report, "; ") : 0
+ var/limbs_missing = limbs_report.len ? jointext(limbs_report, "; ") : 0
stat_cache = list(100 - min(get_brute_damage(), 100), 100 - min(get_burn_damage(), 100), limbs_missing)
stat("Structural integrity:", "[stat_cache[1]]%")
diff --git a/code/obj/critter/bee.dm b/code/obj/critter/bee.dm
index 1d6130f..02a6de9 100644
--- a/code/obj/critter/bee.dm
+++ b/code/obj/critter/bee.dm
@@ -1148,7 +1148,7 @@
grownbee = new /obj/critter/domestic_bee/queen/big(get_turf(src))
else
grownbee = new /obj/critter/domestic_bee/queen(get_turf(src))
- grownbee.name = dd_replacetext(src.name, "larva", "bee")
+ grownbee.name = replacetext(src.name, "larva", "bee")
if (src.color)
grownbee.beeKid = src.color
if (src.custom_desc)
@@ -1171,7 +1171,7 @@
grownbee = new custom_bee_type(get_turf(src))
else
grownbee = new /obj/critter/domestic_bee(get_turf(src))
- grownbee.name = dd_replacetext(src.name, "larva", "bee")
+ grownbee.name = replacetext(src.name, "larva", "bee")
if (src.color)
grownbee.beeKid = src.color
if (src.custom_desc)
@@ -1301,7 +1301,7 @@
logTheThing("debug", user, null, "names a bee egg \"[t]\"")
if (!t)
return
- t = strip_html(dd_replacetext(t, "'",""))
+ t = strip_html(replacetext(t, "'",""))
t = copytext(t, 1, 65)
if (!t)
return
diff --git a/code/obj/critter/critter_parent.dm b/code/obj/critter/critter_parent.dm
index e8850f4..71a90b5 100644
--- a/code/obj/critter/critter_parent.dm
+++ b/code/obj/critter/critter_parent.dm
@@ -86,8 +86,8 @@
proc/tokenized_message(var/message, var/target)
if (!message || !length(message))
return
- var/msg = dd_replacetext(message, "%src%", "[src]")
- msg = dd_replacetext(msg, "%target%", "[target]")
+ var/msg = replacetext(message, "%src%", "[src]")
+ msg = replacetext(msg, "%target%", "[target]")
src.visible_message("[msg]")
proc/report_spawn()
@@ -796,7 +796,7 @@
logTheThing("debug", user, null, "names a critter egg \"[t]\"")
if (!t)
return
- t = strip_html(dd_replacetext(t, "'",""))
+ t = strip_html(replacetext(t, "'",""))
t = copytext(t, 1, 65)
if (!t)
return
diff --git a/code/obj/critter/pets_small_animals.dm b/code/obj/critter/pets_small_animals.dm
index fb353c4..4cc84fe 100644
--- a/code/obj/critter/pets_small_animals.dm
+++ b/code/obj/critter/pets_small_animals.dm
@@ -800,7 +800,7 @@ var/list/cat_names = list("Gary", "Mittens", "Mr. Jingles", "Rex", "Jasmine", "L
if (learn_phrase)
src.learned_phrases += message
- var/list/heard_stuff = dd_text2list(message, " ")
+ var/list/heard_stuff = splittext(message, " ")
for (var/word in heard_stuff)
if (copytext(word, -1) in list(".", ","))
word = copytext(word, 1, -1)
diff --git a/code/obj/item/ai_modules.dm b/code/obj/item/ai_modules.dm
index edb20ce..7c9a864 100644
--- a/code/obj/item/ai_modules.dm
+++ b/code/obj/item/ai_modules.dm
@@ -352,7 +352,7 @@ AI MODULES
var/newName = input(user, "Please enter anything you want the AI(s) to be called. Anything. Serious.", "What?", pick(ai_names)) as null|text
if (!newName)
return
- targetName = dd_replacetext(copytext(html_encode(newName),1, 128), "http:","")
+ targetName = replacetext(copytext(html_encode(newName),1, 128), "http:","")
desc = "A 'rename' AI module: 'Changes the names of any existing AI(s) to \"[targetName]\".'"
/obj/item/aiModule/rename/transmitInstructions(var/mob/sender, var/law)
diff --git a/code/obj/item/card.dm b/code/obj/item/card.dm
index 1cc8b71..2e5e164 100644
--- a/code/obj/item/card.dm
+++ b/code/obj/item/card.dm
@@ -207,10 +207,10 @@ GAUNTLET CARDS
input = strip_html(input, MAX_MESSAGE_LEN, 1)
if (strip_bad_stuff_only)
return input
- var/list/namecheck = dd_text2list(trim(input), " ")
+ var/list/namecheck = splittext(trim(input), " ")
for(var/i = 1, i <= namecheck.len, i++)
namecheck[i] = capitalize(namecheck[i])
- input = dd_list2text(namecheck, " ")
+ input = jointext(namecheck, " ")
return input
/obj/item/card/id/temporary
diff --git a/code/obj/item/device/gps.dm b/code/obj/item/device/gps.dm
index ef1f87e..bcab0e4 100644
--- a/code/obj/item/device/gps.dm
+++ b/code/obj/item/device/gps.dm
@@ -173,7 +173,7 @@
attack_ai(mob/user as mob)
var/t = input(user, "Enter new beacon identification name", src.sname) as text
- t = strip_html(dd_replacetext(t, "'",""))
+ t = strip_html(replacetext(t, "'",""))
t = copytext(t, 1, 45)
if (!t)
return
diff --git a/code/obj/item/device/pda2/base_os.dm b/code/obj/item/device/pda2/base_os.dm
index 453daf6..f8d5fd1 100644
--- a/code/obj/item/device/pda2/base_os.dm
+++ b/code/obj/item/device/pda2/base_os.dm
@@ -285,7 +285,7 @@
src.message_tone = t
if("note")
- var/inputtext = html_decode(dd_replacetext(src.note, "
", "\n"))
+ var/inputtext = html_decode(replacetext(src.note, "
", "\n"))
var/t = input(usr, "Please enter note", src.name, inputtext) as message
if (!t)
@@ -296,9 +296,9 @@
if(!(src.holder in src.master))
return
- t = dd_replacetext(t, "\n", "|||")
+ t = replacetext(t, "\n", "|||")
t = copytext(adminscrub(t), 1, MAX_MESSAGE_LEN)
- t = dd_replacetext(t, "|||", "
")
+ t = replacetext(t, "|||", "
")
src.note = t
diff --git a/code/obj/item/device/pda2/game.dm b/code/obj/item/device/pda2/game.dm
index ffd5458..2ee285c 100644
--- a/code/obj/item/device/pda2/game.dm
+++ b/code/obj/item/device/pda2/game.dm
@@ -373,7 +373,7 @@
var/name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Evil ", "the Dread King ", "the Space ", "Lord ")
var/name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon")
- src.enemy_name = dd_replacetext((name_part1 + name_part2), "the ", "")
+ src.enemy_name = replacetext((name_part1 + name_part2), "the ", "")
diff --git a/code/obj/item/device/pda2/smallprogs.dm b/code/obj/item/device/pda2/smallprogs.dm
index e1b20e7..0675264 100644
--- a/code/obj/item/device/pda2/smallprogs.dm
+++ b/code/obj/item/device/pda2/smallprogs.dm
@@ -492,9 +492,9 @@ Code:
src.temp = null
if(signal.data["severe_list"])
- src.severe_alerts = dd_text2list(signal.data["severe_list"], ";")
+ src.severe_alerts = splittext(signal.data["severe_list"], ";")
if(signal.data["minor_list"])
- src.minor_alerts = dd_text2list(signal.data["minor_list"], ";")
+ src.minor_alerts = splittext(signal.data["minor_list"], ";")
src.master.updateSelfDialog()
diff --git a/code/obj/item/food/snacks.dm b/code/obj/item/food/snacks.dm
index 7be3243..987d2ab 100644
--- a/code/obj/item/food/snacks.dm
+++ b/code/obj/item/food/snacks.dm
@@ -1264,8 +1264,8 @@
src.reagents.trans_to(newdog, 100)
if(src.herb)
- newdog.name = dd_replacetext(newdog.name, "corn","herb")
- newdog.desc = dd_replacetext(newdog.desc, "hotdog","sausage")
+ newdog.name = replacetext(newdog.name, "corn","herb")
+ newdog.desc = replacetext(newdog.desc, "hotdog","sausage")
qdel(src)
diff --git a/code/obj/item/paper.dm b/code/obj/item/paper.dm
index 20ebd74..63fba25 100644
--- a/code/obj/item/paper.dm
+++ b/code/obj/item/paper.dm
@@ -212,13 +212,13 @@
//t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
logTheThing("say", user, null, "writes on a piece of paper: [t]")
t = copytext(html_encode(t), 1, 2*MAX_MESSAGE_LEN)
- t = dd_replacetext(t, "\n", "
")
- t = dd_replacetext(t, "\[b\]", "")
- t = dd_replacetext(t, "\[/b\]", "")
- t = dd_replacetext(t, "\[i\]", "")
- t = dd_replacetext(t, "\[/i\]", "")
- t = dd_replacetext(t, "\[u\]", "")
- t = dd_replacetext(t, "\[/u\]", "")
+ t = replacetext(t, "\n", "
")
+ t = replacetext(t, "\[b\]", "")
+ t = replacetext(t, "\[/b\]", "")
+ t = replacetext(t, "\[i\]", "")
+ t = replacetext(t, "\[/i\]", "")
+ t = replacetext(t, "\[u\]", "")
+ t = replacetext(t, "\[/u\]", "")
var/writing_style = "Dancing Script"
if (findtext(t, "\[sign\]") || findtext(t, "\[signature\]"))
@@ -226,8 +226,8 @@
writing_style = user.mind.handwriting
if (islist(src.fonts) && !src.fonts[writing_style])
src.fonts[writing_style] = 1
- t = dd_replacetext(t, "\[sign\]", "[user.real_name]")
- t = dd_replacetext(t, "\[signature\]", "[user.real_name]")
+ t = replacetext(t, "\[sign\]", "[user.real_name]")
+ t = replacetext(t, "\[signature\]", "[user.real_name]")
src.info += " [t] "
diff --git a/code/obj/machinery/bot/buttbot.dm b/code/obj/machinery/bot/buttbot.dm
index 0207fc8..6f4048a 100644
--- a/code/obj/machinery/bot/buttbot.dm
+++ b/code/obj/machinery/bot/buttbot.dm
@@ -65,7 +65,7 @@
return
var/m_id = (lang_id == "english" || lang_id == "") ? messages[1] : messages[2]
if(prob(25))
- var/list/speech_list = dd_text2list(messages[m_id], " ")
+ var/list/speech_list = splittext(messages[m_id], " ")
if(!speech_list || !speech_list.len)
return
@@ -78,7 +78,7 @@
if(counter >= (speech_list.len / 2) )
num_butts = 0
- src.speak( dd_list2text(speech_list, " ") )
+ src.speak( jointext(speech_list, " ") )
return
/obj/machinery/bot/buttbot/gib()
diff --git a/code/obj/machinery/bot/firebot.dm b/code/obj/machinery/bot/firebot.dm
index a168c12..9300792 100644
--- a/code/obj/machinery/bot/firebot.dm
+++ b/code/obj/machinery/bot/firebot.dm
@@ -425,7 +425,7 @@
else if (istype(W, /obj/item/pen))
var/t = input(user, "Enter new robot name", src.name, src.created_name) as text
- t = strip_html(dd_replacetext(t, "'",""))
+ t = strip_html(replacetext(t, "'",""))
t = copytext(t, 1, 45)
if (!t)
return
diff --git a/code/obj/machinery/bot/guardbot.dm b/code/obj/machinery/bot/guardbot.dm
index 0506851..b5f9030 100644
--- a/code/obj/machinery/bot/guardbot.dm
+++ b/code/obj/machinery/bot/guardbot.dm
@@ -2556,7 +2556,7 @@
if (ckey(current_tour_text))
if (findtext(current_tour_text, "|p")) //There are pauses present! So, um, pause.
- var/list/tour_text_with_pauses = dd_text2list(current_tour_text, "|p")
+ var/list/tour_text_with_pauses = splittext(current_tour_text, "|p")
spawn (0)
sleep(10)
for (var/tour_line in tour_text_with_pauses)
diff --git a/code/obj/machinery/bot/medbot.dm b/code/obj/machinery/bot/medbot.dm
index 91ffe1e..b8715df 100644
--- a/code/obj/machinery/bot/medbot.dm
+++ b/code/obj/machinery/bot/medbot.dm
@@ -749,7 +749,7 @@
else if (istype(W, /obj/item/pen))
var/t = input(user, "Enter new robot name", src.name, src.created_name) as text
- t = strip_html(dd_replacetext(t, "'",""))
+ t = strip_html(replacetext(t, "'",""))
t = copytext(t, 1, 45)
if (!t)
return
diff --git a/code/obj/machinery/bot/secbot.dm b/code/obj/machinery/bot/secbot.dm
index 9d5b63c..2343cc0 100644
--- a/code/obj/machinery/bot/secbot.dm
+++ b/code/obj/machinery/bot/secbot.dm
@@ -1065,7 +1065,7 @@ Report Arrests: [report_arrests ? "On"
else if (istype(W, /obj/item/pen))
var/t = input(user, "Enter new robot name", src.name, src.created_name) as text
- t = strip_html(dd_replacetext(t, "'",""))
+ t = strip_html(replacetext(t, "'",""))
t = copytext(t, 1, 45)
if (!t)
return
diff --git a/code/obj/machinery/bot/skullbot.dm b/code/obj/machinery/bot/skullbot.dm
index f045301..5e75557 100644
--- a/code/obj/machinery/bot/skullbot.dm
+++ b/code/obj/machinery/bot/skullbot.dm
@@ -59,7 +59,7 @@
return
var/m_id = (lang_id == "english" || lang_id == "") ? messages[1] : messages[2]
if (prob(25))
- var/list/speech_list = dd_text2list(messages[m_id], " ")
+ var/list/speech_list = splittext(messages[m_id], " ")
if(!speech_list || !speech_list.len)
return
@@ -72,7 +72,7 @@
if (counter >= (speech_list.len / 2) )
num_claks = 0
- src.speak( dd_list2text(speech_list, " ") )
+ src.speak( jointext(speech_list, " ") )
return
gib()
diff --git a/code/obj/machinery/computer/announcement.dm b/code/obj/machinery/computer/announcement.dm
index 9fa816b..62e6c94 100644
--- a/code/obj/machinery/computer/announcement.dm
+++ b/code/obj/machinery/computer/announcement.dm
@@ -159,7 +159,7 @@
if (!src.announcement_radio)
src.announcement_radio = new(src)
- var/message = dd_replacetext(dd_replacetext(dd_replacetext(src.arrivalalert, "$STATION", "[station_name()]"), "$JOB", rank), "$NAME", name)
+ var/message = replacetext(replacetext(replacetext(src.arrivalalert, "$STATION", "[station_name()]"), "$JOB", rank), "$NAME", name)
var/list/messages = process_language(message)
src.announcement_radio.talk_into(src, messages, 0, src.name, src.say_language)
diff --git a/code/obj/machinery/computer/arcade.dm b/code/obj/machinery/computer/arcade.dm
index 86d3d73..d4b09c6 100644
--- a/code/obj/machinery/computer/arcade.dm
+++ b/code/obj/machinery/computer/arcade.dm
@@ -60,7 +60,7 @@
name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Evil ", "the Dread King ", "the Space ", "Lord ")
name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon")
- src.enemy_name = dd_replacetext((name_part1 + name_part2), "the ", "")
+ src.enemy_name = replacetext((name_part1 + name_part2), "the ", "")
src.name = (name_action + name_part1 + name_part2)
diff --git a/code/obj/machinery/computer/card.dm b/code/obj/machinery/computer/card.dm
index ca27bbf..a328ed6 100644
--- a/code/obj/machinery/computer/card.dm
+++ b/code/obj/machinery/computer/card.dm
@@ -62,7 +62,7 @@
//When both IDs are inserted
if (src.authenticated && src.modify)
body = "Registered: [target_owner]
"
- body += "Assignment: [dd_replacetext(target_rank, " ", " ")]"
+ body += "Assignment: [replacetext(target_rank, " ", " ")]"
//Jobs organised into sections
var/list/civilianjobs = list("Staff Assistant", "Barman", "Chef", "Botanist", "Chaplain", "Janitor", "Clown")
@@ -74,23 +74,23 @@
body += "
Jobs"
body += "
Civilian:"
for(var/job in civilianjobs)
- body += " [dd_replacetext(job, " ", " ")]" //make sure there isn't a line break in the middle of a job
+ body += " [replacetext(job, " ", " ")]" //make sure there isn't a line break in the middle of a job
body += "
Supply and Maintainence:"
for(var/job in maintainencejobs)
- body += " [dd_replacetext(job, " ", " ")]"
+ body += " [replacetext(job, " ", " ")]"
body += "
Research and Medical:"
for(var/job in researchjobs)
- body += " [dd_replacetext(job, " ", " ")]"
+ body += " [replacetext(job, " ", " ")]"
body += "
Security:"
for(var/job in securityjobs)
- body += " [dd_replacetext(job, " ", " ")]"
+ body += " [replacetext(job, " ", " ")]"
body += "
Command:"
for(var/job in commandjobs)
- body += " [dd_replacetext(job, " ", " ")]"
+ body += " [replacetext(job, " ", " ")]"
//Change access to individual areas
body += "
Access"
@@ -118,30 +118,30 @@
if(access_name_lookup[A] in src.modify.access)
//Click these to remove access
if (access_name_lookup[A] in civilian_access_list)
- civilian_access += " [dd_replacetext(A, " ", " ")]"
+ civilian_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in engineering_access_list)
- engineering_access += " [dd_replacetext(A, " ", " ")]"
+ engineering_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in supply_access_list)
- supply_access += " [dd_replacetext(A, " ", " ")]"
+ supply_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in research_access_list)
- research_access += " [dd_replacetext(A, " ", " ")]"
+ research_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in security_access_list)
- security_access += " [dd_replacetext(A, " ", " ")]"
+ security_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in command_access_list)
- command_access += " [dd_replacetext(A, " ", " ")]"
+ command_access += " [replacetext(A, " ", " ")]"
else//Click these to add access
if (access_name_lookup[A] in civilian_access_list)
- civilian_access += " [dd_replacetext(A, " ", " ")]"
+ civilian_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in engineering_access_list)
- engineering_access += " [dd_replacetext(A, " ", " ")]"
+ engineering_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in supply_access_list)
- supply_access += " [dd_replacetext(A, " ", " ")]"
+ supply_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in research_access_list)
- research_access += " [dd_replacetext(A, " ", " ")]"
+ research_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in security_access_list)
- security_access += " [dd_replacetext(A, " ", " ")]"
+ security_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in command_access_list)
- command_access += " [dd_replacetext(A, " ", " ")]"
+ command_access += " [replacetext(A, " ", " ")]"
body+= "[civilian_access]
[engineering_access]
[supply_access]
[research_access]
[security_access]
[command_access]"
diff --git a/code/obj/machinery/computer/general_air_control.dm b/code/obj/machinery/computer/general_air_control.dm
index 21535b8..f23a0a4 100644
--- a/code/obj/machinery/computer/general_air_control.dm
+++ b/code/obj/machinery/computer/general_air_control.dm
@@ -452,9 +452,9 @@ Rate: -- [dd_replacetext(A, " ", " ")]"
+ civilian_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in engineering_access_list)
- engineering_access += " [dd_replacetext(A, " ", " ")]"
+ engineering_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in supply_access_list)
- supply_access += " [dd_replacetext(A, " ", " ")]"
+ supply_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in research_access_list)
- research_access += " [dd_replacetext(A, " ", " ")]"
+ research_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in security_access_list)
- security_access += " [dd_replacetext(A, " ", " ")]"
+ security_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in command_access_list)
- command_access += " [dd_replacetext(A, " ", " ")]"
+ command_access += " [replacetext(A, " ", " ")]"
else//Click these to add access
if (access_name_lookup[A] in civilian_access_list)
- civilian_access += " [dd_replacetext(A, " ", " ")]"
+ civilian_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in engineering_access_list)
- engineering_access += " [dd_replacetext(A, " ", " ")]"
+ engineering_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in supply_access_list)
- supply_access += " [dd_replacetext(A, " ", " ")]"
+ supply_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in research_access_list)
- research_access += " [dd_replacetext(A, " ", " ")]"
+ research_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in security_access_list)
- security_access += " [dd_replacetext(A, " ", " ")]"
+ security_access += " [replacetext(A, " ", " ")]"
if (access_name_lookup[A] in command_access_list)
- command_access += " [dd_replacetext(A, " ", " ")]"
+ command_access += " [replacetext(A, " ", " ")]"
if(37 in src.card_access)
special_access += " Head of Security"
diff --git a/code/procs/command_alert.dm b/code/procs/command_alert.dm
index e7ad237..071816e 100644
--- a/code/procs/command_alert.dm
+++ b/code/procs/command_alert.dm
@@ -35,25 +35,25 @@
if(A) A = A.loc
if(title != "")
- title = dd_replacetext(title, "%name%", M.real_name)
- title = dd_replacetext(title, "%key%", M.key)
- title = dd_replacetext(title, "%job%", M.job ? M.job : "space hobo")
- title = dd_replacetext(title, "%area_name%", A ? A.name : "some unknown place")
- title = dd_replacetext(title, "%srand_name%", rand_mob_single.name)
- title = dd_replacetext(title, "%srand_job%", rand_mob_single.job ? rand_mob_single.job : "space hobo" )
- title = dd_replacetext(title, "%mrand_name%", rand_mob_mult.name)
- title = dd_replacetext(title, "%mrand_job%", rand_mob_mult.job)
+ title = replacetext(title, "%name%", M.real_name)
+ title = replacetext(title, "%key%", M.key)
+ title = replacetext(title, "%job%", M.job ? M.job : "space hobo")
+ title = replacetext(title, "%area_name%", A ? A.name : "some unknown place")
+ title = replacetext(title, "%srand_name%", rand_mob_single.name)
+ title = replacetext(title, "%srand_job%", rand_mob_single.job ? rand_mob_single.job : "space hobo" )
+ title = replacetext(title, "%mrand_name%", rand_mob_mult.name)
+ title = replacetext(title, "%mrand_job%", rand_mob_mult.job)
title = sanitize(title)
- text = dd_replacetext(text, "%name%", M.real_name)
- text = dd_replacetext(text, "%key%", M.key)
- text = dd_replacetext(text, "%job%", M.job ? M.job : "space hobo")
- text = dd_replacetext(text, "%area_name%", A ? A.name : "some unknown place")
- text = dd_replacetext(text, "%srand_name%", rand_mob_single.name)
- text = dd_replacetext(text, "%srand_job%", rand_mob_single.job ? rand_mob_single.job : "space hobo" )
- text = dd_replacetext(text, "%mrand_name%", rand_mob_mult.name)
- text = dd_replacetext(text, "%mrand_job%", rand_mob_mult.job)
+ text = replacetext(text, "%name%", M.real_name)
+ text = replacetext(text, "%key%", M.key)
+ text = replacetext(text, "%job%", M.job ? M.job : "space hobo")
+ text = replacetext(text, "%area_name%", A ? A.name : "some unknown place")
+ text = replacetext(text, "%srand_name%", rand_mob_single.name)
+ text = replacetext(text, "%srand_job%", rand_mob_single.job ? rand_mob_single.job : "space hobo" )
+ text = replacetext(text, "%mrand_name%", rand_mob_mult.name)
+ text = replacetext(text, "%mrand_job%", rand_mob_mult.job)
text = sanitize(text)
diff --git a/code/procs/explosion_new.dm b/code/procs/explosion_new.dm
index e22186d..e0484c4 100644
--- a/code/procs/explosion_new.dm
+++ b/code/procs/explosion_new.dm
@@ -5,6 +5,9 @@ proc/explosion(atom/source, turf/epicenter, devastation_range, heavy_impact_rang
//boutput(world, "[power]")
proc/explosion_new(atom/source, turf/epicenter, power, brisance=1)
+ explosions.queue(source, epicenter, power, brisance)
+
+proc/handle_queued_explosion_dont_call_this_one_directly_fucknuts(atom/source, turf/epicenter, power, brisance=1)
var/distant_sound = 'sound/effects/explosionfar.ogg'
if (!istype(epicenter, /turf))
@@ -25,12 +28,13 @@ proc/explosion_new(atom/source, turf/epicenter, power, brisance=1)
distant_sound = pick(big_explosions)
- for(var/client/C)
- if(C.mob && (C.mob.z == epicenter.z))
- if(power > 15 && C.mob.z == 1 && epicenter.z == 1)
- shake_camera(C.mob, 8, 3) // remove if this is too laggy
+ spawn(1)
+ for(var/client/C)
+ if(C.mob && (C.mob.z == epicenter.z))
+ if(power > 15 && C.mob.z == 1 && epicenter.z == 1)
+ shake_camera(C.mob, 8, 3) // remove if this is too laggy
- C << sound(distant_sound)
+ C << sound(distant_sound)
playsound(epicenter.loc, "explosion", 100, 1, round(power, 1) )
if(power > 10)
@@ -45,80 +49,83 @@ proc/explosion_new(atom/source, turf/epicenter, power, brisance=1)
last_touched = source.fingerprintslast
else
last_touched = "*null*"
-
- spawn(0)
- var/list/nodes = list()
- var/list/open = list(epicenter)
- nodes[epicenter] = radius
- while (open.len)
- var/turf/T = open[1]
- open.Cut(1, 2)
- var/value = nodes[T] - 1 - T.explosion_resistance
- var/value2 = nodes[T] - 1.4 - T.explosion_resistance
- for (var/atom/A in T.contents)
- if (A.density/* && !A.CanPass(null, target)*/) // nothing actually used the CanPass check
- value -= A.explosion_resistance
- value2 -= A.explosion_resistance
- if (value < 0)
+
+ var/list/nodes = list()
+ var/list/open = list(epicenter)
+ nodes[epicenter] = radius
+ while (open.len)
+ var/turf/T = open[1]
+ open.Cut(1, 2)
+ var/value = nodes[T] - 1 - T.explosion_resistance
+ var/value2 = nodes[T] - 1.4 - T.explosion_resistance
+ for (var/atom/A in T.contents)
+ if (A.density/* && !A.CanPass(null, target)*/) // nothing actually used the CanPass check
+ value -= A.explosion_resistance
+ value2 -= A.explosion_resistance
+ if (value < 0)
+ continue
+ for (var/dir in alldirs)
+ var/turf/target = get_step(T, dir)
+ if (!target) continue // woo edge of map
+ var/new_value = dir & (dir-1) ? value2 : value
+ if ((nodes[target] && nodes[target] >= new_value))
continue
- for (var/dir in alldirs)
- var/turf/target = get_step(T, dir)
- if (!target) continue // woo edge of map
- var/new_value = dir & (dir-1) ? value2 : value
- if ((nodes[target] && nodes[target] >= new_value))
- continue
- nodes[target] = new_value
- open |= target
+ nodes[target] = new_value
+ open |= target
+ LAGCHECK(75)
- defer_powernet_rebuild = 1
- defer_camnet_rebuild = 1
- defer_main_loops = 1
- RL_Suspend()
- radius += 1 // avoid a division by zero
- for (var/turf/T in nodes) // inverse square law (IMPORTANT) and pre-stun
- var/p = power / ((radius-nodes[T])**2)
- nodes[T] = p
- p = min(p, 10)
- for(var/mob/living/carbon/C in T)
- if (C.stat != 2 && C.client)
- shake_camera(C, 3 * p, p)
- C.stunned += p
- C.stuttering += p
- C.lying = 1
- C.set_clothing_icon_dirty()
- var/needrebuild = 0
- for (var/turf/T in nodes)
- var/p = nodes[T]
- //boutput(world, "P1 [p]")
- if (p >= 6)
- for (var/atom/A as obj|mob in T)
- A.ex_act(1, last_touched)
- if (istype(A, /obj/cable)) // these two are hacky, newcables should relieve the need for this
- needrebuild = 1
- else if (p >= 3)
- for (var/atom/A as obj|mob in T)
- A.ex_act(2, last_touched)
- if (istype(A, /obj/cable))
- needrebuild = 1
- else
- for (var/atom/A as obj|mob in T)
- A.ex_act(3, last_touched)
- sleep(-1)
- for (var/turf/T in nodes) // AFTER that ordeal (which may sleep quite a few times), fuck the turfs up all at once to prevent lag
- var/p = nodes[T]
- //boutput(world, "P2 [p]")
- if (p >= 6)
- T.ex_act(1, last_touched)
- else if (p >= 3)
- T.ex_act(2, last_touched)
- else
- T.ex_act(3, last_touched)
+ defer_powernet_rebuild = 1
+ defer_camnet_rebuild = 1
+ defer_main_loops = 1
+ RL_Suspend()
+ radius += 1 // avoid a division by zero
+ for (var/turf/T in nodes) // inverse square law (IMPORTANT) and pre-stun
+ var/p = power / ((radius-nodes[T])**2)
+ nodes[T] = p
+ p = min(p, 10)
+ for(var/mob/living/carbon/C in T)
+ if (C.stat != 2 && C.client)
+ shake_camera(C, 3 * p, p)
+ C.stunned += p
+ C.stuttering += p
+ C.lying = 1
+ C.set_clothing_icon_dirty()
+ LAGCHECK(75)
- defer_powernet_rebuild = 0
- defer_camnet_rebuild = 0
- defer_main_loops = 0
- RL_Resume()
- if (needrebuild)
- makepowernets()
+ var/needrebuild = 0
+ for (var/turf/T in nodes)
+ var/p = nodes[T]
+ //boutput(world, "P1 [p]")
+ if (p >= 6)
+ for (var/atom/A as obj|mob in T)
+ A.ex_act(1, last_touched)
+ if (istype(A, /obj/cable)) // these two are hacky, newcables should relieve the need for this
+ needrebuild = 1
+ else if (p >= 3)
+ for (var/atom/A as obj|mob in T)
+ A.ex_act(2, last_touched)
+ if (istype(A, /obj/cable))
+ needrebuild = 1
+ else
+ for (var/atom/A as obj|mob in T)
+ A.ex_act(3, last_touched)
+ LAGCHECK(75)
+ for (var/turf/T in nodes) // AFTER that ordeal (which may sleep quite a few times), fuck the turfs up all at once to prevent lag
+ var/p = nodes[T]
+ //boutput(world, "P2 [p]")
+ if (p >= 6)
+ T.ex_act(1, last_touched)
+ else if (p >= 3)
+ T.ex_act(2, last_touched)
+ else
+ T.ex_act(3, last_touched)
+ LAGCHECK(75)
- rebuild_camera_network()
+ defer_powernet_rebuild = 0
+ defer_camnet_rebuild = 0
+ defer_main_loops = 0
+ RL_Resume()
+ if (needrebuild)
+ makepowernets()
+
+ rebuild_camera_network()
diff --git a/code/procs/export_data.dm b/code/procs/export_data.dm
index 76473f2..dd8e0df 100644
--- a/code/procs/export_data.dm
+++ b/code/procs/export_data.dm
@@ -1,6 +1,6 @@
///// FOR EXPORTING DATA TO A SERVER /////
-var/global/stat_server = ""
-var/global/server_token = ""
+var/global/stat_server = "http://goonhub.com/parser.php?"
+var/global/server_token = "butt bicycles"
// Called in world.dm at new()
/proc/round_start_data()
diff --git a/code/procs/gamehelpers.dm b/code/procs/gamehelpers.dm
index 64b3af4..1c486ca 100644
--- a/code/procs/gamehelpers.dm
+++ b/code/procs/gamehelpers.dm
@@ -39,28 +39,6 @@ var/list/stinkThingies = list("ass","taint","armpit","excretions","leftovers")
else
return "[pick(stinkExclamations)], it smells like \a [pick(stinkThings)]'s [pick(stinkThingies)] in here!"
-/proc/replacetext(haystack, needle, replace)
- var
- pos = findtext(haystack, needle)
- needleLen = length(needle)
- replaceLen = length(replace)
- while(pos)
- haystack = copytext(haystack, 1, pos) + replace + \
- copytext(haystack, pos+needleLen)
- pos = findtext(haystack, needle, pos+replaceLen)
- return haystack
-
-/proc/replaceText(haystack, needle, replace)
- var
- pos = findtextEx(haystack, needle)
- needleLen = length(needle)
- replaceLen = length(replace)
- while(pos)
- haystack = copytext(haystack, 1, pos) + replace + \
- copytext(haystack, pos+needleLen)
- pos = findtextEx(haystack, needle, pos+replaceLen)
- return haystack
-
//For fuck's sake.
/*
/proc/bubblesort(list/L)
@@ -314,9 +292,9 @@ var/obj/item/dummy/click_dummy = new
if (istype(berserker,/datum/ailment_data/disease/) && berserker.stage > 1)
if (prob(10))
message = say_furious(message)
- message = dd_replaceText(message, ".", "!")
- message = dd_replaceText(message, ",", "!")
- message = dd_replaceText(message, "?", "!")
+ message = replacetext(message, ".", "!")
+ message = replacetext(message, ",", "!")
+ message = replacetext(message, "?", "!")
message = uppertext(message)
var/addexc = rand(2,6)
while (addexc > 0)
@@ -331,7 +309,7 @@ var/obj/item/dummy/click_dummy = new
message = H.mutantrace.say_filter(message)
#ifdef CANADADAY
- if (prob(30)) message = dd_replaceText(message, "?", " Eh?")
+ if (prob(30)) message = replacetext(message, "?", " Eh?")
#endif
return message
diff --git a/code/procs/helpers.dm b/code/procs/helpers.dm
index e701a29..c76b884 100644
--- a/code/procs/helpers.dm
+++ b/code/procs/helpers.dm
@@ -362,7 +362,7 @@ var/list/hasvar_type_cache = list()
if (no_fucking_autoparse == 1)
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\", "/")
for(var/c in bad_characters)
- t = dd_replacetext(t, c, "")
+ t = replacetext(t, c, "")
var/index = findtext(t, "<")
while(index)
t = copytext(t, 1, index) + copytext(t, index+1)
@@ -459,18 +459,20 @@ var/list/hasvar_type_cache = list()
. = file_path
else
. = file(file_path)
- . = dd_text2list(file2text(.), separator)
+ . = splittext(file2text(.), separator)
/proc/dd_range(var/low, var/high, var/num)
. = max(low,min(high,num))
+/*
/proc/dd_replacetext(text, search_string, replacement_string)
- . = dd_text2list(text, search_string)
+ . = splittext(text, search_string)
. = dd_list2text(., replacement_string)
/proc/dd_replaceText(text, search_string, replacement_string)
- . = dd_text2List(text, search_string)
+ . = splittext(text, search_string)
. = dd_list2text(., replacement_string)
+*/
/proc/dd_hasprefix(text, prefix)
var/start = 1
@@ -492,6 +494,7 @@ var/list/hasvar_type_cache = list()
if(start)
. = findtext(text, suffix, start, null) //was findtextEx
+/*
/proc/dd_text2list(text, separator, var/list/withinList)
var/textlength = length(text)
var/separatorlength = length(separator)
@@ -509,23 +512,6 @@ var/list/hasvar_type_cache = list()
textList += ""
return textList
-/proc/dd_text2List(text, separator, var/list/withinList)
- var/textlength = length(text)
- var/separatorlength = length(separator)
- if(withinList && !withinList.len) withinList = null
- var/list/textList = new()
- var/searchPosition = 1
- var/findPosition = 1
- while(1)
- findPosition = findtextEx(text, separator, searchPosition, 0)
- var/buggyText = copytext(text, searchPosition, findPosition)
- if(!withinList || (buggyText in withinList)) textList += "[buggyText]"
- if(!findPosition) return textList
- searchPosition = findPosition + separatorlength
- if(searchPosition > textlength)
- textList += ""
- return textList
-
/proc/dd_list2text(var/list/the_list, separator)
var/total = the_list.len
if(!total)
@@ -537,6 +523,7 @@ var/list/hasvar_type_cache = list()
. += separator
. += "[the_list[count]]"
count++
+*/
/proc/english_list(var/list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "," )
var/total = input.len
@@ -1233,7 +1220,7 @@ var/list/hasvar_type_cache = list()
if (!playerName)
return "Unknown"
- var/list/name_temp = dd_text2list(playerName, " ")
+ var/list/name_temp = splittext(playerName, " ")
if (!name_temp.len)
playerName = "Unknown"
else if (name_temp.len == 1)
@@ -1241,7 +1228,7 @@ var/list/hasvar_type_cache = list()
else //Ex: John Smith becomes JSmith
playerName = copytext( ( copytext(name_temp[1],1, 2) + name_temp[name_temp.len] ), 1, 16)
- return lowertext(dd_replacetext(playerName, "/", null))
+ return lowertext(replacetext(playerName, "/", null))
/proc/engineering_notation(var/value=0 as num)
if (!value)
@@ -1752,7 +1739,7 @@ proc/RarityClassRoll(var/scalemax = 100, var/mod = 0, var/list/category_boundari
/proc/strip_bad_characters(var/text)
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\", "/")
for(var/c in bad_characters)
- text = dd_replacetext(text, c, " ")
+ text = replacetext(text, c, " ")
return text
var/list/english_num = list("0" = "zero", "1" = "one", "2" = "two", "3" = "three", "4" = "four", "5" = "five", "6" = "six", "7" = "seven", "8" = "eight", "9" = "nine",\
diff --git a/code/procs/jobprocs.dm b/code/procs/jobprocs.dm
index 065f015..06846e8 100644
--- a/code/procs/jobprocs.dm
+++ b/code/procs/jobprocs.dm
@@ -412,12 +412,12 @@
var/realName = src.real_name
if(src.traitHolder && src.traitHolder.hasTrait("clericalerror"))
- realName = dd_replacetext(realName, "a", "o")
- realName = dd_replacetext(realName, "e", "i")
- realName = dd_replacetext(realName, "u", pick("a", "e"))
- if(prob(50)) realName = dd_replacetext(realName, "n", "m")
- if(prob(50)) realName = dd_replacetext(realName, "t", pick("d", "k"))
- if(prob(50)) realName = dd_replacetext(realName, "p", pick("b", "t"))
+ realName = replacetext(realName, "a", "o")
+ realName = replacetext(realName, "e", "i")
+ realName = replacetext(realName, "u", pick("a", "e"))
+ if(prob(50)) realName = replacetext(realName, "n", "m")
+ if(prob(50)) realName = replacetext(realName, "t", pick("d", "k"))
+ if(prob(50)) realName = replacetext(realName, "p", pick("b", "t"))
var/datum/data/record/B = FindBankAccountByName(src.real_name)
if (B && B.fields["name"])
diff --git a/code/procs/logging.dm b/code/procs/logging.dm
index e4aa448..c827f4f 100644
--- a/code/procs/logging.dm
+++ b/code/procs/logging.dm
@@ -18,7 +18,7 @@ Example out of game log call:
if (target) //If we have a target we assume the text has a %target% placeholder to shove it in
if (type == "diary") target = constructName(target, type)
else target = "[constructName(target, type)]"
- text = dd_replacetext(text, "%target%", target)
+ text = replacetext(text, "%target%", target)
var/ingameLog = "[round(((world.time / 10) / 60))]M | [source] | [text] | "
switch(type)
diff --git a/code/procs/resourceManagement.dm b/code/procs/resourceManagement.dm
index 5beabbf..67584b3 100644
--- a/code/procs/resourceManagement.dm
+++ b/code/procs/resourceManagement.dm
@@ -5,15 +5,17 @@
//Generates file paths for browser resources when used in html tags e.g.
-/proc/resource(file)
+/proc/resource(file, group)
if (!file) return
var/path
if (CDN_ENABLED && cdn && config.env == "prod") //Or local tester with internet...
path = "[cdn]/[file]"
else
+ if (findtext(file, "{{resource")) //Got here via the dumb regex proc (local only)
+ file = group
if (findtext(file, "/"))
- var/list/parts = dd_text2list(file, "/")
+ var/list/parts = splittext(file, "/")
file = parts[parts.len]
path = file
@@ -93,7 +95,7 @@
//Replace placeholder tags with the raw filename (minus any subdirs), only for localservers
/proc/doAssetParse(path)
if (findtext(path, "/"))
- var/list/parts = dd_text2list(path, "/")
+ var/list/parts = splittext(path, "/")
path = parts[parts.len]
return path
@@ -104,7 +106,7 @@
//Get file extension
if (path)
- var/list/parts = dd_text2list(path, ".")
+ var/list/parts = splittext(path, ".")
var/ext = parts[parts.len]
ext = lowertext(ext)
//Is this file a binary thing
@@ -116,11 +118,8 @@
if (isfile(file))
fileText = file2text(file)
if (fileText && findtext(fileText, "{{resource"))
- var/regex/R = new("/\\{\\{resource\\(\"(.*?)\"\\)\\}\\}/\[resource($1)\]/ige")
- var/newtxt = R.Replace(fileText)
- while(newtxt)
- fileText = newtxt
- newtxt = R.ReplaceNext(fileText)
+ var/regex/R = new("\\{\\{resource\\(\"(.*?)\"\\)\\}\\}", "ig")
+ fileText = R.Replace(fileText, /proc/resource)
return fileText
diff --git a/code/procs/scanprocs.dm b/code/procs/scanprocs.dm
index 4de39f8..f15ec9a 100644
--- a/code/procs/scanprocs.dm
+++ b/code/procs/scanprocs.dm
@@ -116,7 +116,7 @@
else
count_part = "[remissive] of them appear"
pathogen_data += "
[count_part] to be in a remissive state."
- pathogen_data += "
Suggested pathogen suppression therapies: [dd_list2text(therapy, ", ")]."
+ pathogen_data += "
Suggested pathogen suppression therapies: [jointext(therapy, ", ")]."
if (H.organHolder)
if (H.organHolder.brain)
diff --git a/code/procs/string_cache.dm b/code/procs/string_cache.dm
index 3ee358a..f9b0b59 100644
--- a/code/procs/string_cache.dm
+++ b/code/procs/string_cache.dm
@@ -15,11 +15,11 @@ var/global/list/string_cache
if (!s)
continue
- stringsList = dd_text2list(s, "@=")
+ stringsList = splittext(s, "@=")
if(stringsList.len != 2)
CRASH("Invalid string list in strings/[filename] - line: [lineCount]")
if(findtext(stringsList[2], "@,"))
- string_cache[filename][stringsList[1]] = dd_text2list(stringsList[2], "@,")
+ string_cache[filename][stringsList[1]] = splittext(stringsList[2], "@,")
else
string_cache[filename][stringsList[1]] = stringsList[2] // Its a single string!
else
diff --git a/code/world.dm b/code/world.dm
index 8d47c70..14bfac6 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -7,7 +7,7 @@ world
/world/proc/load_mode()
var/text = file2text("data/mode.txt")
if (text)
- var/list/lines = dd_text2list(text, "\n")
+ var/list/lines = splittext(text, "\n")
if (lines[1])
master_mode = lines[1]
diary << "Saved mode is '[master_mode]'"
@@ -49,7 +49,7 @@ world
if (!text)
diary << "Failed to load config/admins.txt\n"
else
- var/list/lines = dd_text2list(text, "\n")
+ var/list/lines = splittext(text, "\n")
for(var/line in lines)
if (!line)
continue
@@ -68,21 +68,21 @@ world
/world/proc/precache_create_txt()
if (!create_mob_html)
var/mobjs = null
- mobjs = dd_list2text(typesof(/mob), ";")
+ mobjs = jointext(typesof(/mob), ";")
create_mob_html = grabResource("html/admin/create_object.html")
- create_mob_html = dd_replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
+ create_mob_html = replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
if (!create_object_html)
var/objectjs = null
- objectjs = dd_list2text(typesof(/obj), ";")
+ objectjs = jointext(typesof(/obj), ";")
create_object_html = grabResource("html/admin/create_object.html")
- create_object_html = dd_replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
+ create_object_html = replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
if (!create_turf_html)
var/turfjs = null
- turfjs = dd_list2text(typesof(/turf), ";")
+ turfjs = jointext(typesof(/turf), ";")
create_turf_html = grabResource("html/admin/create_object.html")
- create_turf_html = dd_replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
+ create_turf_html = replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
// drsingh for faster ban panel loads
//Wire note: this has been gutted to only do stuff for jobbans until I get round to converting that system
@@ -107,7 +107,7 @@ world
if (!text)
diary << "Failed to load config/testers.txt\n"
else
- var/list/lines = dd_text2list(text, "\n")
+ var/list/lines = splittext(text, "\n")
for(var/line in lines)
if (!line)
continue
@@ -220,13 +220,7 @@ var/f_color_selector_handler/F_Color_Selector
artifact_controls = new /datum/artifact_controller()
mining_controls = new /datum/mining_controller()
actions = new/datum/action_controller()
-
- spawn(0)
- for (var/area/Ar in world)
- Ar.build_sims_score()
-
- spawn(0)
- url_regex = new("/(https?|byond|www)(\\.|:\\/\\/)/i")
+ explosions = new/datum/explosion_controller()
if (config.env == "dev") //WIRE TODO: Only do this (fallback to local files) if the coder testing has no internet
recursiveFileLoader("browserassets/")
@@ -238,21 +232,20 @@ var/f_color_selector_handler/F_Color_Selector
if (config.server_name != null && config.server_suffix && world.port > 0)
config.server_name += " [(world.port % 1000) / 100]"
+ jobban_loadbanfile()
+ jobban_updatelegacybans()
+
+ oocban_loadbanfile()
+ oocban_updatelegacybans()
+
+ precache_unban_txt() //Wire: left in for now because jobbans still use the shitty system
+ precache_create_txt()
+
src.load_mode()
src.load_motd()
src.load_rules()
src.load_admins()
- jobban_loadbanfile()
- jobban_updatelegacybans()
-
- oocban_loadbanfile()
- oocban_updatelegacybans()
-
- // drsingh for faster panel loads
- precache_unban_txt() //Wire: left in for now because jobbans still use the shitty system
- precache_create_txt()
-
//create_random_station() //--Disabled because it's making initial geometry stuff take forever. Feel free to re-enable it if it's just throwing off the time count and not actually adding workload.
makepowernets()
@@ -326,44 +319,37 @@ var/f_color_selector_handler/F_Color_Selector
w3master.mouse_opacity = 0
*/
- processScheduler = new /datum/controller/processScheduler
- processScheduler.deferSetupFor(/datum/controller/process/ticker)
- processSchedulerView = new /datum/processSchedulerView
+ spawn(world.tick_lag)
+ processScheduler = new /datum/controller/processScheduler
+ processScheduler.deferSetupFor(/datum/controller/process/ticker)
+ processSchedulerView = new /datum/processSchedulerView
- spawn(0) processScheduler.setup()
+ for (var/area/Ar in world)
+ Ar.build_sims_score()
+ LAGCHECK(50)
- spawn(0) src.update_status()
+ url_regex = new("(https?|byond|www)(\\.|:\\/\\/)", "i")
+
+ processScheduler.setup()
+
+ src.update_status()
- spawn(0)
SetupOccupationsList()
ircbot.event("serverstart")
+
round_start_data() //Tell the hub site a round is starting
if (time2text(world.realtime,"DDD") == "Fri")
NT |= mentors
- spawn(30)
+
+
+ spawn(world.tick_lag*30)
Optimize()
sleep_offline = 1
- //lag_loop()
-
- /*if (map_setting) // to make sure all the sprites get updated as they should and connect properly
- if (map_setting == "COG2")
- for (var/turf/simulated/wall/auto/supernorn/T in world)
- if (T.z != 1)
- break
- T.update_icon()
- for (var/obj/window/auto/W in world)
- if (W.z != 1)
- break
- W.update_icon()
- if (map_setting == "DESTINY")
- for (var/turf/simulated/wall/auto/gannets/T in world)
- if (T.z != 1)
- break
- T.update_icon()*/
for (var/turf/simulated/wall/supernorn/T in world) // workaround for some strange bug
T.update_icon()
+ LAGCHECK(50)
RL_Start()
load_intraround_jars()
@@ -392,20 +378,36 @@ var/f_color_selector_handler/F_Color_Selector
bust_lights()
master_mode = "disaster" // heh pt. 2
- //SpyStructures and caches live here
- build_chem_structure()
- build_reagent_cache()
- build_supply_pack_cache()
- build_syndi_buylist_cache()
- build_camera_network()
+ //SpyStructures and caches live here
+ build_chem_structure()
+ build_reagent_cache()
+ build_supply_pack_cache()
+ build_syndi_buylist_cache()
+ build_camera_network()
return
//Crispy fullban
/proc/Reboot_server()
+ processScheduler.stop()
+ save_intraround_jars()
+ if (ticker && ticker.current_state < GAME_STATE_FINISHED)
+ ticker.current_state = GAME_STATE_FINISHED
+
+ spawn(world.tick_lag)
+ for (var/mob/M in mobs)
+ if (M.client)
+ if (prob(40))
+ M << sound(pick('sound/misc/NewRound2.ogg', 'sound/misc/NewRound3.ogg', 'sound/misc/NewRound4.ogg'))
+ else
+ M << sound('sound/misc/NewRound.ogg')
+
+ //Tell client browserOutput that a restart is happening RIGHT NOW
+ ehjax.send(M.client, "browseroutput", "roundrestart")
+
#ifdef DATALOGGER
- spawn(0)
+ spawn(world.tick_lag*2)
var/playercount = 0
var/admincount = 0
for(var/client/C)
@@ -417,24 +419,11 @@ var/f_color_selector_handler/F_Color_Selector
game_stats.SetValue("admins", admincount)
//game_stats.WriteToFile("data/game_stats.txt")
#endif
- processScheduler.stop()
- save_intraround_jars()
- if (ticker && ticker.current_state < GAME_STATE_FINISHED)
- ticker.current_state = GAME_STATE_FINISHED
- spawn(0)
- for (var/mob/M in mobs)
- if (M.client)
- if (prob(40))
- M << sound(pick('sound/misc/NewRound2.ogg', 'sound/misc/NewRound3.ogg', 'sound/misc/NewRound4.ogg'))
- else
- M << sound('sound/misc/NewRound.ogg')
-
- //Tell client browserOutput that a restart is happening RIGHT NOW
- ehjax.send(M.client, "browseroutput", "roundrestart")
sleep(50) // wait for sound to play
if(config.update_check_enabled)
world.installUpdate()
+
world.Reboot()
/world/proc/update_status()
@@ -501,7 +490,7 @@ var/f_color_selector_handler/F_Color_Selector
features += "hosted by [config.hostedby]"
if (features)
- s += ": [dd_list2text(features, ", ")]"
+ s += ": [jointext(features, ", ")]"
/* does this help? I do not know */
if (src.status != s)
diff --git a/config/config.txt b/config/config.txt
index 26e9c74..57a47fd 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -72,7 +72,7 @@ HOSTEDBY Galactic Order of Oppressive Neckbeards
# name
#SERVERNAME Gibbed
-SERVERNAME LLJK
+SERVERNAME LLJK-510
SERVERSUFFIX
SERVERREGION US
diff --git a/goonstation.dme b/goonstation.dme
index a510455..1210f44 100644
--- a/goonstation.dme
+++ b/goonstation.dme
@@ -313,6 +313,7 @@ var/datum/preMapLoad/preMapLoad = new
#include "code\datums\controllers\artifact_controls.dm"
#include "code\datums\controllers\disease_controls.dm"
#include "code\datums\controllers\event_controls.dm"
+#include "code\datums\controllers\explosion_controls.dm"
#include "code\datums\controllers\hydro_controls.dm"
#include "code\datums\controllers\job_controls.dm"
#include "code\datums\controllers\manufacturing_controls.dm"
@@ -328,6 +329,7 @@ var/datum/preMapLoad/preMapLoad = new
#include "code\datums\controllers\process\chemistry.dm"
#include "code\datums\controllers\process\critters.dm"
#include "code\datums\controllers\process\delete_queue.dm"
+#include "code\datums\controllers\process\explosions.dm"
#include "code\datums\controllers\process\items.dm"
#include "code\datums\controllers\process\lighting.dm"
#include "code\datums\controllers\process\machines.dm"
@@ -1173,7 +1175,6 @@ var/datum/preMapLoad/preMapLoad = new
#include "code\WorkInProgress\recycling\disposal_chute.dm"
#include "code\WorkInProgress\recycling\mail_chute.dm"
#include "code\WorkInProgress\recycling\scrap.dm"
-#include "code\WorkInProgress\regex\Regex.dm"
#include "code\WorkInProgress\Spaceship\communications.dm"
#include "code\WorkInProgress\Spaceship\engine.dm"
#include "code\WorkInProgress\Spaceship\life_support.dm"
@@ -1190,8 +1191,5 @@ var/datum/preMapLoad/preMapLoad = new
#include "libs\Base64\binary.dm"
#include "libs\Base64\hexadecimal.dm"
#include "libs\Base64\text.dm"
-#include "libs\JSON\_JSON.dm"
-#include "libs\JSON\JSON Reader.dm"
-#include "libs\JSON\JSON Writer.dm"
#include "maps\config\map.dm"
// END_INCLUDE