InitImages(); /* needs to know current level directory */
InitSound(); /* needs to know current level directory */
+#if 0
InitGadgets(); /* needs images + number of level series */
+#endif
InitGfxBackground();
- InitToons();
if (global.autoplay_leveldir)
{
new_graphic_info[IMG_MENU_FONT_MEDIUM].bitmap,
new_graphic_info[IMG_MENU_FONT_SMALL].bitmap,
new_graphic_info[IMG_MENU_FONT_EM].bitmap);
+
+ InitGadgets();
+ InitToons();
}
static void InitImages()
}
#endif
+#if 0
+ SyncDisplay();
+#endif
+
ReinitializeGraphics();
FreeTileClipmasks();
#endif
}
+void FreeGadgets()
+{
+ FreeLevelEditorGadgets();
+ FreeGameButtons();
+ FreeTapeButtons();
+ FreeToolButtons();
+ FreeScreenGadgets();
+}
+
void InitGadgets()
{
+ static boolean gadgets_initialized = FALSE;
+
+ if (gadgets_initialized)
+ FreeGadgets();
+
CreateLevelEditorGadgets();
CreateGameButtons();
CreateTapeButtons();
CreateToolButtons();
CreateScreenGadgets();
+
+ gadgets_initialized = TRUE;
}
void InitElementInfo()
element_info[i].graphic[GFX_ACTION_DEFAULT] =
IMG_CHAR_START + (i - EL_CHAR_START);
- for (i=EL_GENERIC_START; i<=EL_GENERIC_END; i++)
+ for (i=EL_CUSTOM_START; i<=EL_CUSTOM_END; i++)
element_info[i].graphic[GFX_ACTION_DEFAULT] =
- IMG_GENERIC_START + (i - EL_GENERIC_START);
+ IMG_CUSTOM_START + (i - EL_CUSTOM_START);
i = 0;
while (element_to_graphic[i].element > -1)
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'", i, src_bitmap->source_filename);
+ {
+ 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'", i, src_bitmap->source_filename);
+ {
+ 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);
+ }
}
}