Commit Graph

47821 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
SandPoot
f029095440 Merge pull request #16107 from sheepishgoat/fix-ci
fixes CI
2024-10-19 03:23:32 -03:00
Metis
fdb18045de Update requirements.txt 2024-10-19 01:53:43 -04:00
Metis
989afa2d37 Update ci_suite.yml 2024-10-19 01:47:49 -04:00
Metis
35c80d9911 node 2024-10-19 01:35:11 -04:00
Metis
1637b9da0e Update dependencies.sh 2024-10-19 01:31:37 -04:00
Metis
676c60ce40 Update dependencies.sh 2024-10-19 01:13:52 -04:00
Metis
98b9739e22 Update dependencies.sh 2024-10-19 01:06:17 -04:00
Metis
7359088a1b Update ci_suite.yml 2024-10-19 00:54:36 -04:00
Metis
812c195491 Update ci_suite.yml 2024-10-19 00:45:12 -04:00
Metis
e26351cbf6 hopefully this does it 2024-10-19 00:33:10 -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
SandPoot
0df0d30c82 Merge pull request #16104 from sheepishgoat/toast!
Ports over Toast
2024-10-15 03:19:27 -03:00
Metis
a5e9ae8bc6 Update RCD.dm 2024-10-15 00:41:11 -04:00
Metis
50e2d911a6 Update general.txt 2024-10-15 00:26:38 -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
3646a45b17 Merge pull request #16103 from SandPoot/fix-build-stuff
Fix CI
2024-09-24 22:13:37 -04:00
SandPoot
0fadeeb580 bur 2024-09-19 17:58:22 -03:00
deathride58
94067bdc62 Merge pull request #16100 from SandPoot/fix-ntnet
Fix ntnet
2024-09-19 13:47:14 -04:00
deathride58
f268e5655f Merge pull request #16101 from SandPoot/mech-wars
Mech vs Mech combat system! ... (For toy mechs.)
2024-08-25 23:21:05 -04:00
SandPoot
dc08550162 push 2024-08-25 04:38:03 -03:00
SandPoot
e46b75c68e push 2024-08-24 23:55:01 -03:00
deathride58
98877f529c Merge pull request #16099 from SandPoot/bag
Several fixes and some other stuff
2024-08-24 22:16:24 -04: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
9604090014 Merge pull request #16098 from SandPoot/lambda-is-not-a-bad-map
Fixes some lambda problems
2024-08-16 19:39:25 -04:00
deathride58
0bcc7d0af5 Merge pull request #16095 from SandPoot/vv-appearance
Allows vv investigate /appearance
2024-08-16 19:38:21 -04:00
SandPoot
514f95595e fill up library with missing stuff 2024-08-14 17:36:37 -03:00
SandPoot
00da2625c5 remove smoke sign and close firelocks 2024-08-14 00:25:54 -03:00
SandPoot
3356463872 fix it though 2024-08-14 00:18:17 -03:00
SandPoot
5649fd2151 Merge pull request #16097 from SandPoot/removed-what-i-shouldn't!
Fixes screen_loc not being set on action MouseDrop.
2024-08-12 20:00:58 -03: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
deathride58
8a41216a25 Merge pull request #16093 from SandPoot/bag-of-fixes+feature
A bunch of fixes and a small admin feature
2024-07-04 23:00:17 -04: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
deathride58
226d2ba16f Merge pull request #16091 from SandPoot/update-alerts
Update Alerts
2024-05-25 14:00:06 -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