Put fast save back, using Alt-F1 instead of F6
This commit is contained in:
parent
1300fe7ffc
commit
700156eb36
|
@ -1,5 +1,9 @@
|
|||
D1X-Rebirth Changelog
|
||||
|
||||
20100225
|
||||
--------
|
||||
main/game.c, main/gamecntl.c, main/gameseq.c, main/state.c, main/state.h: Put fast save back, using Alt-F1 instead of F6
|
||||
|
||||
20100224
|
||||
--------
|
||||
main/kconfig.c: Due to the change of GameCfg.ControlType, Mouselook was broken - fixed
|
||||
|
|
|
@ -734,7 +734,7 @@ extern int Death_sequence_aborted;
|
|||
void show_help()
|
||||
{
|
||||
int nitems = 0;
|
||||
newmenu_item m[25];
|
||||
newmenu_item m[26];
|
||||
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = TXT_HELP_ESC;
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "SHIFT-ESC\t SHOW GAME LOG";
|
||||
|
@ -742,8 +742,10 @@ void show_help()
|
|||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = TXT_HELP_F2;
|
||||
#if !(defined(__APPLE__) || defined(macintosh))
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Alt-F2/F3\t SAVE/LOAD GAME";
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Alt-F1\t Fast Save";
|
||||
#else
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Alt-F2/F3 (\x85-s/o)\t SAVE/LOAD GAME";
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Alt-F2/F3 (\x85-SHIFT-s/\x85-o)\t SAVE/LOAD GAME";
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "Alt-F1 (\x85-s)\t Fast Save";
|
||||
#endif
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = "F3\t SWITCH COCKPIT MODES";
|
||||
m[nitems].type = NM_TYPE_TEXT; m[nitems++].text = TXT_HELP_F5;
|
||||
|
|
|
@ -656,9 +656,11 @@ void HandleGameKey(int key)
|
|||
break;
|
||||
}
|
||||
|
||||
KEY_MAC(case KEY_COMMAND+KEY_S:)
|
||||
KEY_MAC(case KEY_COMMAND+KEY_SHIFTED+KEY_S:)
|
||||
KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_2:)
|
||||
case KEY_ALTED+KEY_F2: if (!Player_is_dead) state_save_all( 0 ); break; // 0 means not between levels.
|
||||
case KEY_ALTED+KEY_F2: if (!Player_is_dead) state_save_all( 0, 0 ); break;
|
||||
KEY_MAC(case KEY_COMMAND+KEY_S:)
|
||||
case KEY_ALTED+KEY_F1: if (!Player_is_dead) state_save_all(0, 1); break;
|
||||
KEY_MAC(case KEY_COMMAND+KEY_O:)
|
||||
KEY_MAC(case KEY_COMMAND+KEY_ALTED+KEY_3:)
|
||||
case KEY_ALTED+KEY_F3: if (!Player_is_dead) state_restore_all(1); break;
|
||||
|
|
|
@ -728,10 +728,13 @@ void InitPlayerObject()
|
|||
}
|
||||
|
||||
extern void game_disable_cheats();
|
||||
extern int state_default_item;
|
||||
|
||||
//starts a new game on the given level
|
||||
void StartNewGame(int start_level)
|
||||
{
|
||||
state_default_item = -2; // for first blind save, pick slot to save in
|
||||
|
||||
Game_mode = GM_NORMAL;
|
||||
Function_mode = FMODE_GAME;
|
||||
|
||||
|
|
30
main/state.c
30
main/state.c
|
@ -147,13 +147,15 @@ void rpad_string( char * string, int max_chars )
|
|||
}
|
||||
#endif
|
||||
|
||||
int state_default_item = 0;
|
||||
|
||||
/* Present a menu for selection of a savegame filename.
|
||||
* For saving, dsc should be a pre-allocated buffer into which the new
|
||||
* savegame description will be stored.
|
||||
* For restoring, dsc should be NULL, in which case empty slots will not be
|
||||
* selectable and savagames descriptions will not be editable.
|
||||
*/
|
||||
int state_get_savegame_filename(char * fname, char * dsc, char * caption )
|
||||
int state_get_savegame_filename(char * fname, char * dsc, char * caption, int blind_save)
|
||||
{
|
||||
PHYSFS_file * fp;
|
||||
int i, choice, version, nsaves;
|
||||
|
@ -163,7 +165,6 @@ int state_get_savegame_filename(char * fname, char * dsc, char * caption )
|
|||
grs_bitmap *sc_bmp[NUM_SAVES];
|
||||
char id[5];
|
||||
int valid;
|
||||
static int state_default_item = 0;
|
||||
|
||||
nsaves=0;
|
||||
m[0].type = NM_TYPE_TEXT; m[0].text = "\n\n\n\n";
|
||||
|
@ -210,7 +211,17 @@ int state_get_savegame_filename(char * fname, char * dsc, char * caption )
|
|||
}
|
||||
|
||||
sc_last_item = -1;
|
||||
choice = newmenu_do3( NULL, caption, NUM_SAVES+1, m, (int (*)(newmenu *, d_event *, void *))state_callback, sc_bmp, state_default_item + 1, NULL, -1, -1 );
|
||||
|
||||
if (blind_save && state_default_item < 0)
|
||||
{
|
||||
blind_save = 0; // haven't picked a slot yet
|
||||
state_default_item = 0;
|
||||
}
|
||||
|
||||
if (blind_save)
|
||||
choice = state_default_item + 1;
|
||||
else
|
||||
choice = newmenu_do3( NULL, caption, NUM_SAVES+1, m, (int (*)(newmenu *, d_event *, void *))state_callback, sc_bmp, state_default_item + 1, NULL, -1, -1 );
|
||||
|
||||
for (i=0; i<NUM_SAVES; i++ ) {
|
||||
if ( sc_bmp[i] )
|
||||
|
@ -226,14 +237,14 @@ int state_get_savegame_filename(char * fname, char * dsc, char * caption )
|
|||
return 0;
|
||||
}
|
||||
|
||||
int state_get_save_file(char * fname, char * dsc )
|
||||
int state_get_save_file(char * fname, char * dsc, int blind_save)
|
||||
{
|
||||
return state_get_savegame_filename(fname, dsc, "Save Game");
|
||||
return state_get_savegame_filename(fname, dsc, "Save Game", blind_save);
|
||||
}
|
||||
|
||||
int state_get_restore_file(char * fname )
|
||||
{
|
||||
return state_get_savegame_filename(fname, NULL, "Select Game to Restore");
|
||||
return state_get_savegame_filename(fname, NULL, "Select Game to Restore", 0);
|
||||
}
|
||||
|
||||
int state_save_old_game(int slotnum, char * sg_name, player * sg_player,
|
||||
|
@ -365,7 +376,7 @@ int state_save_old_game(int slotnum, char * sg_name, player * sg_player,
|
|||
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
int state_save_all(int between_levels)
|
||||
int state_save_all(int between_levels, int blind_save)
|
||||
{
|
||||
int rval;
|
||||
char filename[128], desc[DESC_LENGTH+1];
|
||||
|
@ -378,7 +389,8 @@ int state_save_all(int between_levels)
|
|||
|
||||
stop_time();
|
||||
|
||||
if (!state_get_save_file(filename,desc)) {
|
||||
if (!state_get_save_file(filename, desc, blind_save))
|
||||
{
|
||||
start_time();
|
||||
return 0;
|
||||
}
|
||||
|
@ -386,7 +398,7 @@ int state_save_all(int between_levels)
|
|||
rval = state_save_all_sub(filename, desc, between_levels);
|
||||
|
||||
if (rval)
|
||||
HUD_init_message("Game saved.");
|
||||
HUD_init_message("Game saved");
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#ifndef _STATE_H
|
||||
#define _STATE_H
|
||||
|
||||
int state_save_all(int between_levels);
|
||||
int state_save_all(int between_levels, int blind_save);
|
||||
int state_restore_all(int in_game );
|
||||
|
||||
extern int state_save_old_game(int slotnum, char * sg_name, player * sg_player,
|
||||
|
@ -33,7 +33,7 @@ int state_restore_all_sub(char *filename);
|
|||
|
||||
extern uint state_game_id;
|
||||
|
||||
int state_get_save_file(char * fname, char * dsc );
|
||||
int state_get_save_file(char * fname, char * dsc, int blind_save);
|
||||
int state_get_restore_file(char * fname );
|
||||
|
||||
#endif
|
||||
|
|
|
@ -602,7 +602,7 @@ void title_save_game()
|
|||
gr_palette_read( palette );
|
||||
gr_palette_load( gr_palette );
|
||||
#ifndef SHAREWARE
|
||||
state_save_all(1);
|
||||
state_save_all(1, 0);
|
||||
#endif
|
||||
|
||||
gr_set_current_canvas(save_canv);
|
||||
|
|
Loading…
Reference in a new issue