beyond-all-reason / beyond-all-reason/RecoilEngine
Add a way to make `Spring.PlaySoundFile` obey LoS
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
Add some way to make it so that position-based `Spring.PlaySoundFile` only plays if the local player has LoS over given position (or is a spectator with `specFullView`).
This can be a new boolean param to the existing function (defaulting to ignoring LoS for backward compatibility), though the param list there is pretty confusing already and the param would be meaningless without a specified position. So likely it would be better to have a new function where the position parameters are mandatory too.
Contributor guide
Research direction
Start by locating the implementation and API declaration for Spring.PlaySoundFile, then inspect how positional sounds and line-of-sight or spectator visibility are handled. Define the new or extended entry point so positional playback checks the requested visibility condition while preserving existing behavior; done means the API is implemented and its behavior is covered by the relevant engine tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api, game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100