rnd-20031215-1-src
authorHolger Schemel <info@artsoft.org>
Mon, 15 Dec 2003 00:08:55 +0000 (01:08 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:45:08 +0000 (10:45 +0200)
* fixed bug with wrong penguin graphics (when entering exit)
* fixed bug with wrong "Murphy" graphics (when digging etc.)

ChangeLog
src/conftime.h
src/files.c
src/game.c
src/init.c
src/libgame/sound.c
src/tools.c

index 508922ab230466876ef9d499a902a47cbfd2321e..599127a45d641f0e5995e0c9fac55fd95fec76ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,10 @@
 
+2003-12-14
+       * fixed bug with wrong penguin graphics (when entering exit)
+
+2003-12-14
+       * fixed bug with wrong "Murphy" graphics (when digging etc.)
+
 2003-12-14
        * Version number set to 3.0.9.
 
index aa6bde03bf82d6520cfe0a15034915b27386b3de..9cf18e64d9756709060bf5f7204307cb17c34adb 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2003-12-14 02:31]"
+#define COMPILE_DATE_STRING "[2003-12-14 22:52]"
index 929ce3348b305dee810dcb66aab779fb13c73b7f..d1bb0144d71f2b82d59a67ea87356d8e17fafd7d 100644 (file)
@@ -3040,6 +3040,7 @@ void LoadMusicInfo()
     boolean music_already_used = FALSE;
     int i;
 
+    /* skip all music files that are configured in music config file */
     for (i = 0; i < num_music; i++)
     {
       music = getMusicListEntry(i);
index 05e65026508d942835b1e28bd9c464b7fa2d2e8c..de6aa0c5ce229725a407d0ef4101ef4178ef9515 100644 (file)
@@ -4439,8 +4439,13 @@ void StartMoving(int x, int y)
     {
       if (Feld[newx][newy] == EL_EXIT_OPEN)
       {
+#if 1
+       RemoveField(x, y);
+       DrawLevelField(x, y);
+#else
        Feld[x][y] = EL_EMPTY;
        DrawLevelField(x, y);
+#endif
 
        PlayLevelSound(newx, newy, SND_PENGUIN_PASSING);
        if (IN_SCR_FIELD(SCREENX(newx), SCREENY(newy)))
@@ -6759,6 +6764,7 @@ void GameActions()
       StartMoving(x, y);
 
 #if 1
+      element = Feld[x][y];
       graphic = el_act_dir2img(element, GfxAction[x][y], GfxDir[x][y]);
 #if 0
       if (element == EL_MOLE)
index 9871ed6cd8c3f0c5c0c4dc1ed5ad04a3edeb5837..205524ca5228ea7585d30dec09cddeb5b5af2682 100644 (file)
@@ -413,6 +413,9 @@ void InitElementGraphicInfo()
   int num_property_mappings = getImageListPropertyMappingSize();
   int i, act, dir;
 
+  if (graphic_info == NULL)            /* still at startup phase */
+    return;
+
   /* set values to -1 to identify later as "uninitialized" values */
   for (i = 0; i < MAX_NUM_ELEMENTS; i++)
   {
@@ -614,9 +617,9 @@ void InitElementGraphicInfo()
 
     for (act = 0; act < NUM_ACTIONS; act++)
     {
-      boolean act_remove = (act == ACTION_DIGGING ||
-                           act == ACTION_SNAPPING ||
-                           act == ACTION_COLLECTING);
+      boolean act_remove = ((IS_DIGGABLE(i)    && act == ACTION_DIGGING)  ||
+                           (IS_SNAPPABLE(i)   && act == ACTION_SNAPPING) ||
+                           (IS_COLLECTIBLE(i) && act == ACTION_COLLECTING));
       boolean act_turning = (act == ACTION_TURNING_FROM_LEFT ||
                             act == ACTION_TURNING_FROM_RIGHT ||
                             act == ACTION_TURNING_FROM_UP ||
@@ -3180,6 +3183,9 @@ void InitElementPropertiesEngine(int engine_version)
       element_info[element].push_delay_random = game.default_push_delay_random;
   }
 #endif
+
+  /* this is needed because some graphics depend on element properties */
+  InitElementGraphicInfo();
 }
 
 static void InitGlobal()
index a70ea3accf9018ed7c264f76b6bc06f61a89f5b6..b9fd88c66a460dd72e58300cba60644236440794 100644 (file)
@@ -1911,6 +1911,7 @@ void LoadCustomMusic_NoConf(void)
     boolean music_already_used = FALSE;
     int i;
 
+    /* skip all music files that are configured in music config file */
     for (i = 0; i < num_music; i++)
     {
       struct FileInfo *music = getMusicListEntry(i);
@@ -1959,10 +1960,6 @@ void LoadCustomMusic_NoConf(void)
   closedir(dir);
 
   draw_init_text = FALSE;
-
-  if (num_music_noconf == 0)
-    Error(ERR_WARN, "cannot find any valid music files in directory '%s'",
-         music_directory);
 }
 
 int getSoundListSize()
index 6b8ae64696af23dee2a8be92a643ba4a6bae91e0..3f7c0735d740a7885befeca72b2457a8c79aaa31 100644 (file)
@@ -857,7 +857,7 @@ void DrawPlayer(struct PlayerInfo *player)
     SetDrawtoField(DRAW_DIRECT);
   }
 
-  MarkTileDirty(sx,sy);
+  MarkTileDirty(sx, sy);
 }
 
 void getGraphicSource(int graphic, int frame, Bitmap **bitmap, int *x, int *y)
@@ -981,7 +981,7 @@ void DrawMiniGraphicExt(DrawBuffer *d, int x, int y, int graphic)
   BlitBitmap(src_bitmap, d, src_x, src_y, MINI_TILEX, MINI_TILEY, x, y);
 }
 
-void DrawGraphicShifted(int x,int y, int dx,int dy, int graphic, int frame,
+void DrawGraphicShifted(int x, int y, int dx, int dy, int graphic, int frame,
                        int cut_mode, int mask_mode)
 {
   Bitmap *src_bitmap;
@@ -1101,13 +1101,13 @@ void DrawGraphicShifted(int x,int y, int dx,int dy, int graphic, int frame,
     BlitBitmap(src_bitmap, drawto_field, src_x, src_y, width, height,
               dest_x, dest_y);
 
-  MarkTileDirty(x,y);
+  MarkTileDirty(x, y);
 }
 
 void DrawGraphicShiftedThruMask(int x, int y, int dx, int dy, int graphic,
                                int frame, int cut_mode)
 {
-  DrawGraphicShifted(x,y, dx,dy, graphic, frame, cut_mode, USE_MASKING);
+  DrawGraphicShifted(x, y, dx, dy, graphic, frame, cut_mode, USE_MASKING);
 }
 
 void DrawScreenElementExt(int x, int y, int dx, int dy, int element,