short **Next;
short **Draw;
-static short *Index[4][HEIGHT];
-static short Array[4][HEIGHT][WIDTH];
+static short *Index[4][WIDTH];
+static short Array[4][WIDTH][HEIGHT];
extern int screen_x;
extern int screen_y;
for (y = 0; y < HEIGHT; y++)
for (x = 0; x < WIDTH; x++)
- Array[0][y][x] = ZBORDER;
+ Array[0][x][y] = Zborder;
for (y = 0; y < HEIGHT; y++)
for (x = 0; x < WIDTH; x++)
- Array[1][y][x] = ZBORDER;
+ Array[1][x][y] = Zborder;
for (y = 0; y < HEIGHT; y++)
for (x = 0; x < WIDTH; x++)
- Array[2][y][x] = ZBORDER;
+ Array[2][x][y] = Zborder;
for (y = 0; y < HEIGHT; y++)
for (x = 0; x < WIDTH; x++)
- Array[3][y][x] = Xblank;
+ Array[3][x][y] = Xblank;
- for (y = 0; y < HEIGHT; y++)
- Index[0][y] = Array[0][y];
- for (y = 0; y < HEIGHT; y++)
- Index[1][y] = Array[1][y];
- for (y = 0; y < HEIGHT; y++)
- Index[2][y] = Array[2][y];
- for (y = 0; y < HEIGHT; y++)
- Index[3][y] = Array[3][y];
+ for (x = 0; x < WIDTH; x++)
+ Index[0][x] = Array[0][x];
+ for (x = 0; x < WIDTH; x++)
+ Index[1][x] = Array[1][x];
+ for (x = 0; x < WIDTH; x++)
+ Index[2][x] = Array[2][x];
+ for (x = 0; x < WIDTH; x++)
+ Index[3][x] = Array[3][x];
Cave = Index[0];
Next = Index[1];
Boom = Index[3];
}
-void InitGameEngine_EM()
+void InitGameEngine_EM(void)
{
prepare_em_level();
RedrawPlayfield_EM(FALSE);
}
-void UpdateGameDoorValues_EM()
+static void UpdateGameDoorValues_EM(void)
{
}
if (frame == 7)
{
- synchro_1();
- synchro_2();
+ logic_1();
+ logic_2();
}
if (frame == 6)
{
- synchro_3();
- sound_play();
+ logic_3();
UpdateGameDoorValues_EM();
}
int north = 0, east = 0, south = 0, west = 0;
int snap = 0, drop = 0;
+ if (game_em.use_single_button && action & (JOY_BUTTON_1 | JOY_BUTTON_2))
+ action |= JOY_BUTTON_1 | JOY_BUTTON_2;
+
if (action & JOY_LEFT)
west = 1;
!ply->joy_s &&
!ply->joy_w)
ply->joy_snap = snap;
+
+ /* use bug with snap key (mainly TAS keys) sometimes moving the player */
+ if (game_em.use_snap_key_bug)
+ ply->joy_snap = snap;
}
-void SaveEngineSnapshotValues_EM()
+void SaveEngineSnapshotValues_EM(void)
{
int i, j, k;
for (i = 0; i < 4; i++)
for (j = 0; j < HEIGHT; j++)
for (k = 0; k < WIDTH; k++)
- engine_snapshot_em.Array[i][j][k] = Array[i][j][k];
+ engine_snapshot_em.Array[i][k][j] = Array[i][k][j];
}
-void LoadEngineSnapshotValues_EM()
+void LoadEngineSnapshotValues_EM(void)
{
int i, j, k;
for (i = 0; i < 4; i++)
for (j = 0; j < HEIGHT; j++)
for (k = 0; k < WIDTH; k++)
- Array[i][j][k] = engine_snapshot_em.Array[i][j][k];
+ Array[i][k][j] = engine_snapshot_em.Array[i][k][j];
}