#define CONFIG_TOKEN_FONT_INITIAL "font.initial"
#define CONFIG_TOKEN_GLOBAL_BUSY "global.busy"
-#define DEBUG_PRINT_INIT_TIMESTAMPS TRUE
-#define DEBUG_PRINT_INIT_TIMESTAMPS_DEPTH 0
-
static struct FontBitmapInfo font_initial[NUM_INITIAL_FONTS];
static struct GraphicInfo anim_initial;
};
-static void print_timestamp_ext(char *message, char *mode)
-{
-#if DEBUG
-#if DEBUG_PRINT_INIT_TIMESTAMPS
- static char *debug_message = NULL;
- static char *last_message = NULL;
- static int counter_nr = 0;
- int max_depth = DEBUG_PRINT_INIT_TIMESTAMPS_DEPTH;
-
- checked_free(debug_message);
- debug_message = getStringCat3(mode, " ", message);
-
- if (strEqual(mode, "INIT"))
- {
- debug_print_timestamp(counter_nr, NULL);
-
- if (counter_nr + 1 < max_depth)
- debug_print_timestamp(counter_nr, debug_message);
-
- counter_nr++;
-
- debug_print_timestamp(counter_nr, NULL);
- }
- else if (strEqual(mode, "DONE"))
- {
- counter_nr--;
-
- if (counter_nr + 1 < max_depth ||
- (counter_nr == 0 && max_depth == 1))
- {
- last_message = message;
-
- if (counter_nr == 0 && max_depth == 1)
- {
- checked_free(debug_message);
- debug_message = getStringCat3("TIME", " ", message);
- }
-
- debug_print_timestamp(counter_nr, debug_message);
- }
- }
- else if (!strEqual(mode, "TIME") ||
- !strEqual(message, last_message))
- {
- if (counter_nr < max_depth)
- debug_print_timestamp(counter_nr, debug_message);
- }
-#endif
-#endif
-}
-
-static void print_timestamp_init(char *message)
-{
- print_timestamp_ext(message, "INIT");
-}
-
-static void print_timestamp_time(char *message)
-{
- print_timestamp_ext(message, "TIME");
-}
-
-static void print_timestamp_done(char *message)
-{
- print_timestamp_ext(message, "DONE");
-}
-
void DrawInitAnim()
{
struct GraphicInfo *graphic_info_last = graphic_info;
if (strEqual(value_raw, ARG_UNDEFINED))
return ARG_UNDEFINED_VALUE;
-#if 1
if (type == TYPE_ELEMENT)
{
char *value = getHashEntry(element_token_hash, value_raw);
return (value != NULL ? atoi(value) : IMG_UNDEFINED);
}
-#else
-
- int i;
- int x = 0;
-
- /* !!! THIS IS BUGGY !!! NOT SURE IF YOU GET ELEMENT ID OR GRAPHIC ID !!! */
- /* !!! (possible reason why ".clone_from" with elements doesn't work) !!! */
-
- /* !!! OPTIMIZE THIS BY USING HASH !!! */
- for (i = 0; i < MAX_NUM_ELEMENTS; i++)
- if (strEqual(element_info[i].token_name, value_raw))
- return i;
-
- /* !!! OPTIMIZE THIS BY USING HASH !!! */
- for (i = 0; image_config[i].token != NULL; i++)
- {
- int len_config_value = strlen(image_config[i].value);
-
- if (!strEqual(&image_config[i].value[len_config_value - 4], ".pcx") &&
- !strEqual(&image_config[i].value[len_config_value - 4], ".wav") &&
- !strEqual(image_config[i].value, UNDEFINED_FILENAME))
- continue;
-
- if (strEqual(image_config[i].token, value_raw))
- return x;
-
- x++;
- }
-#endif
-
return -1;
}
/* create hash from graphic token list */
graphic_token_hash = newSetupFileHash();
for (graphic = 0, i = 0; image_config[i].token != NULL; i++)
- if (strSuffix(image_config[i].value, ".pcx") ||
+ if (strSuffix(image_config[i].value, ".png") ||
+ strSuffix(image_config[i].value, ".pcx") ||
strSuffix(image_config[i].value, ".wav") ||
strEqual(image_config[i].value, UNDEFINED_FILENAME))
setHashEntry(graphic_token_hash,
font_height = getFontHeight(FC_RED);
-
-
-
-
-
-
-
-
-#if 0
- Delay(1000);
-
-#if 0
- Bitmap new_bitmap;
- printf("::: MARK 1.1\n");
- new_bitmap.surface = SDL_LoadBMP("TEST.bmp");
- printf("::: MARK 1.2\n");
-#endif
-
- char *filename = getCustomImageFilename("RocksFontSmall.pcx");
-
- printf("::: FILENAME == '%s'\n", filename);
-
-#if 1
- Bitmap *new_bitmap = LoadImage(filename);
-#else
-#if 1
- Bitmap *new_bitmap = CreateBitmapStruct();
- SDL_Surface *sdl_image_tmp;
- sdl_image_tmp = IMG_Load(filename);
- new_bitmap->surface = SDL_DisplayFormat(sdl_image_tmp);
-
-#else
- SDL_Surface *sdl_image_tmp = IMG_Load(filename);
- SDL_Surface *sdl_image = SDL_DisplayFormat(sdl_image_tmp);
-#endif
-#endif
-
- // SDL_Surface *image = SDL_LoadBMP("TEST.bmp");
- // SDL_LoadBMP("TEST.bmp");
-
- // bitmap_font_initial->surface = SDL_LoadBMP("TEST.bmp");
-
-#if 0
- printf("::: MARK 1 [%08x, %08xd]\n",
- (unsigned int)bitmap_font_initial->surface,
- (unsigned int)backbuffer->surface);
-#endif
-
- // SDL_BlitSurface(image, NULL, backbuffer->surface, NULL);
- // SDL_BlitSurface(new_bitmap.surface, NULL,backbuffer->surface, NULL);
- SDL_BlitSurface(new_bitmap->surface, NULL,backbuffer->surface, NULL);
- // SDL_BlitSurface(sdl_image, NULL,backbuffer->surface, NULL);
- // SDL_BlitSurface(bitmap_font_initial->surface, NULL,backbuffer->surface, NULL);
-
-#if 0
- printf("::: MARK 1 [%08x, %08xd, %08xd]\n",
- (unsigned int)bitmap_font_initial->surface,
- (unsigned int)backbuffer->surface,
- (unsigned int)image);
-#endif
-
- extern SDL_Window *sdl_window;
- SDL_UpdateWindowSurface(sdl_window);
-
-#if 1
-#if 0
- SDL_BlitSurface(bitmap_font_initial->surface, NULL,backbuffer->surface, NULL);
-#endif
- // SDL_UpdateWindowSurface(sdl_window);
-
- Delay(1000);
- exit(0);
-#endif
-#endif
-
-
-
-
-
-
-
-
-
-
-
#if 1
DrawInitText(getWindowTitleString(), 20, FC_YELLOW);
#else
void DisplayExitMessage(char *format, va_list ap)
{
+ // check if draw buffer and fonts for exit message are already available
+ if (drawto == NULL || font_initial[NUM_INITIAL_FONTS - 1].bitmap == NULL)
+ return;
+
int font_1 = FC_RED;
int font_2 = FC_YELLOW;
int font_3 = FC_BLUE;