arcattack and Claude Opus 4.8
41c8ac120d
Audio: fix runaway loops -- read SF2 sampleModes, not loop-point presence (task #50 )
...
Weapon fire (and ~all one-shots) played FOREVER: sf2extract flagged a sample as
looping whenever the SF2 shdr had loop points -- but almost every SoundFont sample
has loop points; whether to actually loop is the instrument's sampleModes generator
(igen oper 54): 0/2 = one-shot, 1 = loop, 3 = loop-until-release. The old heuristic
looped 239/241 samples, so SetupPatch set AL_LOOPING=1 on fire/explosion/step sounds.
Read sampleModes at the same igen zone as sampleID and loop only on 1/3. Now
166 one-shot / 75 loop: LaserAFire/BigExplosion/BasicClick -> ForceStatic (one-shot),
EnginePower/EngineMotor/coolant -> LoopAtWill (correctly sustained). Regenerated
audiopresets.cpp; the WAV PCM is unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-15 21:56:38 -05:00
..
2026-07-15 21:41:28 -05:00
2026-07-15 21:41:28 -05:00
2026-07-15 21:56:38 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-15 18:02:31 -05:00
2026-07-06 10:59:45 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-14 07:38:47 -05:00
2026-07-12 17:24:15 -05:00
2026-07-12 17:24:15 -05:00
2026-07-07 21:39:47 -05:00
2026-07-13 13:27:49 -05:00
2026-07-13 13:27:49 -05:00
2026-07-07 21:39:47 -05:00
2026-07-05 21:03:40 -05:00
2026-07-14 22:13:56 -05:00
2026-07-11 19:39:35 -05:00
2026-07-11 06:46:54 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-14 08:09:16 -05:00
2026-07-05 21:03:40 -05:00
2026-07-15 10:08:45 -05:00
2026-07-13 13:27:49 -05:00
2026-07-13 19:43:50 -05:00
2026-07-12 17:24:15 -05:00
2026-07-05 21:03:40 -05:00
2026-07-15 18:55:33 -05:00
2026-07-15 10:08:45 -05:00
2026-07-11 19:39:35 -05:00
2026-07-08 08:32:17 -05:00
2026-07-08 08:32:17 -05:00
2026-07-09 09:14:36 -05:00
2026-07-05 21:03:40 -05:00
2026-07-15 11:31:47 -05:00
2026-07-13 08:14:12 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-11 09:56:55 -05:00
2026-07-11 07:36:25 -05:00
2026-07-15 21:38:15 -05:00
2026-07-15 21:38:15 -05:00
2026-07-15 21:38:15 -05:00
2026-07-15 21:38:15 -05:00
2026-07-05 21:03:40 -05:00
2026-07-08 22:38:50 -05:00
2026-07-15 19:40:08 -05:00
2026-07-13 14:46:22 -05:00
2026-07-15 19:40:08 -05:00
2026-07-15 19:40:08 -05:00
2026-07-15 19:40:08 -05:00
2026-07-13 20:01:44 -05:00
2026-07-13 13:27:49 -05:00
2026-07-14 19:47:03 -05:00
2026-07-13 13:27:49 -05:00
2026-07-14 17:05:16 -05:00
2026-07-12 17:24:15 -05:00
2026-07-11 19:39:35 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-15 11:31:47 -05:00
2026-07-12 00:57:45 -05:00
2026-07-12 17:24:15 -05:00
2026-07-05 21:03:40 -05:00
2026-07-13 20:01:44 -05:00
2026-07-13 15:38:04 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-12 00:57:45 -05:00
2026-07-12 00:57:45 -05:00
2026-07-05 21:03:40 -05:00
2026-07-15 21:44:42 -05:00
2026-07-15 21:44:42 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-14 06:34:37 -05:00
2026-07-13 17:23:59 -05:00
2026-07-07 16:27:57 -05:00
2026-07-07 16:27:57 -05:00
2026-07-05 21:03:40 -05:00
2026-07-05 21:03:40 -05:00
2026-07-07 20:03:07 -05:00
2026-07-05 23:01:31 -05:00
2026-07-13 14:46:22 -05:00
2026-07-12 00:57:45 -05:00
2026-07-12 00:57:45 -05:00
2026-07-13 13:27:49 -05:00
2026-07-13 13:27:49 -05:00