diff --git a/source/games/duke/src/hudweapon_d.cpp b/source/games/duke/src/hudweapon_d.cpp index 83a62e2b1..590cc29f2 100644 --- a/source/games/duke/src/hudweapon_d.cpp +++ b/source/games/duke/src/hudweapon_d.cpp @@ -277,7 +277,7 @@ void displayweapon_d(int snum, double interpfrac) if (p->GetActor()->spr.scale.X < 0.625) { //shrunken.. - animateshrunken(p, 0, offsets.Y + gun_pos, -offsets.X, DTILE_FIST, shade, o, interpfrac); + animateshrunken(p, offsets.X, offsets.Y + gun_pos, DTILE_FIST, shade, o, interpfrac); } else { diff --git a/source/games/duke/src/hudweapon_r.cpp b/source/games/duke/src/hudweapon_r.cpp index 4a2119cb0..bccb0f696 100644 --- a/source/games/duke/src/hudweapon_r.cpp +++ b/source/games/duke/src/hudweapon_r.cpp @@ -296,7 +296,7 @@ void displayweapon_r(int snum, double interpfrac) if (p->GetActor()->spr.scale.X < 0.125) { - animateshrunken(p, 0, offsets.Y + gun_pos, -offsets.X, RTILE_FIST, shade, o, interpfrac); + animateshrunken(p, offsets.X, offsets.Y + gun_pos, RTILE_FIST, shade, o, interpfrac); } else { diff --git a/source/games/duke/src/inlines.h b/source/games/duke/src/inlines.h index 8c9f4cf1d..e4df73fea 100644 --- a/source/games/duke/src/inlines.h +++ b/source/games/duke/src/inlines.h @@ -256,12 +256,12 @@ inline void hud_draw(double x, double y, int tilenum, int shade, int orientation hud_drawsprite(x, y, 65536, 0, tilenum, shade, p, 2 | orientation); } -inline void animateshrunken(player_struct* p, double weapon_xoffset, double looking_arc, double look_anghalf, int tilenum, int8_t shade, int o, double interpfrac) +inline void animateshrunken(player_struct* p, double xoffset, double yoffset, int tilenum, int8_t shade, int o, double interpfrac) { const double fistsign = BobVal(interpolatedvalue(p->ofistsign, p->fistsign, interpfrac)) * 16; - if (p->jetpack_on == 0) looking_arc += 32 - (p->GetActor()->vel.X * 8); - hud_draw(weapon_xoffset + fistsign + 250 - look_anghalf, looking_arc + 258 - fabs(fistsign * 4), tilenum, shade, o); - hud_draw(weapon_xoffset - fistsign + 40 - look_anghalf, looking_arc + 200 + fabs(fistsign * 4), tilenum, shade, o | 4); + if (p->jetpack_on == 0) yoffset += 32 - (p->GetActor()->vel.X * 8); + hud_draw(250 + fistsign + xoffset, 258 - fabs(fistsign * 4) + yoffset, tilenum, shade, o); + hud_draw(40 - fistsign + xoffset, 200 + fabs(fistsign * 4) + yoffset, tilenum, shade, o | 4); } inline ESpriteFlags randomFlip()