diff --git a/polymer/eduke32/source/lunatic/test/rotfixed_actor.con b/polymer/eduke32/source/lunatic/test/rotfixed_actor.con index 9328fe166..90eb3a53b 100644 --- a/polymer/eduke32/source/lunatic/test/rotfixed_actor.con +++ b/polymer/eduke32/source/lunatic/test/rotfixed_actor.con @@ -25,5 +25,6 @@ enda define CYCLOIDHEAD 490 // Will have a flat-sprite-on-floor shadow and be an autoaim target. useractor 1 CYCLOIDHEAD 10 + ifpdistl 1024 tip state killme enda diff --git a/polymer/eduke32/source/player.c b/polymer/eduke32/source/player.c index ed1dec747..0d39a9a0f 100644 --- a/polymer/eduke32/source/player.c +++ b/polymer/eduke32/source/player.c @@ -2020,14 +2020,20 @@ static int32_t P_DisplayTip(int32_t gs,int32_t snum) -84,-108,-108,-108,-108, -108,-108,-108,-108,-108, -108,-96,-72,-64,-32, - -16 + -16, /* EDuke32: */ 0, 16, 32, 48, + // At y coord 64, the hand is already not shown. }; const DukePlayer_t *const ps = g_player[snum].ps; - if (ps->tipincs == 0 || ps->tipincs >= ARRAY_SIZE(tip_y)) + if (ps->tipincs == 0) return 0; + // Report that the tipping hand has been drawn so that the otherwise + // selected weapon is not drawn. + if (ps->tipincs >= ARRAY_SIZE(tip_y)) + return 1; + looking_arc = klabs(ps->look_ang)/9; looking_arc -= (ps->hard_landing<<3); @@ -2961,7 +2967,8 @@ static int32_t P_DoCounters(DukePlayer_t *p) if (p->invdisptime > 0) p->invdisptime--; - if (p->tipincs > 0) p->tipincs--; + if (p->tipincs > 0) + p->tipincs--; if (p->last_pissed_time > 0) {