mirror of https://github.com/OpenTTD/OpenTTD
(svn r27638) -Codechange: Move FiosType enum, move and rename SetFiosType function.
parent
3b8ede5ebe
commit
2fa0fdb176
|
@ -366,7 +366,7 @@ DEF_CONSOLE_CMD(ConLoad)
|
||||||
switch (item->type) {
|
switch (item->type) {
|
||||||
case FIOS_TYPE_FILE: case FIOS_TYPE_OLDFILE: {
|
case FIOS_TYPE_FILE: case FIOS_TYPE_OLDFILE: {
|
||||||
_switch_mode = SM_LOAD_GAME;
|
_switch_mode = SM_LOAD_GAME;
|
||||||
SetFiosType(item->type);
|
_file_to_saveload.SetMode(item->type);
|
||||||
|
|
||||||
strecpy(_file_to_saveload.name, FiosBrowseTo(item), lastof(_file_to_saveload.name));
|
strecpy(_file_to_saveload.name, FiosBrowseTo(item), lastof(_file_to_saveload.name));
|
||||||
strecpy(_file_to_saveload.title, item->title, lastof(_file_to_saveload.title));
|
strecpy(_file_to_saveload.title, item->title, lastof(_file_to_saveload.title));
|
||||||
|
|
|
@ -22,6 +22,21 @@ enum AbstractFileType {
|
||||||
FT_HEIGHTMAP, ///< heightmap file
|
FT_HEIGHTMAP, ///< heightmap file
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Elements of a file system that are recognized. */
|
||||||
|
enum FiosType {
|
||||||
|
FIOS_TYPE_DRIVE,
|
||||||
|
FIOS_TYPE_PARENT,
|
||||||
|
FIOS_TYPE_DIR,
|
||||||
|
FIOS_TYPE_FILE,
|
||||||
|
FIOS_TYPE_OLDFILE,
|
||||||
|
FIOS_TYPE_SCENARIO,
|
||||||
|
FIOS_TYPE_OLD_SCENARIO,
|
||||||
|
FIOS_TYPE_DIRECT,
|
||||||
|
FIOS_TYPE_PNG,
|
||||||
|
FIOS_TYPE_BMP,
|
||||||
|
FIOS_TYPE_INVALID = 255,
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The different kinds of subdirectories OpenTTD uses
|
* The different kinds of subdirectories OpenTTD uses
|
||||||
*/
|
*/
|
||||||
|
|
15
src/fios.h
15
src/fios.h
|
@ -107,20 +107,6 @@ enum SaveLoadDialogMode {
|
||||||
SLD_SAVE_HEIGHTMAP, ///< Save a heightmap.
|
SLD_SAVE_HEIGHTMAP, ///< Save a heightmap.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum FiosType {
|
|
||||||
FIOS_TYPE_DRIVE,
|
|
||||||
FIOS_TYPE_PARENT,
|
|
||||||
FIOS_TYPE_DIR,
|
|
||||||
FIOS_TYPE_FILE,
|
|
||||||
FIOS_TYPE_OLDFILE,
|
|
||||||
FIOS_TYPE_SCENARIO,
|
|
||||||
FIOS_TYPE_OLD_SCENARIO,
|
|
||||||
FIOS_TYPE_DIRECT,
|
|
||||||
FIOS_TYPE_PNG,
|
|
||||||
FIOS_TYPE_BMP,
|
|
||||||
FIOS_TYPE_INVALID = 255,
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Deals with finding savegames */
|
/** Deals with finding savegames */
|
||||||
struct FiosItem {
|
struct FiosItem {
|
||||||
FiosType type;
|
FiosType type;
|
||||||
|
@ -163,6 +149,5 @@ int CDECL CompareFiosItems(const FiosItem *a, const FiosItem *b);
|
||||||
extern const TextColour _fios_colours[];
|
extern const TextColour _fios_colours[];
|
||||||
|
|
||||||
void BuildFileList(SaveLoadDialogMode mode);
|
void BuildFileList(SaveLoadDialogMode mode);
|
||||||
void SetFiosType(const byte fiostype);
|
|
||||||
|
|
||||||
#endif /* FIOS_H */
|
#endif /* FIOS_H */
|
||||||
|
|
|
@ -527,7 +527,7 @@ public:
|
||||||
case WID_SL_LOAD_BUTTON:
|
case WID_SL_LOAD_BUTTON:
|
||||||
if (this->selected != NULL && !_load_check_data.HasErrors()) {
|
if (this->selected != NULL && !_load_check_data.HasErrors()) {
|
||||||
const char *name = FiosBrowseTo(this->selected);
|
const char *name = FiosBrowseTo(this->selected);
|
||||||
SetFiosType(this->selected->type);
|
_file_to_saveload.SetMode(this->selected->type);
|
||||||
|
|
||||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
||||||
strecpy(_file_to_saveload.title, this->selected->title, lastof(_file_to_saveload.title));
|
strecpy(_file_to_saveload.title, this->selected->title, lastof(_file_to_saveload.title));
|
||||||
|
@ -588,7 +588,7 @@ public:
|
||||||
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
if (_saveload_mode == SLD_LOAD_GAME || _saveload_mode == SLD_LOAD_SCENARIO) {
|
||||||
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
this->OnClick(pt, WID_SL_LOAD_BUTTON, 1);
|
||||||
} else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
} else if (_saveload_mode == SLD_LOAD_HEIGHTMAP) {
|
||||||
SetFiosType(file->type);
|
_file_to_saveload.SetMode(file->type);
|
||||||
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
strecpy(_file_to_saveload.name, name, lastof(_file_to_saveload.name));
|
||||||
strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title));
|
strecpy(_file_to_saveload.title, file->title, lastof(_file_to_saveload.title));
|
||||||
|
|
||||||
|
@ -772,32 +772,3 @@ void ShowSaveLoadDialog(SaveLoadDialogMode mode)
|
||||||
|
|
||||||
new SaveLoadWindow(sld, mode);
|
new SaveLoadWindow(sld, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetFiosType(const byte fiostype)
|
|
||||||
{
|
|
||||||
switch (fiostype) {
|
|
||||||
case FIOS_TYPE_FILE:
|
|
||||||
case FIOS_TYPE_SCENARIO:
|
|
||||||
_file_to_saveload.mode = SL_LOAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case FIOS_TYPE_OLDFILE:
|
|
||||||
case FIOS_TYPE_OLD_SCENARIO:
|
|
||||||
_file_to_saveload.mode = SL_OLD_LOAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
#ifdef WITH_PNG
|
|
||||||
case FIOS_TYPE_PNG:
|
|
||||||
_file_to_saveload.mode = SL_PNG;
|
|
||||||
break;
|
|
||||||
#endif /* WITH_PNG */
|
|
||||||
|
|
||||||
case FIOS_TYPE_BMP:
|
|
||||||
_file_to_saveload.mode = SL_BMP;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
_file_to_saveload.mode = SL_INVALID;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -626,7 +626,7 @@ int openttd_main(int argc, char *argv[])
|
||||||
const char *t = strrchr(_file_to_saveload.name, '.');
|
const char *t = strrchr(_file_to_saveload.name, '.');
|
||||||
if (t != NULL) {
|
if (t != NULL) {
|
||||||
FiosType ft = FiosGetSavegameListCallback(SLD_LOAD_GAME, _file_to_saveload.name, t, NULL, NULL);
|
FiosType ft = FiosGetSavegameListCallback(SLD_LOAD_GAME, _file_to_saveload.name, t, NULL, NULL);
|
||||||
if (ft != FIOS_TYPE_INVALID) SetFiosType(ft);
|
if (ft != FIOS_TYPE_INVALID) _file_to_saveload.SetMode(ft);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -2892,6 +2892,39 @@ void GenerateDefaultSaveName(char *buf, const char *last)
|
||||||
SanitizeFilename(buf);
|
SanitizeFilename(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the mode of the file to save or load based on the type of file entry at the file system.
|
||||||
|
* @param ft Type of file entry of the file system.
|
||||||
|
*/
|
||||||
|
void FileToSaveLoad::SetMode(FiosType ft)
|
||||||
|
{
|
||||||
|
switch (ft) {
|
||||||
|
case FIOS_TYPE_FILE:
|
||||||
|
case FIOS_TYPE_SCENARIO:
|
||||||
|
this->mode = SL_LOAD;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FIOS_TYPE_OLDFILE:
|
||||||
|
case FIOS_TYPE_OLD_SCENARIO:
|
||||||
|
this->mode = SL_OLD_LOAD;
|
||||||
|
break;
|
||||||
|
|
||||||
|
#ifdef WITH_PNG
|
||||||
|
case FIOS_TYPE_PNG:
|
||||||
|
this->mode = SL_PNG;
|
||||||
|
break;
|
||||||
|
#endif /* WITH_PNG */
|
||||||
|
|
||||||
|
case FIOS_TYPE_BMP:
|
||||||
|
this->mode = SL_BMP;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
this->mode = SL_INVALID;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/**
|
/**
|
||||||
* Function to get the type of the savegame by looking at the file header.
|
* Function to get the type of the savegame by looking at the file header.
|
||||||
|
|
|
@ -39,6 +39,8 @@ struct FileToSaveLoad {
|
||||||
AbstractFileType filetype; ///< what type of file are we dealing with
|
AbstractFileType filetype; ///< what type of file are we dealing with
|
||||||
char name[MAX_PATH]; ///< name
|
char name[MAX_PATH]; ///< name
|
||||||
char title[255]; ///< internal name of the game
|
char title[255]; ///< internal name of the game
|
||||||
|
|
||||||
|
void SetMode(FiosType ft);
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Types of save games. */
|
/** Types of save games. */
|
||||||
|
|
Loading…
Reference in New Issue