X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Freademc.c;h=e26289a3ee9aa06d3513954d0291ea036e27b27a;hb=e53d58510f885c94012219b3f913b928fa8ab1cc;hp=3f366227a6785c7d0cee3010ac22f8c723c66209;hpb=d4c19f2f629758803f62f52809c889052ddf3ccf;p=rocksndiamonds.git diff --git a/src/game_em/reademc.c b/src/game_em/reademc.c index 3f366227..e26289a3 100644 --- a/src/game_em/reademc.c +++ b/src/game_em/reademc.c @@ -40,6 +40,12 @@ * behaviour. */ +/* changes for game engine integration in Rocks'n'Diamonds: + * + * added support for rolling spring (not mapped to pushed spring) + * - required for Elvis Mine 8, levels 3, 23, 48 and 73 + */ + #define GET_BE16(x) ((&x)[0] << 8 | (&x)[1]) static const short map_emc_raw[256] = @@ -62,8 +68,8 @@ static const short map_emc_raw[256] = Cdynamite_2, Cdynamite_3, Cdynamite_4, Cacid_s, // 60 Cexit_1, Cexit_2, Cexit_3, Cballoon, // 64 - Cplant, Cspring, Cspring, Cpush_spring_w, // 68 - Cpush_spring_e, Cball_1, Cball_2, Candroid, // 72 + Cplant, Cspring, Cspring, Cspring_w, // 68 + Cspring_e, Cball_1, Cball_2, Candroid, // 72 Cpause, Candroid, Candroid, Candroid, // 76 Candroid, Candroid, Candroid, Candroid, // 80 Candroid, Cblank, Cblank, Cblank, // 84 @@ -293,7 +299,7 @@ void convert_em_level(unsigned char *src, int file_version) cav.time_seconds = MIN(GET_BE16(src[2110]), 9999); cav.gems_needed = src[2095]; - cav.infinite = TRUE; + cav.infinite = game_em.use_wrap_around; cav.testmode = FALSE; cav.teamwork = (src[2150] & 128) != 0; @@ -387,6 +393,9 @@ void convert_em_level(unsigned char *src, int file_version) for (x = 0; x < 9; x++) cav.eater_array[i][x] = map_emc[src[eater_offset[i] + x]]; + if (file_version < FILE_VERSION_EM_V6) + cav.num_eater_arrays = 4; + /* ball */ temp = map_emc[src[2159]];