rnd-20020910-1-src
[rocksndiamonds.git] / src / init.c
index bb5dd45075a1945b90d2acf65df2a00fbda6c391..67e8a6fc9ee3a220a0524dcc7c6fb2d2de15e042 100644 (file)
@@ -29,6 +29,7 @@
 static char *image_filename[NUM_PICTURES] =
 {
   "RocksScreen.pcx",
+  "RocksElements.pcx",
   "RocksDoor.pcx",
   "RocksHeroes.pcx",
   "RocksToons.pcx",
@@ -55,6 +56,7 @@ static void InitGadgets(void);
 static void InitElementProperties(void);
 static void InitElementInfo(void);
 static void InitGraphicInfo(void);
+static void InitSoundInfo();
 static void Execute_Debug_Command(char *);
 
 void OpenAll(void)
@@ -175,37 +177,19 @@ void InitNetworkServer()
 
 static void InitImages()
 {
-  static char *suffix_list[] =
-  {
-    ".frame_xpos",
-    ".frame_ypos",
-    ".num_frames",
-    NULL
-  };
-
-  image_files =
-    getFileListFromConfigList(image_config, suffix_list, NUM_IMAGE_FILES);
-
-  InitImageList(image_files, NUM_IMAGE_FILES);
+  InitImageList(image_config, image_config_suffix, NUM_IMAGE_FILES);
 
   /* load custom images */
   ReloadCustomImages();
+
   InitGraphicInfo();
 }
 
 static void InitMixer()
 {
-  static char *suffix_list[] =
-  {
-    NULL
-  };
-
   OpenAudio();
 
-  sound_files =
-    getFileListFromConfigList(sound_config, suffix_list, NUM_SOUND_FILES);
-
-  InitSoundList(sound_files, NUM_SOUND_FILES);
+  InitSoundList(sound_config, sound_config_suffix, NUM_SOUND_FILES);
 
   StartMixer();
 }
@@ -216,8 +200,7 @@ static void InitSound()
   InitReloadSounds(artwork.snd_current->identifier);
   InitReloadMusic(artwork.mus_current->identifier);
 
-  /* initialize sound effect lookup table for element actions */
-  InitGameSound();
+  InitSoundInfo();
 }
 
 static void InitTileClipmasks()
@@ -869,13 +852,15 @@ void InitElementInfo()
   }
 }
 
-void InitGraphicInfo()
+static void InitGraphicInfo()
 {
   int i;
 
-  /* always start with reliable default values */
+  image_files = getCurrentImageList();
+
   for(i=0; i<MAX_GRAPHICS; i++)
   {
+    /* always start with reliable default values */
     graphic_info[i].bitmap = NULL;
     graphic_info[i].src_x = 0;
     graphic_info[i].src_y = 0;
@@ -886,6 +871,34 @@ void InitGraphicInfo()
     getGraphicSource(i, &graphic_info[i].bitmap,
                     &graphic_info[i].src_x, &graphic_info[i].src_y);
   }
+
+#if 0
+
+  printf("D> %d\n", image_files[GFX_BD_DIAMOND].parameter[GFXARG_NUM_FRAMES]);
+  printf("W> %d\n", image_files[GFX_ROBOT_WHEEL].parameter[GFXARG_NUM_FRAMES]);
+
+  graphic_info[GFX_ABLENK].bitmap = getBitmapFromImageID(GFX_ROBOT_WHEEL);
+  graphic_info[GFX_ABLENK].src_x = 0;
+  graphic_info[GFX_ABLENK].src_y = 0;
+
+  graphic_info[GFX_ABLENK + 1].bitmap = getBitmapFromImageID(GFX_ROBOT_WHEEL);
+  graphic_info[GFX_ABLENK + 2].bitmap = getBitmapFromImageID(GFX_ROBOT_WHEEL);
+  graphic_info[GFX_ABLENK + 3].bitmap = getBitmapFromImageID(GFX_ROBOT_WHEEL);
+  graphic_info[GFX_ABLENK + 1].src_x = 1 * TILEX;
+  graphic_info[GFX_ABLENK + 2].src_x = 2 * TILEX;
+  graphic_info[GFX_ABLENK + 3].src_x = 3 * TILEX;
+  graphic_info[GFX_ABLENK + 1].src_y = 0;
+  graphic_info[GFX_ABLENK + 2].src_y = 0;
+  graphic_info[GFX_ABLENK + 3].src_y = 0;
+#endif
+}
+
+static void InitSoundInfo()
+{
+  sound_files = getCurrentSoundList();
+
+  /* initialize sound effect lookup table for element actions */
+  InitGameSound();
 }
 
 void InitElementProperties()