Changeset 109

Show
Ignore:
Timestamp:
05/04/07 09:06:40 (2 years ago)
Author:
ajps
Message:

Added inkey_flag safeguard for out-of-game save events

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main-ros.c

    r98 r109  
    21622162        if (game_in_progress && character_generated) 
    21632163        { 
    2164                 if (!save_player(SAVE_PLAYER_PARAM)) 
    2165                 { 
    2166                         Msgs_Report(0, "err.save", filename); 
     2164                if (inkey_flag) 
     2165                { 
     2166                        if (!save_player(SAVE_PLAYER_PARAM)) 
     2167                        { 
     2168                                Msgs_Report(0, "err.save", filename); 
     2169                                strcpy(savefile, old_savefile); 
     2170                                return FALSE;           /* => failure */ 
     2171                        } 
     2172                } 
     2173                else 
     2174                { 
     2175                        Msgs_Report(0, "err.nosave"); 
    21672176                        strcpy(savefile, old_savefile); 
    2168                         return FALSE;          /* => failure */ 
     2177                        return TRUE; /* Failed really, but not unexpectedly */ 
    21692178                } 
    21702179        } 
     
    46274636                case IBAR_MENU_QUIT:    /* Quit */ 
    46284637                        if (game_in_progress && character_generated) 
    4629                                 save_player(SAVE_PLAYER_PARAM); 
    4630                         quit(NULL); 
     4638                        { 
     4639                                if (inkey_flag) 
     4640                                { 
     4641                                        save_player(SAVE_PLAYER_PARAM); 
     4642                                        quit(NULL); 
     4643                                } 
     4644                                else 
     4645                                { 
     4646                                        Msgs_Report(0, "err.nosave"); 
     4647                                } 
     4648                        } 
    46314649                        break; 
    46324650        } 
     
    47804798 
    47814799                if (ok == 3) 
    4782                         save_player(SAVE_PLAYER_PARAM);         /* Save & Quit */ 
     4800                { 
     4801                        if (inkey_flag) 
     4802                        { 
     4803                                save_player(SAVE_PLAYER_PARAM);         /* Save & Quit */ 
     4804                        } 
     4805                        else 
     4806                        { 
     4807                                Msgs_Report(0, "err.nosave"); 
     4808                                return FALSE; 
     4809                        } 
     4810                } 
    47834811        } 
    47844812