- Blood: Add interpolation repair for kQAVFLARUP (res_id: 41).

This commit is contained in:
Mitchell Richters 2021-08-12 13:18:53 +10:00
parent 7e3307eb33
commit dfa3a52fa8

View file

@ -739,6 +739,16 @@ static void qavRepairTileData(QAV* pQAV)
}
break;
case kQAVFLARUP:
// FLARUP interpolates fine, but the final frame in bringing the flaregun up is lower than the flaregun while idle.
// Do linear interpolation from 2nd frame through to last frame, ending with coordinates of FLARIDLE.
lastframe = pQAV->nFrames - 1;
for (i = 1; i < pQAV->nFrames; i++)
{
pQAV->frames[i].tiles[0].x = xs_CRoundToInt(pQAV->frames[0].tiles[0].x - (double(pQAV->frames[0].tiles[0].x - 57) / lastframe) * i);
pQAV->frames[i].tiles[0].y = xs_CRoundToInt(pQAV->frames[0].tiles[0].y - (double(pQAV->frames[0].tiles[0].y - -30) / lastframe) * i);
}
break;
default:
return;
}