Commit Graph
49 Commits
Author SHA1 Message Date
mirrorcultandGitHub 1d66938afe Expose cvar for changing doppler factor + lower default doppler factor (#6841) 2026-07-24 12:58:05 +10:00
metalgearslothandGitHub 792f795fbe Sourcegen eventsub fixes (#6702) 2026-07-01 14:07:41 +10:00
1322177e62 IEntitySystem Event Subscription Code Generation (#6227)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2026-07-01 13:30:23 +10:00
83c2a1be11 [Dependency] source generator part 2 (#6550)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Apply dependencies generator changes to all code

* Release notes

* Preprocessor got hands

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:33 +02:00
17662baaf7 Fixed looped audio playback position calculation (#6325)
* fix: looped audio position calculation

* refactor: tiny clean up

* move comment

* fix: review changes

* remove `

* rerun tests

* Remove unecessary formatting changes

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2026-01-19 21:05:44 +01:00
NemanjaandGitHub 465a1fb5bd Allow content to override ProcessStream and GetOcclusion in AudioSystem (#6268)
* Add optional override methods for ProcessStream and GetOcclusion

* Mark override events as static

* Change audio actions to non-static
2025-11-30 17:32:26 +01:00
KaraandGitHub 40b70e9447 Fix predicted audio having incorrect position & occlusion until the next tick (#6178) 2025-09-03 00:20:42 +02:00
KaraandGitHub dd8688df3d Fix ProcessStream using the wrong entity (#6177) 2025-09-02 22:29:11 +02:00
B_KirillandGitHub 694de028c2 AudioSystem logging extension (#5959)
* AudioSystem logging extension

* Redo

* Fix

* review
2025-06-11 02:17:49 +02:00
metalgearslothandGitHub 56ced913b7 Audio fixes (#5707) 2025-02-26 22:08:17 +11:00
pathetic meowmeowandGitHub fd5a4d9b8a Refactor audio system to send collection IDs over the network (#5540)
This is important groundwork for future features such as captioning,
as a caption and other data can be associated with the collection
prototype instead of passing extra data everywhere with the sound.
2025-02-22 17:29:47 +01:00
9837c33de7 Add sourcegenned field deltas (#5155)
* Remove full "delta" states

* Update MapGridComponentState

* abstract ComponentState

* Release notes

* Fix tests

* Fix nullable errors

* A

* Sourcegen component deltas

* Audio deltas + methids

* Also eye

* Optimise out the dictionary

* Minor fixes

* Physics deltas

* Also this

* Fix field deltas

* remove old release notes

* Make IComponentDelta implement IComponent

* add sourcegen launch settings

* make silent error loud

* Review

* UI deltas

* Slimmer

* Sourcegen bandaid

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-12-21 15:48:33 +11:00
Nikolai KorolevandGitHub 90a8c66e96 Fix System.ArgumentException: '0' cannot be greater than -0.01 for very fast audios (#5521)
* Fix `System.ArgumentException: '0' cannot be greater than -0.01`

In case of playing empty audio files

* Add semicolon
2024-11-18 18:46:01 +01:00
45b7500d93 feat: added audio system predicted method for only one receiver (#5435)
* feat: added audio system predicted method for only one receiver

* renamed to PlayLocal

* tweak

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-09-12 17:41:40 +10:00
f696edaa0c Clamp audio tickrate (#5296)
* Clamp audio tickrate

I am reasonably sure I saw a recommended 30TPS figure somewhere but I cannot find it again. At any rate I can't notice this but imagine it provides significant benefits for people on 144hz+ monitors.

* rn

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-07-13 20:09:49 +02:00
metalgearslothandGitHub dd56de70b7 Fix grid-based audio (#5087)
* Fix grid-based audio

- Fixes parenting issues.
- Add SetGridAudio as an easy way to set it up and apply the override too.

* No more global

* Rejig it all

* mergew

* review

* Minor optimisation

* Revert "Minor optimisation"

This reverts commit d0cdac7690.
2024-05-29 16:14:37 +10:00
metalgearslothandGitHub 1654ab06f5 Revert "Add audio stream name to entity name" (#5127)
This reverts commit d2a2afe82e.
2024-05-13 10:53:30 +10:00
ShadowCommanderandGitHub d2a2afe82e Add audio stream name to entity name (#5121) 2024-05-10 17:58:38 +02:00
metalgearslothandGitHub ea58924495 Audio stuff (#5048)
Better overlay debug and uses the adjusted distance for cutoff instead.
2024-04-18 14:36:29 +10:00
metalgearslothandGitHub 0a00e7ec29 Network audio states (#5024)
* Network audio states

Lets server pause or stop audio or whatever.

* Better API and state fix

* Bunch of fixes

- TimedDespawn proccing too early.
- PlaybackPosition setting
- SetState setting.

* Clamps and despawn fixes

* fix
2024-04-17 17:55:22 +10:00
metalgearslothandGitHub 4460454563 Implement sound VV (#4966)
* Implement sound VV

No params yet because I'm lazy but paths and collections work.

* Fixes

* rn

* review
2024-03-24 16:59:40 +11:00
metalgearslothandGitHub 7aa951ca48 Add undetachable PVS flag (#4889)
Useful in some rare cases, mainly for grid-related activities.
Specifically:
- Audio entity where we never want it detached.
- FTL previs effects to show impending squish.
2024-03-16 14:58:08 +11:00
metalgearslothandGitHub 69706b0257 Fix global audio (#4964)
* Fix global audio

* Better
2024-03-16 11:59:57 +11:00
e8de9b98d3 Add basic audio limits (#4921)
* Add basic audio limits

* RN

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-03-14 11:54:43 +01:00
Pieter-Jan Briers 3a55118143 Replace CVar OnValueChanged in systems with Subs.CVar 2024-02-11 13:29:27 +01:00
metalgearslothandGitHub 517ae7f1bd Better audio logs for gain (#4789)
* Better audio logs for gain

Need to track down the -10 gain setter.

* Release checks
2023-12-31 13:34:43 +11:00
2e398ded08 Fix audiostreams double-setting their source (#4768)
* Fix audiostreams double-setting their source

* loaded bool

* ok

---------

Co-authored-by: ike709 <ike709@github.com>
2023-12-26 14:51:27 +11:00
8d7d6a26ba Fix playing audio streams (#4761)
* Fix playing audio streams

* mostly address review

---------

Co-authored-by: ike709 <ike709@github.com>
2023-12-25 18:36:24 -08:00
metalgearslothandGitHub ce8982e371 Make audiostream methods public (#4752) 2023-12-22 21:14:08 +01:00
metalgearslothandGitHub bfe8e687da Fix audio params variation (#4699) 2023-12-12 20:16:43 +11:00
metalgearslothandGitHub 43138669ec Network base not adjusted audio params (#4679) 2023-12-09 17:12:09 +11:00
metalgearslothandGitHub 9eb9c91da6 Fix predicted audio not using adjust params (#4676) 2023-12-09 14:59:22 +11:00
metalgearslothandGitHub 28d2b47a2c Log errors on spawning audio to deleting ents (#4629) 2023-12-09 14:30:18 +11:00
metalgearslothandGitHub 2f36a0a5fc Change midi volume to gain (#4639) 2023-12-09 14:03:01 +11:00
metalgearslothandGitHub ced2a5c6cd Make PVS overrides less bad and fix audio (#4656) 2023-12-02 19:36:55 +11:00
metalgearslothandGitHub 7ba02b5ca6 Store audio on its own map (#4651) 2023-12-01 18:48:33 +11:00
metalgearslothandGitHub c324562513 Fix audio z-offset not applying correctly (#4641) 2023-11-30 10:10:33 +11:00
metalgearslothandGitHub 5991bfa106 Fix audio position floating point imprecision (#4634) 2023-11-29 16:39:23 +11:00
metalgearslothandGitHub 4160b120e0 Set listener velocity for audio (#4635) 2023-11-29 16:31:22 +11:00
metalgearslothandGitHub fb08451849 Replace Parallel.For with ParallelManager (#4588) 2023-11-29 10:57:52 +11:00
metalgearslothandGitHub ebea0d7572 Add grid audio flag (#4632) 2023-11-29 10:19:17 +11:00
metalgearslothandGitHub a1d02d7c55 Add gain setter for audio params + API cleanup (#4627) 2023-11-28 22:54:19 +11:00
metalgearslothandGitHub d33a8465b0 Fix global audio (#4625) 2023-11-28 20:44:40 +11:00
metalgearslothandGitHub 6572fdb404 Midi tweaks (#4618) 2023-11-28 20:39:59 +11:00
UriendeandGitHub 6273b1b80d Only change the offset if has already started (#4619) 2023-11-28 20:29:19 +11:00
2733435218 Audio rework unrevert + audio packaging (#4555)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:26 +11:00
metalgearslothandGitHub 170d192791 Revert audio rework (#4554) 2023-11-07 09:34:09 +11:00
metalgearslothandGitHub 8dc2345ceb Fix audio position on first tick (#4533) 2023-10-29 15:30:59 +11:00
metalgearslothandGitHub d75dbc901f Audio rework (#4421) 2023-10-29 14:58:19 +11:00