X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffiles.c;h=93ab6bc8e1b564612179ae24109ec3be17b2684c;hb=refs%2Ftags%2F3.1.2;hp=8d3cbc9986c90b83e4536bf78bc15e59f8a1ffb8;hpb=1e57e2856183b3ea50b298ec6ffb4307b584c056;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 8d3cbc99..93ab6bc8 100644 --- a/src/files.c +++ b/src/files.c @@ -114,11 +114,6 @@ void setElementChangeInfoToDefaults(struct ElementChangeInfo *change) change->random_percentage = 100; change->replace_when = CP_WHEN_EMPTY; - change->use_action = FALSE; - change->action_type = CA_NO_ACTION; - change->action_mode = CA_MODE_UNDEFINED; - change->action_arg = CA_ARG_UNDEFINED; - for (x = 0; x < 3; x++) for (y = 0; y < 3; y++) change->target_content[x][y] = EL_EMPTY_SPACE; @@ -298,9 +293,6 @@ static void setLevelInfoToDefaults(struct LevelInfo *level) element_info[element].explosion_delay = 16; element_info[element].ignition_delay = 8; - element_info[element].counter_initial = 0; - element_info[element].counter = 0; - for (x = 0; x < 3; x++) for (y = 0; y < 3; y++) element_info[element].content[x][y] = EL_EMPTY_SPACE; @@ -1306,18 +1298,8 @@ static int LoadLevel_CUS4(FILE *file, int chunk_size, struct LevelInfo *level) change->trigger_page = (change->trigger_page == CH_PAGE_ANY_FILE ? CH_PAGE_ANY : (1 << change->trigger_page)); -#if 1 - change->use_action = getFile8Bit(file); - change->action_type = getFile8Bit(file); - change->action_mode = getFile8Bit(file); - change->action_arg = getFile16BitBE(file); - - /* some free bytes for future change property values and padding */ - ReadUnusedBytesFromFile(file, 1); -#else /* some free bytes for future change property values and padding */ ReadUnusedBytesFromFile(file, 6); -#endif #else @@ -2721,8 +2703,7 @@ static void LoadLevel_InitElements(struct LevelInfo *level, char *filename) int i, j, x, y; /* map custom element change events that have changed in newer versions - (these following values were accidentally changed in version 3.0.1) - (this seems to be needed only for 'ab_levelset3' and 'ab_levelset4') */ + (these following values were accidentally changed in version 3.0.1) */ if (level->game_version <= VERSION_IDENT(3,0,0,0)) { for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) @@ -2730,7 +2711,7 @@ static void LoadLevel_InitElements(struct LevelInfo *level, char *filename) int element = EL_CUSTOM_START + i; /* order of checking and copying events to be mapped is important */ - for (j = CE_BY_OTHER_ACTION; j >= CE_COUNT_AT_ZERO; j--) + for (j = CE_BY_OTHER_ACTION; j >= CE_BY_PLAYER_OBSOLETE; j--) { if (HAS_CHANGE_EVENT(element, j - 2)) { @@ -2751,30 +2732,20 @@ static void LoadLevel_InitElements(struct LevelInfo *level, char *filename) } } -#if 0 - /* !!! TESTS SHOWED THAT THIS CODE SEGMENT IS NOT NEEDED FOR ANY LEVEL !!! */ - /* some custom element change events get mapped since version 3.0.3 */ -#if 1 - if (level->game_version >= VERSION_IDENT(3,0,3,0) && - level->game_version <= VERSION_IDENT(3,2,0,3)) -#endif + for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) { - for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) - { - int element = EL_CUSTOM_START + i; + int element = EL_CUSTOM_START + i; - if (HAS_CHANGE_EVENT(element, CE_BY_PLAYER_OBSOLETE) || - HAS_CHANGE_EVENT(element, CE_BY_COLLISION_OBSOLETE)) - { - SET_CHANGE_EVENT(element, CE_BY_PLAYER_OBSOLETE, FALSE); - SET_CHANGE_EVENT(element, CE_BY_COLLISION_OBSOLETE, FALSE); + if (HAS_CHANGE_EVENT(element, CE_BY_PLAYER_OBSOLETE) || + HAS_CHANGE_EVENT(element, CE_BY_COLLISION_OBSOLETE)) + { + SET_CHANGE_EVENT(element, CE_BY_PLAYER_OBSOLETE, FALSE); + SET_CHANGE_EVENT(element, CE_BY_COLLISION_OBSOLETE, FALSE); - SET_CHANGE_EVENT(element, CE_BY_DIRECT_ACTION, TRUE); - } + SET_CHANGE_EVENT(element, CE_BY_DIRECT_ACTION, TRUE); } } -#endif /* initialize "can_change" field for old levels with only one change page */ if (level->game_version <= VERSION_IDENT(3,0,2,0)) @@ -2789,23 +2760,20 @@ static void LoadLevel_InitElements(struct LevelInfo *level, char *filename) } /* correct custom element values (for old levels without these options) */ - if (level->game_version < VERSION_IDENT(3,1,1,0)) + for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) { - for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) - { - int element = EL_CUSTOM_START + i; - struct ElementInfo *ei = &element_info[element]; + int element = EL_CUSTOM_START + i; + struct ElementInfo *ei = &element_info[element]; - if (ei->access_direction == MV_NO_MOVING) - ei->access_direction = MV_ALL_DIRECTIONS; + if (ei->access_direction == MV_NO_MOVING) + ei->access_direction = MV_ALL_DIRECTIONS; - for (j = 0; j < ei->num_change_pages; j++) - { - struct ElementChangeInfo *change = &ei->change_page[j]; + for (j = 0; j < ei->num_change_pages; j++) + { + struct ElementChangeInfo *change = &ei->change_page[j]; - if (change->trigger_side == CH_SIDE_NONE) - change->trigger_side = CH_SIDE_ANY; - } + if (change->trigger_side == CH_SIDE_NONE) + change->trigger_side = CH_SIDE_ANY; } } @@ -3409,19 +3377,8 @@ static void SaveLevel_CUS4(FILE *file, struct LevelInfo *level, int element) putFile8Bit(file, (change->trigger_page == CH_PAGE_ANY ? CH_PAGE_ANY_FILE : log_2(change->trigger_page))); -#if 1 - - putFile8Bit(file, change->use_action); - putFile8Bit(file, change->action_type); - putFile8Bit(file, change->action_mode); - putFile16BitBE(file, change->action_arg); - - /* some free bytes for future change property values and padding */ - WriteUnusedBytesToFile(file, 1); -#else /* some free bytes for future change property values and padding */ WriteUnusedBytesToFile(file, 6); -#endif #else