X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=d728c42a24a4ac7ec2eeabd1fb9415f9b01937ba;hp=5cc2e514e2e3b82ccf3c35344b4b159fb7a2f3b1;hb=e5c5bf5c4a76a04f9bf64e92227bf2ef969fd25c;hpb=f45528c08776cd2c87a83bf3ec7e1f7fe7b18765 diff --git a/src/screens.c b/src/screens.c index 5cc2e514..d728c42a 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1,13 +1,12 @@ /*********************************************************** * Rocks'n'Diamonds -- McDuffin Strikes Back! * *----------------------------------------------------------* -* ©1995 Artsoft Development * -* Holger Schemel * -* 33659 Bielefeld-Senne * -* Telefon: (0521) 493245 * -* eMail: aeglos@valinor.owl.de * -* aeglos@uni-paderborn.de * -* q99492@pbhrzx.uni-paderborn.de * +* (c) 1995-98 Artsoft Entertainment * +* Holger Schemel * +* Oststrasse 11a * +* 33604 Bielefeld * +* phone: ++49 +521 290471 * +* email: aeglos@valinor.owl.de * *----------------------------------------------------------* * screens.c * ***********************************************************/ @@ -24,6 +23,7 @@ #include "tape.h" #include "joystick.h" #include "cartoons.h" +#include "network.h" #ifdef MSDOS extern unsigned char get_ascii(KeySym); @@ -205,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) @@ -215,11 +215,16 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) } else if (y==8) { - if (autorecord_on) + if (setup.autorecord_on) TapeStartRecording(); - game_status = PLAYING; - InitGame(); + if (options.network) + SendToServer_StartPlaying(); + else + { + game_status = PLAYING; + InitGame(); + } } else if (y==9) { @@ -229,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; } @@ -680,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) @@ -1238,12 +1245,12 @@ void CalibrateJoystick() new_joystick_xmiddle = joy_ctrl.x; new_joystick_ymiddle = joy_ctrl.y; - joystick[joystick_nr].xleft = new_joystick_xleft; - joystick[joystick_nr].yupper = new_joystick_yupper; - joystick[joystick_nr].xright = new_joystick_xright; - joystick[joystick_nr].ylower = new_joystick_ylower; - joystick[joystick_nr].xmiddle = new_joystick_xmiddle; - joystick[joystick_nr].ymiddle = new_joystick_ymiddle; + joystick[setup.joystick_nr].xleft = new_joystick_xleft; + joystick[setup.joystick_nr].yupper = new_joystick_yupper; + joystick[setup.joystick_nr].xright = new_joystick_xright; + joystick[setup.joystick_nr].ylower = new_joystick_ylower; + joystick[setup.joystick_nr].xmiddle = new_joystick_xmiddle; + joystick[setup.joystick_nr].ymiddle = new_joystick_ymiddle; CheckJoystickData(); @@ -1299,7 +1306,7 @@ void CalibrateJoystick() DrawSetupScreen(); } -void HandleGameActions(int player_action) +void HandleGameActions(byte player_action) { if (game_status != PLAYING) return; @@ -1328,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 { @@ -1338,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 (options.network) + SendToServer_StartPlaying(); + else + { + game_status = PLAYING; + InitGame(); + } } else if (tape.pausing) { @@ -1366,6 +1382,7 @@ void HandleVideoButtons(int mx, int my, int button) TapeTogglePause(); } break; + case BUTTON_VIDEO_PLAY: if (TAPE_IS_EMPTY(tape)) break; @@ -1373,6 +1390,7 @@ void HandleVideoButtons(int mx, int my, int button) if (TAPE_IS_STOPPED(tape)) { TapeStartPlaying(); + game_status = PLAYING; InitGame(); } @@ -1398,6 +1416,7 @@ void HandleVideoButtons(int mx, int my, int button) } } break; + default: break; } @@ -1413,16 +1432,16 @@ void HandleSoundButtons(int mx, int my, int button) switch(CheckSoundButtons(mx,my,button)) { case BUTTON_SOUND_MUSIC: - if (sound_music_on) + if (setup.sound_music_on) { - sound_music_on = FALSE; + setup.sound_music_on = FALSE; local_player->setup &= ~SETUP_SOUND_MUSIC; FadeSound(background_loop[level_nr % num_bg_loops]); DrawSoundDisplay(BUTTON_SOUND_MUSIC_OFF); } else if (sound_loops_allowed) { - sound_on = sound_music_on = TRUE; + setup.sound_on = setup.sound_music_on = TRUE; local_player->setup |= (SETUP_SOUND | SETUP_SOUND_MUSIC); PlaySoundLoop(background_loop[level_nr % num_bg_loops]); DrawSoundDisplay(BUTTON_SOUND_MUSIC_ON); @@ -1430,38 +1449,41 @@ void HandleSoundButtons(int mx, int my, int button) else DrawSoundDisplay(BUTTON_SOUND_MUSIC_OFF); break; + case BUTTON_SOUND_LOOPS: - if (sound_loops_on) + if (setup.sound_loops_on) { - sound_loops_on = FALSE; + setup.sound_loops_on = FALSE; local_player->setup &= ~SETUP_SOUND_LOOPS; DrawSoundDisplay(BUTTON_SOUND_LOOPS_OFF); } else if (sound_loops_allowed) { - sound_on = sound_loops_on = TRUE; + setup.sound_on = setup.sound_loops_on = TRUE; local_player->setup |= (SETUP_SOUND | SETUP_SOUND_LOOPS); DrawSoundDisplay(BUTTON_SOUND_LOOPS_ON); } else DrawSoundDisplay(BUTTON_SOUND_LOOPS_OFF); break; + case BUTTON_SOUND_SIMPLE: - if (sound_simple_on) + if (setup.sound_simple_on) { - sound_simple_on = FALSE; + setup.sound_simple_on = FALSE; local_player->setup &= ~SETUP_SOUND; DrawSoundDisplay(BUTTON_SOUND_SIMPLE_OFF); } else if (sound_status==SOUND_AVAILABLE) { - sound_on = sound_simple_on = TRUE; + setup.sound_on = setup.sound_simple_on = TRUE; local_player->setup |= SETUP_SOUND; DrawSoundDisplay(BUTTON_SOUND_SIMPLE_ON); } else DrawSoundDisplay(BUTTON_SOUND_SIMPLE_OFF); break; + default: break; } @@ -1485,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 (options.network) + SendToServer_StopPlaying(); + else + { + game_status = MAINMENU; + DrawMainMenu(); + } } else OpenDoor(DOOR_OPEN_1 | DOOR_COPY_BACK); break; + case BUTTON_GAME_PAUSE: + if (options.network) + { + if (tape.pausing) + SendToServer_ContinuePlaying(); + else + SendToServer_PausePlaying(); + } + else + TapeTogglePause(); + + /* if (tape.pausing) { - tape.pausing = FALSE; - DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0); + if (options.network) + SendToServer_ContinuePlaying(); + else + { + tape.pausing = FALSE; + DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0); + } } else { - tape.pausing = TRUE; - DrawVideoDisplay(VIDEO_STATE_PAUSE_ON,0); + if (options.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 (options.network) + SendToServer_ContinuePlaying(); + else + { + tape.pausing = FALSE; + DrawVideoDisplay(VIDEO_STATE_PAUSE_OFF,0); + } } break; + default: break; }