Commit Graph

59 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
Kyle Spier-Swenson
2c1db7eba4 Fixes some midnight rollover errors in the mc (#24486)
* Update subsystem.dm

* Update master.dm

* that should stay time of day
2017-02-28 09:58:12 +01:00
Cyberboss
ccf3e74074 Cleans up new lobby timing (#24250)
* Cleans up new lobby timing

* Changes
2017-02-22 14:41:12 +01: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
Mervill
60e6816f43 Fixes total initialization time not being displayed 2017-02-17 14:19:44 -08:00
Cyberboss
0eef753fd4 Shows the total initialization time 2017-02-15 11:19:20 -05:00
oranges
c98461ceec Merge pull request #24057 from MrStonedOne/mcstatchange
Better tick drift tracking, Player visable ByondTime[tm] dilation tracker
2017-02-15 01:41:21 +13:00
Leo
9c6803ae19 Ports Paradise error handler, with in game runtime viewer! (#24036)
* Ports paradise error handler, with in game runtime viewer!

* Changes to the old runtime error and removes inerror reference

* Oops

* Adds a wrapper for world.log so it displays both in the runtime diary and in DD window
2017-02-14 11:39:31 +11:00
MrStonedOne
758d846eb7 Better tick drift tracking, Player visable ByondTime[tm] dilation tracker 2017-02-13 03:16:08 -08:00
Cyberboss
0725d3e9c3 Fix SS_NO_FIRE subsytems firing once on aquiring 2017-02-10 15:34:06 -05: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
Joan Lung
2dd7ff2a15 Merge pull request #23140 from Cyberboss/patch-6
Removes world start lag
2017-01-24 10:26:17 -05:00
Cyberboss
ab9f1f0448 It's 2017, time to fuck (some) spawns and cleanbots (#22801)
* Spawn -> addtimer

* Remove this unused proc

* Oh boy, there he goes touching MC again

* Remove spawn in flick_overlay

* Remove spawn in pollCandidates

* flash_color: waitfor = 0

* Don't mess with my grepping, comments

* clear_fullscreen: waitfor = 0

* Why the hell was telekinisis not using the define?

* check_for_cleanbot_bug: waitfor = 1

* Failsafe loop launcher

* assets: waitfor = 0

* Ticker nuke cleanup: addtimer

* ticker post setup: addtimer

* ticker cinematic cleanup: addtimer

* Revert "Why the hell was telekinisis not using the define?"

Handled in #22803

This reverts commit 1da293e687f1811ae69001cb02dfa6f15f451354.

* ticker maprotate: addtimer 0

* beam start: addtimer 0

* browser onclose setup: waitfor = 0

* Revert "check_for_cleanbot_bug: waitfor = 1"

This reverts commit 99e50724b3bc6a3682d042b36f97c906c7f7d96d.

* Finally remove check_for_cleanbot_bug

* browser timeout: addtimer

* deafness symptom: addtimer

* Shedding symptom: addtimer

* Animate doesn't sleep

* MSOs stuff

* > Tfw you committed without saving
2017-01-23 21:06:30 +04:00
Cyberboss
ab91a040a0 Does what the StonedOne says 2017-01-19 15:55:56 -05:00
Kyle Spier-Swenson
072ea7b03a Prevents tick_check'ed sleeps/spawns from shutting out the MC
I don't know why I didn't do this before....
2017-01-04 22:38:35 -08:00
Cyberboss
56db0bfbc9 Better safe than sorry 2016-11-27 19:15:07 -05:00
Cyberboss
0625d2b05d Less hair on fire 2016-11-27 18:58:19 -05:00
Cyberboss
520f31d3fe Squash these please 2016-11-27 18:50:36 -05:00
Cyberboss
aa7d5497c8 Gahh this wasn't well though out 2016-11-27 18:49:55 -05:00
Cyberboss
d025a0335b Moved for master as well 2016-11-27 18:47:41 -05:00
Cyberboss
c9dfce29ad At the behest of oranges and MSO 2016-11-27 18:45:29 -05:00
Cyberboss
43d1e77d06 Better checking 2016-11-27 18:06:36 -05:00
Cyberboss
8cf1b974dc You can now expect MC and SS Destroy to be called on round end
Runs the GC queue on SSgarbage Destroy
2016-11-27 18:06:08 -05:00
swindly
90f410b8ed fixes mispellings and makes grammar gooder 2016-10-15 14:29:14 -04:00
MrStonedOne
bd7f3a3970 Makes stoplag() less laggy
By looking at world.cpu and mc's sleep_delta, we can get a rough prediction of how long we will need to sleep, rather then wake up, see the tick is already overran, sleep, rinse, repeat, cutting down on the amount of sleep()'s used in stoplag (and cutting down the overhead from those sleeps)

This sadly makes stoplag much more aggressive, and things under it much more slow, but the goal is to move most of the things on this to subsystems. Current targets are spacedrift (done), orbits, and throwing.
2016-09-10 17:52:11 -07:00
MrStonedOne
60819e0c48 Adds proper cleanbot bug detection. 2016-06-28 08:33:03 -07: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
coiax
4483d5275c Shuttle manipulator (#17436)
* Starting out on our tgui journey

* God tgui, why do you need to be updated

You're dynamically generated anyway

* Commit of stuff

* Further progress is being made

* Everyone loves buildscripts

* Further modifications to my incredible running script

* Starting to modify the minimap code to be better

* It's going well thusfar, I guess

* What have I done

* RIP minimap

* FUN FUN FUN FUN FUN

* Adds shuttle_manipulator.dmi

MUH HOLOGRAMS

* Is it done? IS IT OVER

* Peer review

* Some bug fixes

* Makes that damn greentext shut up

* Shuttle registration

* Made the Emergency Escape Bar more robust

No climbing on the bar.

* Do not stare into the operation end of the device

* Compile shame

* THE MOST DUMB

* Passive barmaiden

* Emergency shuttle memes

* MORE SAFETY CODE

* Fancy shuttle manipulator icons

* Smoothing it out

* We are going to have a lot of fun with this one

* Independent blobbernauts

* WABBAJACK WABBAJACK

* Message for attempting to authenticate old style

* Angry alert noise is back

* Revert "Independent blobbernauts"

This reverts commit 34d6af7c9c88cfc2864990cb37b586bb90163dd3.

* No parrot sleep plz

* Moves the special shuttle stuff to special.dm

* No Bartender like a Centcom Bartender

* Non-controversial map changes

- Backup shuttle moved closer to Centcom main structure, docking tube
created
- Moved shuttle import landmark to above Centcom main building
- Added shuttle displays to Conference Room
- Squashed the Chapel a bit in Metastation
- Made the docking port on Z2 massive
- Made the docking port on Metastation a lot larger

* Hacks and slashes at Box

A bunch of things are extended and squashed so Box shuttle dock can
support the MetaStation emergency shuttle.

* Some Metastationshit

* Never ending changes

* Wabbajack to TGM

* Modified the bar, I think that's all of them

* Stops Barmaiden wandering around

* More code review

* Whitspace, the bane of us all

* DIE WHITESPACE DIE
2016-05-26 15:15:19 +02:00
coiax
035334589d Ruin budget system (#17366)
* Initial start of lavaland ruin budget system

Weights are dumb, we're gonna use BUDGETS!

To be clear, each round, there will be a budget for ruins.

HERE IS A ROUGH APPROXIMATION OF THE AIMED PROCESS
 - Pick a ruin
 - Can we afford it? If not, start again.
 - Try a bunch of times to place it.
 - Did we place it? Good, then reduce our budget accordingly

Does this look a little like syndicate surplus crates? That's the point.

* Subclassery

* Budget based ruin loader is GO

* Cryostasis (with a s)

* Adjusted costs, added no-duplication

* No dupes on the major ruins

* Deleted files, budget is config

* Corrected description

* Fixed ruins failing to load, duplication

* The zoo goldgrub will no longer burrow away

* Space descriptions and names

* No more weird Xenonest loops, should be all good

* Adjusted costs based on feedback
2016-05-08 23:03:42 +10:00
Jack Edge
2b895dc88e Loot information for the log 2016-05-04 16:53:38 +01:00
Kyle Spier-Swenson
60650b82a5 I should also add the check to here. 2016-04-27 17:13:46 -07:00
Kyle Spier-Swenson
a7a32f3d69 Fixes the mc not running paused dwait systems properly
Basically, when atmos (or another dwait subsystem) pauses as it runs to the end of a tick, its suppose to be ran again next mc tick as long as nothing else needs to run. (non-dwait subsystems run next tick regardless, rather than checking for other subsystems first)

The issue is the mc won't run it again, because it was ran less then 75% of SS.wait ago. (a safety I added to prevent lag compounding from trying to make up missed ticks caused by, back in august)

This fixes that, and fixes another issue where if say atmos takes 3ds to process everything, it's next process would be in 5 ds, not 2 ds like it's suppose to be.
2016-04-27 17:09:42 -07:00
MrStonedOne
5160486e3f Removes 509 support. 2016-04-16 02:16:19 -07:00
Incoming
555179663e Merge branch 'master' of https://github.com/tgstation/-tg-station into space_land
# Conflicts:
#	_maps/asteroidstation.dm
#	_maps/dreamstation.dm
#	_maps/efficiencystation.dm
2016-04-08 03:10:13 -04:00
Kyle Spier-Swenson
327a071a06 Makes the mc shit on dynamic wait subsystems a bit less
So before, a subsystem with dynamic wait enabled, when paused mid run, would have to wait ss.wait until it could resume its run. Where as normally subsystems in these cases get resumed within 3 byond ticks, in most cases, only 1 byond tick.

This makes it so the subsystem resumes next tick, like normal subsystems, but only after every other subsystem has been checked once to see if they need to run, and ran if that's the case. so basically low priority
2016-04-03 18:09:19 -07:00
Kyle Spier-Swenson
ac72a1449b Fixes the mc deadlocking during high cpu 2016-04-01 21:31:55 -07:00
Incoming
bf1dbf6923 Adds 2 new empty z-levels
Add sparse space ruins to the three empty z-levels (7/8/9)
Adds a handful of new maps that were designed by Bawhoppen
2016-03-27 21:14:09 -04:00
MrStonedOne
17672765e6 Makes the code compile under 509 2016-03-15 04:28:42 -07:00
MrStonedOne
bc8ff11f3f Lag check on initialization (and on a missed del-all proc) 2016-03-15 03:39:43 -07:00
MrStonedOne
3bff5f8ea5 Adds defines 2016-03-15 03:39:42 -07:00
MrStonedOne
09fb8c2b10 Explosions and singulo use spiral range (and other changes) 2016-03-15 03:39:41 -07:00
MrStonedOne
257d3eb701 Adds a way to slow down the mc via var edits under new system, for testing. 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
KorPhaeron
7955bad942 Finally kills the active turfs while retaining functioning river generation 2016-03-13 03:02:06 -05:00
KorPhaeron
ce6801fc97 Removes random generated rivers for being a mess 2016-03-12 17:14:14 -06:00
KorPhaeron
05c3b2d07b Test 2016-03-10 22:41:27 -06:00
MrStonedOne
c91c592f04 MC: tweaks, midnight rollover fix, and some 510 work
Fixes the mc getting all fucked up during midnight rollover

Mc now tracks the tick_usage of every subsystem, and will skip running an expensive subsystem if we are too close to overrunning in a tick, waiting until next tick, unless that subsystem is excessively past due (because we kept skipping it).

It now assumes that 20% of a tick should be saved for byond to do it's things, and stops running all subsystems once we get to 80% tick usage.

Dynamic wait will only smooth out wait changes over 8 fires if the new wait is lower than the old wait, before it would smooth out wait increases as well as decreases.

The fps throttle system is now 509 only.

The mc will now run every 1ds, no GCD bullshit, as we want to spread things out more.

Offline subsystems will still show their stat message

DS is now rounded to 2 digits, not 3, to make room for the tick percentage bit, and because the 3rd digit was useless and all MoE
2016-02-07 18:03:19 -08:00
AnturK
8999db80b4 Fixes shuttles loading improperly in templates
Adds template datum and preloader
2016-01-29 20:51:12 +01:00
Bjorn Neergaard
081b6b0a04 Rework minimaps 2016-01-24 20:07:26 -06:00