Commit Graph

693 Commits

Author SHA1 Message Date
Leshana
18b1828631 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-20170630 2017-06-30 22:31:43 -04:00
Neerti
7bd7e83250 Removes staff exemption for AFK kicking.
As requested by a few staff members, this serves to keep the staffwho list more representative of who is actually available to help.
The current inactivity timer is rather generous so hopefully this won't impede admins who are actually there.
2017-06-24 15:15:11 -04:00
Leshana
bce8cfad6d Converts the lighting process controller to a StonedMC subsystem
* No changes to lighting logic at all, it still processes sources, corners, and overlays in that order.
* Also optimized the initial creation of lighting overlays, and made it include CHECK_TICKs
* Removed the statistics gathering, at least for now.
2017-06-16 23:08:41 -04:00
Anewbe
3997a1510a Merge pull request #3526 from VOREStation/stonedmc-update
StonedMC Update & Hookup
2017-06-16 16:22:26 -05:00
Leshana
aa8723b724 Switch tether shuttles over to self-initializing shuttle paradigm
* Deleted shuttle_controller_vr.dm as it is no longer needed.  Using standard shuttle_controller.dm again - It has no map-specific info!
* Converted the former contents of shuttle_controller_vr.dm into proper shuttle datums that self-initialize for each of our shuttles!
* Converted the tether_backup shuttle crashing mechanic to support self-initialization also.
2017-06-14 19:34:01 -04:00
Leshana
780eb637d8 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-20170614
# Conflicts:
#	code/controllers/shuttle_controller.dm
#	code/modules/shuttles/shuttles_multi.dm
2017-06-14 17:54:34 -04:00
Leshana
2cd91c8bfc Fix /datum/scheduled_task was unable to be GC'd and was deleted.
In addition to fixing the problem, it makes sense.  The observer pattern is overkill for an object type we own; doing it directly in Destroy() is more efficient.
2017-06-14 01:07:35 -04:00
Leshana
9c3bbb7505 Converts the mob process controller to a StonedMC subsystem 2017-06-12 22:46:47 -04:00
Arokha Sieyes
31b5d4e4db Merge pull request #1711 from VOREStation/more-qdel-fixes
More qdel fixes
2017-06-12 10:28:48 -04:00
Leshana
98c0564d19 Delete duplicate transcore subsystem file. 2017-06-12 10:09:01 -04:00
Leshana
8d129759ed Fix /datum/scheduled_task was unable to be GC'd and was deleted.
In addition to fixing the problem, it makes sense.  The observer pattern is overkill for an object type we own; doing it directly in Destroy() is more efficient.
2017-06-11 23:48:15 -04:00
Leshana
4f138abfcc Converts Resleeving Transcore to be a subsystem
* Since the transcore has a ticker process, it really should be a subsystem.  Converted it over.  However, because its ticker is so fast, I did not bother implementing MC_TICK_CHECK into it.  Therefore it has the SS_NO_TICK_CHECK flag.
* Because its a subsystem, the global variable is now SStranscore instead of transcore.
* Because subsystems are so easy to debug, I removed the "TC" debugging variable from the machines that used it.
* Organized a few files.  The transcore subsystem is in the subsystems folder.  Defines had to be moved to defines folder so they are included first.
2017-06-11 18:32:40 -04:00
Leshana
7f60e98633 Merge remote-tracking branch 'polaris/stonedmc-update' into stonedmc-update
# Conflicts:
#	code/_helpers/game.dm
#	code/controllers/subsystem.dm
#	code/controllers/subsystems/garbage.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	maps/RandomZLevels/stationCollision.dm
#	maps/RandomZLevels/wildwest.dm
#	maps/~map_system/maps.dm
#	vorestation.dme
2017-06-11 15:35:42 -04:00
Neerti
18012fa1d1 Port's Bay's Shuttle Cleanup
Shuttles now set themselves up upon being instantiated instead of relying on a monolithic proc in the shuttle controller.
Shuttles can now be defined more cleanly on a per-map basis, as well.
Accidentally fixes a broken admin shuttle.
2017-06-11 11:45:31 -04:00
Leshana
cd88f7ca7b Ports garbage collector improvements and bugfixes from tg
* Writes a log of qdel() problems in a condensed format at the end of each round - tgstation/tgstation/pull/26135
* Moves hard dels into their own proc so that it can be profiled more easily, and uses it for the various types.  Includes bugfixes too
  * https://github.com/tgstation/tgstation/pull/26210
  * https://github.com/tgstation/tgstation/pull/26570
