Jeck Jims' Saturn Inspired MD2's-V6 Shadow & Espio face-lifts

Just try it yourself. Movie Mode doesn't want me to make GIFs.
SRB2 only make GIFs when in software mode;
In OpenGL mode, it make APNG files

Sent from my Lenovo TB-8504F using ********
 
Jeck would be right. The Super Sonic animation error occurs because his walking frames can last 2 or 4 tics depending on how fast the player is currently moving. However, in the SOC, the state is defined as being 3 tics; it is only set to 4 or 2 using Lua when FSonic is moving slowly. Up until 2.1.20, MD2 interpolation changed dynamically depending on how many tics the state was set to; however, in 2.1.20 it now it seems to have a maximum interpolation duration of whatever is defined in the state. Basically the jittery movement is a result of the game trying to limit FSonic's walking states to 3 tics whenever the Lua is telling them to be 4. This change also breaks some of the vanilla animations, such as the dynamic jumpball state durations. I'm not quite sure what the 2.1.20 change is even meant to fix; interpolation works pretty consistently and any issues it has are generally a result of neglect by WAD creators. I see no reason why the developers need to account for that.

Since we're definitely not getting a 2.1.21 just to fix this issue, there are two ways you can work around this issue if it really bugs you.
1) Turn off MD2 interpolation by setting running the command "gr_md2 2" (or "gr_md2 old"). It gets rid of the smooth transitions between frames, but that's exactly what's causing the jitteriness, so you may find it better.
2) Make a private copy of FSonic.wad and change each of his walking states to have a duration of 4 tics in the SOC lump.
 
Last edited:
@Lach from the 2.1.20 news post:
* Fixed MD2 interpolation not working under certain circumstances (particularly if an object’s state has a finite duration normally, but the object has made it infinite instead).

This was the only change regarding MD2s and it seems to have broken everything you mentioned.
 
That's the irony, yes.

Up until 2.1.20, MD2 interpolation changed dynamically depending on how many tics the state was set to; however, in 2.1.20 it now it seems to have a maximum interpolation duration of whatever is defined in the state.

I don't know for certain because I don't know where to find MD2 related information in the source code, but from observation alone that's what I think the changelog means.

EDIT: Been testing a little; this might actually be a player-only issue. Using modifications like Sapheros' 2.2directionchar.lua shows that the interpolation bug can be fixed by setting an object's state and duration every tic, but when I tried to replicate this for actual players rather than a custom overlay, it did not work. I'm going to step back now because I don't really know why this is, and I've probably already said something completely wrong about the new 2.1.20 system.
 
Last edited:
Just wanted to mention that toaster contacted me about the interpolation issues to say that they are indeed a bug and not what the intended changes were meant to be (apologies for overanalyzing your decisions, developers). Interpolation durations were supposed to be updated so that they last a maximum of quarter of a second (except of course where they are set to infinite), but something must have been overlooked when the changes were implemented into 2.1.20. toaster's looking into it.
 
Just to put out a further notice - there are no plans to backport the quarter-second aspect to 2.1. Rather, making that the case in internal exposed a bug, the fix to which was initially made in public next as it was believed it had consequences going backwards as well. I'm not quite sure how everything goes into each-other right now in public to make things jerky, and *that's* what I'm looking into.

Not that there's going to be a 2.1.21. (famous last words)

EDIT: Fixed it. (I think.)

Code:
hw_md2.c line 1350
- if (cv_grmd2.value == 1)
+ if (cv_grmd2.value == 1 && tics <= durs)

The jerkiness was caused by treating all calculations as if interpoleration should be within the bounds, whilst not actually doing anything to limit it to that. Code is free to a good home since I'm too lazy to commit it myself.

EDIT II: post 69, nice
 
Last edited:
So I've got this installed and everything looks good, though Tails still flies underwater instead of swimming. Is there something I'm missing here or is that some other mod that's not associated with this one?
 
You're probably looking for the Tails CD character wad, which has custom swimming animations that Jeck's MD2 supports.
 
I didn't bother making a swimming animation though, since the TTLS sprites still use the flying animation anyway.
 
Oh, okay. My bad. I don't usually play with Tails CD anymore so that was a wrong assumption on my part.
 
I do notice that in Castle Eggman 3, with the MD2 active, if I'm standing on the edge of wall then Eggman ends up getting undrawn completely, as well as like the first 2 balls in the chain, let alone further out. I even have my draw distance turned all the way up, yet it's still like this.

EDIT: Pictures included.
zleOE.jpg

zlePP.jpg

zleQm.jpg
 
Last edited:
I do notice that in Castle Eggman 3, with the MD2 active, if I'm standing on the edge of wall then Eggman ends up getting undrawn completely, as well as like the first 2 balls in the chain, let alone further out. I even have my draw distance turned all the way up, yet it's still like this.

Turn your precipitation draw distance down, there's a good reason it's so low by default. That said the issue is worse in OpenGL, but I'd be surprised if infinite draw distance for precipitation didn't lag in software anyway.
 
Special Stage Tally Score Screen

Can you add the models you used for the Chaos Emeralds into the score tally process of the special stages once you obtain that said emerald?
 
So, are we ever going to get model packs for certain mods? (such as the Sugoi series, which tend to use custom monitors and recolored springs)
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top