Commit graph

34 commits

Author SHA1 Message Date
Pieter-Jan Briers
0c97520276
Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
beesterman
34e12f2c82
Lobby Audio from static to CVar (#38375)
* Changed LobbyMusiccollection over to a Cvar and edited ContentAudioSystem.cs to use Cvar Values

* Addedd Ability to modify the lobbyMusiccollection from the command line

* Fixed changing lobby music while in the round

* Deleted uneeded duplicate line

* Removed additional duplicate lobbyplaylist line

* Alphabatized imports and refactored to use Subs.CVar

* Added error checking and default behaviour to CVar sub.

* Refactored to use TryIndex and Allowed for a empty soundcollection when a sound collection is not found. Edited Cvar comment to reflect changes.

* Made _lobbyMusicCollection nullable and addedd handling for null case where used. Also Changed LobbyMusicCollection Cvar over to audio rather than ambience.

* Update Content.Server/Audio/ContentAudioSystem.cs

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-06-25 04:22:28 +02:00
pathetic meowmeow
fabfdd0673
Refactor audio system to send collection IDs over the network (#33610) 2025-02-23 23:14:56 +11:00
metalgearsloth
a89d4c750b
Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-25 22:18:42 +10:00
metalgearsloth
5896e68752
Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge
2024-04-26 18:16:24 +10:00
metalgearsloth
2db374988c
Added Jukebox (#26736)
* Added Jukebox, along with music for jukebox

* Fixed Jukebox meta.json copyright

* Removed songs I couldn't find a license for.

* Renamed files to solve check failures from spaces

* Added missing attributions.yml

* Fixed lack of description in Jukebox

* Jukebox is now constructable.

* Change Jukebox menu to FancyWindow

* Moved Jukebox messages out of jukebox component

* Removed Jukebox OnValueChanged.

* JukeboxComp now uses AutoGenerateComponentState

* Removed state code, since it's auto generated

* Fixed various Jukebox code to match conventions.

* Updated Standard.yml to match changed song list.

* fixes

* Jukebox workin

* Fix

* Polishing

* Finalising

* Revert

* bad

* jukey

* Reviews

* name

* Update submodule to 218.2.0

---------

Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
2024-04-17 19:27:00 +10:00
GreaseMonk
da618d791a
Add Ability to stop sound when MobState is Dead (#26905)
* Add stopsWhenEntityDead to sound components

* Convert component

* Review

* Fix dupe sub

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-14 13:12:38 +10:00
Errant
680cf5fec1
Nuke Music start adjusted for duration (#25946)
The exact time when the Nuke Music starts is now derived from the music's duration
2024-03-12 14:50:34 -04:00
Fildrance
4c87dcd3cb
fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore) (#25530)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)

* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.

* refactor: incapsulated info on current lobby track in simple record

* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic

* refactor: xml-doc for LobbyPlaylistChangedEvent

* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-03-02 15:40:04 -05:00
Leon Friedrich
b6bd82caa6
Use ECS prototype-reload events (#22613)
* Use ECS prototype-reload events

* better constructors

* Maybe this fixes tests?
2023-12-23 01:13:45 +11:00
metalgearsloth
1bdf94da64
Audio fixes (#22324) 2023-12-11 21:26:55 +11:00
metalgearsloth
269c93245d
Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
metalgearsloth
5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth
9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
DrSmugleaf
a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
metalgearsloth
1485666a23
Ambient music fixes (#17685) 2023-06-27 21:28:51 +10:00
metalgearsloth
407d8c3c8b
Probably fix playglobalsound completion (#16297) 2023-05-13 11:54:02 -04:00
DrSmugleaf
333ee3edcc
Fix playglobalsound with a volume parameter being too loud (#13421) 2023-01-10 14:45:08 -07:00
Leon Friedrich
ccac9efc26
Fix two small ambient sound bugs. (#13249) 2023-01-01 11:40:22 +11:00
Leon Friedrich
6917b0fe17
Misc audio and related changes for replays (#12578) 2022-11-22 11:49:48 +11:00
metalgearsloth
0b38589728
Raise power events by ref and not broadcast (#11923)
Also some other minor stuff.
2022-10-14 23:08:15 -05:00
Moony
9de3612b24
Fix some bugs in stations and do a little cleanup. (#10787) 2022-08-23 02:32:02 -05:00
metalgearsloth
5449835bba
Fix audio occlusion (#10538) 2022-08-11 19:53:28 -07:00
Leon Friedrich
c7ad6b709e
Audio System Rejig (#9635) 2022-07-29 12:13:12 +10:00
ike709
0b86e0e953
Event Music & Nuke Countdown Song (#8597)
Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-07-04 16:29:38 +10:00
ike709
5ae56c67e1
Adds the ability to not play admin sounds (#8242)
Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2022-06-02 15:41:19 +02:00
wrexbe
bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
mirrorcult
ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
metalgearsloth
2e5808085d
Set mover velocity via system (#6288) 2022-02-02 17:34:25 +11:00
wrexbe
17db0775c8
Auto comp (#6416) 2022-02-02 14:35:40 +11:00
Kara D
d3751ee706
whoops 2021-09-29 17:34:34 -07:00
metalgearsloth
8365e8d52c
Event for PowerNetBattery CurrentSupply changing (#4570)
I re-used AmbientOnPowered but maybe that was lazy; I was doubtful anything would ever have ApcPowerReceiver and PowerNetBatteryComponent.
2021-09-29 17:09:16 -07:00
Vera Aguilera Puerto
0be5ff829b
Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
metalgearsloth
ff40a7665d
Ambient sound system (#4552)
* Ambient sound system

Client-side system that plays audio from nearby objects that are randomly sampled.

* Decent

* Tweaks

* Tweaks

* Comment this out for now

* reduce VM sound

* Fix rolloff

* Fixes

* Volume tweak
2021-09-07 18:47:23 +10:00