Commit Graph

30856 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
silicons
77c1554bf7 Merge pull request #16105 from sheepishgoat/arcd-tweak
ARCD now comes with upgrades
2024-10-15 14:51:26 -07:00
Metis
a5e9ae8bc6 Update RCD.dm 2024-10-15 00:41:11 -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
deathride58
94067bdc62 Merge pull request #16100 from SandPoot/fix-ntnet
Fix ntnet
2024-09-19 13:47:14 -04:00
SandPoot
dc08550162 push 2024-08-25 04:38:03 -03:00
SandPoot
e46b75c68e push 2024-08-24 23:55:01 -03:00
SandPoot
ac2a5d8eef fix for custom shuttles 2024-08-24 23:06:50 -03:00
SandPoot
ced32cb97a break at the end 2024-08-24 21:45:46 -03:00
SandPoot
09aa0f704f set those up 2024-08-24 21:41:21 -03:00
SandPoot
c07e94be66 push 2024-08-24 21:28:55 -03:00
deathride58
0bcc7d0af5 Merge pull request #16095 from SandPoot/vv-appearance
Allows vv investigate /appearance
2024-08-16 19:38:21 -04:00
SandPoot
e4ecebe098 typecast it in the arguments ffs 2024-08-12 19:57:35 -03:00
SandPoot
d0a14830ee push 2024-08-12 19:52:51 -03:00
deathride58
5d49d1c13b Merge pull request #16096 from SandPoot/actions
Fixes MAJOR (maybe not) issues with actions
2024-08-12 17:55:19 -04:00
SandPoot
86faaee73e buh 2024-08-11 15:11:17 -03:00
SandPoot
9f53644f38 fixes xenobio stuff 2024-08-11 15:06:18 -03:00
SandPoot
b3e04bd75f aux_base ugliness 2024-08-11 14:31:27 -03:00
SandPoot
0fd4dba15b push 2024-08-11 14:10:35 -03:00
SandPoot
d3a256f1de push 2024-08-11 04:12:13 -03:00
deathride58
c2e72943c0 Merge pull request #16094 from SandPoot/xor
Xor gate for circuitry
2024-07-06 18:17:14 -04:00
SandPoot
9c92081471 push 2024-07-06 01:11:49 -03:00
SandPoot
e5a9280ad3 push 2024-07-04 23:44:35 -03:00
deathride58
587f92e900 Merge pull request #16092 from SandPoot/update_manifest
Crew manifest TGUI
2024-05-25 14:01:48 -04:00
SandPoot
330dcad5ac defines... 2024-05-23 21:55:21 -03:00
SandPoot
ad0f659226 push 2024-05-23 21:53:15 -03:00
SandPoot
9ba4dbb242 Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into update-alerts 2024-05-22 00:31:41 -03:00
SandPoot
5852293116 PROC_REF!!!!!! 2024-05-22 00:25:21 -03:00
SandPoot
98b017831c final 2024-05-22 00:22:05 -03:00
SandPoot
7f953a03af listener update 2024-05-22 00:06:08 -03:00
SandPoot
d73f32f51a NOT static 2024-05-21 18:31:40 -03:00
SandPoot
04c8919e75 announcement side 2024-05-21 18:25:43 -03:00
SandPoot
912ca1e374 poosh 2024-05-21 00:06:26 -03:00
deathride58
2e5e548369 Merge pull request #16089 from SandPoot/borg-buttons
Borg movement intent buttons
2024-05-20 17:40:38 -04:00
deathride58
4e8b178079 Merge pull request #16088 from SandPoot/robot-control-tgui
Robot control tgui
2024-05-20 17:39:44 -04:00
SandPoot
7832dbdba4 push 2024-05-20 18:25:24 -03:00
SandPoot
9641f16807 push 2024-05-19 04:23:23 -03:00
SandPoot
ea815d1c93 push 2024-05-19 03:30:35 -03:00
deathride58
22a0ad4b7c Merge pull request #16087 from SandPoot/jukebox-safety
Adds safeties for jukeboxes on issues that could happen
2024-05-17 20:43:43 -04:00
SandPoot
0a074ecb63 Purpose found
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
2024-05-17 21:38:45 -03:00
SandPoot
8d4b317800 poosh 2024-05-17 15:12:55 -03:00
deathride58
7901edea8f Merge pull request #16085 from SandPoot/fix-hat-runtime
Kitty ears no longer runtime
2024-05-06 13:48:30 -04:00
SandPoot
e706b328ca push 2024-05-05 20:02:50 -03:00
SandPoot
9e88a05e8f push 2024-05-05 18:21:42 -03:00
SandPoot
691ac44a6a holidays is an assoc list 2024-04-29 17:04:39 -03:00
deathride58
0517ece12a fixes floor decals and other missing signal-added overlays by making sure things properly call parent update_icon 2024-04-24 22:30:25 -04:00
SandPoot
a1a80c5d4f pusher 2024-04-24 20:12:27 -03:00
deathride58
b956e0c40e Merge pull request #16080 from SandPoot/industrial-lift
[READY] for Z debug. Industrial lift (not shuttle edition)
2024-04-23 22:53:40 -04:00
deathride58
543daa52ac Adds lift to Snaxi, fixes industrial lifts clipping through floors 2024-04-23 22:41:25 -04:00
SandPoot
ae8d0493db proc_ref 2024-04-23 22:44:56 -03:00