diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 1cacde20e..b61a3644d 100755 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -3,6 +3,7 @@ D2X-Rebirth Changelog 20070522 -------- SConstruct: Added conditions to add compiler/linker flags from user's environemnt if they have any set. +main/gameseq.c, main/state.c: make sure the right slot is saved to, and it shows the save screen if appropriate, when using fast save (F6) 20070521 -------- diff --git a/main/gameseq.c b/main/gameseq.c index dae159dda..d0f13b351 100755 --- a/main/gameseq.c +++ b/main/gameseq.c @@ -898,7 +898,7 @@ 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 + state_default_item = -2; // for first blind save, pick slot to save in Game_mode = GM_NORMAL; Function_mode = FMODE_GAME; diff --git a/main/state.c b/main/state.c index 9f95ce014..81e4fc11c 100755 --- a/main/state.c +++ b/main/state.c @@ -153,7 +153,7 @@ grs_bitmap *sc_bmp[NUM_SAVES+1]; char dgss_id[4] = "DGSS"; -int state_default_item = 0; +int state_default_item = -2; uint state_game_id; @@ -260,7 +260,7 @@ int state_get_save_file(char * fname, char * dsc, int multi, int blind_save) if (blind_save && state_default_item >= 0) choice = state_default_item; else - choice = newmenu_do3(NULL, "Save Game", NUM_SAVES+1, m, state_callback, state_default_item, NULL, FONTSCALE_X(MenuHires?385:190), -1 ); + choice = newmenu_do3(NULL, "Save Game", NUM_SAVES+1, m, state_callback, (state_default_item >= 0) ? state_default_item : 0, NULL, FONTSCALE_X(MenuHires?385:190), -1 ); for (i=0; i= 0) ? state_default_item + 1 : 1, NULL, 190, -1 ); RestoringMenu=0; #if defined(WINDOWS) || defined(MACINTOSH) @@ -365,6 +365,7 @@ int state_get_restore_file(char * fname, int multi) if (choice > 0) { strcpy( fname, filename[choice-1] ); + state_default_item = choice - 1; return choice; } return 0;