OpenTTD
Data Structures | Typedefs | Enumerations | Functions | Variables
fios.h File Reference

Declarations for savegames operations. More...

#include "gfx_type.h"
#include "company_base.h"
#include "newgrf_config.h"
#include "network/core/tcp_content.h"

Go to the source code of this file.

Data Structures

struct  LoadCheckData
 Container for loading in mode SL_LOAD_CHECK. More...
struct  FiosItem
 Deals with finding savegames. More...
class  FileList
 List of file information. More...

Typedefs

typedef SmallMap< uint,
CompanyProperties * > 
CompanyPropertiesMap

Enumerations

enum  FileSlots {
  CONFIG_SLOT = 0, SOUND_SLOT = 1, FIRST_GRF_SLOT = 2, LAST_GRF_SLOT = 63,
  MAX_FILE_SLOTS = 64
}
enum  SortingBits { SORT_ASCENDING = 0, SORT_DESCENDING = 1, SORT_BY_DATE = 0, SORT_BY_NAME = 2 }

Functions

void ShowSaveLoadDialog (AbstractFileType abstract_filetype, SaveLoadOperation fop)
 Launch save/load dialog in the given mode.
void FiosGetSavegameList (SaveLoadOperation fop, FileList &file_list)
 Get a list of savegames.
void FiosGetScenarioList (SaveLoadOperation fop, FileList &file_list)
 Get a list of scenarios.
void FiosGetHeightmapList (SaveLoadOperation fop, FileList &file_list)
 Get a list of heightmaps.
const char * FiosBrowseTo (const FiosItem *item)
 Browse to a new path based on the passed item, starting at #_fios_path.
StringID FiosGetDescText (const char **path, uint64 *total_free)
 Get descriptive texts.
bool FiosDelete (const char *name)
 Delete a file.
void FiosMakeHeightmapName (char *buf, const char *name, const char *last)
 Construct a filename for a height map.
void FiosMakeSavegameName (char *buf, const char *name, const char *last)
 Make a save game or scenario filename from a name.
FiosType FiosGetSavegameListCallback (SaveLoadOperation fop, const char *file, const char *ext, char *title, const char *last)
 Callback for FiosGetFileList.
int CDECL CompareFiosItems (const FiosItem *a, const FiosItem *b)
 Compare two FiosItem's.

Variables

LoadCheckData _load_check_data
 Data loaded from save during SL_LOAD_CHECK.
SortingBits _savegame_sort_order

Detailed Description

Declarations for savegames operations.

Definition in file fios.h.

Enumeration Type Documentation

enum FileSlots
Enumerator:
CONFIG_SLOT 

Slot used for the GRF scanning and such.

This slot cannot be reused as it will otherwise cause issues when pressing "rescan directories". It can furthermore not be larger than LAST_GRF_SLOT as that complicates the testing for "too much NewGRFs".

SOUND_SLOT 

Slot for the sound.

FIRST_GRF_SLOT 

First slot usable for (New)GRFs used during the game.

LAST_GRF_SLOT 

Last slot usable for (New)GRFs used during the game.

MAX_FILE_SLOTS 

Maximum number of slots.

Definition at line 82 of file fios.h.

Function Documentation

int CDECL CompareFiosItems ( const FiosItem da,
const FiosItem db 
)

Compare two FiosItem's.

Used with sort when sorting the file list.

Parameters
daA pointer to the first FiosItem to compare.
dbA pointer to the second FiosItem to compare.
Returns
-1, 0 or 1, depending on how the two items should be sorted.

Definition at line 52 of file fios.cpp.

Referenced by FiosGetFileList(), and SortSaveGameList().

const char* FiosBrowseTo ( const FiosItem item)

Browse to a new path based on the passed item, starting at #_fios_path.

Parameters
*itemItem telling us what to do.
Returns
A filename w/path if we reached a file, otherwise NULL.

Definition at line 152 of file fios.cpp.

References seprintf(), and strecat().

Referenced by SaveLoadWindow::OnClick().

bool FiosDelete ( const char *  name)

Delete a file.

Parameters
nameFilename to delete.
Returns
Whether the file deletion was successful.

Definition at line 269 of file fios.cpp.

References FiosMakeSavegameName(), and lastof.

