rnd-20030102-1-src
authorHolger Schemel <info@artsoft.org>
Thu, 2 Jan 2003 00:57:55 +0000 (01:57 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:39:22 +0000 (10:39 +0200)
CHANGES
src/conf_gfx.c
src/conftime.h
src/init.c
src/libgame/image.c
src/libgame/image.h
src/libgame/sound.c
src/main.h

diff --git a/CHANGES b/CHANGES
index 1c154bd5e4b17bbe1dac69a41496e0afe42488c9..9107d377b0db45cd966884a57e86e27b73152107 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,5 @@
-Release Version 2.2.0 [?? ??? ????]
------------------------------------
+Pre-Release Version 2.2.0rc1 [31 DEC 2002]
+------------------------------------------
        - level series artwork now configurable via level series config file
        - single graphics and animations can now be replaced with different
          ones (independantly from default image files which may be larger)
@@ -7,6 +7,12 @@ Release Version 2.2.0 [?? ??? ????]
        - element animation length, speed and mode now freely configurable
        - automatic tape playing function for game engine and level testing
        - missing steel wall graphic added (thanks to Equinox Tetrachloride)
+       - added new contributed levels from the following players:
+         + Abby King (14 levels)
+         + Andreas Buschbeck (80 levels with complete artwork set)
+         + David Hutchinson (25 levels with graphics set)
+         + Equinox Tetrachloride (150 levels guaranteed to be solvable)
+         + Sylvan Hancock (39 levels)
 
 Release Version 2.1.1 [13 AUG 2002]
 -----------------------------------
@@ -16,7 +22,7 @@ Release Version 2.1.1 [13 AUG 2002]
        - default keys for "snap field" and "place bomb" fixed for Mac OS X
        - added new contributed levels from the following players:
          + Alan Bond
-         + Gerrit Holl
+         + Gerrit Holl and Timen van den Berg
 
 Release Version 2.1.0 [05 AUG 2002]
 -----------------------------------
@@ -190,8 +196,8 @@ Version 0.9b2 [21 NOV 1995] [NOT RELEASED]
 ------------------------------------------
        - new game elements
 
-Prerelease Version 0.9b [4 NOV 1995]
-------------------------------------
+Pre-Release Version 0.9b [4 NOV 1995]
+-------------------------------------
        - the game is now completely Freeware
        - the game is now better playable by keyboard
          (in the last version, the player was making more than
@@ -206,6 +212,6 @@ Prerelease Version 0.9b [4 NOV 1995]
        - FreeBSD sound and joystick support (thanks to Jean-Marc
          Zucconi)
 
-Prerelease Version 0.9 [23 OCT 1995]
-------------------------------------
+Pre-Release Version 0.9 [23 OCT 1995]
+-------------------------------------
        - first (pre)release version
index f35c21cf388c8b0eddf1d897392125387bec73b0..523b53ea9633be8c99001a92262c9e3424b5fb76 100644 (file)
@@ -1185,7 +1185,6 @@ struct ConfigInfo image_config[] =
   { "conveyor_belt2_right.active.ypos",                "5"                     },
   { "conveyor_belt2_right.active.frames",      "8"                     },
   { "conveyor_belt2_right.active.delay",       "2"                     },
-  { "conveyor_belt2_right.active.delay",       "2"                     },
   { "conveyor_belt2_switch_left",              "RocksDC.pcx"           },
   { "conveyor_belt2_switch_left.xpos",         "1"                     },
   { "conveyor_belt2_switch_left.ypos",         "12"                    },
@@ -1226,7 +1225,6 @@ struct ConfigInfo image_config[] =
   { "conveyor_belt3_right.active.ypos",                "8"                     },
   { "conveyor_belt3_right.active.frames",      "8"                     },
   { "conveyor_belt3_right.active.delay",       "2"                     },
-  { "conveyor_belt3_right.active.delay",       "2"                     },
   { "conveyor_belt3_switch_left",              "RocksDC.pcx"           },
   { "conveyor_belt3_switch_left.xpos",         "2"                     },
   { "conveyor_belt3_switch_left.ypos",         "12"                    },
@@ -1267,7 +1265,6 @@ struct ConfigInfo image_config[] =
   { "conveyor_belt4_right.active.ypos",                "11"                    },
   { "conveyor_belt4_right.active.frames",      "8"                     },
   { "conveyor_belt4_right.active.delay",       "2"                     },
-  { "conveyor_belt4_right.active.delay",       "2"                     },
   { "conveyor_belt4_switch_left",              "RocksDC.pcx"           },
   { "conveyor_belt4_switch_left.xpos",         "3"                     },
   { "conveyor_belt4_switch_left.ypos",         "12"                    },
index a6ab0657a0a78a1e33a0779b6b56b9dc61ea5baa..bb7f1521c0e98f680b519fab374b052d86422b9c 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2002-12-30 03:03]"
+#define COMPILE_DATE_STRING "[2003-01-02 01:11]"
index 76bf20c3858a0f7c56a74411f64a90c1bf8e1d5e..b1f5af0eedf6461643b345cf2ce06b0833667521 100644 (file)
@@ -876,16 +876,34 @@ static void InitGraphicInfo()
     if (src_x < 0 || src_y < 0 ||
        src_x + TILEX > src_bitmap->width ||
        src_y + TILEY > src_bitmap->height)
-      Error(ERR_EXIT, "InitGraphicInfo: first frame of graphic animation object %d outside of image bitmap file '%s' (%d,%d)",
-           i, src_bitmap->source_filename, src_x, src_y);
+    {
+      Error(ERR_RETURN, "custom artwork configuration error:");
+      Error(ERR_RETURN, "- config file: '%s'",
+           getImageConfigFilename());
+      Error(ERR_RETURN, "- config token: '%s'",
+           getTokenFromImageID(i));
+      Error(ERR_RETURN, "- image file: '%s'",
+           src_bitmap->source_filename);
+      Error(ERR_EXIT, "error: first animation frame out of bounds (%d,%d)",
+           src_x, src_y);
+    }
 
     last_frame = new_graphic_info[i].anim_frames - 1;
     getGraphicSource(i, last_frame, &src_bitmap, &src_x, &src_y);
     if (src_x < 0 || src_y < 0 ||
        src_x + TILEX > src_bitmap->width ||
        src_y + TILEY > src_bitmap->height)
-      Error(ERR_EXIT, "InitGraphicInfo: last frame of graphic animation object %d outside of image bitmap file '%s' (%d,%d)",
-           i, src_bitmap->source_filename, src_x, src_y);
+    {
+      Error(ERR_RETURN, "custom artwork configuration error:");
+      Error(ERR_RETURN, "- config file: '%s'",
+           getImageConfigFilename());
+      Error(ERR_RETURN, "- config token: '%s'",
+           getTokenFromImageID(i));
+      Error(ERR_RETURN, "- image file: '%s'",
+           src_bitmap->source_filename);
+      Error(ERR_EXIT, "error: last animation frame out of bounds (%d,%d)",
+           src_x, src_y);
+    }
   }
 }
 
