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: #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
ivan tkachenko
34e72da748
Add config synchronization via CSync
...
It only synchronizes from host to clients.
2025-07-12 17:32:29 +03:00
ivan tkachenko
aead762721
Add configuration weights for tracks
...
Range is [0..100] but it's relative to total/sum. The algorithm guards
against "all set to zero" scenario.
This is not usable without synchronization. This commit provides none.
2025-07-12 02:09:47 +03:00
ivan tkachenko
8dc897feba
Move track choosing out of the Jester patch class
2025-07-11 23:58:48 +03:00
Nikita Vilunov
787f15944a
Merge pull request 'Clean up and fix double-starting music' ( #2 ) from ratijas/muzika-gromche:work/r/double-trigger into master
...
Reviewed-on: #2
2025-07-11 20:06:24 +00:00
ivan tkachenko
aba0f6bab5
Move NuGet.Config to the root
...
Otherwise it doesn't work in IntelliJ Rider
2025-07-11 22:39:14 +03:00
ivan tkachenko
9176e35344
Fix double triggering start of music
...
State transitions are only handled by changes to previousState on
per-frame basis, so only compare before/after of previousState.
2025-07-11 22:39:14 +03:00
ivan tkachenko
2284636576
Rename State member to make it less confusing
...
JesterAI::previousState updates on the next frame after
currentBehaviourStateIndex changes, while current- & previous-
BehaviourStateIndex only change when SwitchToBehaviourState() is
requested.
2025-07-11 22:39:14 +03:00
ivan tkachenko
38d4ddd7c6
Quick Fix: Object initialization can be simplified (IDE0017)
2025-07-11 22:39:14 +03:00
ivan tkachenko
e82f2c5924
Consistently use equality operator for state indexes
2025-07-11 22:39:14 +03:00
ivan tkachenko
45bde29240
Auto format code
2025-07-11 22:39:14 +03:00
ivan tkachenko
066304a9fe
Implement zip bundle as an after-build msbuild target, keep versions in sync
2025-07-11 22:39:11 +03:00
ivan tkachenko
af45b958fd
Make build config more portable with user-specified git-ignored paths
2025-07-10 19:06:14 +03:00
ivan tkachenko
4144069b41
New gitignore from template
...
$ dotnet new gitignore
2025-07-10 18:55:34 +03:00
ivan tkachenko
2bd17424cd
Speed up cranking timer in debug builds
...
The code does not appear to be in `dotnet build --configuration Release`
2025-07-10 18:55:34 +03:00
ivan tkachenko
cb1002d339
Add support for WAV and OGG/VORBIS audio files
2025-07-10 18:55:34 +03:00
ivan tkachenko
68b4e120db
Organize code into functions, add some comments, add a null check
2025-07-10 18:55:34 +03:00
ivan tkachenko
a65dd56bc3
Convert mixed indentation to spaces
2025-07-10 18:55:34 +03:00
ivan tkachenko
ef1e2fd70b
Add README, icon and manifest from Thunderstore bundle
2025-07-10 18:55:34 +03:00
ivan tkachenko
9100bbe8a3
add more things to gitignore
2025-07-10 18:55:34 +03:00
Nikita Vilunov
8518e0f62d
fix track gap and durochka sound level
2024-10-29 15:18:44 +01:00
Nikita Vilunov
4558a4d942
new tracks
2024-10-29 00:47:48 +01:00
Nikita Vilunov
5d55467b9c
new track and assets for the previous one
2024-10-28 22:57:52 +01:00
Nikita Vilunov
f274513bb5
improve track selection entropy
2024-10-28 22:40:39 +01:00