beyond-all-reason / beyond-all-reason/RecoilEngine

Add a way to make `Spring.PlaySoundFile` obey LoS

Open
#1,345 0 comments 0 reactions 0 assignees View on GitHub
area: Lua API enhancement good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.