X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=9a2cdd41b6f6cce864ff645838e8572564bd3d9d;hb=1478ab1f979ae33fd900e5148c5d00dcba5ad402;hp=039be790270c51f9eb82c11990f3d6986d67d1be;hpb=5e8d9d0308f76bb35e7578a8859d6f01977d0f69;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index 039be790..9a2cdd41 100644 --- a/src/events.c +++ b/src/events.c @@ -167,11 +167,11 @@ void HandleExposeEvent(XExposeEvent *event) SetDrawtoField(DRAW_BACKBUFFER); - for(xx=0;xx=x1 && xx<=x2 && yy>=y1 && yy<=y2) DrawScreenField(xx,yy); - DrawPlayerField(JX,JY); + DrawAllPlayers(); SetDrawtoField(DRAW_DIRECT); } @@ -267,6 +267,29 @@ void HandleButton(int mx, int my, int button) 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 = LEVELX(sx); + int y = LEVELY(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(" MovPos[%d][%d] == %d\n", x,y, MovPos[x][y]); + printf(" MovDir[%d][%d] == %d\n", x,y, MovDir[x][y]); + printf(" MovDelay[%d][%d] == %d\n", x,y, MovDelay[x][y]); + printf("\n"); + } + } +#endif + switch(game_status) { case MAINMENU: @@ -438,7 +461,7 @@ void HandleKey(KeySym key, int key_status) 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; @@ -611,6 +634,7 @@ void HandleKey(KeySym key, int key_status) break; case XK_y: + /* { printf("FX = %d, FY = %d\n", FX,FY); @@ -622,6 +646,26 @@ void HandleKey(KeySym key, int key_status) XSync(display,FALSE); Delay(1000); } + */ + + printf("direct_draw_on == %d\n", direct_draw_on); + + break; + + case XK_z: + { + int i; + + for(i=0; i