rnd-19981013-1
[rocksndiamonds.git] / src / screens.c
index 7ada948031b64f49761b25a0022ef27c0236454f..f689f1a00baa32f7bcdadc342a753751f2a72d05 100644 (file)
@@ -215,16 +215,16 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
       }
       else if (y==8)
       {
-       if (standalone)
-       {
-         if (autorecord_on)
-           TapeStartRecording();
+       if (autorecord_on)
+         TapeStartRecording();
 
+       if (network)
+         SendToServer_StartPlaying();
+       else
+       {
          game_status = PLAYING;
          InitGame();
        }
-       else
-         SendToServer_StartPlaying();
       }
       else if (y==9)
       {
@@ -234,7 +234,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
       else if (y==10)
       {
        SavePlayerInfo(PLAYER_LEVEL);
-        if (Request("Do you really want to quit ?",REQ_ASK|REQ_STAY_CLOSED))
+        if (Request("Do you really want to quit ?", REQ_ASK | REQ_STAY_CLOSED))
          game_status = EXITGAME;
       }
 
@@ -1345,18 +1345,27 @@ void HandleVideoButtons(int mx, int my, int button)
       }
       DrawCompleteVideoDisplay();
       break;
+
     case BUTTON_VIDEO_STOP:
       TapeStop();
       break;
+
     case BUTTON_VIDEO_PAUSE:
       TapeTogglePause();
       break;
+
     case BUTTON_VIDEO_REC:
       if (TAPE_IS_STOPPED(tape))
       {
        TapeStartRecording();
-       game_status = PLAYING;
-       InitGame();
+
+       if (network)
+         SendToServer_StartPlaying();
+       else
+       {
+         game_status = PLAYING;
+         InitGame();
+       }
       }
       else if (tape.pausing)
       {
@@ -1373,6 +1382,7 @@ void HandleVideoButtons(int mx, int my, int button)
          TapeTogglePause();
       }
       break;
+
     case BUTTON_VIDEO_PLAY:
       if (TAPE_IS_EMPTY(tape))
        break;
@@ -1380,6 +1390,7 @@ void HandleVideoButtons(int mx, int my, int button)
       if (TAPE_IS_STOPPED(tape))
       {
        TapeStartPlaying();
+
        game_status = PLAYING;
        InitGame();
       }
@@ -1405,6 +1416,7 @@ void HandleVideoButtons(int mx, int my, int button)
        }
       }
       break;
+
     default:
       break;
   }
@@ -1437,6 +1449,7 @@ void HandleSoundButtons(int mx, int my, int button)
       else
        DrawSoundDisplay(BUTTON_SOUND_MUSIC_OFF);
       break;
+
     case BUTTON_SOUND_LOOPS:
       if (sound_loops_on)
       { 
@@ -1453,6 +1466,7 @@ void HandleSoundButtons(int mx, int my, int button)
       else
        DrawSoundDisplay(BUTTON_SOUND_LOOPS_OFF);
       break;
+
     case BUTTON_SOUND_SIMPLE:
       if (sound_simple_on)
       { 
@@ -1469,6 +1483,7 @@ void HandleSoundButtons(int mx, int my, int button)
       else
        DrawSoundDisplay(BUTTON_SOUND_SIMPLE_OFF);
       break;
+
     default:
       break;
   }
@@ -1495,31 +1510,67 @@ void HandleGameButtons(int mx, int my, int button)
       if (Request("Do you really want to quit the game ?",
                  REQ_ASK | REQ_STAY_CLOSED))
       { 
-       game_status = MAINMENU;
-       DrawMainMenu();
+       if (network)
+         SendToServer_StopPlaying();
+       else
+       {
+         game_status = MAINMENU;
+         DrawMainMenu();
+       }
       }
       else
        OpenDoor(DOOR_OPEN_1 | DOOR_COPY_BACK);
       break;
+
     case BUTTON_GAME_PAUSE:
+      if (network)
+      {
+       if (tape.pausing)
+         SendToServer_ContinuePlaying();
+       else
+         SendToServer_PausePlaying();
+      }
+      else
+       TapeTogglePause();
+
+      /*
       if (tape.pausing)
       {
-       tape.pausing = FALSE;
-       DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0);
+       if (network)
+         SendToServer_ContinuePlaying();
+       else
+       {
+         tape.pausing = FALSE;
+         DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0);
+       }
       }
       else
       {
-       tape.pausing = TRUE;
-       DrawVideoDisplay(VIDEO_STATE_PAUSE_ON,0);
+       if (network)
+         SendToServer_PausePlaying();
+       else
+       {
+         tape.pausing = TRUE;
+         DrawVideoDisplay(VIDEO_STATE_PAUSE_ON,0);
+       }
       }
+      */
+
       break;
+
     case BUTTON_GAME_PLAY:
       if (tape.pausing)
       {
-       tape.pausing = FALSE;
-       DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0);
+       if (network)
+         SendToServer_ContinuePlaying();
+       else
+       {
+         tape.pausing = FALSE;
+         DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0);
+       }
       }
       break;
+
     default:
       break;
   }