X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=202488857945ad37fe0ca2ba18c407fe31bdaba1;hb=c405cf118d3d31c2b6e1fe935671ecdaeb031f8f;hp=02b29cdc66275026b1f57773c30654ef56a791c0;hpb=3e7289558277c65b6ddcbef0f663d100e7d237fc;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 02b29cdc..20248885 100644 --- a/src/init.c +++ b/src/init.c @@ -560,6 +560,11 @@ void InitElementGraphicInfo() } } +#if 1 + /* set hardcoded definitions for some runtime elements without graphic */ + element_info[EL_AMOEBA_TO_DIAMOND].graphic[ACTION_DEFAULT] = IMG_AMOEBA_DEAD; +#endif + #if 1 /* now set all undefined/invalid graphics to -1 to set to default after it */ for (i = 0; i < MAX_NUM_ELEMENTS; i++) @@ -646,6 +651,7 @@ void InitElementGraphicInfo() default_action_crumbled = element_info[EL_SB_DEFAULT].crumbled[act]; #if 1 + /* !!! needed because EL_EMPTY_SPACE treated as IS_SP_ELEMENT !!! */ /* !!! make this better !!! */ if (i == EL_EMPTY_SPACE) { @@ -3655,6 +3661,15 @@ void InitElementPropertiesEngine(int engine_version) static void InitGlobal() { + int i; + + for (i = 0; i < MAX_NUM_ELEMENTS + 1; i++) + { + element_info[i].token_name = element_name_info[i].token_name; + element_info[i].class_name = element_name_info[i].class_name; + element_info[i].editor_description=element_name_info[i].editor_description; + } + global.autoplay_leveldir = NULL; global.convert_leveldir = NULL; @@ -4419,6 +4434,10 @@ void OpenAll() game_status = GAME_MODE_MAIN; +#if 1 + em_open_all(); +#endif + DrawMainMenu(); InitNetworkServer(); @@ -4431,6 +4450,10 @@ void CloseAllAndExit(int exit_value) FreeAllMusic(); CloseAudio(); /* called after freeing sounds (needed for SDL) */ +#if 1 + em_close_all(); +#endif + FreeAllImages(); FreeTileClipmasks();