forked from mirror/OpenTTD
(svn r4018) -Backport from trunk (4001:4002):
Add length parameter to FiosMakeSavegameName() and use this function for creating the full path instead of home-brewn snprintf. Use the title of a savegame in the saveload dialog-editbox. This gets rid of the '.sav' appended to each game as well as properly showing UTF-8 saves when this is implemented. Also don't change the text if the save has failed.
This commit is contained in:
15
misc_gui.c
15
misc_gui.c
@@ -1325,7 +1325,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
|
||||
DeleteWindow(w);
|
||||
} else {
|
||||
// SLD_SAVE_GAME, SLD_SAVE_SCENARIO copy clicked name to editbox
|
||||
ttd_strlcpy(WP(w, querystr_d).text.buf, file->name, WP(w, querystr_d).text.maxlength);
|
||||
ttd_strlcpy(WP(w, querystr_d).text.buf, file->title, WP(w, querystr_d).text.maxlength);
|
||||
UpdateTextBufferSize(&WP(w, querystr_d).text);
|
||||
InvalidateWidget(w, 10);
|
||||
}
|
||||
@@ -1359,16 +1359,17 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
|
||||
if (HASBIT(w->click_state, 11)) { /* Delete button clicked */
|
||||
if (!FiosDelete(WP(w,querystr_d).text.buf)) {
|
||||
ShowErrorMessage(INVALID_STRING_ID, STR_4008_UNABLE_TO_DELETE_FILE, 0, 0);
|
||||
} else {
|
||||
BuildFileList();
|
||||
/* Reset file name to current date on successfull delete */
|
||||
if (_saveload_mode == SLD_SAVE_GAME) GenerateFileName();
|
||||
}
|
||||
|
||||
UpdateTextBufferSize(&WP(w, querystr_d).text);
|
||||
SetWindowDirty(w);
|
||||
BuildFileList();
|
||||
if (_saveload_mode == SLD_SAVE_GAME) {
|
||||
GenerateFileName(); /* Reset file name to current date */
|
||||
UpdateTextBufferSize(&WP(w, querystr_d).text);
|
||||
}
|
||||
} else if (HASBIT(w->click_state, 12)) { /* Save button clicked */
|
||||
_switch_mode = SM_SAVE;
|
||||
FiosMakeSavegameName(_file_to_saveload.name, WP(w,querystr_d).text.buf);
|
||||
FiosMakeSavegameName(_file_to_saveload.name, WP(w,querystr_d).text.buf, sizeof(_file_to_saveload.name));
|
||||
|
||||
/* In the editor set up the vehicle engines correctly (date might have changed) */
|
||||
if (_game_mode == GM_EDITOR) StartupEngines();
|
||||
|
Reference in New Issue
Block a user