[SP] Fix animation event sounds not playing for NPC variants #1310
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Animation event sounds (like stormtrooper death clanks) weren't playing for NPC variants such as
stormtrooper2,stofficer, etc.Cause
Model-specific animation events are loaded from
models/players/<model>/animevents.cfgand tagged withmodelOnly = hstring("<model>").handle()to restrict them to that model.At runtime,
CG_PlayerAnimEventscompared this againstNPC_type, but NPC variants like "stormtrooper2" use the "stormtrooper" playermodel while having a differentNPC_type. So the event'smodelOnly(from "stormtrooper") didn't matchmyModel.handle()(from "stormtrooper2"), and the sound was skipped.Fix
Use
level.knownAnimFileSets[animFileIndex].filename- this is the model name that was used when loading the animation events, so it will always match.Fixes #1287