X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=f689f1a00baa32f7bcdadc342a753751f2a72d05;hb=59c2e609872b70cb4c458004cd9e2fe22c86a54b;hp=86a1235d1549547c18ff94da1a756e22e5dd7862;hpb=823bddb0d9cc63ddda17a2cd20266aa3b82bde38;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 86a1235d..f689f1a0 100644 --- a/src/screens.c +++ b/src/screens.c @@ -23,6 +23,7 @@ #include "tape.h" #include "joystick.h" #include "cartoons.h" +#include "network.h" #ifdef MSDOS extern unsigned char get_ascii(KeySym); @@ -204,7 +205,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) { game_status = LEVELED; if (leveldir[leveldir_nr].readonly) - AreYouSure("This level is read only !",AYS_CONFIRM); + Request("This level is read only !",REQ_CONFIRM); DrawLevelEd(); } else if (y==7) @@ -217,8 +218,13 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) if (autorecord_on) TapeStartRecording(); - game_status = PLAYING; - InitGame(); + if (network) + SendToServer_StartPlaying(); + else + { + game_status = PLAYING; + InitGame(); + } } else if (y==9) { @@ -228,7 +234,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) else if (y==10) { SavePlayerInfo(PLAYER_LEVEL); - if (AreYouSure("Do you really want to quit ?",AYS_ASK|AYS_STAY_CLOSED)) + if (Request("Do you really want to quit ?", REQ_ASK | REQ_STAY_CLOSED)) game_status = EXITGAME; } @@ -679,7 +685,9 @@ void CheckCheat() { int old_handicap = local_player->handicap; +#if 0 if (!strcmp(local_player->alias_name,"Artsoft")) +#endif local_player->handicap = leveldir[leveldir_nr].levels-1; if (local_player->handicap != old_handicap) @@ -1298,7 +1306,7 @@ void CalibrateJoystick() DrawSetupScreen(); } -void HandleGameActions(int player_action) +void HandleGameActions(byte player_action) { if (game_status != PLAYING) return; @@ -1327,7 +1335,7 @@ void HandleVideoButtons(int mx, int my, int button) { LoadLevelTape(level_nr); if (TAPE_IS_EMPTY(tape)) - AreYouSure("No tape for this level !",AYS_CONFIRM); + Request("No tape for this level !",REQ_CONFIRM); } else { @@ -1337,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) { @@ -1365,6 +1382,7 @@ void HandleVideoButtons(int mx, int my, int button) TapeTogglePause(); } break; + case BUTTON_VIDEO_PLAY: if (TAPE_IS_EMPTY(tape)) break; @@ -1372,6 +1390,7 @@ void HandleVideoButtons(int mx, int my, int button) if (TAPE_IS_STOPPED(tape)) { TapeStartPlaying(); + game_status = PLAYING; InitGame(); } @@ -1397,6 +1416,7 @@ void HandleVideoButtons(int mx, int my, int button) } } break; + default: break; } @@ -1429,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) { @@ -1445,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) { @@ -1461,6 +1483,7 @@ void HandleSoundButtons(int mx, int my, int button) else DrawSoundDisplay(BUTTON_SOUND_SIMPLE_OFF); break; + default: break; } @@ -1484,34 +1507,70 @@ void HandleGameButtons(int mx, int my, int button) break; } - if (AreYouSure("Do you really want to quit the game ?", - AYS_ASK | AYS_STAY_CLOSED)) + 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; }