index 8e69de5460a4b518d0c4fb40320abacc0bbd5078..a649e40abb864e45c5a4e2136a2ffdbf920b3f3d 100644 (file)
@@ -14,6 +14,7 @@
 #include "image.h"
 #include "pcx.h"
 #include "misc.h"
+#include "setup.h"
 
 
 /* ========================================================================= */
@@ -707,6 +708,18 @@ Bitmap *getBitmapFromImageID(int graphic)
   return img_info[graphic]->bitmap;
 }
 
+char *getTokenFromImageID(int graphic)
+{
+  struct FileInfo *file_list = (struct FileInfo *)image_info->file_list;
+
+  return file_list[graphic].token;
+}
+
+char *getImageConfigFilename()
+{
+  return getCustomArtworkConfigFilename(image_info->type);
+}
+
 void InitImageList(struct ConfigInfo *config_list,
                   struct ConfigInfo *config_suffix_list,
                   int num_file_list_entries)
index 342b253645de3fa096d315d158aab0528499d3ce..75c9ad18a2393c33eb72aecd25ad5c2c3d3285ba 100644 (file)
@@ -74,6 +74,8 @@ int Read_PCX_to_Pixmap(Display *, Window, GC, char *, Pixmap *, Pixmap *);
 
 struct FileInfo *getCurrentImageList();
 Bitmap *getBitmapFromImageID(int);
+char *getTokenFromImageID(int);
+char *getImageConfigFilename();
 void InitImageList(struct ConfigInfo *, struct ConfigInfo *, int);
 void ReloadCustomImages();
 void FreeAllImages();
index 14aacba0b5119f3e297a32258c1c6cfe24b4ed09..835adab8f71e876904fe37ff537c93006c81ed27 100644 (file)
@@ -956,11 +956,16 @@ static void Mixer_InsertSound(SoundControl snd_ctrl)
     unsigned long playing_current = Counter();
     int longest = 0, longest_nr = audio.first_sound_channel;
 
+#if 0
+#if DEBUG
+    /* print some debugging information about audio channel usage */
     for (i=audio.first_sound_channel; i<audio.num_channels; i++)
     {
       Error(ERR_RETURN, "Mixer_InsertSound: %d [%d]: %ld (%ld)",
            i, mixer[i].active, mixer[i].data_len, (long)mixer[i].data_ptr);
     }
+#endif
+#endif
 
     for (i=audio.first_sound_channel; i<audio.num_channels; i++)
     {
@@ -1639,7 +1644,8 @@ static void *Load_WAV(char *filename)
        return NULL;
       }
 
-      if (header.num_channels != 1)
+      if (header.num_channels != 1 &&
+         header.num_channels != 2)
       {
        Error(ERR_WARN, "sound file '%s': number of %d channels not supported",
              filename, header.num_channels);
index 75eb0dc8f7860960edc5944ec03185bfe8cd6942..f6eb73f8257c65f194ac55c8e44dff9699788001 100644 (file)
 #define PROGRAM_VERSION_MAJOR  2
 #define PROGRAM_VERSION_MINOR  2
 #define PROGRAM_VERSION_PATCH  0
-#define PROGRAM_VERSION_STRING "2.2.0-rc1"
+#define PROGRAM_VERSION_STRING "2.2.0rc1"
 
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"