Commit Graph

60 Commits

Author SHA1 Message Date
LemonInTheDark
b478367fd9 Saves on average 10 seconds from roundstart times (#71730)
## About The Pull Request

When runlevels change mid work, subsystems running behind have their
next_fire updated.
It's offset by a sum of random numbers, so things don't bunch up,
especially KEEPTIME SSs

The trouble is we have so many subsystems that get added at roundstart
that this offset gets LARGE, like 10 seconds on average.

So instead of randomly offsetting, why not "fill" a set of time slots?
Only 1 keeptime subsystem a tick, and 4 others. Then we just fill up
those buckets and get to it (also don't offset things that are already
processing)

I've talked to mso a bit about this. What he reccomended was sampling a
random time withing a 2 second window.
I'm not totally sure why, kinda waiting for him to tell me off, if he
does I'll fix things up.

This pattern takes the max possible delay from 16 (76 * 5 / 20)) seconds
to 0.7 (56 / 4 / 20)
It obviously scales with subsystem count, but I like this scaling a bit
better

I've applied the same pattern to the offsetting we do at the start of
Loop(), for ticker subsystems. I am less confident in this, it does take
last fire times from at worst 3.75 seconds (15 * 5 / 20) to a static
0.75 (15 / 20)
As stated I'm less sure of this, hoping to get mso'd so I can clean
things up

## Why It's Good For The Game

Makes roundstart snappier

