This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
This commit overhauls the global.dm file, global_lists.dm file, and
defines.dm file into a tree system based on -tg-.
All defines have been split and distributed in code/__DEFINES/
Everything from global.dm and global_lists.dm has been split and
distributed in code/_globalvars
The _compile_options.dm file contains anything that absolutely, 100%, must
be initialized before world.dm.
Name definitions have been moved to code/_globalvars/lists/names.dm.
Other things to note
- All instances of something.z == 2/1/3/5 have been replaced with easily
configurable defines, labeled ZLEVEL_. The map include file can
override these by defining custom ones in it's file, as it is at the
top of the tree.
var/network = string is now var/list/network = list().
I've also added a "network_multi" var which is a string. This is specifically for placing cameras on a map that you want to put on multiple networks. Apparently DM's map maker doesn't support lists, so just type them all in as a string and camera/initialize() will take care of the rest.
Input the networks with commas seperating them, for example: "SS13,RD,Secret,Prison,Ect"
I fixed a few issues while editing the cameras on the map as well.
Both maps:
- Re-added the telescreen in the misc research room that got removed at some point. (Thanks to Ikarrus for pointing this out)
- Any room that had 2 cameras (one for each network) were merged into one camera with the new network lists.
- - Permabrig-hallway (SS13, Prison)
- - Every room in R&D (including robotics) (SS13, RD)
- - The bomb testing range (RD, Toxins)
tgstation.2.1.1.dmm:
- Added a missing wire in engineering-sec (Thanks to SuperSayu for pointing this out)
- Fixed some mis-orientated firelocks. (Thanks to Intigracy for pointing this out)
- - The mining door between cargo and mining
- - The door between the hallway and the engineering lobby
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5596 316c924e-a436-60f5-8080-3fe189b3f50e
-Atmos delay is now based on active players, to help fight lag for massive player rounds.
-Changed some for(blah in world) loops to use the correct lists.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
-Slightly increased the temperature needed to break windows.
-Re-added a sound for screwdrivering the camera.
-Moved the autonumber camera stuff into the presets file.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4898 316c924e-a436-60f5-8080-3fe189b3f50e
- Added an areatest verb to debug verbs. This tests areas for whether they have APCs, air alarms, etc.
- Added an 'autoname' subtype of obj/machinery/camera. Cameras of this type auto-assign their c_tag, based on which area they're in, followed by a number. For example "Male Dorm #1", "Male Dorm #2", etc.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4806 316c924e-a436-60f5-8080-3fe189b3f50e
-You can't show messages to dead/clientless AIs by putting a page of paper up to the camera.
-Ghost following will get a list of mobs from getmobs, it'll sort it by mob type and by name.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4679 316c924e-a436-60f5-8080-3fe189b3f50e
It takes no time to open camera panels now.
There's no chance that pulsing a wire will set the alarm off.
Properly killed the camera from processing, if it isn't a motion camera.
Added some extra feedback to welding.
EMPing cameras will set their alarms off, if it passes the first prob check.
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4613 316c924e-a436-60f5-8080-3fe189b3f50e
It will construct a camera after doing the following steps:
Wrench it to attach it to a wall
Weld it to the wall with a welding tool (Welding Helmet Required)
Attach wires to the camera
Possible extra steps in order to create special cameras (X-Ray, EMP Proof, Motion) (You can have more than 1 special attachment, meaning it can be possible to have an EMP Proof, Motion, X-Ray camera)
X-Ray will need carrots (something for botanists) (this will possibly changed, well it will definitely carrots are weird)
EMP Proof will need solid plasma.
Motion will need a prox sensor.
Screwdriver the panel closed to complete the camera.
To deconstruct the camera, it would be not so difficult to disable but it will take a while to completely remove it:
Screwdriver the panel open
Cut all the wires, cutting the alarm wire is optional.
Weld it.
It is now a camera assembly again.
Gave the cameras wires to cut/mend/pulse. Random wires for every camera to make hacking it harder.
Focus wire. Will make the camera have a shorter or normal vision range.
Power wire. Will disable the camera. Pulsing will make it kick anyone who is viewing it through a security computer. Will give a tiny shock if not protected.
Light wire. Will disable the "Toggle Camera Light" that the AI has. Pulsing it will disable/enable it.
Alarm wire. Will warn the AI that a camera's alarm has been set off, when this wire has been cut/pulsed. Does nothing else. Should only triggered once, meaning.. setting off the camera won't set it off ever again..
Special wire. Will toggle the special attachment of the camera. Pulse toggles, cutting disables, mending enables.
Nothing wire. Does nothing, just here to add more wires and make guessing which wire does which harder. x 3
Placed extra cameras, I can't recall all the places but here are some.
Around solar array entrances
Around EVA
Around the security back maintenance door
Place an X-Ray camera in the Living Quarters.
Bartender back room
Virology living quarters
Chapel crematory
A camera on the outside of Telecomm's external airlock
X-Ray camera outside every escape pod station.
Inbetween toxins test site and the station(?) There's cameras there already
Inbetween viro and medbay i think ^ I mean inside maintalright
private study? (library back room)
engineering secure storage
X-ray camera in toilets (both of them)
Both maintenance access that you find between important areas (captain room, teleporter room)(HoP office, staff meeting
Custodial Closet
Surgery Observation
Atmospherics Maintenance
Infront of Atmos
mining maintenance
Kitchen cold room
Hydroponics Storage
Emergency storage (both)
Other Map changes
Add red phone in Cyborg Station
Add AI restorer to Cyborg Station room
Added some camera assemblies in the Cyborg Station, inside a crate!
TODO:
Get camera alarms to give the AI a link to press, to jump there.
Standardize wires or something. There's a lot of copy+paste..
OTHER:
With the new camera stuff I got rid of the default x-ray cameras. Though there still are x-ray cameras placed around, watching you sleep.
Added Lugar223's improved vending interface. http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=9586
Some runtime fixes.
Added a second buffer for Cyborg cameras. Hopefully it'll make freelook less laggy.
Increased the first buffer to 2 seconds.
Some tweaking to stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4606 316c924e-a436-60f5-8080-3fe189b3f50e