* Fix a bug with qdeling non-datums - https://github.com/tgstation/tgstation/pull/27434
* Fix typo - https://github.com/tgstation/tgstation/pull/27730
2017-06-10 22:41:51 -04:00
Leshana
ed8520ec3f Standardize MC subsystem initialization boilerplate
* Based on https://github.com/tgstation/tgstation/pull/25386
* Create macro for defining new subsystem types.
* Create PreInit proc to handle setup that needs to be done before the map loads
* Rename garbage_controller subsystem to garbage so it matches its global SSgarbage variable name.
2017-06-10 22:41:51 -04:00
Leshana
5a02b7e5c7 More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-10 22:41:51 -04:00
Leshana
ae4458e4ae Update radiation system for the new garbage collector. 2017-06-10 22:41:51 -04:00
PsiOmegaDelta
7b47590645 Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-10 22:41:51 -04:00
Leshana
82e6049821 Actually hooks up the StonedMC to run its subsystems in Polaris
* Hooks up informing Master the gameticker actually starts and stops the round subsystems will actually fire! What ho!
* We should convert the gameticker as an MC subsystem someday, and probably completely rewrite it while we are at it becuase it is crazy.  But this should bridge the gap until then.
2017-06-10 19:01:58 -04:00
Leshana
fb92653ac9 Ports "Makes global master vars static"
* https://github.com/tgstation/tgstation/pull/27523
2017-06-10 19:01:58 -04:00
Leshana
6a8abd4f80 Ports tg improvements in StonedMC subsystem
* Ports /tg StonedMC Enhancement - Runlevels - Lets services more precicely define when they want to fire - in the lobby, during game, only after, etc. Includes bugfixes from:
  * https://github.com/tgstation/tgstation/pull/27132
  * https://github.com/tgstation/tgstation/pull/27338
  * https://github.com/tgstation/tgstation/pull/27576
  * https://github.com/tgstation/tgstation/pull/27519
* Ports Standardizes subsystem Shutdown order - https://github.com/tgstation/tgstation/pull/26228
2017-06-10 19:01:58 -04:00
Leshana
82e90a206c Ports "Better repeated MC crash handling"
* From https://github.com/tgstation/tgstation/pull/25813
* If the MC crashes: The problem subsystem will be rebooted on its 2nd strike and disabled on its third.
2017-06-10 19:01:58 -04:00
Leshana
69a50ec225 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-20170609
# Conflicts:
#	code/_macros.dm
#	code/controllers/master_controller.dm
#	vorestation.dme
2017-06-09 22:54:16 -04:00
Yoshax
411e442fdd Increases the radiation protection modifiers 2017-06-10 00:23:52 +01:00
Leshana
60ffe4b00f Ports garbage collector improvements and bugfixes from tg
* Writes a log of qdel() problems in a condensed format at the end of each round - tgstation/tgstation/pull/26135
* Moves hard dels into their own proc so that it can be profiled more easily, and uses it for the various types.  Includes bugfixes too
  * https://github.com/tgstation/tgstation/pull/26210
  * https://github.com/tgstation/tgstation/pull/26570
* Fix a bug with qdeling non-datums - https://github.com/tgstation/tgstation/pull/27434
* Fix typo - https://github.com/tgstation/tgstation/pull/27730
2017-06-08 00:11:59 -04:00
Leshana
d6b68dabdb Standardize MC subsystem initialization boilerplate
* Based on https://github.com/tgstation/tgstation/pull/25386
* Create macro for defining new subsystem types.
* Create PreInit proc to handle setup that needs to be done before the map loads
* Rename garbage_controller subsystem to garbage so it matches its global SSgarbage variable name.
2017-06-07 23:23:46 -04:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
Leshana
d4ebcac3f6 Update radiation system for the new garbage collector. 2017-06-05 22:10:07 -04:00
PsiOmegaDelta
ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Anewbe
b9007d11a8 Merge pull request #3493 from VOREStation/just-stonedmc
Port of StonedMC master controller framework
2017-06-04 16:15:13 -05:00
Leshana
b17fb86721 Tweaks Statpanel and System Initialization 2017-06-01 21:42:08 -04:00
Leshana
197a648795 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2017-06-01
# Conflicts:
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/multiz/movement.dm
#	code/modules/projectiles/ammunition/magazines.dm
2017-06-01 17:27:00 -04:00
Leshana
90dff0ae63 Ports /tg's StonedMC Subsystem from Baystation12
* Partial port of @PsiOmegaDelta's https://github.com/Baystation12/Baystation12/pull/16820
* Only ports the StonedMC changes, not the garbage collector (forthcoming in future)
2017-05-30 21:00:37 -04:00
Leshana
2c8df87899 Tweak to Radiation Optimization
* Optimized garbage collection of radiation sources until we get qdel() hints.
* Made the RADIATION_LOWER_LIMIT configurable (option for people to save some cpu time)
* Added some comments and broke the proccessor into separate procs for profiling purposes
* Added a changelog.
2017-05-30 13:55:53 -04:00
Leshana
34c73dab69 Optimization/Rewrite of Radiation Controller
* The performance of the radiation controller as-is was not fast enough for inclusion in production servers, but it has some nice featuers, so rewrote it to be more performant.
* Instead of storing the radiation strength for every turf, we only store the sources of radiation, and calculate the strength only for mobs who might be in range.
   * Old method was ray-tracing to every turf in range whether anything was there to be irradiated or not.  Could be hundreds of turfs.  New method only lazily calcualtes strength at a turf if we actually need to know it.   Often times this is zero turfs if nobody is standing in engineering.
  * Removed the automatic processing of objects with "rad_power" set.  Objects are responsible for calling the repository to create/update their radiation sources.   Saves some extra overhead that in practice was redundant with other process controllers.
  * Also tweaked to be more respectful of qdel'd objects and added some comments.
