This is a bit difficult to explain
A model frame that is set to render (> -1) will not do so if the frame it interpolates towards is set to not render (-1).
This will not render POSS A:
Code: Select all
FrameIndex POSS A 0 99
FrameIndex POSS B 0 -1
This will render:
Code: Select all
FrameIndex POSS A 0 99
FrameIndex POSS B 0 100
I have become aware of this issue with a monster that haas a walking+shooting animation. the muzzelflash is a submodel and obviously only renders for some frames (when shoooting). The things are, I can't interpolate the walking animation while also making the muzzleflash model frame show in between.
What I would like to see is simple: interpolate as usual, and stop rendering the model when the new frame is reached. This sounds logical to me.
I have looked into the source code but wasn't able to find out what prevents the current frame to not render if the next one should not.
I assume it's somewhere in models.cpp: RenderFrameModels() and/or models_md3.cpp.RenderFrame().