Most notably :
* better loading times, less processing loops
* lists variables are now taken into account (simples and associatives)
* every character can now be used inside a string without fear of breaking the loading process
-Centcom announcement proc merged with generic priority announcement proc
-Re-added the Captain Announces accompanied by a new pleasant sound, instead of the generic priority announcement
-Captain Announcements will automatically generate a newscaster article
-Priority announcements without any defined accompanying sound will play a generic "Attention" soundbyte as an audio cue
-Communications consoles will display who is currently logged in
Fixes issue #119
Transferred all the different colours of under clothes and shoes to obj/item/clothing/under/colour/XXX and obj/item/clothing/shoes/sneakers/XXX
Added two extra options to the spawn menu of the game panel, clothing and food.
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
They now appear correctly, and without interfering with other parts of
the game.
Fixes turrets and their turnie offie things so they work.
Still to do: Readd window clue to bomb test area. Somehow it got removed
from the object's description.
Uses the map tools, but edits a lot of paths.
Makes box2550away unsimulated to combat lag
Adds three new unsimulated floors, which are just copies of simulated
ones
Adds four new unsimluated walls, which are just copies of simulated ones
Breaks telescreens as they don't work off the station
Adds the escape shuttle to the map as it has the penultimate HONK clue
paper on it and replaces the shuttle console with a fake
Adds a needed stat check to security camera computers
Gets rid of disposal overlays on box2550away toilets
Replaces box2550away status displays with fakes
Fixes a bug with entertainment monitors where they had no broken icon
due to being in status_display.dmi instead of stationobjs.dmi
Adds a carpet icon ("carpet2") that was present in 2010 and is used in
box2550away back to floors.dmi
Changes disposal related user messages so they refer to the name var of
the disposal object. This makes the messages refer to my disposal
toilets as toilets instead of diposals.
Removes the non-slip flag of SWAT shoes in the armoury.
God I hope I committed all the files I changed.
This stops AI corpses showing up in the end of round report. It also
means that a ghosted (whether after death or by going catatonic) AI or
borg will now have its player shown at the end of the round.
Fixes the away map dead slime spawner. Previously, it would spawn two
dead slimes that had living icons. Now it spawns one slime with a dead
icon. These issues are fixed by adding a check for existing slimes at
the spawner's location before spawning a slime, and killing the spawned
slime via adjustToxLoss() instead of death(). Death() doesn't give the
slime a dead icon for some reason.
Fixes the away map dead AI spawner. Previously, it spawned a dead AI
that showed on the PDA messenger from roundstart, made the AI status
displays on the station show the BSoD, and displayed its laws in the
round-end report. These issues are fixed by setting the spawned AI's PDA
toggle to 1, changing the status displays back to blank after the AI
dies and removing the dead AI from the moblist so it isn't shown at the
end of the game.