Commit Graph

62 Commits

Author SHA1 Message Date
Cyberboss 31ee152489 Repaths subsystem to controller/subsystem (#24624)
* Repaths subsystem to controller/subsystem

* Fix the shit
2017-03-08 22:05:45 +01:00
Cyberboss 3ad9be1555 Subsystems are now ordered by name in MC tab 2017-03-02 14:45:40 -05:00
Cyberboss 1365ab99d8 Merges map templates and map loader (#24140)
* Reorganize the mapping code

* Finish this up

* Reee line endings

* FUCKING LINE ENDINGS

* LINARU ENDARU

* >PLS SET REPO LINE ENDINGS

* Comments

* Hoisted by my own travis.yml changes
2017-02-19 16:55:02 +13:00
Kyle Spier-Swenson e7bdde3398 Fixes my fuck up generating runtimes 2017-02-11 10:32:50 -08:00
Kyle Spier-Swenson e4d0828ab8 adds a turf per ms counter to air's stat page (#23890)
* adds a turf per ms counter to air's stat page

I'd use the turf cost var but its broken and i don't want to take the time to fix that because it would involve a macro trick to make properly timing shit much easier on subsystems and then applying this to every subsystem.

* Update air.dm
2017-02-11 15:26:37 +13:00
Cyberboss 8e1351a06f Faster, non-blocking world init (#23136)
* Moves turf New calls to Initialize

* Much faster

* Fixed

* Makes add_to_active queue up before SSair is initialized

* Remove active queuing

* And the proc

* Move the check

* Fix some shit

* F U C K T U R F S

* Necessary

* Unnecessary

* SHUT THE FUCK UP

* Panic mode hurts the code

* Such a

* Simple answer

* A well thought out plan

* /turf/open optimization

* Undo the warning suppression now that it's fixed

* Fixes lava typecaching badly

* Added late initialization

* Make the atmos offenders late initialize

* Add extra logging

* GLABALS

* Better solution for trying to activate w/o air

* Further base calling copypasta

* Gates, guards, gorans

* Small doc fix

* Do the faster

* T U R F   V A R   P E R S I S T E N C E

* The solution is always so simple

* The (hopefully) final nail in the coffin
2017-02-10 16:53:08 +13:00
MrStonedOne 09f5f46481 Fixes the mc treating subsystems that slept in fire() improperly
Originally I wanted to just say that such a thing is unsupported, but since byond can just randomly decide to insert a bunch of sleeps into a loop, I can't make that requirement on subsystems, so its now supported.
2017-01-30 03:38:13 -08:00
Cyberboss c270b77c9b Makes SSair initialization more responsive 2017-01-19 15:28:30 -05:00
Cyberboss 738aac44e3 Fixes the null excited_group runtime (#22379)
* Fixes the null excited_group runtime

* Milk those cycles

* >Checking for existing vars before making new ones
2016-12-23 09:39:19 +13:00
Kyle Spier-Swenson 235b79fb5a StonedMC, the bastard love child of GoonPS and CarnMC (#17987)
Basically, they key difference between StonedMC and CarnMC is that when multiple ticks want to run at the same byond tick, we divvy up the tick between the subsystems, rather then allow one subsystem to hog it all.

The key difference between StonedMC and GoonPS is that we allow the subsystems to tell us how to divvy up the tick using flags and priority.

The new SS_ flags allows us to select behaviors that used to be piggybacked as side effects of dynamic wait or default but sometimes unneeded behavior.

Dynamic wait is 100% gone, lower priority and SS_BACKGROUND are better more refined ways of doing this when combined with MC_TICK_CHECK

I have by design never looked at the inners of goonPS, so this is all original code but I know it uses two loops because of comments by goon devs on reddit threads, that design didn't make sense before, but when I can tell a SS how much of a byond tick it is allowed to have, knowing how many need to run this tick is helpful I also know a bit more about how it works from piecing together comments in #vgstation.

Detailed list of changes:

Subsystems now have flags, allowing fine grain control over things like rather or not it processes, inits, rather it's wait is how long between runs (post run timing) or how long between starts, and rather or not late fires should cause the next fire to be earlier.

Mc now has two loops One loop handles queuing shit, one loop handles running shit.

MC now splits up tick allotment rather than first come first serve Subsystems can even request a bigger share using higher priorities. (It will even resume subsystems it paused if other subsystems hadn't used as much as it predicted they might need)

Default fps is now 20 This is related enough to the MC and it's a change that's really long since over due

All code oddities are most likely to be necessities to lower overhead on the mc since it runs every tick
2016-06-16 18:01:16 +12:00
phil235 b2a04afd39 Fixes the air subsystem initialization. 2016-04-27 19:28:13 +02:00
Shadowlight213 b23d676995 Fixes sloth ruin atmos runtime. 2016-04-25 10:54:45 -07:00
MrStonedOne 546148cb33 Makes atmos init much much much much much faster. 2016-04-06 04:25:04 -07:00
Kyle Spier-Swenson 358c5fe0b4 Fixes ssair locking up the server while it initialized 2016-04-05 08:51:34 -07:00
MrStonedOne e514eb0f36 fixes some bugs with excited groups and ssair under duncmos 2016-04-04 14:22:41 -07:00
MrStonedOne 363f848bc8 Tweaks atmos: excited groups and ssair
Excited groups will be much more aggressive about averaging out their turfs when air movement within has slowed down.
Excited groups will be less aggressive about sleeping simi-idle turfs to prevent deadlocking
Sleeping thresholds lowered.
SSair will now tick_check all loops, not just active turf processing.
2016-04-04 14:22:40 -07:00
duncathan 700bd10678 fixes plasma hanging out in space; removes debug messages 2016-04-04 00:32:40 -06:00
duncathan 7751f41d25 fixes compilation warnings; speeds up roundstart init a bit 2016-04-03 22:59:28 -06:00
duncathan a2a554c48a Merge branch 'master' of https://github.com/tgstation/-tg-station into turfs
Conflicts:
	code/game/objects/explosion.dm
	code/game/objects/items/stacks/sheets/mineral.dm
	code/game/objects/structures/girders.dm
	code/game/objects/structures/grille.dm
	code/game/turfs/turf.dm
	code/modules/events/spacevine.dm
	code/modules/events/wormholes.dm
	code/modules/mining/mine_items.dm
	code/modules/mob/living/silicon/robot/robot.dm
2016-04-03 18:22:20 -06:00
duncathan 3525bcfcbb fixes huge roundstart bugs 2016-03-30 16:07:35 -06:00
duncathan e86cf0f280 praise the good lord, for the game finally compiles 2016-03-29 19:04:37 -06:00
duncathan 3f1375ba39 Merge branch 'master' of https://github.com/tgstation/-tg-station into turfs
Conflicts:
	_maps/RandomZLevels/Cabin.dmm
	_maps/RandomZLevels/beach2.dmm
	_maps/RandomZLevels/caves.dmm
	_maps/RandomZLevels/research.dmm
	_maps/RandomZLevels/snowdin.dmm
	_maps/RandomZLevels/undergroundoutpost45.dmm
	_maps/map_files/DreamStation/dreamstation04.dmm
	_maps/map_files/EfficiencyStation/EfficiencyStation.dmm
	_maps/map_files/MetaStation/MetaStation.v41I.dmm
	_maps/map_files/MiniStation/MiniStation.dmm
	_maps/map_files/TgStation/tgstation.2.1.3.dmm
	_maps/map_files/generic/z4.dmm
	_maps/templates/lavaland_surface_automated_trade_outpost.dmm
	_maps/templates/lavaland_surface_biodome_winter.dmm
	_maps/templates/lavaland_surface_prisoner_crash.dmm
	_maps/templates/lavaland_surface_seed_vault.dmm
	code/controllers/subsystem/air.dm
	code/game/asteroid.dm
	code/game/atoms.dm
	code/game/gamemodes/nuclear/nuclearbomb.dm
	code/game/machinery/computer/arcade.dm
	code/game/objects/effects/aliens.dm
	code/game/objects/effects/overlays.dm
	code/game/objects/items/apc_frame.dm
	code/game/objects/structures/false_walls.dm
	code/game/objects/structures/girders.dm
	code/game/turfs/simulated.dm
	code/game/turfs/simulated/floor/fancy_floor.dm
	code/game/turfs/simulated/floor/mineral_floor.dm
	code/game/turfs/simulated/floor/plating.dm
	code/game/turfs/simulated/river.dm
	code/game/turfs/simulated/walls_misc.dm
	code/game/turfs/simulated/walls_reinforced.dm
	code/modules/admin/verbs/buildmode.dm
	code/modules/atmospherics/environmental/LINDA_turf_tile.dm
	code/modules/events/spacevine.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/holodeck/turfs.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/interactive.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/simple_animal/bot/floorbot.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/living/simple_animal/hostile/hostile.dm
	code/modules/mob/mob_movement.dm
	code/modules/power/singularity/narsie.dm
	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
	code/modules/research/server.dm
2016-03-29 14:46:06 -06:00
duncathan b9950c4358 turf/open and turf/closed 2016-03-29 13:38:56 -06:00
Kyle Spier-Swenson 94dbb51347 Removing from active needs to happen before excited group garbage collection 2016-03-20 03:40:49 -07:00
Kyle Spier-Swenson f81ec7fc44 remove_from_active now handles unsimulated turfs properly 2016-03-20 03:27:37 -07:00
MrStonedOne bc8ff11f3f Lag check on initialization (and on a missed del-all proc) 2016-03-15 03:39:43 -07:00
MrStonedOne 09fb8c2b10 Explosions and singulo use spiral range (and other changes) 2016-03-15 03:39:41 -07:00
MrStonedOne 093668a445 fixes deadlocking 2016-03-15 03:39:40 -07:00
MrStonedOne 2887dc7ce0 Removes lag.
This setup allows subsystems to pause themselves until next mc fire if they are about to go over a tick, and resume on the next mc tick
It also makes it so we prioritize running subsystems we skipped because there wasn't enough time in the current tick to run them based on their avg tick usage. (as well as subsystems paused mid way thru)

Adds a macro for adding this to non-mc procs. just drop it in the loop. There is a define version as well for if checks if you want to know if you just slept to avoid lag.

This is all inside #if DM_VERSION defines, so once i test that 509 still works to compile/test this should be good to merge
2016-03-15 03:39:39 -07:00
duncathan 5bf31463da removes simulated turfs; adds space gas mixture for space 2016-03-10 17:27:01 -06:00
Kyle Spier-Swenson 514446d6ee Scale down dynamic wait on atmos now that the lag bug is fixed 2016-02-17 16:31:17 -08:00
MrStonedOne a2ae265064 Brings the rest of atmos into the new turf list system (and some more speed ups for process_cell()) 2016-02-14 00:07:43 -08:00
Bjorn Neergaard 159ca02294 Find and replace strikes again 2016-02-06 04:05:03 -06:00
AnturK 1cbb8137d9 Moves initialize from /atom/movable to /atom
Bit cleaner powernet/pipes initialization in templates
2016-01-30 14:34:34 +01:00
duncathan 8392974ad0 fixes associative list; adds gas_overlay to "datum gases" 2015-12-29 22:50:09 -06:00
duncathan 12eeef552b small fixes 2015-12-27 20:13:44 -06:00
duncathan bf6a7b6741 updates gas_mixture.dm
the list is now used everywhere
updates logic of certain procs to reduce copypaste
no compile errors remain in this file
2015-12-27 17:58:50 -06:00
Kyle Spier-Swenson 27ec045c86 atmos dynamic wait tweaks 2015-12-20 11:35:20 -08:00
Bjorn Neergaard 531e4b947f Subsystem display tweaks 2015-12-05 10:13:59 -06:00
Aranclanos 6b8ab6641a Replaces the Cut() usage in the processing lists from the different controllers for a Remove() 2015-08-18 06:52:57 -03:00
MrStonedOne be886418b4 Minor fixes to air
It was initializing turfs after atmos machinery but some of those machines expect turfs to be initialized before they initialize.

Also fixes it clearing all active turfs and not just the one in the specified zlevel in turf initialization.
2015-07-27 16:10:11 -07:00
MrStonedOne dde57d8267 Fixes objs that block air breaking atmos when spawned in a non-blocking state
This included any door that started open (firedoors being the main example)
Fixes #10828
2015-07-25 23:16:23 -07:00
MrStonedOne 4e971a7e57 Moves build_network to air's initialize, Removes initialize() from atmos machinery 2015-07-25 23:08:02 -07:00
MrStonedOne d38cfcb4ec Removes MC's after init proc
It was only used for air, we can just move air to init last with priority = -1 (this is what this is for)
2015-07-25 23:04:49 -07:00
Owen Jacobson 3e133b610b Make rooms exposed to space more space-y by setting up atmos consistently.
Space-exposed turfs are now at a steady state at roundstart, and fully in vacuum. Bring internals and a hardsuit.
2015-07-23 23:36:50 -04:00
bear1ake c37813e301 Merge https://github.com/tgstation/-tg-station into at_list
Conflicts:
	config/admins.txt
2015-07-20 23:24:56 +09:00
Carl Ivanov 104f300952 remove file, take 2
remove file path from warning message
2015-07-19 22:36:30 +09:00
Carl Ivanov ec3c91c54b remove file
Aranclanos' request
2015-07-19 22:29:01 +09:00
Carl Ivanov 67d8f3c6a6 Don't spam file with coordinates
and save them to global list
2015-07-18 20:17:48 +09:00
Carl Ivanov 152562a33e AT list to textfile 2015-07-18 00:12:26 +09:00