* Added ScummEngine_v8::initScummVars()

* Moved VAR_LANGUAGE to class ScummEngine_v8
* Minor cleanup

svn-id: r22223
This commit is contained in:
Max Horn 2006-04-29 13:56:36 +00:00
parent daed55b789
commit 39e9853d91
5 changed files with 53 additions and 49 deletions

View File

@ -312,11 +312,7 @@ void ScummEngine::processKbd(bool smushMode) {
#ifdef _WIN32_WCE #ifdef _WIN32_WCE
if (_lastKeyHit == KEY_ALL_SKIP) { if (_lastKeyHit == KEY_ALL_SKIP) {
// Skip cutscene // Skip cutscene
if (smushMode) { if (smushMode || vm.cutScenePtr[vm.cutSceneStackPointer])
_lastKeyHit = (VAR_CUTSCENEEXIT_KEY != 0xFF) ? (uint)VAR(VAR_CUTSCENEEXIT_KEY) : 27;
}
else
if (vm.cutScenePtr[vm.cutSceneStackPointer])
_lastKeyHit = (VAR_CUTSCENEEXIT_KEY != 0xFF) ? (uint)VAR(VAR_CUTSCENEEXIT_KEY) : 27; _lastKeyHit = (VAR_CUTSCENEEXIT_KEY != 0xFF) ? (uint)VAR(VAR_CUTSCENEEXIT_KEY) : 27;
else else
// Skip talk // Skip talk

View File

@ -890,6 +890,7 @@ protected:
virtual const char *getOpcodeDesc(byte i); virtual const char *getOpcodeDesc(byte i);
virtual void setupScummVars(); virtual void setupScummVars();
virtual void initScummVars();
virtual void decodeParseString(int m, int n); virtual void decodeParseString(int m, int n);
virtual void readArrayFromIndexFile(); virtual void readArrayFromIndexFile();
@ -940,6 +941,7 @@ protected:
void o8_getStringWidth(); void o8_getStringWidth();
byte VAR_LANGUAGE;
}; };
#endif #endif

View File

@ -434,7 +434,6 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
// //
// Init all VARS to 0xFF // Init all VARS to 0xFF
// //
VAR_LANGUAGE = 0xFF;
VAR_KEYPRESS = 0xFF; VAR_KEYPRESS = 0xFF;
VAR_SYNC = 0xFF; VAR_SYNC = 0xFF;
VAR_EGO = 0xFF; VAR_EGO = 0xFF;
@ -923,6 +922,8 @@ ScummEngine_v7::~ScummEngine_v7() {
ScummEngine_v8::ScummEngine_v8(OSystem *syst, const DetectorResult &dr) ScummEngine_v8::ScummEngine_v8(OSystem *syst, const DetectorResult &dr)
: ScummEngine_v7(syst, dr) { : ScummEngine_v7(syst, dr) {
_objectIDMap = 0; _objectIDMap = 0;
VAR_LANGUAGE = 0xFF;
} }
ScummEngine_v8::~ScummEngine_v8() { ScummEngine_v8::~ScummEngine_v8() {
@ -955,12 +956,13 @@ int ScummEngine::init() {
_system->endGFXTransaction(); _system->endGFXTransaction();
// On some systems it's not safe to run CD audio games from the CD. // On some systems it's not safe to run CD audio games from the CD.
if (_game.features & GF_AUDIOTRACKS) if (_game.features & GF_AUDIOTRACKS) {
checkCD(); checkCD();
int cd_num = ConfMan.getInt("cdrom"); int cd_num = ConfMan.getInt("cdrom");
if (cd_num >= 0 && (_game.features & GF_AUDIOTRACKS)) if (cd_num >= 0)
_system->openCD(cd_num); _system->openCD(cd_num);
}
// Create the sound manager // Create the sound manager
if (_game.heversion > 0) if (_game.heversion > 0)

View File

@ -1243,7 +1243,6 @@ protected:
public: public:
/* Scumm Vars */ /* Scumm Vars */
byte VAR_LANGUAGE;
byte VAR_KEYPRESS; byte VAR_KEYPRESS;
byte VAR_SYNC; byte VAR_SYNC;
byte VAR_EGO; byte VAR_EGO;

View File

@ -572,7 +572,19 @@ void ScummEngine_v5::initScummVars() {
void ScummEngine_v7::initScummVars() { void ScummEngine_v7::initScummVars() {
ScummEngine::initScummVars(); ScummEngine::initScummVars();
if (_game.version == 8) { // FIXME: How do we deal with non-cd installs? if (_game.version != 8) {
VAR(VAR_V6_EMSSPACE) = 10000;
VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
}
VAR(VAR_DEFAULT_TALK_DELAY) = 60;
VAR(VAR_VOICE_MODE) = ConfMan.getBool("subtitles");
}
void ScummEngine_v8::initScummVars() {
ScummEngine_v7::initScummVars();
// FIXME: How do we deal with non-cd installs?
VAR(VAR_CURRENTDISK) = 1; VAR(VAR_CURRENTDISK) = 1;
switch (_language) { switch (_language) {
@ -608,13 +620,6 @@ void ScummEngine_v7::initScummVars() {
default: default:
VAR(VAR_LANGUAGE) = 0; // Default to english VAR(VAR_LANGUAGE) = 0; // Default to english
} }
} else {
VAR(VAR_V6_EMSSPACE) = 10000;
VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
}
VAR(VAR_DEFAULT_TALK_DELAY) = 60;
VAR(VAR_VOICE_MODE) = ConfMan.getBool("subtitles");
} }
#endif #endif