From 2d739a2c46178b6be7dc3dc7a0378b44209d91bd Mon Sep 17 00:00:00 2001 From: zicodxx <> Date: Thu, 15 Jul 2010 06:09:23 +0000 Subject: [PATCH] Cleaned the variables used for newdemo code; Instead of giving both old and new values to special recording functions, added new variables to demo code serving this purpose and also checking for redundant record calls which only would waste bytes; Removed duplicated-object-id-hack which did not work as expected and caused jittering on playback; In that process, found a bug where Num_open_doors might nor be set correctly - cleaned that up a little and got also rid of one aweful goto; Made sure cloaked walls are recorded FPS-independent but rather fade-value-dependent --- main/wall.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/main/wall.c b/main/wall.c index 35e3ce435..3dcebbffa 100644 --- a/main/wall.c +++ b/main/wall.c @@ -226,14 +226,20 @@ void wall_set_tmap_num(segment *seg,int side,segment *csegp,int cside,int anim_n if ( Newdemo_state==ND_STATE_PLAYBACK ) return; if (anim->flags & WCF_TMAP1) { - seg->sides[side].tmap_num = csegp->sides[cside].tmap_num = tmap; - if ( Newdemo_state == ND_STATE_RECORDING ) - newdemo_record_wall_set_tmap_num1(seg-Segments,side,csegp-Segments,cside,tmap); + if (tmap != seg->sides[side].tmap_num || tmap != csegp->sides[cside].tmap_num) + { + seg->sides[side].tmap_num = csegp->sides[cside].tmap_num = tmap; + if ( Newdemo_state == ND_STATE_RECORDING ) + newdemo_record_wall_set_tmap_num1(seg-Segments,side,csegp-Segments,cside,tmap); + } } else { Assert(tmap!=0 && seg->sides[side].tmap_num2!=0); - seg->sides[side].tmap_num2 = csegp->sides[cside].tmap_num2 = tmap; - if ( Newdemo_state == ND_STATE_RECORDING ) - newdemo_record_wall_set_tmap_num2(seg-Segments,side,csegp-Segments,cside,tmap); + if (tmap != seg->sides[side].tmap_num2 || tmap != csegp->sides[cside].tmap_num2) + { + seg->sides[side].tmap_num2 = csegp->sides[cside].tmap_num2 = tmap; + if ( Newdemo_state == ND_STATE_RECORDING ) + newdemo_record_wall_set_tmap_num2(seg-Segments,side,csegp-Segments,cside,tmap); + } } }