X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=86b4ecaec8e64acd0d09510a9fcb2a485dea11a5;hb=c781e660ed2fe6ad36c9eee0a77d64ee07163030;hp=ddb8ff5fece3c0aa3c88a7fa33bc0c1980b2151a;hpb=30d4bba6b5c11c262a79d442b67defe7eba9bfde;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index ddb8ff5f..86b4ecae 100644 --- a/src/init.c +++ b/src/init.c @@ -548,6 +548,34 @@ void InitElementGraphicInfo() } } +#if 1 + /* now set all undefined/invalid graphics to -1 to set to default after it */ + for (i=0; i= 0 && special < NUM_SPECIAL_GFX_ARGS) element_info[element].special_graphic[special] = graphic; } + +#if 1 + /* now set all undefined/invalid graphics to default */ + for (i=0; i < MAX_NUM_ELEMENTS; i++) + for (j=0; j < NUM_SPECIAL_GFX_ARGS; j++) + if (graphic_info[element_info[i].special_graphic[j]].bitmap == NULL) + element_info[i].special_graphic[j] = + element_info[i].graphic[ACTION_DEFAULT]; +#endif } static int get_element_from_token(char *token) @@ -879,7 +916,7 @@ static void InitGraphicInfo() int first_frame, last_frame; #if 0 - printf("::: image: '%s'\n", image->token); + printf("::: image: '%s' [%d]\n", image->token, i); #endif #if 0 @@ -1774,6 +1811,7 @@ void InitElementPropertiesStatic() EL_PLAYER_2, EL_PLAYER_3, EL_PLAYER_4, + EL_SP_MURPHY, -1 }; @@ -2791,6 +2829,12 @@ void InitElementPropertiesEngine(int engine_version) element_info[i].token_name, element_info[i].crumbled[ACTION_DEFAULT]); #endif + + /* ---------- CAN_CHANGE ----------------------------------------------- */ + SET_PROPERTY(i, EP_CAN_CHANGE, FALSE); /* default: cannot change */ + for (j=0; j < element_info[i].num_change_pages; j++) + if (element_info[i].change_page[j].can_change) + SET_PROPERTY(i, EP_CAN_CHANGE, TRUE); } #if 0 @@ -3203,7 +3247,7 @@ void InitLevelArtworkInfo() static void InitImages() { -#if 0 +#if 1 setLevelArtworkDir(artwork.gfx_first); #endif @@ -3229,7 +3273,7 @@ static void InitSound(char *identifier) if (identifier == NULL) identifier = artwork.snd_current->identifier; -#if 0 +#if 1 /* set artwork path to send it to the sound server process */ setLevelArtworkDir(artwork.snd_first); #endif @@ -3243,7 +3287,7 @@ static void InitMusic(char *identifier) if (identifier == NULL) identifier = artwork.mus_current->identifier; -#if 0 +#if 1 /* set artwork path to send it to the sound server process */ setLevelArtworkDir(artwork.mus_first); #endif @@ -3286,6 +3330,7 @@ static char *getNewArtworkIdentifier(int type) char *setup_artwork_set = SETUP_ARTWORK_SET(setup, type); char *leveldir_identifier = leveldir_current->identifier; #if 1 + /* !!! setLevelArtworkDir() should be moved to an earlier stage !!! */ char *leveldir_artwork_set = setLevelArtworkDir(artwork_first_node); #else char *leveldir_artwork_set = LEVELDIR_ARTWORK_SET(leveldir_current, type); @@ -3496,6 +3541,7 @@ void OpenAll() InitEventFilter(FilterMouseMotionEvents); InitElementPropertiesStatic(); + InitElementPropertiesEngine(GAME_VERSION_ACTUAL); InitGfx();