X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fconvert.c;h=65efdcc13f78f88ee89ed9a0851bb08e68620126;hb=4a35c39bbc9ffdcbf15953cb699fc8147ccce25d;hp=0b3f05aa04a5c96c8467b3b20f5f28a7028ca3ca;hpb=48e1901624a8e50765f16a6825ab0ccb7cfe819a;p=rocksndiamonds.git diff --git a/src/game_em/convert.c b/src/game_em/convert.c index 0b3f05aa..65efdcc1 100644 --- a/src/game_em/convert.c +++ b/src/game_em/convert.c @@ -938,18 +938,20 @@ void prepare_em_level(void) /* reset all runtime variables to their initial values */ - for (y = 0; y < CAVE_HEIGHT; y++) - for (x = 0; x < CAVE_WIDTH; x++) - lev.cave[x + CAVE_BUFFER_XOFFSET][y + CAVE_BUFFER_YOFFSET] = - native_em_level.cave[x][y]; + game_init_cave_buffers(); + + lev.left = CAVE_BUFFER_XOFFSET; + lev.top = CAVE_BUFFER_YOFFSET; + lev.right = lev.left + lev.width; + lev.bottom = lev.top + lev.height; - for (y = 0; y < CAVE_BUFFER_HEIGHT; y++) - for (x = 0; x < CAVE_BUFFER_WIDTH; x++) - lev.next[x][y] = lev.cave[x][y]; + for (x = 0; x < lev.width; x++) + for (y = 0; y < lev.height; y++) + lev.cave[lev.left + x][lev.top + y] = native_em_level.cave[x][y]; - for (y = 0; y < CAVE_BUFFER_HEIGHT; y++) - for (x = 0; x < CAVE_BUFFER_WIDTH; x++) - lev.draw[x][y] = lev.cave[x][y]; + for (x = lev.left; x < lev.right; x++) + for (y = lev.top; y < lev.bottom; y++) + lev.next[x][y] = lev.draw[x][y] = lev.cave[x][y]; lev.time_initial = lev.time_seconds; lev.time = lev.time_initial; @@ -1022,9 +1024,9 @@ void prepare_em_level(void) native_em_level.cave[x][y] = Xblank; - lev.cave[x + CAVE_BUFFER_XOFFSET][y + CAVE_BUFFER_YOFFSET] = Xblank; - lev.next[x + CAVE_BUFFER_XOFFSET][y + CAVE_BUFFER_YOFFSET] = Xblank; - lev.draw[x + CAVE_BUFFER_XOFFSET][y + CAVE_BUFFER_YOFFSET] = Xblank; + lev.cave[lev.left + x][lev.top + y] = Xblank; + lev.next[lev.left + x][lev.top + y] = Xblank; + lev.draw[lev.left + x][lev.top + y] = Xblank; } } } @@ -1037,8 +1039,8 @@ void prepare_em_level(void) ply[i].dynamite_cnt = 0; ply[i].keys = 0; ply[i].anim = 0; - ply[i].oldx = ply[i].x = ply[i].x_initial + CAVE_BUFFER_XOFFSET; - ply[i].oldy = ply[i].y = ply[i].y_initial + CAVE_BUFFER_YOFFSET; + ply[i].oldx = ply[i].x = ply[i].x_initial + lev.left; + ply[i].oldy = ply[i].y = ply[i].y_initial + lev.top; ply[i].last_move_dir = MV_NONE; ply[i].joy_n = ply[i].joy_e = ply[i].joy_s = ply[i].joy_w = 0; ply[i].joy_snap = ply[i].joy_drop = 0;