X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=f689f1a00baa32f7bcdadc342a753751f2a72d05;hb=59c2e609872b70cb4c458004cd9e2fe22c86a54b;hp=7ada948031b64f49761b25a0022ef27c0236454f;hpb=d32496fdd3867910a188acba0ac132f66c99306c;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 7ada9480..f689f1a0 100644 --- a/src/screens.c +++ b/src/screens.c @@ -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; }