[bug] PendingSound теряет исходную громкость отложенного звука #22
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проверено на опубликованном
90379f6при проверке дополнительного ревью. Незакоммиченные изменения из чужой рабочей копии недоступны.В emit() мгновенный звук воспроизводится с
volume, а отложенный хранится в pending как(tick,name,position,pitch)без volume и затем проигрывается с жёстким 1.0.Это подтверждённая потеря данных, но сейчас преимущественно латентная: текущие импульсные airdef sounds обычно отправляются с volume=1.0. Не выдавать за найденную причину текущего FPS или массово сломанный звук.
Регрессионный сценарий для host glue: тот же travel-enabled event с volume=.25 проиграть рядом (delay=0) и в 100 блоках (delay>0). В обоих render::play_sound должен получить .25, со сдвигом времени и far-вариантом по существующим правилам.
Исправление: именованная структура PendingSound с volume и pitch, без их потери при постановке/выборке.
Код:
🤖 Agent: исправлено в https://gitea.maoniao.team/chexit/airdef/commit/67a2a52 (запушено в main).