- Exhumed: pin death arms to the right side of the screen

This commit is contained in:
Christoph Oelckers 2022-05-06 00:03:54 +02:00
parent f6ae967c52
commit 377b0fa8c8
3 changed files with 10 additions and 3 deletions

View file

@ -918,6 +918,7 @@ void DrawWeapons(double smooth)
nPal = RemapPLU(nPal);
double xOffset = 0, yOffset = 0;
bool screenalign = false;
if (cl_weaponsway)
{
@ -949,6 +950,10 @@ void DrawWeapons(double smooth)
if (nWeapon == 3 && var_34 == 1) {
seq_DrawPilotLightSeq(xOffset, yOffset);
}
else if (nWeapon == 8 || nWeapon == 9)
{
screenalign = true;
}
if (nWeapon < 0) {
nShade = PlayerList[nLocalPlayer].pActor->spr.shade;
@ -960,7 +965,7 @@ void DrawWeapons(double smooth)
xOffset -= look_anghalf;
yOffset += looking_arc;
seq_DrawGunSequence(var_28, PlayerList[nLocalPlayer].nSeqSize2, xOffset, yOffset, nShade, nPal);
seq_DrawGunSequence(var_28, PlayerList[nLocalPlayer].nSeqSize2, xOffset, yOffset, nShade, nPal, screenalign);
if (nWeapon != kWeaponM60)
return;

View file

@ -397,7 +397,7 @@ void seq_DrawPilotLightSeq(double xOffset, double yOffset)
*/
int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs, int nShade, int nPal)
int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs, int nShade, int nPal, bool align)
{
int nFrame = SeqBase[nSeqOffset] + dx;
int nFrameBase = FrameBase[nFrame];
@ -419,6 +419,8 @@ int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs,
if (ChunkFlag[nFrameBase] & 2)
stat |= RS_YFLIPHUD;
if (align) stat |= RS_ALIGN_R;
int16_t nTile = ChunkPict[nFrameBase];

View file

@ -137,7 +137,7 @@ int seq_GetSeqPicnum2(int16_t nSeq, int16_t nFrame);
int seq_GetSeqPicnum(int16_t nSeq, int16_t edx, int16_t ebx);
void seq_DrawStatusSequence(int16_t nSequence, uint16_t edx, int16_t ebx);
int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs, int nShade, int nPal);
int seq_DrawGunSequence(int nSeqOffset, int16_t dx, double xOffs, double yOffs, int nShade, int nPal, bool align = false);
int16_t seq_GetFrameFlag(int16_t val, int16_t nFrame);
int seq_PlotSequence(int nSprite, int16_t edx, int16_t nFrame, int16_t ecx);
int seq_PlotArrowSequence(int nSprite, int16_t nSeq, int nVal);