2017-05-25 18:43:56 -04:00
Ben Reeve
6185bbd212 Unified radiation system 2017-05-22 16:24:34 +01:00
Leshana
a8c9bb786a Workaround BYOND bug by switching floor decals from turf overlays to a magic overlay object.
* New atom to hold a turf's decal overlays instead of the turf itself.
* Change floor_decal initialization to use it instead, and change other decal/overlay interaction procs to use it instead.
* Add floor decal initialization to master controller to do them in one fel swoop instead of nickel and diming.
* Stop area init from updating open space turfs; let the open space controller do it.
2017-05-18 19:31:15 -04:00
Arokha Sieyes
35bcf1602a Tether Shuttle Crashing
Woooooo
2017-05-17 01:12:03 -04:00
Leshana
5ae26332fa Merge branch 'master' into aro-tether-wip
# Conflicts:
#	code/ZAS/_docs.dm
#	code/game/area/areas.dm
#	code/game/objects/explosion.dm
#	code/modules/holodeck/HolodeckControl.dm
#	code/modules/mob/living/say.dm
2017-05-16 00:26:32 -04:00
Arokha Sieyes
2f918f1041 Make ZAS setup and init delays work
They didn't work due to bay differences in UNIT_TESTING activation defines
2017-05-15 01:34:45 -04:00
Arokha Sieyes
a02cc6f22d Master controller sleeps
Allows the server to start faster and people to join faster.
2017-05-10 21:31:16 -04:00
Leshana
4fbfa7ee37 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2017-05-08
# Conflicts:
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/mob_defines.dm
#	html/changelogs/.all_changelog.yml
#	vorestation.dme
2017-05-08 21:07:45 -04:00
Anewbe
42fe5d9ed6 Merge pull request #3412 from VOREStation/pool-closed
Removes the datum pool, as it is not performant.
2017-05-08 17:21:24 -05:00
Leshana
e846fc98f7 Map fixes and shuttle controllers for the antag shuttles.
-Arrival airlocks have no controller/default bolts
-Backup atmospherics on the space station has no filter discharge if you arent venting to space - it filters O2 and N2, and no outlet for anything else
-Medical maintenance APC is unpowered, next to Chemistry and Psychiatry
-Resleeving lab window tint doesnt work
-The stairs just outside the warden's office, on the lower level, have no guard rail/window
2017-05-07 17:36:24 -04:00
Leshana
ad8789dc8c Make the multi-z explosion strength scalar configurable.
* Its much easier to test out and decide what explosion scalar is nice if you can configure it.
* As an added bonus, by setting it to zero this lets you disable multi-z explosions altogether without turning off all of multi-z.
2017-05-04 21:14:42 -04:00
Leshana
347e759b10 Make the multi-z explosion strength scalar configurable.
* Its much easier to test out and decide what explosion scalar is nice if you can configure it.
* As an added bonus, by setting it to zero this lets you disable multi-z explosions altogether without turning off all of multi-z.
2017-05-04 20:27:15 -04:00
Leshana
44ff1a70c6 Removes the datum pool, as it is not performant.
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
2017-05-04 01:58:33 -04:00
Leshana
31c09b85a6 Added the Tether Backup Shuttle 2017-05-01 20:30:43 -04:00
Arokha Sieyes
055c998f82 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync
# Conflicts:
#	code/modules/integrated_electronics/subtypes/reagents.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/organs/organ_external.dm
#	code/modules/ventcrawl/ventcrawl.dm
#	html/changelogs/.all_changelog.yml
2017-04-25 15:04:54 -04:00