rnd-20040516-1-src
authorHolger Schemel <info@artsoft.org>
Sun, 16 May 2004 12:41:12 +0000 (14:41 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:47:16 +0000 (10:47 +0200)
* fixed bug with opaque font in envelope with background graphic when
  background graphic is not transparent itself

ChangeLog
src/conftime.h
src/files.c
src/tools.c

index 2c909359fc182224bd7250c9ab6356e0dee0fa37..92099e87e0a1bd93bbe482ac71a1827b8940330d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
+2004-05-16
+       * fixed bug with opaque font in envelope with background graphic when
+         background graphic is not transparent itself
+
 2004-05-12
        * added "gravity on" and "gravity off" ports for Supaplex compatibility
        * corrected original Supaplex level loading code to use these new ports
+       * also corrected Supaplex loader to auto-count infotrons if set to zero
 
 2004-05-10
        * fixed bug with missing initialization of "modified" flag for GEs
index 9855accdf4be2f80ac817af98038d1b456873c84..853db5b91ea9bc172e06f7f41b071c5384f9a83f 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2004-05-13 02:00]"
+#define COMPILE_DATE_STRING "[2004-05-16 14:32]"
index a58442ee8217c8ff7413a9fe869f97c81ff71fca..956a8df4019ac33a5ab23e235dac443f744b7a29 100644 (file)
@@ -1888,6 +1888,17 @@ static void LoadLevelFromFileStream_SP(FILE *file, struct LevelInfo *level,
          level->field[x][y] <= EL_SP_GRAVITY_PORT_UP)
        level->field[x][y] += EL_SP_PORT_RIGHT - EL_SP_GRAVITY_PORT_RIGHT;
 
+  /* auto-determine number of infotrons if it was stored as "0" -- see above */
+  if (level->gems_needed == 0)
+  {
+    for (y = 0; y < SP_LEVEL_YSIZE; y++)
+      for (x = 0; x < SP_LEVEL_XSIZE; x++)
+       if (level->field[x][y] == EL_SP_INFOTRON)
+         level->gems_needed++;
+
+    level->gems_needed &= 0xff;                /* only use low byte -- see above */
+  }
+
   level->fieldx = SP_LEVEL_XSIZE;
   level->fieldy = SP_LEVEL_YSIZE;
 
index 5ce30b1fa618fddf3438fd78722080975605b599..68bac2efc88e6a42384e0569bc558ae04d0238ba 100644 (file)
@@ -1702,8 +1702,13 @@ void DrawEnvelopeBackground(int envelope_nr, int startx, int starty,
 void AnimateEnvelope(int envelope_nr, int anim_mode, int action)
 {
   int graphic = IMG_BACKGROUND_ENVELOPE_1 + envelope_nr;
+#if 1
+  Bitmap *src_bitmap = graphic_info[graphic].bitmap;
+  int mask_mode = (src_bitmap != NULL ? BLIT_MASKED : BLIT_ON_BACKGROUND);
+#else
   boolean draw_masked = graphic_info[graphic].draw_masked;
   int mask_mode = (draw_masked ? BLIT_MASKED : BLIT_ON_BACKGROUND);
+#endif
   boolean ffwd_delay = (tape.playing && tape.fast_forward);
   boolean no_delay = (tape.warp_forward);
   unsigned long anim_delay = 0;