1
0
Fork 0
Commit Graph

175 Commits

Author SHA1 Message Date
ivan tkachenko a4cee92d00 Load audio clips on demand, implement cache
Reduces cold-boot memory usage by 400 MB for the current playlist of
58 audio files (27.8 MB).
2026-01-11 16:06:45 +02:00
ivan tkachenko f83f2a72ba Mark AudioClip as nullable 2026-01-11 03:17:49 +02:00
ivan tkachenko afb3e34e71 Implement seasonal content framework
to ensure that New Year's songs won't play in summer.
2026-01-11 02:53:53 +02:00
ivan tkachenko ebd7811b12 Avoid null dereference while reading seed in orbit 2026-01-11 02:13:19 +02:00
ivan tkachenko a64d671527 Add Config.ReduceVFXIntensity option 2026-01-11 00:12:21 +02:00
ivan tkachenko 7eaa5fce75 Add new track DiscoKapot 2026-01-10 23:47:39 +02:00
ivan tkachenko da86ca6a2d Add new track Paarden 2026-01-10 22:51:56 +02:00
ivan tkachenko c4c1919df6 Adjust lyrics for PWNED 2026-01-10 21:10:08 +02:00
ivan tkachenko 869d982b1e Remaster recently added track IkWilJe, rework visual effects 2026-01-10 21:07:15 +02:00
ivan tkachenko 398de3dc04 Bump version 2026-01-10 19:41:07 +02:00
ivan tkachenko 4f432968ef Release v1337.9001.3 2025-12-30 23:40:33 +02:00
ivan tkachenko 56cea50a65 add new track IkWilJe 2025-12-30 23:39:01 +02:00
ivan tkachenko c1d91839e4 add new track HighLow 2025-12-30 22:25:50 +02:00
ivan tkachenko 76189c6ad2 Update BepInEx.PluginInfoProps to version 2.x
2.x implements better namespacing.
2025-12-30 22:25:49 +02:00
ivan tkachenko b6f576d50d Include debug symbols, but strip sensitive source paths 2025-12-20 20:35:15 +02:00
ivan tkachenko a4ca1c86ec Save Harmony own instance in private static
That's how other mods do it. Might be useful to reload patches.
2025-12-19 23:40:46 +02:00
ivan tkachenko 38c9472cb1 Port logging to BepInEx ManualLogSource
- pros: free namespace by default
- cons: Debug level has to be enabled manually in BepInEx.cfg,
  specifically in the section named [Logging.Console]
