From 4c6e8fdbd431f7aaafcc39f644cae43ce66a7aa3 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Sun, 29 Dec 2013 12:32:51 -0500 Subject: [PATCH] NanoUI PDA optimizations --- code/defines/obj.dm | 4 +-- code/game/objects/items/devices/PDA/PDA.dm | 29 ++++++++++++++------- code/game/objects/items/devices/PDA/cart.dm | 14 +++++----- code/modules/events/money_spam.dm | 3 ++- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index c3d6102ca76..6208a6effad 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -178,8 +178,8 @@ We can't just insert in HTML into the nanoUI so we need the raw data to play wit var/bot[0] var/misc[0] for(var/datum/data/record/t in data_core.general) - var/name = t.fields["name"] - var/rank = t.fields["rank"] + var/name = sanitize(t.fields["name"]) + var/rank = sanitize(t.fields["rank"]) var/real_rank = t.fields["real_rank"] var/isactive = t.fields["p_stat"] var/department = 0 diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b292e9e90b3..6a7ca97c372 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -12,7 +12,7 @@ var/global/list/obj/item/device/pda/PDAs = list() item_state = "electronic" w_class = 1.0 flags = FPRINT | TABLEPASS - slot_flags = SLOT_BELT | SLOT_PDA + slot_flags = SLOT_ID | SLOT_BELT //Main variables var/owner = null @@ -412,17 +412,24 @@ var/global/list/obj/item/device/pda/PDAs = list() else pdas.Add(list(list("Name" = "[P]", "Reference" = "\ref[P]", "Detonate" = "[P.detonate]", "inconvo" = "0"))) count++ + data["convopdas"] = convopdas data["pdas"] = pdas data["pda_count"] = count - data["messagescount"] = tnote.len - data["messages"] = tnote + + if(mode==21) + data["messagescount"] = tnote.len + data["messages"] = tnote + else + data["messagescount"] = null + data["messages"] = null + var/found = 0 if(active_conversation) for(var/c in tnote) if(c["target"] == active_conversation) - data["convo_name"] = c["owner"] - data["convo_job"] = c["job"] + data["convo_name"] = sanitize(c["owner"]) + data["convo_job"] = sanitize(c["job"]) found = 1 break if(!found) @@ -435,7 +442,7 @@ var/global/list/obj/item/device/pda/PDAs = list() if(!ui || mode==3) var/turf/T = get_turf_or_move(user.loc) - if(!isnull(T)) + if(!isnull(T) || mode!=3) var/datum/gas_mixture/environment = T.return_air() var/pressure = environment.return_pressure() @@ -619,8 +626,9 @@ var/global/list/obj/item/device/pda/PDAs = list() if (in_range(src, U) && loc == U) n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN) if (mode == 1) - note = replacetext(n, "\n", "
") - notehtml = n + note = html_decode(n) + notehtml = note + note = replacetext(note, "\n", "
") else ui.close() if("Toggle Messenger") @@ -661,8 +669,9 @@ var/global/list/obj/item/device/pda/PDAs = list() var/obj/item/device/pda/P = locate(href_list["target"]) src.create_message(U, P) if(mode == 2) - active_conversation = href_list["target"] - mode = 21 + if(href_list["target"] in conversations) // Need to make sure the message went through, if not welp. + active_conversation = href_list["target"] + mode = 21 if("Select Conversation") var/P = href_list["convo"] diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 173bd473485..ceeeb977c3e 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -256,14 +256,14 @@ /* Station Display (Mode: 42) */ - if(mode==42 || !ui) + if(mode==42 || (!ui && access_status_display)) values["message1"] = message1 ? message1 : "(none)" values["message2"] = message2 ? message2 : "(none)" /* Power Monitor (Mode: 43 / 433) */ - if(mode==43 || mode==433 || !ui) + if(mode==43 || mode==433 || (!ui && access_engine)) var/pMonData[0] for(var/obj/machinery/power/monitor/pMon in world) if(!(pMon.stat & (NOPOWER|BROKEN)) ) @@ -294,7 +294,7 @@ /* General Records (Mode: 44 / 441 / 45 / 451) */ - if(mode == 44 || mode == 441 || mode == 45 || mode ==451 || !ui) + if(mode == 44 || mode == 441 || mode == 45 || mode ==451 || (!ui && (access_medical || access_security))) if(istype(active1, /datum/data/record) && (active1 in data_core.general)) values["general"] = active1.fields values["general_exists"] = 1 @@ -317,7 +317,7 @@ /* Medical Records (Mode: 44 / 441) */ - if(mode == 44 || mode == 441 || !ui) + if(mode == 44 || mode == 441 || (!ui && access_medical)) var/medData[0] for(var/datum/data/record/R in sortRecord(data_core.general)) medData[++medData.len] = list(Name = R.fields["name"],"ref" = "\ref[R]") @@ -343,7 +343,7 @@ /* Security Records (Mode:45 / 451) */ - if(mode == 45 || mode == 451 || !ui) + if(mode == 45 || mode == 451 || (!ui && access_security)) var/secData[0] for (var/datum/data/record/R in sortRecord(data_core.general)) secData[++secData.len] = list(Name = R.fields["name"], "ref" = "\ref[R]") @@ -441,7 +441,7 @@ /* Supply Shuttle Requests Menu (Mode: 47) */ - if(mode==47 || !ui) + if(mode==47 || (!ui && access_quartermaster)) var/supplyData[0] supplyData["shuttle_moving"] = supply_shuttle.moving supplyData["shuttle_eta"] = supply_shuttle.eta @@ -476,7 +476,7 @@ /* Janitor Supplies Locator (Mode: 49) */ - if(mode==49 || !ui) + if(mode==49 || (!ui && access_janitor)) var/JaniData[0] var/turf/cl = get_turf(src) diff --git a/code/modules/events/money_spam.dm b/code/modules/events/money_spam.dm index 17c312eea2c..f610b0d2f91 100644 --- a/code/modules/events/money_spam.dm +++ b/code/modules/events/money_spam.dm @@ -94,7 +94,8 @@ if(ai.aiPDA != P && ai.aiPDA != src) ai.show_message("Intercepted message from [sender] (Unknown / spam?) to [P:owner]: [message]") - P.tnote += "← From [sender] (Unknown / spam?):
[message]
" + //Commented out because we don't send messages like this anymore. Instead it will just popup in their chat window. + //P.tnote += "← From [sender] (Unknown / spam?):
[message]
" if (!P.silent) playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1)