GitHub PushEvent at 2014-03-22 16:14:20
Repository: -tg-station
Actor: Miauw62
Payload: {"shas":[["9eee3e506755f122945c0d3f47c5d29bac415ee9","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","First pass at a qdel() garbage collection system for tgstation\n\nWorks pretty well. If it can't GC something, it'll just del() it and be done.\nSpeed is amazing, holy shit.\n\nNew procs you should be aware of:\nqdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).\natom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.\nnew controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.\nGenerally 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.\n\nISSUES:\nTries 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.\nGibbing 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.\nqdel() equipment doesn't unequip the item.\nPipes 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.\nBots don't GC, probably in the radio controller.\nLots of other shit doesn't GC but it's hard to find them because of the pipe spam.\nI think I'm calling Destroy() twice by accident.","MrPerson",true],["08a06487c0d230e019583ae25bd2595a2513f80f","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Added a cap of 10 force del() per tick. Should maybe make this higher.\n\nAlso accidentally left testing mode on, woopsies.","MrPerson",true],["edc7cfd63a7d7f3fc9b1a92aa4201bcbfa41b548","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Make GC'd objects super invisible to help unreference them more.\nqdel() and clear contents of things when they themselves are qdel()\nForgot to add the gc_cost to the total cost of the MC.","MrPerson",true],["cac49a611edc63df5d1ba9959eee99c2267bd450","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Make items equipped by mobs unequip themselves as part of Destroy()\nChange the GC's loops to for() loops instead of while() loops. Also fixed a really stupid mistake where it would cut random shit out of the destroyed list instead of what was just processed.\nMade it use world.time instead of world.timeofday to get rid of stupid midnight rollover errors.\nAlso there's a split between caps on var clearing and deletion checks\nMoved the invisibility = 101 bit out of the GC and into atom/Destroy()","MrPerson",true],["af8001d619c78f9c28b488de1af31511d115cae6","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","WOOPS TYPO","MrPerson",true],["f0fd0c9949ab21268ea3c5f5e1765617a0ebefae","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Fixed the nuke disk qdel() fucking up\nMade the singulo spawn correctly\nReally minor fix for things that are qdel()'d at 0 time, which should be nothing if everything is going right.","MrPerson",true],["0a3b163a3aa1441ca070f6a9f9e640d931e84960","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Makes the singularity pull small and tiny items out of your hands.\nAlso makes the singularity irradiate you.","Miauw",false],["ce7eec1f2a041792c9580e9237be8f48aded7975","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Makes the singulo's radiation actually do something.","Miauw",false],["d0cb351b671f6d617e36f024ed9240402311a9fc","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Singulo buff improvements","Miauw",false],["f27d35b760d7a19479439f525a516b67f46aa6be","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Made gibbing not look stupid.\nAlso some basic stuff in an attempt to get complex mobs to GC. Still doesn't work atm.","MrPerson",true],["37525c8e401217fae35c0a61da83fdd6b2207f81","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Tweak that useless loop test. It doesn't tell me anything :(","MrPerson",true],["aec5fbf64013280f24c4dbf3420b3d6a036fb628","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Fixed up singulo buff even more","Miauw",false],["aacbe054eda4a17876e33a16a68fecc1de35b209","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Alright it's really done now (aka i guarantee i'll make another commit)","Miauw",false],["5acf57c647e95d866e601ca76201ff1a67c1ff83","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Adds changeling space suits.","Miauw",false],["5da6f3866a56c049984380a3a97b7a2e33bf9e04","09b4c91e132b850d246276845bcf8ad788ef87c2@gmail.com","Adds a maximum genome damage for arm blades.","Miauw",false],["edb2154b483a492fe9d10132172697515e48626e","fc43a7e4b53f931a5cdbad7fafccb29fddefa6e4@hotmail.com","- Changes changeling abilities from verbs to proc_holder objects.\n- Functionality should be unchanged\n- Admins can varedit chemical costs of individual abilities.\n- Allows coders to implement sting upgrades more easily.","Perakp",true],["10f12b517e1e9f77c03481d0cf67926d7d776483","fc43a7e4b53f931a5cdbad7fafccb29fddefa6e4@hotmail.com","Fixed an issue with lesser form and fake death where you would be made a changeling for no reason.","Perakp",true],["917a2dd2a434195e48f396b291d6286970468dca","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Rename equip_to_slot_or_qdel() -> del()\nStill qdel()'s them, just naming the proc back.\nShould hopefully reduce the number of lines different in the pr.","MrPerson",true],["3c5809143783fce247553fab1a2a541cfc62fda9","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel\n\nHopefully nothing went wrong but you never know.\n\nConflicts:\n\tcode/FEA/FEA_fire.dm\n\tcode/controllers/supply_shuttle.dm\n\tcode/game/gamemodes/changeling/changeling_powers.dm\n\tcode/game/machinery/autolathe.dm\n\tcode/game/machinery/drying_rack.dm\n\tcode/modules/hydroponics/hydroponics.dm\n\tcode/modules/projectiles/projectile/magic.dm\n\tcode/modules/reagents/Chemistry-Recipes.dm\n\tcode/modules/reagents/reagent_dispenser.dm","MrPerson",true],["20027aa4428ff37855defa7faedd8fe137d1cefb","20f2c87387f7e53fd215abc3a7b975c5bbcf78f8@gmail.com","Fix a use_power() runtime if the object was in nullspace (was qdel()'d)\nAlso remove some debug shit in atmospherics I left around.","MrPerson",true]],"size":208,"ref":"refs/heads/master","head":"73a933cb9c0c206e13639a483a8c7cd9f47f801a"}