X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fconvert.c;h=3f86d332a3157c233d5127e621259ffd729a93b8;hb=e6c0b4c0114691d197018f878e0150a3f5d8490e;hp=2672054fb4388034e83e52bec6e0bd6108e552d1;hpb=73dd81c85be90e466493bcc6f45c402d29bc7f20;p=rocksndiamonds.git diff --git a/src/game_em/convert.c b/src/game_em/convert.c index 2672054f..3f86d332 100644 --- a/src/game_em/convert.c +++ b/src/game_em/convert.c @@ -423,7 +423,11 @@ static unsigned short remap_emerald[256] = void convert_em_level(unsigned char *src) { - unsigned int x, y, temp; + static int eater_offset[8] = + { + 0x800, 0x809, 0x812, 0x81B, 0x840, 0x849, 0x852, 0x85B + }; + unsigned int i, x, y, temp; temp = ((src[0x83E] << 8 | src[0x83F]) * 25 + 3) / 4; if (temp == 0 || temp > 9999) @@ -486,22 +490,9 @@ void convert_em_level(unsigned char *src) lev.wonderwall_state_initial = 0; lev.wonderwall_time_initial = src[0x836] << 8 | src[0x837]; - for (x = 0; x < 9; x++) - lev.eater_array[0][x] = remap_emerald[src[0x800 + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[1][x] = remap_emerald[src[0x809 + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[2][x] = remap_emerald[src[0x812 + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[3][x] = remap_emerald[src[0x81B + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[4][x] = remap_emerald[src[0x840 + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[5][x] = remap_emerald[src[0x849 + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[6][x] = remap_emerald[src[0x852 + x]]; - for (x = 0; x < 9; x++) - lev.eater_array[7][x] = remap_emerald[src[0x85B + x]]; + for (i = 0; i < 8; i++) + for (x = 0; x < 9; x++) + lev.eater_array[i][x] = remap_emerald[src[eater_offset[i] + x]]; temp = remap_emerald[src[0x86F]]; for (y = 0; y < 8; y++) @@ -513,14 +504,14 @@ void convert_em_level(unsigned char *src) } else { - lev.ball_array[y][1] = (src[0x873] & 1) ? temp : Xblank; /* north */ - lev.ball_array[y][6] = (src[0x873] & 2) ? temp : Xblank; /* south */ - lev.ball_array[y][3] = (src[0x873] & 4) ? temp : Xblank; /* west */ - lev.ball_array[y][4] = (src[0x873] & 8) ? temp : Xblank; /* east */ + lev.ball_array[y][1] = (src[0x873] & 1) ? temp : Xblank; /* north */ + lev.ball_array[y][6] = (src[0x873] & 2) ? temp : Xblank; /* south */ + lev.ball_array[y][3] = (src[0x873] & 4) ? temp : Xblank; /* west */ + lev.ball_array[y][4] = (src[0x873] & 8) ? temp : Xblank; /* east */ lev.ball_array[y][7] = (src[0x873] & 16) ? temp : Xblank; /* southeast */ lev.ball_array[y][5] = (src[0x873] & 32) ? temp : Xblank; /* southwest */ lev.ball_array[y][2] = (src[0x873] & 64) ? temp : Xblank; /* northeast */ - lev.ball_array[y][0] = (src[0x873] & 128) ? temp : Xblank;/* northwest */ + lev.ball_array[y][0] = (src[0x873] & 128)? temp : Xblank; /* northwest */ } }