Hopefully nothing went wrong but you never know.
Conflicts:
code/FEA/FEA_fire.dm
code/controllers/supply_shuttle.dm
code/game/gamemodes/changeling/changeling_powers.dm
code/game/machinery/autolathe.dm
code/game/machinery/drying_rack.dm
code/modules/hydroponics/hydroponics.dm
code/modules/projectiles/projectile/magic.dm
code/modules/reagents/Chemistry-Recipes.dm
code/modules/reagents/reagent_dispenser.dm
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.
Made the wiki books use the config's wikiurl.
Updated some information in the non-wiki manuals.
You can now specificy a book's window size, the wiki books will be given a value since they are not automatically set the window size.
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.
Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.
If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only where it was intentional (holodeck items could use this for example).
*Span classes the whole update
*Spellbooks no longer vanish after being used, instead used spellbooks now have various bad effects should they be attempted to learned from again (the original reader won't acidentally fall to this, as they will just say "I've already read this"). Leave em out as traps for people or properly dispose of your trash! Or...
*The charge spell can now attempt to recharge one use spellbooks so someone else can learn the spell. This only has a 20% success rate and will destroy the book should it fail (even if the book was actually unused). You can't attempt this on the wizard's spellbook
*The "staff of nothing" (functional) placeholder now uses the generic staff sprites
*Spellbooks can now be placed in bookshelves just like normal books
*The teleport spell won't yank anchored things anymore, but as a consolation it will warp the entire contents of a tile should it be targeted. The code has been tweeked so this shouldn't effect the server too bad even if large numbers of items are warped to unique locations this way
* Edited tools.dm: Fixes "screwwy" typo in screwdriver description
* Edited paper.dm: Updates DJ station instruction sheet in light of the removal of the broadcaster and receiver from the DJ station
* Edited lib_items.dm: Fixes typo in "unwrenched" in a bookshelf deconstruction step
* Edited tgstation.2.1.2.dmm: Adds updated DJ station sheet to DJ station, replaces missing disposal pipe underneath HoP office door.
* Edited utility_closets.dm: Fixed oxygen closet description
* Edited DJ station paper to read better
Fixes issue 1219. Cloning Scanner Popping Out Prematurely
Fixes issue 1182. Using wrapping paper on a bodybag
Fixes issue 1238. Reading while blind (fixes paper, photographs, and books)
Fixes issue 1253. Braindead message when converting non braindead people (rev)
Fixes issue 1188. Head revs converting unconscious people
Added is_blind(A) as a helper proc for blindness. It returns 1 if A is a fully blinded carbon mob.
Updated the loot spawner to use a list instead of a text string.
Updated gun reloading to use text styles.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5619 316c924e-a436-60f5-8080-3fe189b3f50e
There are many files, folders and chunks of code in areas that make absolutely no sense and thanks to the defines being located mostly in a completely separate file, it can be damn-near impossible to find something. Before moving defines to where the rest of their code is located; I'm going to move some code around into places that actually make sense to begin with. I'll mainly be focusing on the code/game/objects folder.
This commit mainly lays the groundwork for the work I'll be doing by adding in the effects, structures, decals and turfs folders. I'll slowly be moving appropriate files and code into these folders. I may end up moving machinery into 'objects' and mech stuff into its own module folder but I'll ask for some opinions on coderbus before doing that.
I've also gotten rid of the /magic/ folder. I've moved the library stuff into its own folder in modules/library, the cult stuff is now in gamemode/cult with the rest of it and musician.dm is now in objects/structures since the piano is a structure apparently.
I think I've got the hang of how DM and SVN handles folders and files but it's quite possible that something will break simply by svn committing it oddly. Please let me know if that's the case!
Remember to clean compile.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4513 316c924e-a436-60f5-8080-3fe189b3f50e