static void InitElementProperties(void);
static void InitElementInfo(void);
static void InitGraphicInfo(void);
+static void InitSoundInfo();
static void Execute_Debug_Command(char *);
void OpenAll(void)
InitGfx();
InitElementProperties(); /* initializes IS_CHAR() for el2gfx() */
InitElementInfo();
- InitGraphicInfo();
InitLevelInfo();
InitLevelArtworkInfo();
static void InitImages()
{
- InitImageList(image_config, NUM_IMAGE_CONFIG_ENTRIES);
+ InitImageList(image_config, image_config_suffix, NUM_IMAGE_FILES);
/* load custom images */
ReloadCustomImages();
+
+ InitGraphicInfo();
}
static void InitMixer()
{
OpenAudio();
- InitSoundList(sound_config, NUM_SOUND_CONFIG_ENTRIES);
+
+ InitSoundList(sound_config, sound_config_suffix, NUM_SOUND_FILES);
StartMixer();
}
InitReloadSounds(artwork.snd_current->identifier);
InitReloadMusic(artwork.mus_current->identifier);
- /* initialize sound effect lookup table for element actions */
- InitGameSound();
+ InitSoundInfo();
}
static void InitTileClipmasks()
int tile = tile_needs_clipping[i].start + j;
int graphic = tile;
int src_x, src_y;
- int pixmap_nr;
+ Bitmap *src_bitmap;
Pixmap src_pixmap;
- getGraphicSource(graphic, &pixmap_nr, &src_x, &src_y);
- src_pixmap = pix[pixmap_nr]->clip_mask;
+ getGraphicSource(graphic, &src_bitmap, &src_x, &src_y);
+ src_pixmap = src_bitmap->clip_mask;
tile_clipmask[tile] = XCreatePixmap(display, window->drawable,
TILEX, TILEY, 1);
}
ReloadCustomImages();
+ InitGraphicInfo();
FreeTileClipmasks();
InitTileClipmasks();
}
}
-void InitGraphicInfo()
+static void InitGraphicInfo()
{
int i;
- /* always start with reliable default values */
+ image_files = getCurrentImageList();
+
for(i=0; i<MAX_GRAPHICS; i++)
{
- graphic_info[i].bitmap = pix[PIX_SP]; /* graphic that ... */
- graphic_info[i].src_x = 0; /* ... contains ... */
- graphic_info[i].src_y = 0; /* ... empty space. */
+ /* always start with reliable default values */
+ graphic_info[i].bitmap = NULL;
+ graphic_info[i].src_x = 0;
+ graphic_info[i].src_y = 0;
graphic_info[i].anim_frames = 1;
graphic_info[i].anim_delay = 0;
graphic_info[i].anim_mode = ANIM_NORMAL;
- }
-
- for(i=0; i<MAX_GRAPHICS; i++)
- {
- int bitmap_nr;
- getGraphicSource(i, &bitmap_nr,
+ getGraphicSource(i, &graphic_info[i].bitmap,
&graphic_info[i].src_x, &graphic_info[i].src_y);
-
- graphic_info[i].bitmap = pix[bitmap_nr];
}
}
+static void InitSoundInfo()
+{
+ sound_files = getCurrentSoundList();
+
+ /* initialize sound effect lookup table for element actions */
+ InitGameSound();
+}
+
void InitElementProperties()
{
int i, j;
printf("%s\n", getFormattedSetupEntry("sort_priority", "100"));
printf("\n");
- for (i=0; i<NUM_IMAGE_CONFIG_ENTRIES; i++)
+ for (i=0; image_config[i].token != NULL; i++)
printf("# %s\n",
getFormattedSetupEntry(image_config[i].token,
- image_config[i].default_filename));
+ image_config[i].value));
}
else if (strcmp(command, "create soundsinfo.conf") == 0)
{
printf("%s\n", getFormattedSetupEntry("sort_priority", "100"));
printf("\n");
- for (i=0; i<NUM_SOUND_CONFIG_ENTRIES; i++)
+ for (i=0; sound_config[i].token != NULL; i++)
printf("# %s\n",
getFormattedSetupEntry(sound_config[i].token,
- sound_config[i].default_filename));
+ sound_config[i].value));
}
else if (strcmp(command, "create musicinfo.conf") == 0)
{
FreeAllMusic();
CloseAudio(); /* called after freeing sounds (needed for SDL) */
+ FreeAllImages();
+
FreeTileClipmasks();
for(i=0; i<NUM_BITMAPS; i++)
FreeBitmap(pix[i]);