diff options
Diffstat (limited to 'saga/gamedesc_priv.h')
-rw-r--r-- | saga/gamedesc_priv.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/saga/gamedesc_priv.h b/saga/gamedesc_priv.h new file mode 100644 index 0000000000..a48fabdf2b --- /dev/null +++ b/saga/gamedesc_priv.h @@ -0,0 +1,121 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2003 The ScummVM project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ + +#ifndef SAGA_GAMEDESC_PRIV_H +#define SAGA_GAMEDESC_PRIV_H + +#include "gamedesc.h" + +using namespace SagaGameDesc; + +//------------------------------------------------------------------- +// Private stuff +//------------------------------------------------------------------- + +#define R_GAME_LANGSTR_LIMIT 3 +#define R_GAME_PATH_LIMIT 512 + +#define R_GAME_ITE_LANG_PREFIX "ite_" +#define R_GAME_LANG_EXT "lng" + +/* Script lookup table entry sizes for game verification */ +#define R_SCR_LUT_ENTRYLEN_ITECD 22 +#define R_SCR_LUT_ENTRYLEN_ITEDISK 16 + +typedef bool (ResourceFile::*R_GAME_VERIFYFUNC)(); + +typedef struct R_GAME_FILEDESC_tag { + + const char * gf_fname; + unsigned int gf_type; + +} R_GAME_FILEDESC; + +typedef struct R_GAMEDESC_tag { + + int gd_game_type; + int gd_game_id; + + const char * gd_title; + + R_GAME_DISPLAYINFO * gd_display_info; + + int gd_startscene; + + R_GAME_RESOURCEINFO * gd_resource_info; + + int gd_filect; + R_GAME_FILEDESC * gd_filedescs; + + int gd_fontct; + R_GAME_FONTDESC * gd_fontdescs; + + R_GAME_SOUNDINFO * gd_soundinfo; + + int gd_supported; + +} R_GAMEDESC; + + +typedef struct R_GAME_FILEDATA_tag { + + ResourceFile *file_ctxt; + + unsigned int file_types; + unsigned int file_flags; + +} R_GAME_FILEDATA; + + +typedef struct R_GAMEMODULE_tag { + + int game_init; + int game_index; + + R_GAMEDESC * gamedesc; + + int g_skipintro; + + const char *game_dir; + + char game_language[ R_GAME_LANGSTR_LIMIT ]; + + unsigned int gfile_n; + R_GAME_FILEDATA * gfile_data; + + unsigned int gd_fontct; + R_GAME_FONTDESC * gd_fontdescs; + + int err_n; + const char * err_str; + +} R_GAMEMODULE; + +bool verifyITEDEMO(); +bool verifyITEDISK(); +bool verifyITECD(); +bool verifyIHNMDEMO(); +bool verifyIHNMCD(); + +#endif // SAGA_GAMEDESC_PRIV_H + + + |