2025-12-19 23:39:28 +02:00
ivan tkachenko 8a24448cb6 Consistent ordering of Easing functions in C# 2025-12-06 23:26:08 +02:00
ivan tkachenko a74bbfaee2 Add JSON exporter to debug builds 2025-11-23 15:56:58 +02:00
ivan tkachenko ad0a20cc7e Fix consistency of capitalization in csproj 2025-11-11 15:45:42 +02:00
ivan tkachenko 3563fa2b36 Bump version 2025-11-10 18:08:16 +02:00
ivan tkachenko 5a8f0201a3 Tweak color visual effects and lyrics for MoyaZhittya and other tracks 2025-11-01 23:37:34 +02:00
ivan tkachenko 825355dd54 Raise the default audio volume, add a configuration slider 2025-11-01 23:37:34 +02:00
ivan tkachenko b0d96ff67e Bump version 2025-11-01 18:20:41 +02:00
ivan tkachenko 049a14e440 Use requiresRestart: false directly, remove Default() options factory
Now, without an additional CanModifyCallback setup, Default is just a
pointless overhead.
2025-10-15 15:55:29 +03:00
ivan tkachenko 1ec8275831 Drop restrictions on when/whether host/clients can modify config
Lethal Config does not refresh that state reliably, it has only caused
bugs and annoyances so far. If someone wants to change the track mid-day,
there is a small chance to desync though.
2025-10-15 15:49:53 +03:00
ivan tkachenko 9efe6adaf3 Add a new track ReelGoon 2025-10-14 19:00:11 +03:00
ivan tkachenko a5b117e26d Add a new track Whistle 2025-10-14 17:48:37 +03:00
ivan tkachenko 01332ab77f Add a new track BbIXODaHET 2025-10-14 17:48:37 +03:00
ivan tkachenko 7aa3570b33 Fix internal representation of track AttentionPls
Members of track group were never intended to be Selectable.
2025-10-14 17:48:36 +03:00
ivan tkachenko e7866fda55 Fix division erroneously rounding to integers
This fixes LoopOffset which is a non-integer factor or Beats.
2025-10-14 17:48:36 +03:00
ivan tkachenko cd9e0a7a10 Compensate for loudness level -14 LUFS of audio files 2025-10-14 17:48:36 +03:00
ivan tkachenko 8223425b19 Remaster all tracks to target consistent loudness level of -14 LUFS
Add multiple intros for BeefLiver.
2025-10-14 16:53:11 +03:00
ivan tkachenko 72a8016ab5 Clean up whitespace 2025-10-08 02:30:46 +03:00
ivan tkachenko 9619a75427 Bump version 2025-10-08 02:30:32 +03:00
ivan tkachenko aea755361b Added new track AttentionPls, implement HUD effects as a time series / timeline 2025-09-26 18:07:11 +03:00
ivan tkachenko e67c72951e Override DeathScreen / GameOver text, add support for per-track strings
Custom message is shown only if the player dies to a Jester.
2025-09-22 03:01:41 +03:00
ivan tkachenko 0fadf50bf4 Bump version 2025-09-22 03:00:16 +03:00
ivan tkachenko 99babe8bdf Substitute placeholder nulls with per-light initial color for transitions
Fade out and first color transitions used to assume white as a default
color, which is not always the case e.g. in Mineshaft tunnel tiles. Use
nullable from/to/color fields, and substitute them with per-light
initial color data in a new virtual method that calculates colors.
2025-08-25 01:29:39 +03:00
ivan tkachenko bbd9b0204f Rename PoweredLightsAnimators.cs to PoweredLights.cs
For simplicity, but also because it already handles more than animators.
2025-08-24 22:34:33 +03:00
ivan tkachenko 70eabe75dd Bump version 2025-08-24 22:29:47 +03:00
ivan tkachenko 4cc9713fa7 Fix resetting to wrong initial colors, e.g. in Mineshaft tunnel tiles
This does not fix fading out and transitioning to the very first palette
color though, but fixing that would require color events to
be "personalized" per-light, which is currently not supported.
2025-08-23 01:49:12 +03:00
ivan tkachenko 8710df7525 Change config value for Override Spawn Rates to true by default 2025-08-22 16:09:01 +03:00
ivan tkachenko 9d23fd5b95 Downgrade LobbyCompatibility to optional dependency
Since it does not prevent unmodded clients from joining, there is no
reason for literally any mod to require it.
2025-08-22 16:05:42 +03:00
ivan tkachenko 4516b853cd Remove remaining CSync code and references
There were issues with clients not being able to join, potentially
caused by linked (even though actually unused) CSync library.
2025-08-22 15:16:24 +03:00
ivan tkachenko b3767cbbf0 Add "polyfill" for IsExternalInit C# feature
Imperium does this as well, and the whole internet would tell you to do
this too, so it should be fine.
2025-08-22 15:16:24 +03:00
ivan tkachenko 327e606deb Drop required properties syntax
Sometimes, seemingly after random unrelated changes, it might stop
compiling with internal compiler error messages about missing features
and attributes. .NET Standard 2.1 is not supposed to support any
features beyond C# 8.0, while `required` attribute was introduced only
in C# 11 or 12, it's hard to tell.
2025-08-22 15:16:24 +03:00
ivan tkachenko 70e45d5ba2 Remove unused class 2025-08-22 15:16:24 +03:00
ivan tkachenko d4d3e15de3 Clean separation between track data and config overrides
In debug builds Config keeps a reference to the last set original track
instance from which it can load original values.
2025-08-22 15:16:23 +03:00
ivan tkachenko 525c0e108f Refactor CurrentTrack to be less dependent on a global static 2025-08-22 15:16:23 +03:00