rnd-19981014-1
authorHolger Schemel <info@artsoft.org>
Wed, 14 Oct 1998 08:18:36 +0000 (10:18 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:31:09 +0000 (10:31 +0200)
src/buttons.c
src/buttons.h
src/game.c
src/tools.c

index 282481bd68f853b28a245cc6656bd6750c305937..d80dd860590c531d021170b4398ff4f9711d95f1 100644 (file)
@@ -222,34 +222,65 @@ void DrawGameButton(unsigned long state)
   redraw_mask |= REDRAW_DOOR_1;
 }
 
-void DrawYesNoButton(unsigned long state)
+void DrawYesNoButton(unsigned long state, int mode)
 {
-  int pos, cx = DOOR_GFX_PAGEX4, cy = 0;
+  Drawable dest_drawto;
+  int dest_xoffset, dest_yoffset;
+  int xpos, cx = DOOR_GFX_PAGEX4;
 
-  pos = (state & BUTTON_OK ? OK_BUTTON_XPOS : NO_BUTTON_XPOS);
+  if (mode == DB_INIT)
+  {
+    dest_drawto = pix[PIX_DB_DOOR];
+    dest_xoffset = DOOR_GFX_PAGEX1;
+    dest_yoffset = 0;
+  }
+  else
+  {
+    dest_drawto = drawto;
+    dest_xoffset = DX;
+    dest_yoffset = DY;
+  }
+
+  xpos = (state & BUTTON_OK ? OK_BUTTON_XPOS : NO_BUTTON_XPOS);
 
   if (state & BUTTON_PRESSED)
     cx = DOOR_GFX_PAGEX3;
 
-  XCopyArea(display,pix[PIX_DOOR],drawto,gc,
-           cx + pos,cy + OK_BUTTON_GFX_YPOS,
-           OK_BUTTON_XSIZE,OK_BUTTON_YSIZE,
-           DX + pos,DY + OK_BUTTON_YPOS);
+  XCopyArea(display, pix[PIX_DOOR], dest_drawto, gc,
+           cx + xpos, OK_BUTTON_GFX_YPOS,
+           OK_BUTTON_XSIZE, OK_BUTTON_YSIZE,
+           dest_xoffset + xpos, dest_yoffset + OK_BUTTON_YPOS);
 
   redraw_mask |= REDRAW_DOOR_1;
 }
 
-void DrawConfirmButton(unsigned long state)
+void DrawConfirmButton(unsigned long state, int mode)
 {
-  int cx = DOOR_GFX_PAGEX4, cy = 0;
+  Drawable dest_drawto;
+  int dest_xoffset, dest_yoffset;
+  int cx = DOOR_GFX_PAGEX4;
+
+  if (mode == DB_INIT)
+  {
+    dest_drawto = pix[PIX_DB_DOOR];
+    dest_xoffset = DOOR_GFX_PAGEX1;
+    dest_yoffset = 0;
+  }
+  else
+  {
+    dest_drawto = drawto;
+    dest_xoffset = DX;
+    dest_yoffset = DY;
+  }
 
   if (state & BUTTON_PRESSED)
     cx = DOOR_GFX_PAGEX3;
 
-  XCopyArea(display,pix[PIX_DOOR],drawto,gc,
-           cx + CONFIRM_BUTTON_XPOS,cy + CONFIRM_BUTTON_GFX_YPOS,
-           CONFIRM_BUTTON_XSIZE,CONFIRM_BUTTON_YSIZE,
-           DX + CONFIRM_BUTTON_XPOS,DY + CONFIRM_BUTTON_YPOS);
+  XCopyArea(display, pix[PIX_DOOR], dest_drawto, gc,
+           cx + CONFIRM_BUTTON_XPOS, CONFIRM_BUTTON_GFX_YPOS,
+           CONFIRM_BUTTON_XSIZE, CONFIRM_BUTTON_YSIZE,
+           dest_xoffset + CONFIRM_BUTTON_XPOS,
+           dest_yoffset + CONFIRM_BUTTON_YPOS);
 
   redraw_mask |= REDRAW_DOOR_1;
 }
