ivan tkachenko
581d9701bd
Remove redundant call to private method FlickerPoweredLights
...
FlickerPoweredLights is a private coroutine.
FlickerLights is the public method that internally starts and stores the
FlickerPoweredLights coroutine.
2025-07-21 19:07:36 +03:00
ivan tkachenko
49ac86e6f9
Add compatibility section to the README
...
readme
2025-07-21 19:07:35 +03:00
ivan tkachenko
0f8ab1a75b
Add Changelog
2025-07-21 19:07:35 +03:00
ivan tkachenko
dda00ce228
Bump version
2025-07-21 19:07:35 +03:00
ivan tkachenko
39a8255532
Fix LethalConfig dependency string
...
Apparently, this is different from BepInEx plugin GUID.
2025-07-21 02:06:14 +03:00
ivan tkachenko
b7eb4ce60b
Update README
2025-07-21 01:56:49 +03:00
ivan tkachenko
d6a2bf21b1
Bump version
2025-07-21 01:13:40 +03:00
ivan tkachenko
730f125d62
Patch Jester destructor to reset the light show
...
It is needed to despawn Jester via Imperium's Object Explorer.
2025-07-21 01:06:45 +03:00
ivan tkachenko
8e065d3e51
Add config option to skip tracks marked as Explicit Content/Lyrics
...
Unfortunately it is configurable by host only, and there is no sane way
to make work from clients.
2025-07-21 00:55:40 +03:00
ivan tkachenko
2a33457661
Harmony: Use nameof() instead of hardcoded strings
2025-07-21 00:32:43 +03:00
ivan tkachenko
0fbf0b04f4
Add V70PoweredLights_Fix to the package dependencies
...
Not strictly required, but makes this mod shine brighter.
2025-07-21 00:32:43 +03:00
ivan tkachenko
0c5d4f7158
Add DiscoBall to Main on all interiors, BirthdayRoom and factory (belt room)
2025-07-21 00:32:43 +03:00
ivan tkachenko
9e066372c5
Add support for lyrics randomization
2025-07-21 00:32:42 +03:00
ivan tkachenko
ca977625db
Sort imports the way VisualStudio likes it
...
Apparently, Sublime Text's Sort Lines command ordered them in a weird
way, inconsistent with VS, VS Code and human logic.
2025-07-20 23:04:41 +03:00
ivan tkachenko
7d1cac6e2e
Add lyrics, flickering and fade out transitions to many tracks
2025-07-20 23:04:40 +03:00
ivan tkachenko
2229fa3545
Add debug-only config for lyrics time series
2025-07-20 23:04:40 +03:00
ivan tkachenko
118eecbb59
Add support for fading out, and debug-only config for flickering lights
2025-07-20 23:04:40 +03:00
ivan tkachenko
b8824dbbfb
Config: Most synced options have something in common
2025-07-20 23:04:40 +03:00
ivan tkachenko
3e751c0d8d
Config: reduce repetition
...
It may look complicated, but it reduced references to each individual
entry from almost ten to just 4.
2025-07-20 23:04:39 +03:00
ivan tkachenko
601ecf8887
Reworked state management system, automatic wrapping of timestamps and spans
...
Add lyrics for MoyaZhittya
2025-07-20 23:04:39 +03:00
ivan tkachenko
d13c617895
Apply audio offsets early to simplify math
2025-07-18 02:40:55 +03:00
ivan tkachenko
e1f19b3919
Add track Kach with custom palette and timings
2025-07-18 02:40:55 +03:00
ivan tkachenko
ba0162b3e1
Add track PWNED with custom palette and timings
2025-07-18 02:40:54 +03:00
ivan tkachenko
ed8804b7a7
Add track Chereshnya with custom palette and timings
2025-07-18 02:40:53 +03:00
ivan tkachenko
9be9eaaf80
Extend loop of the track VseVZale
...
Now includes second phase OOOoooo OOooo
2025-07-18 02:40:53 +03:00
ivan tkachenko
0683a18491
Port track VseVZale to OGG format
...
No gap now.
2025-07-18 02:40:52 +03:00
ivan tkachenko
6204888453
Port track DeployDestroy to OGG format
...
No gap now.
2025-07-18 02:40:52 +03:00
ivan tkachenko
c15637b347
Port track Durochka to OGG format, add custom transitions
...
No gap now.
2025-07-18 02:40:51 +03:00
ivan tkachenko
42c1f29a16
Port track Gorgorod to OGG format
...
No gap now.
2025-07-18 02:40:50 +03:00
ivan tkachenko
8a193fa408
Port track MoyaZhittya to OGG format
...
No gap now.
2025-07-18 02:40:50 +03:00
ivan tkachenko
4ee20adea7
Port track MuzikaGromche to OGG format
...
Twice as longer, loops better, no gap.
2025-07-18 02:40:49 +03:00
ivan tkachenko
2df7d28d43
New operators for Palette
...
With these it would be easier to create more complicated timelines
without repeating yourself over and over again.
2025-07-18 02:40:49 +03:00
ivan tkachenko
43d1565dbe
MSBuild: Add platform-agnostic task to convert WAV to OGG
2025-07-18 02:40:48 +03:00
ivan tkachenko
f5dab20d67
Add track Yalgaar with custom palette and timings
2025-07-18 02:40:48 +03:00
ivan tkachenko
38cfb5f5e7
Add track Peretasovka with custom palette and timings
2025-07-18 02:40:47 +03:00
ivan tkachenko
b86c50a848
Add track Song2 with custom palette and timings
2025-07-18 02:40:47 +03:00
ivan tkachenko
694bc61dae
Add tracks GodMode and RiseAndShine with custom palette and timings
2025-07-18 02:40:46 +03:00
ivan tkachenko
909efa720f
Add track ZmeiGorynich with custom palette and timings
2025-07-18 02:36:43 +03:00
ivan tkachenko
a8761bf679
Add support for interpolated color transitions for lights, with debug-only synced overrides
2025-07-17 22:36:52 +03:00
ivan tkachenko
ad77530b6d
Add support for per-track palettes, and debug-only synced palette override
...
Palettes are contributed by @REALJUSTNOTHING
2025-07-17 22:35:19 +03:00
ivan tkachenko
34d8da1562
Add configurable global audio offset, useful for Bluetooth headsets
2025-07-17 22:35:19 +03:00
ivan tkachenko
b73c7ee3cb
Sync playback to the actual beat count rather than relying on BPM
2025-07-17 22:34:38 +03:00
ivan tkachenko
0d4f180a37
Add debug-only ability to change weights of tracks while on a moon
...
And drop obsoleted debug code. With the new on-the-fly track weights
configuration, hardcoding one in build is not necessary anymore.
2025-07-16 03:06:43 +03:00
ivan tkachenko
829c44e347
Add debug-only synced config option to skip wind-up phase
2025-07-16 03:06:42 +03:00
ivan tkachenko
b15e93ac34
Factor out CSync hack into a separate method
...
We gonna register more synced entries in debug-only builds, but marking
nullable fields with the [SyncedEntryField] attribute is not an option.
2025-07-15 22:47:02 +03:00
ivan tkachenko
f158e7728c
Fix language section toggle for non-host
...
There is no point in checking for synchronized value before flipping
local value.
2025-07-15 21:51:38 +03:00
ivan tkachenko
2b42899779
Reorder some statements to make them visually more grouped together
...
Postfix patch went from 5 if-blocks down to only 3 \o/
There is no need to stop the creatureVoice and start it delayed in two
separate condition blocks. Also, the code should only rely on state
transitions, and not on AudioSource.isPlaying property.
2025-07-14 14:44:17 +03:00
Nikita Vilunov
2617bcaf1b
Merge pull request 'Add configurable weights per track, with synchronization' ( #3 ) from ratijas/muzika-gromche:work/r/dev into master
...
Reviewed-on: nikita/muzika-gromche#3
2025-07-12 22:01:41 +00:00
ivan tkachenko
3b055e3d91
Split config into sections per track language, add quick toggle per section
2025-07-12 19:33:12 +03:00
ivan tkachenko
13fd51c366
Add LethalConfig with suitable custom options
...
The custom callback attempts to prevent modifications mid-round. Use
IsHost to check for permissions, as IsClient is always true for
everyone even in local single-player setting.
There is a bug in LethalConfig which makes it possible to modify entries
bypassing the callback once per round, but it is pretty hard to abuse:
https://github.com/AinaVT/LethalConfig/issues/60
2025-07-12 17:32:31 +03:00