The Dink Network

Dink and dying seq

August 8th, 05:13 AM
custom_simon.gif
SimonK
Peasant He/Him Australia
 
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.
August 8th, 06:09 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
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.
August 8th, 08:58 AM
custom_simon.gif
SimonK
Peasant He/Him Australia
 
Yeah, I've looked at that script, and have already modified it for Necromancer to die in multiple directions

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.
August 8th, 12:03 PM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Dumb question, does setting frame to 1 after the sequence change anything?
August 8th, 08:04 PM
custom_simon.gif
SimonK
Peasant He/Him Australia
 
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.
August 10th, 12:45 AM
goblins.gif
drone1400
Peasant He/Him Romania
C# nerd 
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...
August 10th, 04:12 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
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.