@@ -296,7 +327,7 @@ void DrawPlayerButton(unsigned long state, int mode)
     graphic_offset += 1;
   }
 
-  XCopyArea(display,pix[PIX_DOOR],dest_drawto,gc,
+  XCopyArea(display, pix[PIX_DOOR], dest_drawto, gc,
            cx + PLAYER_BUTTON_GFX_XPOS, cy + PLAYER_BUTTON_GFX_YPOS,
            PLAYER_BUTTON_XSIZE, PLAYER_BUTTON_YSIZE,
            dest_xoffset + xpos, dest_yoffset + ypos);
@@ -694,7 +725,7 @@ int CheckYesNoButtons(int mx, int my, int button)
       {
        choice = YESNO_BUTTON(mx);
        pressed = TRUE;
-       DrawYesNoButton(yesno_button[choice] | BUTTON_PRESSED);
+       DrawYesNoButton(yesno_button[choice] | BUTTON_PRESSED, DB_NORMAL);
       }
     }
     else                       /* Mausbewegung bei gedrückter Maustaste */
@@ -703,12 +734,12 @@ int CheckYesNoButtons(int mx, int my, int button)
          choice>=0 && pressed)
       {
        pressed = FALSE;
-       DrawYesNoButton(yesno_button[choice] | BUTTON_RELEASED);
+       DrawYesNoButton(yesno_button[choice] | BUTTON_RELEASED, DB_NORMAL);
       }
       else if (ON_YESNO_BUTTON(mx,my) && YESNO_BUTTON(mx)==choice && !pressed)
       {
        pressed = TRUE;
-       DrawYesNoButton(yesno_button[choice] | BUTTON_PRESSED);
+       DrawYesNoButton(yesno_button[choice] | BUTTON_PRESSED, DB_NORMAL);
       }
     }
   }
@@ -716,7 +747,7 @@ int CheckYesNoButtons(int mx, int my, int button)
   {
     if (ON_YESNO_BUTTON(mx,my) && YESNO_BUTTON(mx)==choice && pressed)
     {
-      DrawYesNoButton(yesno_button[choice] | BUTTON_RELEASED);
+      DrawYesNoButton(yesno_button[choice] | BUTTON_RELEASED, DB_NORMAL);
       return_code = choice+1;
       choice = -1;
       pressed = FALSE;
@@ -746,7 +777,7 @@ int CheckConfirmButton(int mx, int my, int button)
       {
        choice = 0;
        pressed = TRUE;
-       DrawConfirmButton(BUTTON_PRESSED);
+       DrawConfirmButton(BUTTON_PRESSED, DB_NORMAL);
       }
     }
     else                       /* Mausbewegung bei gedrückter Maustaste */
@@ -754,12 +785,12 @@ int CheckConfirmButton(int mx, int my, int button)
       if (!ON_CONFIRM_BUTTON(mx,my) && choice>=0 && pressed)
       {
        pressed = FALSE;
-       DrawConfirmButton(BUTTON_RELEASED);
+       DrawConfirmButton(BUTTON_RELEASED, DB_NORMAL);
       }
       else if (ON_CONFIRM_BUTTON(mx,my) && !pressed)
       {
        pressed = TRUE;
-       DrawConfirmButton(BUTTON_PRESSED);
+       DrawConfirmButton(BUTTON_PRESSED, DB_NORMAL);
       }
     }
   }