## Changelog
🆑
code: Roundstart "starting" should be much snappier now
/🆑

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2024-10-21 00:30:59 -04:00
SkyratBot
80e7c0db0a [MIRROR] Sends a toast notification when initializations complete. [MDB IGNORE] (#18623)
* Sends a toast notification when initializations complete. (#72465)

Initialization is significantly slowed down by the presence of clients,
though when testing features, you need to join the server. I've been
told that some devs (particularly Mothblocks) are alt-tabbed out of
Dream Daemon while doing dev work, meaning that they are liable to miss
initializations completing, causing an effective slowdown in the dev
cycle. Mothblocks said it would be nice if there was a way to produce a
desktop notification when initialization completes.

I originally intended to add a function to rust_g that would produce a
Windows toast notification with a button allowing you to immediately
launch Dream Seeker. However, I couldn't find a reliable way to detect
if the OS version was Windows 7 or earlier, so running this function on
such an OS would cause a rust panic (which I was told is only a problem
because MSO probably still uses Windows 7).

Fortunately, PowerShell scripts can access the necessary .NET APIs to
produce toast notifications on Windows 10, while also failing more
gracefully than crashing the host process. So I recreated the
functionality I intended in PowerShell.

Toast notifications will only be sent on Windows, if the
TOAST_NOTIFICATION_ON_INIT config flag is enabled, AND there are no
clients on the server.

**Note for downstreams:** If you want the toast notification to have
your downstream's icon, copy it, scale the copy down to 16x16, and
either rename it "tg_16.png" or change that path in the call to
`world.shelleo` to the name of the new file.

Video Demo:

https://user-images.githubusercontent.com/12720844/210492033-963923d7-a1de-4326-9c9f-4f0c0b71d1a5.mp4

This isn't really a line item in the Dev Cycles Initiative, but even if
Mothblocks was exaggerating the benefits, it would still be a
significant speedup in the dev cycles.

No player-facing changes.

* Sends a toast notification when initializations complete.

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2024-10-15 00:25:48 -04:00
Katherine Kiefer
7feb673279 sorted the wrong thing 2024-03-12 15:38:49 +11:00
Katherine Kiefer
461f90a0ea hmmmph 2024-03-12 15:29:22 +11:00
Katherine Kiefer
4a062ab083 shitty debug print 2024-03-12 15:20:19 +11:00
Katherine Kiefer
7fa6bb022e shit 2024-03-12 15:07:19 +11:00
SandPoot
a65f323734 Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into proc-define-shit 2024-03-08 19:10:22 -03:00
SandPoot
c7a2565255 stop this nonsense 2024-01-05 00:28:56 -03:00
SandPoot
40f1d7401d procs 2023-11-29 22:40:13 -03:00
LetterN
e203abb25c generic controller update 2021-09-08 09:10:28 +08:00
Letter N
cf692e8426 subsystem upgrades 2020-12-14 15:28:59 +08:00
Artur
c79e9fbc0b https://github.com/tgstation/tgstation/pull/53263 2020-09-02 18:48:09 +03:00
Letter N
2dd3d71b19 config&copypaste chang. 2020-08-20 16:36:24 +08:00
kevinz000
51081fcb1a ok (#12083) 2020-05-08 03:36:08 +02:00
kevinz000
c1436c4c7b Maptick lag minimization port (#12066)
* extools.dll

* backend

* queued pipenet builds

* oh yeah we don't have that

* wow

* Update air.dm
2020-05-03 03:34:33 +02:00
kevinz000
031f485e4d updates 2020-01-02 23:24:47 -08:00
Poojawa
bc0d14c193 Continual updates until merged 2018-09-17 04:55:03 -05:00
Jordan Brown
1a25c685a1 Update DMAPI to version 3.2.1.0 2018-05-08 21:33:58 -05:00
Jordan Brown
7980b080e3 Restarting the controller no longer resets the config 2018-03-28 13:40:31 -05:00
Poojawa
6c7da493d9 Reee mirror bot. Hard syncs some missed PR stuff + maps (#5951)
* maps and tgui

* missed defines and helpsers

* controller things

* datums

* game folder stuff

* module things

* icons

* stragglers

* map sync and updating

wew lad
2018-03-14 16:49:40 -05:00
Poojawa
a24788842b dogborg tweaks, so fuggin DUMB (#5202)
* apparantly you need shuttles, who knew

* some tweaks

Sprites need adjustments
Janidogs need adjustments in UI

* Hm, maybe a fix. Revert attempt to rename sprites

* [MIRROR] Better Chat Squashing (#5193)

* Merge pull request #35058 from uraniummeltdown/chatsquash

Better Chat Squashing

* Better Chat Squashing

* [MIRROR] Sexy Solar Sprites (#5191)

* replaced solar panel sprites with better ones

* Sexy Solar Sprites

* Automatic changelog generation for PR #5191 [ci skip]

* [MIRROR] New Coffin Sprite (#5190)

* coffins have a new sprite (#34995)

* New Coffin Sprite

* Automatic changelog generation for PR #5190 [ci skip]

* [MIRROR] Makes fire colorful and anime (#5187)

* Makes fire colorful and anime (#34977)

* - Makes fire colorful and anime

* - Updates light color on fires
- Makes fire update color less often (1/7th as often)

* - Changes the transition from blue to purple to be much more gradual, it starts at 40000 and peaks at 120000 Kelvin now
- Changes fusion fire (>4 million Kelvin) to have a slight colorshift to it (It's just the druggy overlay).

* - Moves fire above gas (and everything else)
- Changes fire alpha for low temperature fires to compensate for items no longer rendering on top of fire

* - Makes the new fire layer a define and makes sure it isn't above "Hyperspace Ripples" whatever that is

* - Removes comment

* - FIRE_LAYER is already defined for burning humans.

* Makes fire colorful and anime

* Automatic changelog generation for PR #5187 [ci skip]

* [MIRROR] Expand Cyborg (#5183)

* Expand Cyborg (#34958)

* Expand Cyborg

* i ded pls nerf

* Oh sheet

* Expand Cyborg

* Automatic changelog generation for PR #5183 [ci skip]

* [MIRROR] Cosmic Bedsheet (#5170)

* adds cosmic space bedsheet

* Cosmic Bedsheet

* [MIRROR] The punisher no longer punishes ticker subsystems with delayed fires (#5174)

* Merge pull request #34964 from MrStonedOne/patch-463

The punisher no longer punishes ticker subsystems with delayed fires

* The punisher no longer punishes ticker subsystems with delayed fires

* Fuck this I'm done with it
2018-01-30 15:17:46 -06:00
Poojawa
03086dfa91 Tg 1 28 sync testing/confirmation (#5178)
* maps, tgui, tools

* defines and helpers

* onclick and controllers

* datums

fucking caught that hulk reversal too.

* game and shuttle modular

* module/admin

* oh god they fucking moved antag shit again

* haaaaate. Haaaaaaaaaate.

* enables moff wings

* more modules things

* tgstation.dme

before I forget something important

* some mob stuff

* s'more mob/living stuff

* some carbon stuff

* ayy lmaos and kitchen meat

* Human stuff

* species things

moff wings have a 'none' version too

* the rest of the module stuff.

* some strings

* misc

* mob icons

* some other icons.

* It compiles FUCK BORERS

FUCK BORERS
2018-01-29 04:42:29 -06:00
LetterJay
63bea9d1fc Revert "[MIRROR] Forces test run to run with a set random seed" 2018-01-25 00:17:33 -06:00
Jordan Brown
a8bd042742 Forces test run to run with a set random seed (#34912) 2018-01-24 19:28:18 -06:00
Jordan Brown
8dead1da6a Config dir again except this time it works 2018-01-21 12:32:29 -06:00
Jordan Brown
08b2224007 Adds random seed feedback (#33708)
* Master now sets rand_seed

* Blackbox now records Master.random_seed
2017-12-25 19:05:36 -06:00
Emmett Gaines
f875d4e176 Defines math, take 2 2017-12-17 10:02:43 -06:00
Jordan Brown
146dfe33ea Adds a config option to change world.sleep_offline 2017-11-09 00:45:48 -06:00
Jordan Brown
7d9162d608 Logs subsystem shutdowns (#31951) 2017-10-21 13:27:21 -05:00
Jordan Brown
7b30be0058 Merge pull request #31494 from MrStonedOne/tick_contention_tug_of_war
In which the stoner one gets stoned and tries to address tick contention... again
2017-10-10 13:28:38 -05:00
Jordan Brown
91aa560f0d High pop reduced MC processing mode. 2017-10-07 08:42:43 -05:00
Jordan Brown
e5ef3d2405 Configuration datum refactor 2017-09-28 21:37:53 -05:00
CitadelStationBot
4bc6e9d522 [MIRROR] Cleaned up some decimal values. (#2797)
* Cleaned up some decimal values.

* Update gas_mixture.dm

* Update color.dm

* Update medsci.dm
2017-09-18 01:45:39 -05:00
kevinz000
0925cb108b wew 2017-08-29 22:09:42 -07:00
kevinz000
35b7b93b24 ok this is going to be a pain in the ass ain't it (#2458)
lets hope nothing blows up this time (Flags PR but it works!)
2017-08-22 05:01:38 -07:00
kevinz000
6a309b5996 Revert "[MIRROR] Replace all secondary flags with bitflags stored in the flags_2 var" (#2457)
ok you know what yeah i think i'll properly mirror https://github.com/Citadel-Station-13/Citadel-Station-13/pull/2411
2017-08-22 04:04:21 -07:00
LetterJay
b01a24c95b my eyes hurt 2017-08-22 01:42:20 -05:00
CitadelStationBot
4843cbe67d Fixes subsystem MC crash tracking (#2239) 2017-08-03 06:00:03 -07:00
CitadelStationBot
ff6bbbedf5 Changes some 1s and 0s to TRUE and FALSE (#1967) 2017-07-10 16:13:16 -07:00
CitadelStationBot
20089a34e8 Fixes full controller recovery not restoring appropriate runlevel 2017-05-24 08:25:49 -05:00
CitadelStationBot
4afae3d03b Makes global master vars static 2017-05-22 22:12:58 -05:00
LetterJay
8791ad036f Merge pull request #1045 from Citadel-Station-13/upstream-merge-27268
[MIRROR] World.dm Refactor
2017-05-22 12:39:52 -05:00
CitadelStationBot
4acbd4af2c Fixes Master/Recover not restoring previous runlevel 2017-05-21 22:27:58 -05:00
CitadelStationBot
94b7e560ab World.dm Refactor 2017-05-18 16:37:46 -05:00
CitadelStationBot
293a895d92 [MIRROR] Fixes a bug where shuttles would not function (#1016)
* Fixes a bug where shuttles would not function

* Update master.dm

* Delete master.dm.rej
2017-05-18 13:58:52 -05:00
CitadelStationBot
4463646952 [MIRROR] MC Runlevels (#988)
* MC Runlevels

* Update ticker.dm

* Delete ticker.dm.rej
2017-05-18 12:42:43 -05:00
CitadelStationBot
fde364e82f The punisher! (#967) 2017-05-14 20:06:13 -07:00
CitadelStationBot
0265ab60ff Cleans up an MC statement (#907) 2017-05-11 18:24:48 -07:00
CitadelStationBot
08a01aa11b Refactors roundstart checks slightly 2017-04-26 17:06:29 -05:00
CitadelStationBot
13d7f88c7a Standardizes subsystem Shutdown order 2017-04-17 09:46:05 -05:00