I accidentally a memory leak.

Anyhow, HUDs' memory leak fixed, also security HUD added (only shows current ID assignment for now, gotta figure out why it doesn't want to show the arrest/prisoner status).

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1569 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
uporotiy
2011-05-11 20:06:24 +00:00
parent e84f4ad519
commit 8ec4abe6e1
7 changed files with 67 additions and 14 deletions
+33 -7
View File
@@ -746,7 +746,7 @@
if(client)
for(var/image/hud in client.images)
if(copytext(hud.icon_state,6) == "health") //ugly, but icon comparison is worse, I believe
if(copytext(hud.icon_state,4) == "hud") //ugly, but icon comparison is worse, I believe
del(hud)
if (src.stat == 2 || src.mutations & XRAY)
@@ -795,19 +795,45 @@
src.sight |= SEE_OBJS
if (!src.druggy)
src.see_invisible = 0
else if (istype(glasses, /obj/item/clothing/glasses/healthscanner))
else if (istype(glasses, /obj/item/clothing/glasses/hud/security))
if(client)
var/icon/tempHud = 'hud.dmi'
for(var/mob/living/carbon/human/perp in view(src))
if(perp.wear_id)
client.images += image(tempHud,perp,"hud[ckey(perp:wear_id:GetJobName())]")
for (var/datum/data/record/E in data_core.general)
var/perpname = "wot"
if(istype(perp.wear_id,/obj/item/weapon/card/id))
perpname = perp.wear_id:registered
else if(istype(perp.wear_id,/obj/item/device/pda))
var/obj/item/device/pda/tempPda = perp.wear_id
perpname = tempPda.owner
world << "[perpname]"
if (E.fields["name"] == perpname)
for (var/datum/data/record/R in data_core.security)
if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
client.images += image(tempHud,perp,"hudwanted")
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated"))
client.images += image(tempHud,perp,"hudprisoner")
break
else
client.images += image(tempHud,perp,"hudunknown")
if (!src.druggy)
src.see_invisible = 0
else if (istype(glasses, /obj/item/clothing/glasses/hud/health))
if(client)
var/icon/tempHud = 'hud.dmi'
for(var/mob/living/carbon/human/patient in view(src))
client.images += image(tempHud,patient,RoundHealth(patient.health))
client.images += image(tempHud,patient,"hud[RoundHealth(patient.health)]")
if(patient.stat == 2)
client.images += image(tempHud,patient,"healthdead")
client.images += image(tempHud,patient,"huddead")
else if(patient.alien_egg_flag)
client.images += image(tempHud,patient,"healthxeno")
client.images += image(tempHud,patient,"hudxeno")
else if(patient.virus)
client.images += image(tempHud,patient,"healthill")
client.images += image(tempHud,patient,"hudill")
else
client.images += image(tempHud,patient,"healthy")
client.images += image(tempHud,patient,"hudhealthy")
if (!src.druggy)
src.see_invisible = 0