X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=e3bdd9c8f33fe0ca3f351f13cc0e9a294ecc5ada;hb=d6a1a6cb31174ac804f9ad54a919d65478da588f;hp=307350325c759bfecd14640cc8027f120e3ca1f6;hpb=e5367ee42312c8835125438511d8479aa2daa094;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 30735032..e3bdd9c8 100644 --- a/src/init.c +++ b/src/init.c @@ -38,9 +38,6 @@ #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; @@ -89,72 +86,6 @@ static int copy_properties[][5] = }; -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; @@ -1196,7 +1127,6 @@ static int get_graphic_parameter_value(char *value_raw, char *suffix, int type) if (strEqual(value_raw, ARG_UNDEFINED)) return ARG_UNDEFINED_VALUE; -#if 1 if (type == TYPE_ELEMENT) { char *value = getHashEntry(element_token_hash, value_raw); @@ -1210,36 +1140,6 @@ static int get_graphic_parameter_value(char *value_raw, char *suffix, int type) 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; } @@ -5059,7 +4959,8 @@ static void InitGlobal() /* 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, @@ -5644,91 +5545,6 @@ void InitGfx() 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 @@ -6363,6 +6179,10 @@ void KeyboardAutoRepeatOffUnlessAutoplay() 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; @@ -6552,6 +6372,24 @@ void OpenAll() DrawMainMenu(); InitNetworkServer(); + +#if 0 + Error(ERR_DEBUG, "::: SDL_GetBasePath() == '%s'", + SDL_GetBasePath()); + Error(ERR_DEBUG, "::: SDL_GetPrefPath() == '%s'", + SDL_GetPrefPath("artsoft", "rocksndiamonds")); +#if defined(PLATFORM_ANDROID) + Error(ERR_DEBUG, "::: SDL_AndroidGetInternalStoragePath() == '%s'", + SDL_AndroidGetInternalStoragePath()); + Error(ERR_DEBUG, "::: SDL_AndroidGetExternalStoragePath() == '%s'", + SDL_AndroidGetExternalStoragePath()); + Error(ERR_DEBUG, "::: SDL_AndroidGetExternalStorageState() == '%s'", + (SDL_AndroidGetExternalStorageState() == + SDL_ANDROID_EXTERNAL_STORAGE_READ ? "read" : + SDL_AndroidGetExternalStorageState() == + SDL_ANDROID_EXTERNAL_STORAGE_WRITE ? "write" : "not available")); +#endif +#endif } void CloseAllAndExit(int exit_value)