Referenced by SaveLoadWindow::OnTimeout().

StringID FiosGetDescText ( const char **  path,
uint64 *  total_free 
)

Get descriptive texts.

Returns the path and free space left on the device

Parameters
pathstring describing the path
total_freetotal free space in megabytes, optional (can be NULL)
Returns
StringID describing the path (free space or failure)

Definition at line 141 of file fios.cpp.

Referenced by SaveLoadWindow::DrawWidget().

void FiosGetHeightmapList ( SaveLoadOperation  fop,
FileList file_list 
)

Get a list of heightmaps.

Parameters
fopPurpose of collecting the list.
file_listDestination of the found files.

Definition at line 618 of file fios.cpp.

References FiosGetFileList(), HEIGHTMAP_DIR, lastof, NO_DIRECTORY, and FileScanner::subdir.

Referenced by FileList::BuildFileList().

void FiosGetSavegameList ( SaveLoadOperation  fop,
FileList file_list 
)

Get a list of savegames.

Parameters
fopPurpose of collecting the list.
file_listDestination of the found files.
See Also
FiosGetFileList

Definition at line 492 of file fios.cpp.

References FiosGetFileList(), FiosGetSavegameListCallback(), NO_DIRECTORY, and SAVE_DIR.

Referenced by FileList::BuildFileList().

FiosType FiosGetSavegameListCallback ( SaveLoadOperation  fop,
const char *  file,
const char *  ext,
char *  title,
const char *  last 
)

Callback for FiosGetFileList.

It tells if a file is a savegame or not.

Parameters
fopPurpose of collecting the list.
fileName of the file to check.
extA pointer to the extension identifier inside file
titleBuffer if a callback wants to lookup the title of the file; NULL to skip the lookup
lastLast available byte in buffer (to prevent buffer overflows); not used when title == NULL
Returns
a FIOS_TYPE_* type of the found file, FIOS_TYPE_INVALID if not a savegame
See Also
FiosGetFileList
FiosGetSavegameList

Definition at line 459 of file fios.cpp.

References GetFileTitle(), SAVE_DIR, and SLO_LOAD.

Referenced by FiosGetSavegameList(), and openttd_main().

void FiosGetScenarioList ( SaveLoadOperation  fop,
FileList file_list 
)

Get a list of scenarios.

Parameters
fopPurpose of collecting the list.
file_listDestination of the found files.
See Also
FiosGetFileList

Definition at line 547 of file fios.cpp.

References FiosGetFileList(), FiosGetScenarioListCallback(), lastof, NO_DIRECTORY, SCENARIO_DIR, SLO_LOAD, and FileScanner::subdir.

Referenced by FileList::BuildFileList().

void FiosMakeHeightmapName ( char *  buf,
const char *  name,
const char *  last 
)

Construct a filename for a height map.

Parameters
bufDestination buffer.
nameFilename.
lastLast element of buffer buf.

Definition at line 255 of file fios.cpp.

References FiosMakeFilename(), GetCurrentScreenshotExtension(), lastof, and strecpy().

Referenced by SaveLoadWindow::OnTimeout().

void FiosMakeSavegameName ( char *  buf,
const char *  name,
const char *  last 
)

Make a save game or scenario filename from a name.

Parameters
bufDestination buffer for saving the filename.
nameName of the file.
lastLast element of buffer buf.

Definition at line 242 of file fios.cpp.

References FiosMakeFilename().

Referenced by FiosDelete(), and SaveLoadWindow::OnTimeout().

void ShowSaveLoadDialog ( AbstractFileType  abstract_filetype,
SaveLoadOperation  fop 
)

Launch save/load dialog in the given mode.

Parameters
abstract_filetypeKind of file to handle.
fopFile operation to perform (load or save).

Definition at line 767 of file fios_gui.cpp.

References _file_to_saveload, _load_dialog_desc, _load_heightmap_dialog_desc, _save_dialog_desc, FileToSaveLoad::abstract_ftype, DeleteWindowById(), FT_HEIGHTMAP, SLO_SAVE, and WC_SAVELOAD.

Referenced by MenuClickSaveLoad(), SelectGameWindow::OnClick(), NetworkStartServerWindow::OnClick(), and MainToolbarWindow::OnHotkey().