From 3730901f43754492ad9ac3ca4848cd5141b16aa1 Mon Sep 17 00:00:00 2001 From: helixhorned Date: Sun, 2 Aug 2015 08:40:42 +0000 Subject: [PATCH] Game: don't spawn FRAMEEFFECT1 for BOUNCEMINE. There's no point, really. Since the bouncemine is immobile, the tsprites will all be overlaid at one point and show the same picture, as far as I can see. Worse, since r4876, the generated sprites may draw on top of the actual one. The former have their shade always set to sprite[t->owner].shade though, and will then appear fully bright (shade -127, since BOUNCEMINE sets it like this). This fixes issue number 4 from http://forums.duke4.net/topic/8042-five-minor-problems-report/ git-svn-id: https://svn.eduke32.com/eduke32@5316 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/source/actors.c | 2 +- polymer/eduke32/source/actors.h | 1 + polymer/eduke32/source/game.c | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index 483539bf6..b08dd8c5a 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -4497,7 +4497,7 @@ ACTOR_STATIC void G_MoveActors(void) goto BOLT; } - case BOUNCEMINE__STATIC: +// case BOUNCEMINE__STATIC: case MORTER__STATIC: j = A_Spawn(i,(PLUTOPAK?FRAMEEFFECT1:FRAMEEFFECT1_13)); actor[j].t_data[0] = 3; diff --git a/polymer/eduke32/source/actors.h b/polymer/eduke32/source/actors.h index 3a8245d29..a7bd8e606 100644 --- a/polymer/eduke32/source/actors.h +++ b/polymer/eduke32/source/actors.h @@ -143,6 +143,7 @@ typedef struct { int16_t picnum,ang,extra,owner; //8b int16_t movflag,tempang,timetosleep; //6b + // NOTE: 'dispicnum' is updated locally, not in sync with the game! int16_t actorstayput, dispicnum; #if !defined LUNATIC // NOTE: shootzvel is not used any more. diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 94f6981fc..f811da1f9 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -8094,11 +8094,11 @@ skip: } actor[i].dispicnum = t->picnum; +#if 0 // why? - /* - if (sector[t->sectnum].floorpicnum == MIRROR) - t->xrepeat = t->yrepeat = 0; - */ + if (sector[t->sectnum].floorpicnum == MIRROR) + t->xrepeat = t->yrepeat = 0; +#endif } if (VM_HaveEvent(EVENT_ANIMATESPRITES))