SetDrawtoField(DRAW_BACKBUFFER);
- for(xx=0;xx<SCR_FIELDX;xx++)
- for(yy=0;yy<SCR_FIELDY;yy++)
+ for(xx=0; xx<SCR_FIELDX; xx++)
+ for(yy=0; yy<SCR_FIELDY; yy++)
if (xx>=x1 && xx<=x2 && yy>=y1 && yy<=y2)
DrawScreenField(xx,yy);
- DrawPlayerField(JX,JY);
+ DrawAllPlayers();
SetDrawtoField(DRAW_DIRECT);
}
HandleGameButtons(mx,my,button);
}
+#ifdef DEBUG
+ if (game_status == PLAYING && button)
+ {
+ int sx = (mx - SX) / TILEX;
+ int sy = (my - SY) / TILEY;
+
+ if (IN_SCR_FIELD(sx,sy))
+ {
+ int x = UNSCROLLX(sx);
+ int y = UNSCROLLY(sy);
+
+ printf("INFO: Feld[%d][%d] == %d\n", x,y, Feld[x][y]);
+ printf(" Store[%d][%d] == %d\n", x,y, Store[x][y]);
+ printf(" Store2[%d][%d] == %d\n", x,y, Store2[x][y]);
+ printf(" StorePlayer[%d][%d] == %d\n", x,y, StorePlayer[x][y]);
+ printf("\n");
+ }
+ }
+#endif
+
switch(game_status)
{
case MAINMENU:
if (key_status == KEY_RELEASED)
return;
- if (key==XK_Return && game_status==PLAYING && GameOver)
+ if (key==XK_Return && game_status==PLAYING && AllPlayersGone)
{
CloseDoor(DOOR_CLOSE_1);
game_status = MAINMENU;
break;
case XK_y:
+ /*
{
printf("FX = %d, FY = %d\n", FX,FY);
XSync(display,FALSE);
Delay(1000);
}
+ */
+
+ printf("direct_draw_on == %d\n", direct_draw_on);
+
+ break;
+
+ case XK_z:
+ {
+ int i;
+
+ for(i=0; i<MAX_PLAYERS; i++)
+ {
+ printf("Player %d:\n", i);
+ printf(" jx == %d, jy == %d\n",
+ stored_player[i].jx, stored_player[i].jy);
+ printf(" last_jx == %d, last_jy == %d\n",
+ stored_player[i].last_jx, stored_player[i].last_jy);
+ }
+ printf("\n");
+ }
break;
#endif
if (tape.playing || keyboard)
newbutton = ((joy & JOY_BUTTON) != 0);
- if (GameOver && newbutton)
+ if (AllPlayersGone && newbutton)
{
CloseDoor(DOOR_CLOSE_1);
game_status = MAINMENU;
return;
}
- if (tape.pausing || PlayerGone)
+ if (tape.pausing || AllPlayersGone)
joy = 0;
HandleGameActions(joy);