/* redraw game control buttons */
RedrawGameButtons();
- game_status = GAME_MODE_PSEUDO_PANEL;
+ SetGameStatus(GAME_MODE_PSEUDO_PANEL);
for (i = 0; i < NUM_GAME_PANEL_CONTROLS; i++)
{
redraw_mask |= REDRAW_DOOR_1;
}
- game_status = GAME_MODE_PLAYING;
+ SetGameStatus(GAME_MODE_PLAYING);
}
void UpdateAndDisplayGameControlValues()
// required here to update video display before fading (FIX THIS)
DrawMaskedBorder(REDRAW_DOOR_2);
- game_status = GAME_MODE_PLAYING;
-
if (!game.restart_level)
CloseDoor(DOOR_CLOSE_1);
+ SetGameStatus(GAME_MODE_PLAYING);
+
/* needed if different viewport properties defined for playing */
ChangeViewportPropertiesIfNeeded();
if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
- FadeOut(fade_mask);
+ FadeSoundsAndMusic();
- OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+ ExpireSoundLoops(TRUE);
+
+ FadeOut(fade_mask);
ClearField();
+ OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
DrawCompleteVideoDisplay();
InitGameEngine();
if (level_editor_test_game)
{
- game_status = GAME_MODE_MAIN;
+ SetGameStatus(GAME_MODE_MAIN);
DrawMainMenu();
if (!local_player->LevelSolved_SaveScore)
{
- game_status = GAME_MODE_MAIN;
+ SetGameStatus(GAME_MODE_MAIN);
DrawMainMenu();
if ((hi_pos = NewHiScore()) >= 0)
{
- game_status = GAME_MODE_SCORES;
+ SetGameStatus(GAME_MODE_SCORES);
DrawHallOfFame(hi_pos);
}
else
{
- game_status = GAME_MODE_MAIN;
+ SetGameStatus(GAME_MODE_MAIN);
if (raise_level)
{
SendToServer_MovePlayer(summarized_player_action);
#endif
+ // summarize all actions at local players mapped input device position
+ // (this allows using different input devices in single player mode)
if (!options.network && !game.team_mode)
- local_player->effective_action = summarized_player_action;
+ stored_player[map_player_action[local_player->index_nr]].effective_action =
+ summarized_player_action;
if (tape.recording &&
setup.team_mode &&
#if USE_NEW_PLAYER_ASSIGNMENTS
// !!! also map player actions in single player mode !!!
// if (game.team_mode)
+ if (1)
{
byte mapped_action[MAX_PLAYERS];
if (quick_quit)
FadeSkipNextFadeIn();
- game_status = GAME_MODE_MAIN;
+ SetGameStatus(GAME_MODE_MAIN);
DrawMainMenu();
}
} gamebutton_info[NUM_GAME_BUTTONS] =
{
{
- IMG_GAME_BUTTON_GFX_STOP, &game.button.stop,
+ IMG_GFX_GAME_BUTTON_STOP, &game.button.stop,
GAME_CTRL_ID_STOP, "stop game"
},
{
- IMG_GAME_BUTTON_GFX_PAUSE, &game.button.pause,
+ IMG_GFX_GAME_BUTTON_PAUSE, &game.button.pause,
GAME_CTRL_ID_PAUSE, "pause game"
},
{
- IMG_GAME_BUTTON_GFX_PLAY, &game.button.play,
+ IMG_GFX_GAME_BUTTON_PLAY, &game.button.play,
GAME_CTRL_ID_PLAY, "play game"
},
{
- IMG_GAME_BUTTON_GFX_UNDO, &game.button.undo,
+ IMG_GFX_GAME_BUTTON_UNDO, &game.button.undo,
GAME_CTRL_ID_UNDO, "undo step"
},
{
- IMG_GAME_BUTTON_GFX_REDO, &game.button.redo,
+ IMG_GFX_GAME_BUTTON_REDO, &game.button.redo,
GAME_CTRL_ID_REDO, "redo step"
},
{
- IMG_GAME_BUTTON_GFX_SAVE, &game.button.save,
+ IMG_GFX_GAME_BUTTON_SAVE, &game.button.save,
GAME_CTRL_ID_SAVE, "save game"
},
{
- IMG_GAME_BUTTON_GFX_PAUSE2, &game.button.pause2,
+ IMG_GFX_GAME_BUTTON_PAUSE2, &game.button.pause2,
GAME_CTRL_ID_PAUSE2, "pause game"
},
{
- IMG_GAME_BUTTON_GFX_LOAD, &game.button.load,
+ IMG_GFX_GAME_BUTTON_LOAD, &game.button.load,
GAME_CTRL_ID_LOAD, "load game"
},
{
- IMG_GAME_BUTTON_GFX_SOUND_MUSIC, &game.button.sound_music,
+ IMG_GFX_GAME_BUTTON_SOUND_MUSIC, &game.button.sound_music,
SOUND_CTRL_ID_MUSIC, "background music on/off"
},
{
- IMG_GAME_BUTTON_GFX_SOUND_LOOPS, &game.button.sound_loops,
+ IMG_GFX_GAME_BUTTON_SOUND_LOOPS, &game.button.sound_loops,
SOUND_CTRL_ID_LOOPS, "sound loops on/off"
},
{
- IMG_GAME_BUTTON_GFX_SOUND_SIMPLE, &game.button.sound_simple,
+ IMG_GFX_GAME_BUTTON_SOUND_SIMPLE, &game.button.sound_simple,
SOUND_CTRL_ID_SIMPLE, "normal sounds on/off"
}
};