- Duke: Move displayfreezer() lambda to new weapon offsets.

This commit is contained in:
Mitchell Richters 2022-10-14 12:28:41 +11:00 committed by Christoph Oelckers
parent 99d7b763e4
commit 4d3f5fe3a0

View file

@ -841,22 +841,29 @@ void displayweapon_d(int snum, double interpfrac)
auto displayfreezer = [&] auto displayfreezer = [&]
{ {
pin = (isWW2GI() || (gs.displayflags & DUKE3D_NO_WIDESCREEN_PINNING)) ? 0 : RS_ALIGN_R; pin = (isWW2GI() || (gs.displayflags & DUKE3D_NO_WIDESCREEN_PINNING)) ? 0 : RS_ALIGN_R;
auto pic = FREEZE;
offsets.X += weapon_xoffset;
offsets.Y -= gun_pos;
if (*kb) if (*kb)
{ {
static const uint8_t cat_frames[] = { 0,0,1,1,2,2 }; static constexpr uint8_t cat_frames[] = { 0,0,1,1,2,2 };
if (p->GetActor()->spr.pal != 1) if (p->GetActor()->spr.pal != 1)
{ {
weapon_xoffset += rand() & 3; offsets.X += rand() & 3;
looking_arc += rand() & 3; offsets.Y += rand() & 3;
} }
gun_pos -= 16;
hud_drawpal(weapon_xoffset + 210 - look_anghalf, looking_arc + 261 - gun_pos, pic + 2, -32, o|pin, pal); offsets.Y += 16;
hud_drawpal(weapon_xoffset + 210 - look_anghalf, looking_arc + 235 - gun_pos, pic + 3 + cat_frames[*kb % 6], -32, o | pin, pal);
hud_drawpal(210 + offsets.X, 261 + offsets.Y, FREEZE + 2, -32, o | pin, pal, angle);
hud_drawpal(210 + offsets.X, 235 + offsets.Y, FREEZE + 3 + cat_frames[*kb % 6], -32, o | pin, pal, angle);
}
else
{
hud_drawpal(210 + offsets.X, 261 + offsets.Y, FREEZE, shade, o | pin, pal, angle);
} }
else hud_drawpal(weapon_xoffset + 210 - look_anghalf, looking_arc + 261 - gun_pos, pic, shade, o | pin, pal);
}; };
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------