aboutsummaryrefslogtreecommitdiff
path: root/saga
diff options
context:
space:
mode:
authorEugene Sandulenko2005-01-14 01:17:34 +0000
committerEugene Sandulenko2005-01-14 01:17:34 +0000
commitccacf6f82e5c5e112ef165d45233359d8a654407 (patch)
tree2df9f49bb5f44a6e0d01a6cfa56bf68bbfc317ee /saga
parent211ec4c32a779ab6a234a64e33eaedd3c64b9822 (diff)
downloadscummvm-rg350-ccacf6f82e5c5e112ef165d45233359d8a654407.tar.gz
scummvm-rg350-ccacf6f82e5c5e112ef165d45233359d8a654407.tar.bz2
scummvm-rg350-ccacf6f82e5c5e112ef165d45233359d8a654407.zip
o Added support for German ITE. There are also Puzzle-related messages
hardcoded, but I'll save that for later :) o Eliminated all leftovers of previous language loader. If you'll spot another one, just remove it silently. svn-id: r16556
Diffstat (limited to 'saga')
-rw-r--r--saga/game.cpp31
-rw-r--r--saga/ite_introproc.cpp192
-rw-r--r--saga/saga.cpp66
-rw-r--r--saga/saga.h6
-rw-r--r--saga/scene.h2
5 files changed, 159 insertions, 138 deletions
diff --git a/saga/game.cpp b/saga/game.cpp
index 5eb2cc5a0f..4c8aebcff8 100644
--- a/saga/game.cpp
+++ b/saga/game.cpp
@@ -689,37 +689,6 @@ int SagaEngine::initGame(void) {
warning("Error loading game resource files.");
return FAILURE;
}
- // Load dialogue file
- loadLanguage();
-
- return SUCCESS;
-}
-
-int SagaEngine::loadLanguage(void) {
- char lang_file[MAXPATH];
- File test_file;
-
-
- if (getGameType() == GType_ITE) {
- snprintf(lang_file, MAXPATH, "%s%s.%s", GAME_ITE_LANG_PREFIX, _gameLanguage, GAME_LANG_EXT);
- if (!test_file.open(lang_file)) {
- debug(0, "Couldn't open language file %s. Using default (US English)", lang_file);
- return SUCCESS;
- }
-
- test_file.close();
-
- if (_vm->_scene->ITEIntroRegisterLang() != SUCCESS) {
- warning("Error registering intro sequence language cvars");
- return FAILURE;
- }
-
- debug(0, "Using language file %s.", lang_file);
- // FIXME
- //CFG_Read(lang_path);
- } else {
- debug(0, "Language support for this game not implemented.");
- }
return SUCCESS;
}
diff --git a/saga/ite_introproc.cpp b/saga/ite_introproc.cpp
index 76e66a1281..1e3f6e1aa2 100644
--- a/saga/ite_introproc.cpp
+++ b/saga/ite_introproc.cpp
@@ -40,8 +40,8 @@
namespace Saga {
-static INTRO_DIALOGUE IntroDiag[] = {
- {
+static INTRO_DIALOGUE IntroDiag[][14] = {
+ { {
RID_CAVE_VOICE_0, "intro1a",
"We see the sky, we see the land, we see the water, "
"and we wonder: Are we the only ones?"
@@ -105,7 +105,71 @@ static INTRO_DIALOGUE IntroDiag[] = {
{
RID_CAVE_VOICE_13, "intro4d",
"And will we also share the same fate one day?"
+ } },
+
+ // German
+ { {
+ RID_CAVE_VOICE_0, "intro1a",
+ "Um uns sind der Himmel, das Land und die Seen; und wir "
+ "fragen uns - sind wir die einzigen?"
},
+ {
+ RID_CAVE_VOICE_1, "intro2a",
+ "Lange vor unserer Zeit herrschten die Menschen \201ber die Erde."
+ },
+ {
+ RID_CAVE_VOICE_2, "intro3a",
+ "Sie taten wundersame Dinge und versetzten ganze Berge."
+ },
+ {
+ RID_CAVE_VOICE_3, "intro4a",
+ "Sie kannten das Geheimnis des Fluges, das Geheimnis der Fr\224hlichkeit "
+ "und andere Geheimnisse, die unsere Vorstellungskraft \201bersteigen."
+ },
+ {
+ RID_CAVE_VOICE_4, "intro1b",
+ "Au$erdem kannten die Menschen das Geheimnis des Lebens. Und sie nutzten "
+ "es, um uns die vier gro$en Geschenke zu geben -"
+ },
+ {
+ RID_CAVE_VOICE_5, "intro2b",
+ "den denkenden Geist, das f\201hlende Herz, den sprechenden Mund und die "
+ "greifende Hand."
+ },
+ {
+ RID_CAVE_VOICE_6, "intro3b",
+ "Wir sind ihre Kinder."
+ },
+ {
+ RID_CAVE_VOICE_7, "intro1c",
+ "Sie lehrten uns zu sprechen und unsere H\204nde zu benutzen."
+ },
+ {
+ RID_CAVE_VOICE_8, "intro2c",
+ "Sie zeigten uns die Freude am Denken."
+ },
+ {
+ RID_CAVE_VOICE_9, "intro3c",
+ "Sie liebten uns, und w\204ren wir bereit gewesen, h\204tten sie "
+ "uns sicherlich das Geheimnis der Fr\224hlichkeit offenbart."
+ },
+ {
+ RID_CAVE_VOICE_10, "intro1d",
+ "Und nun sehen wir den Himmel, das Land und die Seen - unser Erbe. "
+ "Und wir fragen uns - warum verschwanden sie?"
+ },
+ {
+ RID_CAVE_VOICE_11, "intro2d",
+ "Leben sie noch in den Sternen? In den Tiefen des Ozeans? Im Wind?"
+ },
+ {
+ RID_CAVE_VOICE_12, "intro3d",
+ "Wir fragen uns - war ihr Schicksal gut oder b\224se?"
+ },
+ {
+ RID_CAVE_VOICE_13, "intro4d",
+ "Und wird uns eines Tages das gleiche Schicksal ereilen?"
+ } }
};
SCENE_QUEUE ITE_IntroList[] = {
@@ -147,35 +211,21 @@ int Scene::ITEStartProc() {
return SUCCESS;
}
-int Scene::ITEIntroRegisterLang() {
-#if 0
- size_t i;
-
- for (i = 0; i < ARRAYSIZE(IntroDiag); i++) {
- if (CVAR_Register_S(IntroDiag[i].i_str,
- IntroDiag[i].i_cvar_name,
- NULL, CVAR_CFG, INTRO_STRMAX) != SUCCESS) {
- warning("Error registering intro text cvars");
- return FAILURE;
- }
- }
-#endif
-
- return SUCCESS;
-}
-
enum {
kCHeader,
kCText
};
enum {
- kITEPC = (1 << 0),
- kITEPCCD = (1 << 1),
- kITEMac = (1 << 2),
- kITEWyrmKeep = (1 << 3),
- kITEAny = 0xffff,
- kITENotWyrmKeep = kITEAny & ~kITEWyrmKeep
+ kITEPC = (1 << 0),
+ kITEPCCD = (1 << 1),
+ kITEMac = (1 << 2),
+ kITEWyrmKeep = (1 << 3),
+ kITEDe = (1 << 4),
+ kITEAny = 0xffff,
+ kITENotWyrmKeep = kITEAny & ~kITEWyrmKeep,
+ kITENotDe = kITEAny & ~kITEDe,
+ kITENotDeNotWyrm = kITENotWyrmKeep & ~kITEDe
};
#define INV(n) (kITEAny & ~(n))
@@ -189,7 +239,9 @@ EVENT *Scene::ITEQueueCredits(SCENE_INFO *scene_info, int delta_time, int durati
// The assumption here is that all WyrmKeep versions have the same
// credits, regardless of which operating system they're for.
- if (_vm->getFeatures() & GF_WYRMKEEP) {
+ if (_vm->getFeatures() & GF_LANG_DE) {
+ game = kITEDe;
+ } else if (_vm->getFeatures() & GF_WYRMKEEP) {
game = kITEWyrmKeep;
} else if (_vm->getFeatures() & GF_MAC_RESOURCES) {
game = kITEMac;
@@ -389,6 +441,7 @@ int Scene::ITEIntroCave1Proc(int param, SCENE_INFO *scene_info) {
TEXTLIST_ENTRY *entry_p;
int i;
int font_flags = FONT_OUTLINE | FONT_CENTERED;
+ int lang = _vm->getFeatures() & GF_LANG_DE ? 1 : 0;
switch (param) {
case SCENE_BEGIN:
@@ -404,12 +457,13 @@ int Scene::ITEIntroCave1Proc(int param, SCENE_INFO *scene_info) {
text_entry.color = 255;
text_entry.effect_color = 0;
text_entry.text_x = 320 / 2;
- text_entry.text_y = INTRO_CAPTION_Y;
+ text_entry.text_y = _vm->getFeatures() & GF_LANG_DE ? INTRO_DE_CAPTION_Y :
+ INTRO_CAPTION_Y;
text_entry.font_id = MEDIUM_FONT_ID;
text_entry.flags = font_flags;
for (i = INTRO_CAVE1_START; i < INTRO_CAVE1_END; i++) {
- text_entry.string = IntroDiag[i].i_str;
+ text_entry.string = IntroDiag[lang][i].i_str;
entry_p = _vm->textAddEntry(scene_info->text_list, &text_entry);
// Display text
@@ -425,14 +479,14 @@ int Scene::ITEIntroCave1Proc(int param, SCENE_INFO *scene_info) {
event.type = ONESHOT_EVENT;
event.code = VOICE_EVENT;
event.op = EVENT_PLAY;
- event.param = IntroDiag[i].i_voice_rn;
+ event.param = IntroDiag[lang][i].i_voice_rn;
event.time = event_time;
q_event = _vm->_events->chain(q_event, &event);
- voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[i].i_voice_rn);
+ voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[lang][i].i_voice_rn);
if (voice_len < 0) {
- voice_len = strlen(IntroDiag[i].i_str) * VOICE_LETTERLEN;
+ voice_len = strlen(IntroDiag[lang][i].i_str) * VOICE_LETTERLEN;
}
// Remove text
@@ -481,6 +535,7 @@ int Scene::ITEIntroCave2Proc(int param, SCENE_INFO *scene_info) {
TEXTLIST_ENTRY *entry_p;
int i;
int font_flags = FONT_OUTLINE | FONT_CENTERED;
+ int lang = _vm->getFeatures() & GF_LANG_DE ? 1 : 0;
switch (param) {
case SCENE_BEGIN:
@@ -505,12 +560,13 @@ int Scene::ITEIntroCave2Proc(int param, SCENE_INFO *scene_info) {
text_entry.color = 255;
text_entry.effect_color = 0;
text_entry.text_x = 320 / 2;
- text_entry.text_y = INTRO_CAPTION_Y;
+ text_entry.text_y = _vm->getFeatures() & GF_LANG_DE ? INTRO_DE_CAPTION_Y :
+ INTRO_CAPTION_Y;
text_entry.font_id = MEDIUM_FONT_ID;
text_entry.flags = font_flags;
for (i = INTRO_CAVE2_START; i < INTRO_CAVE2_END; i++) {
- text_entry.string = IntroDiag[i].i_str;
+ text_entry.string = IntroDiag[lang][i].i_str;
entry_p = _vm->textAddEntry(scene_info->text_list, &text_entry);
// Display text
@@ -526,14 +582,14 @@ int Scene::ITEIntroCave2Proc(int param, SCENE_INFO *scene_info) {
event.type = ONESHOT_EVENT;
event.code = VOICE_EVENT;
event.op = EVENT_PLAY;
- event.param = IntroDiag[i].i_voice_rn;
+ event.param = IntroDiag[lang][i].i_voice_rn;
event.time = event_time;
q_event = _vm->_events->chain(q_event, &event);
- voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[i].i_voice_rn);
+ voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[lang][i].i_voice_rn);
if (voice_len < 0) {
- voice_len = strlen(IntroDiag[i].i_str) * VOICE_LETTERLEN;
+ voice_len = strlen(IntroDiag[lang][i].i_str) * VOICE_LETTERLEN;
}
// Remove text
@@ -581,6 +637,7 @@ int Scene::ITEIntroCave3Proc(int param, SCENE_INFO *scene_info) {
TEXTLIST_ENTRY *entry_p;
int i;
int font_flags = FONT_OUTLINE | FONT_CENTERED;
+ int lang = _vm->getFeatures() & GF_LANG_DE ? 1 : 0;
switch (param) {
case SCENE_BEGIN:
@@ -605,12 +662,13 @@ int Scene::ITEIntroCave3Proc(int param, SCENE_INFO *scene_info) {
text_entry.color = 255;
text_entry.effect_color = 0;
text_entry.text_x = 320 / 2;
- text_entry.text_y = INTRO_CAPTION_Y;
+ text_entry.text_y = _vm->getFeatures() & GF_LANG_DE ? INTRO_DE_CAPTION_Y :
+ INTRO_CAPTION_Y;
text_entry.font_id = MEDIUM_FONT_ID;
text_entry.flags = font_flags;
for (i = INTRO_CAVE3_START; i < INTRO_CAVE3_END; i++) {
- text_entry.string = IntroDiag[i].i_str;
+ text_entry.string = IntroDiag[lang][i].i_str;
entry_p = _vm->textAddEntry(scene_info->text_list, &text_entry);
// Display text
@@ -626,14 +684,14 @@ int Scene::ITEIntroCave3Proc(int param, SCENE_INFO *scene_info) {
event.type = ONESHOT_EVENT;
event.code = VOICE_EVENT;
event.op = EVENT_PLAY;
- event.param = IntroDiag[i].i_voice_rn;
+ event.param = IntroDiag[lang][i].i_voice_rn;
event.time = event_time;
q_event = _vm->_events->chain(q_event, &event);
- voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[i].i_voice_rn);
+ voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[lang][i].i_voice_rn);
if (voice_len < 0) {
- voice_len = strlen(IntroDiag[i].i_str) * VOICE_LETTERLEN;
+ voice_len = strlen(IntroDiag[lang][i].i_str) * VOICE_LETTERLEN;
}
// Remove text
@@ -682,6 +740,7 @@ int Scene::ITEIntroCave4Proc(int param, SCENE_INFO *scene_info) {
TEXTLIST_ENTRY *entry_p;
int i;
int font_flags = FONT_OUTLINE | FONT_CENTERED;
+ int lang = _vm->getFeatures() & GF_LANG_DE ? 1 : 0;
switch (param) {
case SCENE_BEGIN:
@@ -706,12 +765,13 @@ int Scene::ITEIntroCave4Proc(int param, SCENE_INFO *scene_info) {
text_entry.color = 255;
text_entry.effect_color = 0;
text_entry.text_x = 320 / 2;
- text_entry.text_y = INTRO_CAPTION_Y;
+ text_entry.text_y = _vm->getFeatures() & GF_LANG_DE ? INTRO_DE_CAPTION_Y :
+ INTRO_CAPTION_Y;
text_entry.font_id = MEDIUM_FONT_ID;
text_entry.flags = font_flags;
for (i = INTRO_CAVE4_START; i < INTRO_CAVE4_END; i++) {
- text_entry.string = IntroDiag[i].i_str;
+ text_entry.string = IntroDiag[lang][i].i_str;
entry_p = _vm->textAddEntry(scene_info->text_list, &text_entry);
// Display text
@@ -727,14 +787,14 @@ int Scene::ITEIntroCave4Proc(int param, SCENE_INFO *scene_info) {
event.type = ONESHOT_EVENT;
event.code = VOICE_EVENT;
event.op = EVENT_PLAY;
- event.param = IntroDiag[i].i_voice_rn;
+ event.param = IntroDiag[lang][i].i_voice_rn;
event.time = event_time;
q_event = _vm->_events->chain(q_event, &event);
- voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[i].i_voice_rn);
+ voice_len = _vm->_sndRes->getVoiceLength(IntroDiag[lang][i].i_voice_rn);
if (voice_len < 0) {
- voice_len = strlen(IntroDiag[i].i_str) * VOICE_LETTERLEN;
+ voice_len = strlen(IntroDiag[lang][i].i_str) * VOICE_LETTERLEN;
}
// Remove text
@@ -778,12 +838,15 @@ int Scene::ITEIntroValleyProc(int param, SCENE_INFO *scene_info) {
EVENT *q_event;
const INTRO_CREDIT credits[] = {
- {kITEAny, kCHeader, "Producer"},
+ {kITENotDe, kCHeader, "Producer"},
+ {kITEDe, kCHeader, "Produzent"},
{kITEAny, kCText, "Walter Hochbrueckner"},
- {kITEAny, kCHeader, "Executive Producer"},
+ {kITENotDe, kCHeader, "Executive Producer"},
+ {kITEDe, kCHeader, "Ausf\201hrender Produzent"},
{kITEAny, kCText, "Robert McNally"},
{kITEWyrmKeep, kCHeader, "2nd Executive Producer"},
{kITENotWyrmKeep, kCHeader, "Publisher"},
+ {kITENotDeNotWyrm, kCHeader, "Herausgeber"},
{kITEAny, kCText, "Jon Van Caneghem"}
};
@@ -881,11 +944,15 @@ int Scene::ITEIntroTreeHouseProc(int param, SCENE_INFO *scene_info) {
EVENT *q_event;
const INTRO_CREDIT credits1[] = {
- {kITEAny, kCHeader, "Game Design"},
+ {kITENotDe, kCHeader, "Game Design"},
+ {kITEDe, kCHeader, "Spielentwurf"},
{kITEAny, kCText, "Talin, Joe Pearce, Robert McNally"},
- {kITEAny, kCText, "and Carolly Hauksdottir"},
- {kITEAny, kCHeader, "Screenplay and Dialog"},
- {kITEAny, kCText, "Robert Leh, Len Wein, and Bill Rotsler"}
+ {kITENotDe, kCText, "and Carolly Hauksdottir"},
+ {kITEDe, kCText, "und Carolly Hauksdottir"},
+ {kITENotDe, kCHeader, "Screenplay and Dialog"},
+ {kITEDe, kCHeader, "Geschichte und Dialoge"},
+ {kITENotDe, kCText, "Robert Leh, Len Wein, and Bill Rotsler"},
+ {kITEDe, kCText, "Robert Leh, Len Wein und Bill Rotsler"}
};
int n_credits1 = ARRAYSIZE(credits1);
@@ -893,13 +960,16 @@ int Scene::ITEIntroTreeHouseProc(int param, SCENE_INFO *scene_info) {
const INTRO_CREDIT credits2[] = {
{kITEWyrmKeep, kCHeader, "Art Direction"},
{kITEWyrmKeep, kCText, "Allison Hershey"},
- {kITEAny, kCHeader, "Art"},
+ {kITENotDe, kCHeader, "Art"},
+ {kITEDe, kCHeader, "Grafiken"},
{kITEAny, kCText, "Edward Lacabanne, Glenn Price, April Lee,"},
{kITEWyrmKeep, kCText, "Lisa Sample, Brian Dowrick, Reed Waller,"},
{kITEWyrmKeep, kCText, "Allison Hershey and Talin"},
{kITENotWyrmKeep, kCText, "Lisa Iennaco, Brian Dowrick, Reed"},
- {kITENotWyrmKeep, kCText, "Waller, Allison Hershey and Talin"},
- {kITENotWyrmKeep, kCHeader, "Art Direction"},
+ {kITENotDeNotWyrm, kCText, "Waller, Allison Hershey and Talin"},
+ {kITEDe, kCText, "Waller, Allison Hershey und Talin"},
+ {kITENotDeNotWyrm, kCHeader, "Art Direction"},
+ {kITEDe, kCHeader, "Grafische Leitung"},
{kITENotWyrmKeep, kCText, "Allison Hershey"}
};
@@ -959,21 +1029,25 @@ int Scene::ITEIntroFairePathProc(int param, SCENE_INFO *scene_info) {
EVENT *q_event;
const INTRO_CREDIT credits1[] = {
- {kITEAny, kCHeader, "Programming"},
+ {kITENotDe, kCHeader, "Programming"},
+ {kITEDe, kCHeader, "Programmiert von"},
{kITEAny, kCText, "Talin, Walter Hochbrueckner,"},
- {kITEAny, kCText, "Joe Burks and Robert Wiggins"},
+ {kITENotDe, kCText, "Joe Burks and Robert Wiggins"},
+ {kITEDe, kCText, "Joe Burks und Robert Wiggins"},
{kITEPCCD | kITEWyrmKeep, kCHeader, "Additional Programming"},
{kITEPCCD | kITEWyrmKeep, kCText, "John Bolton"},
{kITEMac, kCHeader, "Macintosh Version"},
{kITEMac, kCText, "Michael McNally and Robert McNally"},
- {kITEAny, kCHeader, "Music and Sound"},
+ {kITENotDe, kCHeader, "Music and Sound"},
+ {kITEDe, kCHeader, "Musik und Sound"},
{kITEAny, kCText, "Matt Nathan"}
};
int n_credits1 = ARRAYSIZE(credits1);
const INTRO_CREDIT credits2[] = {
- {kITEAny, kCHeader, "Directed by"},
+ {kITENotDe, kCHeader, "Directed by"},
+ {kITEDe, kCHeader, "Regie"},
{kITEAny, kCText, "Talin"}
};
diff --git a/saga/saga.cpp b/saga/saga.cpp
index bd7a68db4b..4b380fe72b 100644
--- a/saga/saga.cpp
+++ b/saga/saga.cpp
@@ -60,46 +60,28 @@ static const GameSettings saga_games[] = {
{0, 0, 0}
};
-static const char *englishTextStrings[] = {
- "Walk to",
- "Look At",
- "Pick Up",
- "Talk to",
- "Open",
- "Close",
- "Use",
- "Give",
- "Options",
- "Test",
- "Demo",
- "Help",
- "Quit Game",
- "Fast",
- "Slow",
- "On",
- "Off",
- "Continue Playing",
- "Load",
- "Save",
- "Game Options",
- "Reading Speed",
- "Music",
- "Sound",
- "Cancel",
- "Quit",
- "OK",
- "Mid",
- "Click",
- "10%",
- "20%",
- "30%",
- "40%",
- "50%",
- "60%",
- "70%",
- "80%",
- "90%",
- "Max"
+static const char *interfaceTextStrings[][39] = {
+ {
+ "Walk to", "Look At", "Pick Up", "Talk to", "Open",
+ "Close", "Use", "Give", "Options", "Test",
+ "Demo", "Help", "Quit Game", "Fast", "Slow",
+ "On", "Off", "Continue Playing", "Load", "Save",
+ "Game Options", "Reading Speed", "Music", "Sound", "Cancel",
+ "Quit", "OK", "Mid", "Click",
+ "10%", "20%", "30%", "40%", "50%",
+ "60%", "70%", "80%", "90%", "Max"
+ },
+ // German
+ {
+ "Gehe zu", "Schau an", "Nimm", "Rede mit", "\231ffne",
+ "Schlie$e", "Benutze", "Gib", "Optionen", "Test",
+ "Demo", "Hilfe", "Spiel beenden", "S", "L",
+ "An", "Aus", "Weiterspielen", "Laden", "Sichern",
+ "Spieleoptionen", "Lesegeschw.", "Musik", "Sound", "Abbr.",
+ "Beenden", "OK", "M", "Klick",
+ "10%", "20%", "30%", "40%", "50%",
+ "60%", "70%", "80%", "90%", "Max"
+ }
};
GameList Engine_SAGA_gameList() {
@@ -377,7 +359,9 @@ const char *SagaEngine::getObjectName(uint16 objectId) {
const char *SagaEngine::getTextString(int textStringId) {
- return englishTextStrings[textStringId]; //TODO: i18n
+ int lang = _vm->getFeatures() & GF_LANG_DE ? 1 : 0;
+
+ return interfaceTextStrings[lang][textStringId];
}
} // End of namespace Saga
diff --git a/saga/saga.h b/saga/saga.h
index e1ac0a17cf..be0bc3f0e2 100644
--- a/saga/saga.h
+++ b/saga/saga.h
@@ -60,10 +60,6 @@ class Console;
class Events;
class PalAnim;
-#define GAME_LANGSTR_LIMIT 3
-#define GAME_ITE_LANG_PREFIX "ite_"
-#define GAME_LANG_EXT "lng"
-
#define MIN_IMG_RLECODE 3
#define MODEX_SCANLINE_LIMIT 200
@@ -462,7 +458,6 @@ public:
Point _mousePos;
bool _quit;
- char _gameLanguage[GAME_LANGSTR_LIMIT];
RSCFILE_CONTEXT **_gameFileContexts;
//current game description
@@ -497,7 +492,6 @@ public:
const char *getTextString(int textStringId);
private:
- int loadLanguage(void);
int loadGame(int gameNumber);
};
diff --git a/saga/scene.h b/saga/scene.h
index 5a26158ec9..0fcb2c42a2 100644
--- a/saga/scene.h
+++ b/saga/scene.h
@@ -160,6 +160,7 @@ typedef Common::List<SCENE_QUEUE> SceneQueueList;
#define ITE_INTRO_FRAMETIME 90
#define INTRO_CAPTION_Y 170
+#define INTRO_DE_CAPTION_Y 160
#define VOICE_PAD 50
#define VOICE_LETTERLEN 90
@@ -303,7 +304,6 @@ class Scene {
int IHNMHateProc(int param, SCENE_INFO *scene_info);
public:
- int ITEIntroRegisterLang(void);
static int SC_ITEIntroAnimProc(int param, SCENE_INFO *scene_info, void *refCon);
static int SC_ITEIntroCave1Proc(int param, SCENE_INFO *scene_info, void *refCon);
static int SC_ITEIntroCave2Proc(int param, SCENE_INFO *scene_info, void *refCon);