aboutsummaryrefslogtreecommitdiff
path: root/saga/gamedesc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/gamedesc.cpp')
-rw-r--r--saga/gamedesc.cpp449
1 files changed, 0 insertions, 449 deletions
diff --git a/saga/gamedesc.cpp b/saga/gamedesc.cpp
deleted file mode 100644
index 7464ad6d2f..0000000000
--- a/saga/gamedesc.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/* 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$
- *
- */
-
-#include "stdafx.h"
-
-#include "common/scummsys.h"
-#include "base/engine.h"
-#include "common/util.h"
-#include "common/file.h"
-
-#include "resfile.h"
-#include "resnames.h"
-#include "gamedesc.h"
-#include "gamedesc_priv.h"
-
-namespace Saga {
-
-/*--------------------------------------------------------------------------*\
- * Inherit the Earth - Demo version
-\*--------------------------------------------------------------------------*/
-
-R_GAME_FILEDESC ITEDEMO_GameFiles[] = {
- { "ITE.RSC", R_GAME_RESOURCEFILE },
- { "ITE.DMO", R_GAME_DEMOFILE },
- { "SCRIPTS.RSC", R_GAME_SCRIPTFILE },
- { "VOICES.RSC", R_GAME_SOUNDFILE | R_GAME_VOICEFILE }
-};
-
-R_GAME_FONTDESC ITEDEMO_GameFonts[] = {
- { R_GAME_FONT_SMALL, 0 },
- { R_GAME_FONT_MEDIUM, 1 }
-};
-
-R_GAME_SOUNDINFO ITEDEMO_GameSound = {
- R_GAME_SOUND_VOC, 0, 0, 0
-};
-
-/*--------------------------------------------------------------------------*\
- * Inherit the Earth - Diskette version
-\*--------------------------------------------------------------------------*/
-
-R_GAME_FILEDESC ITEDISK_GameFiles[] = {
- { "ITE.RSC", R_GAME_RESOURCEFILE },
- { "SCRIPTS.RSC", R_GAME_SCRIPTFILE },
- { "VOICES.RSC", R_GAME_SOUNDFILE | R_GAME_VOICEFILE }
-};
-
-R_GAME_FONTDESC ITEDISK_GameFonts[] = {
- { R_GAME_FONT_MEDIUM, 0 },
- { R_GAME_FONT_LARGE, 1 },
- { R_GAME_FONT_SMALL, 2 }
-};
-
-R_GAME_DISPLAYINFO ITE_DisplayInfo = {
- 320, 200, /* Logical width and height */
- 137, /* Scene playfield height */
- 0, 0 /* Overlay palette start index and length */
-};
-
-R_GAME_RESOURCEINFO ITE_Resources = {
- ITE_SCENE_LUT, /* Scene lookup table RN */
- ITE_SCRIPT_LUT, /* Script lookup table RN */
-
- ITE_OVERLAY_PAL, /* Overlay palette RN */
-
- ITE_COMMAND_PANEL,
- ITE_COMMAND_BUTTONSPRITES,
-
- ITE_DIALOGUE_PANEL,
- ITE_DEFAULT_PORTRAITS,
-
- ITE_ACTOR_PERSONA_TBL
-};
-
-R_GAME_SOUNDINFO ITE_GameSound = {
- R_GAME_SOUND_VOC, 0, 0, 0
-};
-
-/*--------------------------------------------------------------------------*\
- * Inherit the Earth - CD Enhanced version
-\*--------------------------------------------------------------------------*/
-
-R_GAME_FILEDESC ITECD_GameFiles[] = {
- { "ITE.RSC", R_GAME_RESOURCEFILE },
- { "SCRIPTS.RSC", R_GAME_SCRIPTFILE },
- { "SOUNDS.RSC", R_GAME_SOUNDFILE },
- { "VOICES.RSC", R_GAME_VOICEFILE }
-};
-
-R_GAME_FONTDESC ITECD_GameFonts[] = {
- { R_GAME_FONT_MEDIUM, 0 },
- { R_GAME_FONT_LARGE, 1 },
- { R_GAME_FONT_SMALL, 2 }
-};
-
-R_GAME_SOUNDINFO ITECD_GameSound = {
- R_GAME_SOUND_PCM,
- 22050,
- 16,
- 0
-};
-
-/*--------------------------------------------------------------------------*\
- * I Have No Mouth and I Must Scream - Demo version
-\*--------------------------------------------------------------------------*/
-
-R_GAME_FILEDESC IHNMDEMO_GameFiles[] = {
- { "SCREAM.RES", R_GAME_RESOURCEFILE },
- { "SCRIPTS.RES", R_GAME_SCRIPTFILE },
- { "SFX.RES", R_GAME_SOUNDFILE },
- { "VOICESD.RES", R_GAME_VOICEFILE }
-};
-
-/*--------------------------------------------------------------------------*\
- * I Have No Mouth and I Must Scream - Retail CD version
-\*--------------------------------------------------------------------------*/
-
-R_GAME_FILEDESC IHNMCD_GameFiles[] = {
- { "MUSICFM.RES", R_GAME_MUSICFILE },
- { "MUSICGM.RES", R_GAME_MUSICFILE },
- { "SCREAM.RES", R_GAME_RESOURCEFILE },
- { "SCRIPTS.RES", R_GAME_SCRIPTFILE },
- { "SFX.RES", R_GAME_SOUNDFILE },
- { "VOICES1.RES", R_GAME_VOICEFILE },
- { "VOICES2.RES", R_GAME_VOICEFILE },
- { "VOICES3.RES", R_GAME_VOICEFILE },
- { "VOICES4.RES", R_GAME_VOICEFILE },
- { "VOICES5.RES", R_GAME_VOICEFILE },
- { "VOICES6.RES", R_GAME_VOICEFILE },
- { "VOICESS.RES", R_GAME_VOICEFILE }
-};
-
-R_GAME_FONTDESC IHNMCD_GameFonts[] = {
- { R_GAME_FONT_MEDIUM, 2 },
- { R_GAME_FONT_LARGE, 3 },
- { R_GAME_FONT_SMALL, 4 },
- { R_GAME_FONT_SMALL2, 5 },
- { R_GAME_FONT_MEDIUM2, 6 },
- { R_GAME_FONT_LARGE2, 7 },
- { R_GAME_FONT_LARGE3, 8 }
-};
-
-R_GAME_DISPLAYINFO IHNM_DisplayInfo = {
- 640, 480, /* Logical width and height */
- 304, /* Scene playfield height */
- 248, 255 /* Overlay palette start index and length */
-};
-
-R_GAME_RESOURCEINFO IHNM_Resources = {
- IHNM_SCENE_LUT, /* Scene lookup table RN */
- IHNM_SCRIPT_LUT, /* Script lookup table RN */
-
- IHNM_OVERLAY_PAL, /* Overlay palette RN */
-
- IHNM_COMMAND_PANEL,
- IHNM_COMMAND_BUTTONSPRITES,
-
- IHNM_DIALOGUE_PANEL,
- IHNM_DEFAULT_PORTRAITS,
-
- IHNM_ACTOR_PERSONA_TBL
-};
-
-
-R_GAME_SOUNDINFO IHNM_GameSound = {
- R_GAME_SOUND_WAV, 0, 0, 0
-};
-
-R_GAMEDESC GameDescs[] = {
- /* Inherit the earth - Demo version
- \*-------------------------------------------------------------*/
- {
- R_GAMETYPE_ITE,
- R_GAME_ITE_DEMO, /* Game id */
- "Inherit the Earth - Demo version", /* Game title */
-
- &ITE_DisplayInfo,
-
- ITE_DEFAULT_SCENE, /* Starting scene number */
-
- &ITE_Resources,
-
- ARRAYSIZE(ITEDEMO_GameFiles), /* Game datafiles */
- ITEDEMO_GameFiles,
-
- ARRAYSIZE(ITEDEMO_GameFonts),
- ITEDEMO_GameFonts,
-
- &ITEDEMO_GameSound,
-
- 0 /* Game supported flag */
- },
-
- /* Inherit the earth - Disk version
- \*-------------------------------------------------------------*/
- {
- R_GAMETYPE_ITE,
- R_GAME_ITE_DISK,
- "Inherit the Earth - Disk version",
-
- &ITE_DisplayInfo,
-
- ITE_DEFAULT_SCENE,
-
- &ITE_Resources,
-
- ARRAYSIZE(ITEDISK_GameFiles),
- ITEDISK_GameFiles,
-
- ARRAYSIZE(ITEDISK_GameFonts),
- ITEDISK_GameFonts,
-
- &ITE_GameSound,
-
- 1
- },
-
- /* Inherit the earth - CD version
- \*-------------------------------------------------------------*/
- {
- R_GAMETYPE_ITE,
- R_GAME_ITE_CD,
- "Inherit the Earth - CD version",
-
- &ITE_DisplayInfo,
-
- ITE_DEFAULT_SCENE,
-
- &ITE_Resources,
-
- ARRAYSIZE( ITECD_GameFiles ),
- ITECD_GameFiles,
-
- ARRAYSIZE( ITECD_GameFonts ),
- ITECD_GameFonts,
-
- &ITECD_GameSound,
-
- 1
- },
-
- /* I Have No Mouth And I Must Scream - Demo version
- \*-------------------------------------------------------------*/
- {
- R_GAMETYPE_IHNM,
- R_GAME_IHNM_DEMO,
- "I Have No Mouth - Demo version",
-
- &IHNM_DisplayInfo,
-
- 0,
-
- &IHNM_Resources,
-
- ARRAYSIZE(IHNMDEMO_GameFiles),
- IHNMDEMO_GameFiles,
-
- 0,
- NULL,
-
- &IHNM_GameSound,
-
- 0
- },
-
- /* I Have No Mouth And I Must Scream - CD version
- \*-------------------------------------------------------------*/
- {
- R_GAMETYPE_IHNM,
- R_GAME_IHNM_CD,
- "I Have No Mouth - CD version",
-
- &IHNM_DisplayInfo,
-
- 1,
-
- &IHNM_Resources,
-
- ARRAYSIZE(IHNMCD_GameFiles),
- IHNMCD_GameFiles,
-
- ARRAYSIZE(IHNMCD_GameFonts),
- IHNMCD_GameFonts,
-
- &IHNM_GameSound,
-
- 1
- }
-};
-
-static R_GAMEMODULE GameModule;
-
-void setGameDirectory(const char *gamedir) {
- assert(gamedir != NULL);
-
- debug(1, "Using game data path: %s", gamedir);
-
- GameModule.game_dir = gamedir;
-}
-
-int detectGame() {
- File test_file;
-
- bool disqualified = false;
- bool found_game = false;
-
- int file_n;
- int file_ct;
- const char *file_name;
-
- int game_n;
- int game_ct = ARRAYSIZE(GameDescs);
-
- assert(GameModule.game_dir != NULL);
-
- for (game_n = 0; game_n < game_ct; game_n++) {
- disqualified = false;
-
- /* Attempt to open all files for this game
- * If we can open them all, then try to open all files on the
- * exclude list
- */
- file_ct = GameDescs[game_n].gd_filect;
-
- for (file_n = 0; file_n < file_ct; file_n++) {
- file_name = GameDescs[game_n].gd_filedescs[file_n].gf_fname;
- if (!test_file.open(file_name, GameModule.game_dir)) {
- disqualified = true;
- break;
- }
-
- test_file.close();
- }
-
- if (disqualified) {
- continue;
- }
-
- switch (GameDescs[game_n].gd_game_id) {
-
- case R_GAME_ITE_DEMO:
- disqualified = !verifyITEDEMO();
- break;
- case R_GAME_ITE_DISK:
- disqualified = !verifyITEDISK();
- break;
-
- default:
- break;
- }
-
- if (!disqualified) {
- found_game = true;
- break;
- }
- }
-
- if (found_game) {
- debug(1, "Found SAGA game: %s\n", GameDescs[game_n].gd_title);
- return game_n;
- }
-
- return -1;
-}
-
-bool openGame() {
- int game_filect;
-
- if ((GameModule.game_index = detectGame()) < 0) {
- error("Couldn't locate any valid SAGA games");
- return false;
- }
-
- assert(GameModule.game_index < ARRAYSIZE(GameDescs));
-
- if (!GameModule.game_dir) {
- return false;
- }
-
- game_filect = GameDescs[GameModule.game_index].gd_filect;
-
- GameModule.gfile_data = new R_GAME_FILEDATA[game_filect];
-
- return true;
-}
-
-bool verifyITEDEMO() {
- return true;
-}
-
-bool verifyITEDISK() {
- ResourceFile test_file;
- int32 script_lut_rn;
- int32 script_lut_len;
-
- /* Attempt to verify the disk version of Inherit the Earth
- * by examining the length of entries in the script lookup
- * table, which differs from the disk version and the CD
- * version.
- */
-
- assert (GameModule.game_dir != NULL);
-
- if (!test_file.open("ITE.RSC", GameModule.game_dir)) {
- return false;
- }
-
- script_lut_rn = GameDescs[R_GAME_ITE_DISK].gd_resource_info->script_lut_rn;
-
- script_lut_len = test_file.getResourceLen(script_lut_rn);
-
- if (script_lut_len % R_SCR_LUT_ENTRYLEN_ITEDISK == 0) {
- return true;
- }
-
- return false;
-}
-
-bool verifyITECD() {
- return true;
-}
-
-bool verifyIHNMDEMO() {
- return true;
-}
-
-bool verifyIHNMCD() {
- return true;
-}
-
-} // End of namespace Saga