Only happens when model frame interpolation is on.
I was testing out a model from Quake2 - the satellite dish. It has 39 frames of animation - it rises, wiggles a bit and then rotates. To show all those frames in one smooth movement requires 39 sprite frames to be allocated to different model frames. As you know, Doom sprites can't have 39 frames, being limited to the alphabet plus [ ] \ (or is it / ?). So, I used 2 sprite sets (POSS and SPOSS). The animation works almost as intended, but when the decorate actor switches from one set of sprites to the next, there is a brief, but very noticeable jump back to the first frame in the model.
The attached file has 3 actors defined. Test43 does the up/down animation smoothly. Test43a does the side to side. Test43b has the whole animation using 2 sets of sprites and you can see the jerk effect when the sprite name changes.
http://www.zen64060.zen.co.uk/sattest.zip
Models jump when sprite name changes
Moderator: Graf Zahl
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
- Nash
- Developer
- Posts: 1226
- Joined: Sun Sep 25, 2005 1:49
- Location: Kuala Lumpur, Malaysia
- Contact:
Probably has something to do with this.
It's a pity Graf is pretty much not interested in improving the 3-d features of GZDoom in favour of DoomScript...
(That's not a bad thing though, I'd rather have DoomScript first)
I guess I'll have to pester someone to fix the model stuff (like Torr
).
BTW: do you notice how the model wobbles as it moves? That's the reason why I hate the MD2 format (you might recall me just ranting a lot about how I don't like MD2 and prefer MD3s... well that's why). Just some random information for you.
It's a pity Graf is pretty much not interested in improving the 3-d features of GZDoom in favour of DoomScript...
(That's not a bad thing though, I'd rather have DoomScript first)
I guess I'll have to pester someone to fix the model stuff (like Torr

BTW: do you notice how the model wobbles as it moves? That's the reason why I hate the MD2 format (you might recall me just ranting a lot about how I don't like MD2 and prefer MD3s... well that's why). Just some random information for you.

- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
- Torr Samaho
- Developer
- Posts: 160
- Joined: Fri Apr 13, 2007 8:26
- Location: Germany
- Contact:
Fixed. Just replace
with
in gl_models.cpp.
Code: Select all
if ( inter != 0.0 )
smfNext = gl_FindModelFrame(RUNTIME_TYPE(spr->actor), spr->actor->sprite, nextState->Frame);
Code: Select all
if ( inter != 0.0 )
smfNext = gl_FindModelFrame(RUNTIME_TYPE(spr->actor), nextState->sprite.index, nextState->Frame);
That's a different problem, but also should be easy fixable.Nash wrote:Probably has something to do with this.