Dink and dying seq
So, just replacing OG Dink with a quick hack job of Ric's character from Windemere and when I used only 5 images for it falling over in a pile of blood, sometimes they wouldn't play. But when I changed them to 14 images they seem to play properly each time, but I will keep testing.
It appears that the death sequence for the player sprite completely bypasses the base_death param, and instead is entirely controlled by die() in the "dinfo" script, which might be useful as it means all 8 directions could be scripted in.
Yeah, I've looked at that script, and have already modified it for Necromancer to die in multiple directions
But after testing for a while with Ric's character man1. it seems that the number of frames used in the sequence holds the key to always having it play. Currently I fudged it falling down to the NE and then drain the skin colour to a total of 14 frames, 6 to hit the ground, 8 to loose blood.
Now I haven't tested this in the original game by reducing the original number for 16 to 5, but I guess I should, to see if my theory holds true.
int &ddir = sp_dir(1, -1); if (&ddir == 2) sp_seq(1, 342); if (&ddir == 4) sp_seq(1, 344); if (&ddir == 6) sp_seq(1, 346); if (&ddir == 8) sp_seq(1, 348);
But after testing for a while with Ric's character man1. it seems that the number of frames used in the sequence holds the key to always having it play. Currently I fudged it falling down to the NE and then drain the skin colour to a total of 14 frames, 6 to hit the ground, 8 to loose blood.
Now I haven't tested this in the original game by reducing the original number for 16 to 5, but I guess I should, to see if my theory holds true.
Dumb question, does setting frame to 1 after the sequence change anything?
Yeah, I think it fixes it.
I tested the 5 image theory in "Hack n Slash" by copying only the first 5 images into a folder following the original naming structure of
graphics\dink\DIE
And on some screens Dink would die and the sequence wouldn't play. In particular the one with Dink fighting lots of pillbugs and a grey bonca south of KerSin.
I couldn't make it happen when fighting just a single slayer. So maybe the number of sprites, or scripts happening at moment the dinfo.c script is called plays a part.
After I added that sp_frame(1, 1); I haven't been able to replicate the error, so far.
I tested the 5 image theory in "Hack n Slash" by copying only the first 5 images into a folder following the original naming structure of
graphics\dink\DIE
And on some screens Dink would die and the sequence wouldn't play. In particular the one with Dink fighting lots of pillbugs and a grey bonca south of KerSin.
I couldn't make it happen when fighting just a single slayer. So maybe the number of sprites, or scripts happening at moment the dinfo.c script is called plays a part.
After I added that sp_frame(1, 1); I haven't been able to replicate the error, so far.
Huuuh, I guess this is a bug in the engine, where changing the sequence keeps the frame index from the old sequence?!...
Edit: Or could this be intentional so you can sync up when switching animations? xD Although that seems unlikely...
Edit: Or could this be intentional so you can sync up when switching animations? xD Although that seems unlikely...
I suspect this is an oversight in the stock dinfo script. All of the weapon scripts make a point to change frame to 1 upon setting the attack sequence. It's likely we've been randomly missing out on the first few frames of the death animation all these years without realising.