@@ -767,7 +798,7 @@ int CheckConfirmButton(int mx, int my, int button)
   {
     if (ON_CONFIRM_BUTTON(mx,my) && pressed)
     {
-      DrawConfirmButton(BUTTON_RELEASED);
+      DrawConfirmButton(BUTTON_RELEASED, DB_NORMAL);
       return_code = BUTTON_CONFIRM;
       choice = -1;
       pressed = FALSE;
index 9ed110c895c1558ee0668d754d71482d5991803e..f6d3341fadda24c517ef6687feab6af044be93fc 100644 (file)
@@ -541,8 +541,8 @@ void DrawVideoDisplay(unsigned long, unsigned long);
 void DrawCompleteVideoDisplay(void);
 void DrawSoundDisplay(unsigned long);
 void DrawGameButton(unsigned long);
-void DrawYesNoButton(unsigned long);
-void DrawConfirmButton(unsigned long);
+void DrawYesNoButton(unsigned long, int);
+void DrawConfirmButton(unsigned long, int);
 void DrawPlayerButton(unsigned long, int);
 void DrawEditButton(unsigned long state);
 void DrawCtrlButton(unsigned long state);
index 9c152d05f7e91c9d9a370ebcf46bdbc769537397..622a1857a553a41e70a89b7a00a9c5ff0cc152d4 100644 (file)
@@ -134,20 +134,10 @@ void InitGame()
 
   network_player_action_received = FALSE;
 
-
-
   /* initial null action */
   if (network_playing)
     SendToServer_MovePlayer(MV_NO_MOVING);
 
-
-
-  /*
-  printf("BLURB\n");
-  */
-
-
-
   ZX = ZY = -1;
 
   MampferNr = 0;
index 7efa122be50395c7bc392b5b28c426b8bd406400..303dc46981781b72e2b3a3cf161aaec4ae471b24 100644 (file)
@@ -1352,44 +1352,20 @@ BOOL Request(char *text, unsigned int req_state)
   }
 
   if (req_state & REQ_ASK)
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4,OK_BUTTON_GFX_YPOS,
-             DXSIZE,OK_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1,OK_BUTTON_YPOS);
+  {
+    DrawYesNoButton(BUTTON_OK, DB_INIT);
+    DrawYesNoButton(BUTTON_NO, DB_INIT);
+  }
   else if (req_state & REQ_CONFIRM)
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4,CONFIRM_BUTTON_GFX_YPOS,
-             DXSIZE,CONFIRM_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1,CONFIRM_BUTTON_YPOS);
+  {
+    DrawConfirmButton(BUTTON_CONFIRM, DB_INIT);
+  }
   else if (req_state & REQ_PLAYER)
   {
     DrawPlayerButton(BUTTON_PLAYER_1, DB_INIT);
     DrawPlayerButton(BUTTON_PLAYER_2, DB_INIT);
     DrawPlayerButton(BUTTON_PLAYER_3, DB_INIT);
     DrawPlayerButton(BUTTON_PLAYER_4, DB_INIT);
-
-    /*
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4 + PLAYER_BUTTON_GFX_XPOS, PLAYER_BUTTON_GFX_YPOS,
-             PLAYER_BUTTON_XSIZE,PLAYER_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1 + PLAYER_BUTTON_1_XPOS, PLAYER_BUTTON_1_YPOS);
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4 + PLAYER_BUTTON_GFX_XPOS, PLAYER_BUTTON_GFX_YPOS,
-             PLAYER_BUTTON_XSIZE,PLAYER_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1 + PLAYER_BUTTON_1_XPOS, PLAYER_BUTTON_1_YPOS);
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4 + PLAYER_BUTTON_GFX_XPOS, PLAYER_BUTTON_GFX_YPOS,
-             PLAYER_BUTTON_XSIZE,PLAYER_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1 + PLAYER_BUTTON_2_XPOS, PLAYER_BUTTON_2_YPOS);
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4 + PLAYER_BUTTON_GFX_XPOS, PLAYER_BUTTON_GFX_YPOS,
-             PLAYER_BUTTON_XSIZE,PLAYER_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1 + PLAYER_BUTTON_3_XPOS, PLAYER_BUTTON_3_YPOS);
-    XCopyArea(display,pix[PIX_DOOR],pix[PIX_DB_DOOR],gc,
-             DOOR_GFX_PAGEX4 + PLAYER_BUTTON_GFX_XPOS, PLAYER_BUTTON_GFX_YPOS,
-             PLAYER_BUTTON_XSIZE,PLAYER_BUTTON_YSIZE,
-             DOOR_GFX_PAGEX1 + PLAYER_BUTTON_4_XPOS, PLAYER_BUTTON_4_YPOS);
-    */
   }
 
   OpenDoor(DOOR_OPEN_1);