X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=17cfd89753e98ec6c02a129aeebff47ab46f68ad;hb=0a52f54d2f6ab7dce8062c7738ede185ba5acad3;hp=d198a32ef27ab69a87c683aca3674456b18962b9;hpb=d7d97176a88ee47f893055480c76b9c05a253d05;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index d198a32e..17cfd897 100644 --- a/src/game.c +++ b/src/game.c @@ -27,31 +27,16 @@ void GetPlayerConfig() { int old_joystick_nr = setup.input[0].joystick_nr; - if (sound_status==SOUND_OFF) - local_player->setup &= ~SETUP_SOUND; + if (sound_status == SOUND_OFF) + setup.sound_on = FALSE; + if (!sound_loops_allowed) { - local_player->setup &= ~SETUP_SOUND_LOOPS; - local_player->setup &= ~SETUP_SOUND_MUSIC; + setup.sound_loops_on = FALSE; + setup.sound_music_on = FALSE; } - setup.sound_on = setup.sound_simple_on = SETUP_SOUND_ON(local_player->setup); - setup.sound_loops_on = SETUP_SOUND_LOOPS_ON(local_player->setup); - setup.sound_music_on = SETUP_SOUND_MUSIC_ON(local_player->setup); - setup.toons_on = SETUP_TOONS_ON(local_player->setup); - setup.direct_draw_on = SETUP_DIRECT_DRAW_ON(local_player->setup); - setup.fading_on = SETUP_FADING_ON(local_player->setup); - setup.autorecord_on = SETUP_AUTO_RECORD_ON(local_player->setup); - -#if 0 - setup.joystick_nr = SETUP_2ND_JOYSTICK_ON(local_player->setup); -#endif - - setup.input[0].joystick_nr = SETUP_2ND_JOYSTICK_ON(local_player->setup); - - setup.quick_doors = SETUP_QUICK_DOORS_ON(local_player->setup); - setup.scroll_delay_on = SETUP_SCROLL_DELAY_ON(local_player->setup); - setup.soft_scrolling_on = SETUP_SOFT_SCROLL_ON(local_player->setup); + setup.sound_simple_on = setup.sound_on; #ifndef MSDOS if (setup.input[0].joystick_nr != old_joystick_nr) @@ -83,10 +68,7 @@ void InitGame() player->active = FALSE; player->action = 0; - - /* - player->local = FALSE; - */ + player->potential_action = 0; player->score = 0; player->gems_still_needed = level.edelsteine; @@ -129,24 +111,10 @@ void InitGame() DigField(player, 0,0,0,0,DF_NO_PUSH); SnapField(player, 0,0); - - /* TEST TEST TEST */ - - /* - stored_player[i].active = TRUE; - */ - - /* TEST TEST TEST */ - player->LevelSolved = FALSE; player->GameOver = FALSE; } - /* - local_player->active = TRUE; - local_player->local = TRUE; - */ - network_player_action_received = FALSE; /* initial null action */ @@ -196,10 +164,6 @@ void InitGame() struct PlayerInfo *player = &stored_player[Feld[x][y] - EL_SPIELER1]; int jx = player->jx, jy = player->jy; - /* - player->active = TRUE; - */ - player->present = TRUE; if (!network_playing || player->connected) { @@ -217,14 +181,6 @@ void InitGame() local_player->active ? "active" : "not active"); } -#if 0 - /* remove potentially duplicate players */ - if (StorePlayer[jx][jy] == Feld[x][y]) - StorePlayer[jx][jy] = 0; - - StorePlayer[x][y] = Feld[x][y]; -#endif - Feld[x][y] = EL_LEERRAUM; player->jx = player->last_jx = x; player->jy = player->last_jy = y; @@ -338,6 +294,7 @@ void InitGame() } } + for(i=0; ihandicap && - level_nr < leveldir[leveldir_nr].levels-1) - { - local_player->handicap++; - bumplevel = TRUE; - SavePlayerInfo(PLAYER_LEVEL); - } - if ((hi_pos=NewHiScore()) >= 0) { game_status = HALLOFFAME; @@ -3001,37 +2950,17 @@ void GameActions() recorded_player_action = (tape.playing ? TapePlayAction() : NULL); if (network_playing) - SendToServer_MovePlayer(local_player->action); + SendToServer_MovePlayer(local_player->potential_action); for(i=0; i