boolean getTeamMode_EM(void);
boolean isActivePlayer_EM(int);
+int getScreenFieldSizeX(void);
+int getScreenFieldSizeY(void);
+
void PlayLevelSound_EM(int, int, int, int);
void InitGraphicInfo_EM(void);
boolean CheckSingleStepMode_EM(byte action[], int, boolean, boolean, boolean);
static boolean AllPlayersInSight(struct PlayerInfo *player, int x, int y)
{
int min_x = x, min_y = y, max_x = x, max_y = y;
+ int scr_fieldx = getScreenFieldSizeX();
+ int scr_fieldy = getScreenFieldSizeY();
int i;
for (i = 0; i < MAX_PLAYERS; i++)
max_y = MAX(max_y, jy);
}
- return (max_x - min_x < SCR_FIELDX && max_y - min_y < SCR_FIELDY);
+ return (max_x - min_x < scr_fieldx && max_y - min_y < scr_fieldy);
}
static boolean AllPlayersInVisibleScreen(void)
boolean checkIfAllPlayersFitToScreen(void)
{
int sx1 = 0, sy1 = 0, sx2 = 0, sy2 = 0;
+ int scr_fieldx = getScreenFieldSizeX();
+ int scr_fieldy = getScreenFieldSizeY();
setMinimalPlayerBoundaries(&sx1, &sy1, &sx2, &sy2);
- return (sx2 - sx1 <= SCR_FIELDX * TILEX &&
- sy2 - sy1 <= SCR_FIELDY * TILEY);
+ return (sx2 - sx1 <= scr_fieldx * TILEX &&
+ sy2 - sy1 <= scr_fieldy * TILEY);
}
static void setScreenCenteredToAllPlayers(int *sx, int *sy)
return getLevelFromScreenY_RND(y);
}
+int getScreenFieldSizeX(void)
+{
+ return (tape.playing ? tape.scr_fieldx : SCR_FIELDX);
+}
+
+int getScreenFieldSizeY(void)
+{
+ return (tape.playing ? tape.scr_fieldy : SCR_FIELDY);
+}
+
void DumpTile(int x, int y)
{
int sx = SCREENX(x);
int getLevelFromScreenX(int);
int getLevelFromScreenY(int);
+int getScreenFieldSizeX(void);
+int getScreenFieldSizeY(void);
+
void DumpTile(int, int);
void DumpTileFromScreen(int, int);