anim_frames_per_col = src_bitmap->height / graphic_info[graphic].height;
}
- /* correct x or y offset dependant of vertical or horizontal frame order */
+ /* correct x or y offset dependent of vertical or horizontal frame order */
if (parameter[GFX_ARG_VERTICAL]) /* frames are ordered vertically */
{
graphic_info[graphic].offset_y =
static void InitSoundInfo()
{
+#if 0
struct PropertyMapping *property_mapping = getSoundListPropertyMapping();
int num_property_mappings = getSoundListPropertyMappingSize();
+#endif
int *sound_effect_properties;
int num_sounds = getSoundListSize();
int i, j;
free(sound_effect_properties);
+#if 0
+ /* !!! now handled in InitElementSoundInfo() !!! */
/* initialize element/sound mapping from dynamic configuration */
for (i=0; i < num_property_mappings; i++)
{
if (action < 0)
action = ACTION_DEFAULT;
+ printf("::: %d: %d, %d, %d ['%s']\n",
+ i, element, action, sound, element_info[element].token_name);
+
element_info[element].sound[action] = sound;
}
+#endif
#if 0
/* TEST ONLY */
EL_GATE_2_GRAY,
EL_GATE_3_GRAY,
EL_GATE_4_GRAY,
+ EL_PENGUIN,
+ EL_PIG,
+ EL_DRAGON,
-1
};
InitElementPropertiesStatic();
#endif
- /* set all special, combined or engine dependant element properties */
+ /* set all special, combined or engine dependent element properties */
for (i=0; i < MAX_NUM_ELEMENTS; i++)
{
#if 0
/* ---------- CAN_EXPLODE ---------------------------------------------- */
SET_PROPERTY(i, EP_CAN_EXPLODE, (CAN_EXPLODE_BY_FIRE(i) ||
CAN_EXPLODE_SMASHED(i) ||
- CAN_EXPLODE_BY_FIRE(i)));
+ CAN_EXPLODE_IMPACT(i)));
}
#if 0
if (access(filename, F_OK) != 0)
Error(ERR_EXIT, "cannot open file '%s'", filename);
- LoadLevelFromFilename(filename);
+ LoadLevelFromFilename(&level, filename);
DumpLevel(&level);
exit(0);
static boolean last_override_level_sounds = FALSE;
static boolean last_override_level_music = FALSE;
/* identifier for new artwork; default: artwork configured in setup */
+#if 0
char *gfx_new_identifier = artwork.gfx_current->identifier;
char *snd_new_identifier = artwork.snd_current->identifier;
char *mus_new_identifier = artwork.mus_current->identifier;
+#else
+ char *gfx_new_identifier = artwork.gfx_current_identifier;
+ char *snd_new_identifier = artwork.snd_current_identifier;
+ char *mus_new_identifier = artwork.mus_current_identifier;
+#endif
boolean redraw_screen = FALSE;
+#if 0
if (leveldir_current_identifier == NULL)
leveldir_current_identifier = leveldir_current->identifier;
+#endif
#if 0
printf("CURRENT GFX: '%s' ['%s']\n", artwork.gfx_current->identifier,
/* when a new level series was selected, check if there was a change
in custom artwork stored in level series directory */
- if (leveldir_current_identifier != leveldir_current->identifier)
+ if (1 || leveldir_current_identifier != leveldir_current->identifier)
{
+#if 0
char *identifier_old = leveldir_current_identifier;
+#endif
char *identifier_new = leveldir_current->identifier;
- if (getTreeInfoFromIdentifier(artwork.gfx_first, identifier_old) !=
- getTreeInfoFromIdentifier(artwork.gfx_first, identifier_new))
+#if 0
+ printf("::: 1: ['%s'] '%s', '%s' [%lx, %lx]\n",
+ gfx_new_identifier, identifier_old, identifier_new,
+ getTreeInfoFromIdentifier(artwork.gfx_first, identifier_old),
+ getTreeInfoFromIdentifier(artwork.gfx_first, identifier_new));
+#endif
+
+#if 0
+ if (getTreeInfoFromIdentifier(artwork.gfx_first, identifier_new) == NULL)
+ gfx_new_identifier = GRAPHICS_SUBDIR;
+ else if (getTreeInfoFromIdentifier(artwork.gfx_first, identifier_old) !=
+ getTreeInfoFromIdentifier(artwork.gfx_first, identifier_new))
+ gfx_new_identifier = identifier_new;
+#else
+ if (getTreeInfoFromIdentifier(artwork.gfx_first, identifier_new))
gfx_new_identifier = identifier_new;
- if (getTreeInfoFromIdentifier(artwork.snd_first, identifier_old) !=
- getTreeInfoFromIdentifier(artwork.snd_first, identifier_new))
+ else
+ gfx_new_identifier = setup.graphics_set;
+#endif
+
+#if 0
+ if (getTreeInfoFromIdentifier(artwork.snd_first, identifier_new) == NULL)
+ snd_new_identifier = SOUNDS_SUBDIR;
+ else if (getTreeInfoFromIdentifier(artwork.snd_first, identifier_old) !=
+ getTreeInfoFromIdentifier(artwork.snd_first, identifier_new))
snd_new_identifier = identifier_new;
- if (getTreeInfoFromIdentifier(artwork.mus_first, identifier_new) !=
- getTreeInfoFromIdentifier(artwork.mus_first, identifier_new))
+#else
+ if (getTreeInfoFromIdentifier(artwork.snd_first, identifier_new))
+ snd_new_identifier = identifier_new;
+ else
+ snd_new_identifier = setup.sounds_set;
+#endif
+
+#if 0
+ if (getTreeInfoFromIdentifier(artwork.mus_first, identifier_new) == NULL)
+ mus_new_identifier = MUSIC_SUBDIR;
+ else if (getTreeInfoFromIdentifier(artwork.mus_first, identifier_new) !=
+ getTreeInfoFromIdentifier(artwork.mus_first, identifier_new))
+ mus_new_identifier = identifier_new;
+#else
+ if (getTreeInfoFromIdentifier(artwork.mus_first, identifier_new))
mus_new_identifier = identifier_new;
+ else
+ mus_new_identifier = setup.music_set;
+#endif
+
+#if 0
+ printf("::: 2: ['%s'] '%s', '%s'\n",
+ gfx_new_identifier, identifier_old, identifier_new);
+#endif
leveldir_current_identifier = leveldir_current->identifier;
}
/* custom level artwork configured in level series configuration file
always overrides custom level artwork stored in level series directory
- and (level independant) custom artwork configured in setup menue */
+ and (level independent) custom artwork configured in setup menue */
if (leveldir_current->graphics_set != NULL)
gfx_new_identifier = leveldir_current->graphics_set;
if (leveldir_current->sounds_set != NULL)
if (leveldir_current->music_set != NULL)
mus_new_identifier = leveldir_current->music_set;
+#if 0
+ printf("CHECKING OLD/NEW GFX:\n OLD: '%s'\n NEW: '%s' ['%s', '%s']\n",
+ artwork.gfx_current_identifier, gfx_new_identifier,
+ artwork.gfx_current->identifier, leveldir_current->graphics_set);
+#endif
+
if (strcmp(artwork.gfx_current_identifier, gfx_new_identifier) != 0 ||
last_override_level_graphics != setup.override_level_graphics)
{
#if 0
- printf("RELOADING GRAPHICS '%s' -> '%s' ('%s')\n",
+ printf("RELOADING GRAPHICS '%s' -> '%s' ['%s']\n",
artwork.gfx_current_identifier,
- artwork.gfx_current->identifier,
- gfx_new_identifier);
+ gfx_new_identifier,
+ artwork.gfx_current->identifier);
+#endif
+
+#if 0
+ artwork.gfx_current =
+ getTreeInfoFromIdentifier(artwork.gfx_first, gfx_new_identifier);
+#endif
+#if 0
+ artwork.gfx_current_identifier = gfx_new_identifier;
#endif
setLevelArtworkDir(artwork.gfx_first);
InitImages();
+#if 0
+ printf("::: %d\n", menu.list_size[GAME_MODE_LEVELS]);
+#endif
+
FreeTileClipmasks();
InitTileClipmasks();
+#if 0
+ artwork.gfx_current =
+ getTreeInfoFromIdentifier(artwork.gfx_first, gfx_new_identifier);
+#endif
+#if 0
+ printf("::: '%s', %lx\n", gfx_new_identifier, artwork.gfx_current);
+#endif
+#if 0
artwork.gfx_current_identifier = artwork.gfx_current->identifier;
+#endif
+ artwork.gfx_current_identifier = gfx_new_identifier;
last_override_level_graphics = setup.override_level_graphics;
+#if 0
+ printf("DONE RELOADING GFX: '%s' ['%s']\n",
+ artwork.gfx_current_identifier, artwork.gfx_current->identifier);
+#endif
+
redraw_screen = TRUE;
}
/* set artwork path to send it to the sound server process */
setLevelArtworkDir(artwork.snd_first);
+ ClearRectangle(window, 0, 0, WIN_XSIZE, WIN_YSIZE);
+
InitReloadCustomSounds(snd_new_identifier);
ReinitializeSounds();
+#if 0
+ artwork.snd_current =
+ getTreeInfoFromIdentifier(artwork.snd_first, setup.sounds_set);
artwork.snd_current_identifier = artwork.snd_current->identifier;
+#endif
+ artwork.snd_current_identifier = snd_new_identifier;
last_override_level_sounds = setup.override_level_sounds;
redraw_screen = TRUE;
/* set artwork path to send it to the sound server process */
setLevelArtworkDir(artwork.mus_first);
+ ClearRectangle(window, 0, 0, WIN_XSIZE, WIN_YSIZE);
+
InitReloadCustomMusic(mus_new_identifier);
ReinitializeMusic();
+#if 0
+ artwork.mus_current =
+ getTreeInfoFromIdentifier(artwork.mus_first, setup.music_set);
artwork.mus_current_identifier = artwork.mus_current->identifier;
+#endif
+ artwork.mus_current_identifier = mus_new_identifier;
last_override_level_music = setup.override_level_music;
redraw_screen = TRUE;
FreeTileClipmasks();
CloseVideoDisplay();
- ClosePlatformDependantStuff();
+ ClosePlatformDependentStuff();
exit(exit_value);
}