Shifted some code around
svn-id: r46001
This commit is contained in:
parent
81d3a24cce
commit
2f6ded8727
1 changed files with 75 additions and 75 deletions
|
@ -233,81 +233,6 @@ Common::String EngineState::strSplit(const char *str, const char *sep) {
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
SciVersion EngineState::detectDoSoundType() {
|
|
||||||
if (_doSoundType == SCI_VERSION_AUTODETECT) {
|
|
||||||
if (_kernel->_selectorCache.nodePtr == -1) {
|
|
||||||
// No nodePtr selector, so this game is definitely using
|
|
||||||
// SCI0 sound code (i.e. SCI_VERSION_0_EARLY)
|
|
||||||
_doSoundType = SCI_VERSION_0_EARLY;
|
|
||||||
} else {
|
|
||||||
if (!autoDetectFeature(kDetectSoundType)) {
|
|
||||||
warning("DoSound detection failed, taking an educated guess");
|
|
||||||
|
|
||||||
if (getSciVersion() >= SCI_VERSION_1_MIDDLE)
|
|
||||||
_doSoundType = SCI_VERSION_1_LATE;
|
|
||||||
else if (getSciVersion() > SCI_VERSION_01)
|
|
||||||
_doSoundType = SCI_VERSION_1_EARLY;
|
|
||||||
else
|
|
||||||
_doSoundType = SCI_VERSION_0_EARLY;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
debugC(1, kDebugLevelSound, "Detected DoSound type: %s", getSciVersionDesc(_doSoundType).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
return _doSoundType;
|
|
||||||
}
|
|
||||||
|
|
||||||
SciVersion EngineState::detectSetCursorType() {
|
|
||||||
if (_setCursorType == SCI_VERSION_AUTODETECT) {
|
|
||||||
if (getSciVersion() <= SCI_VERSION_01) {
|
|
||||||
// SCI0/SCI01 games always have non-colored cursors
|
|
||||||
_setCursorType = SCI_VERSION_0_EARLY;
|
|
||||||
} else {
|
|
||||||
if (!autoDetectFeature(kDetectSetCursorType)) {
|
|
||||||
warning("SetCursor detection failed, taking an educated guess");
|
|
||||||
|
|
||||||
if (getSciVersion() >= SCI_VERSION_1_1)
|
|
||||||
_setCursorType = SCI_VERSION_1_1;
|
|
||||||
else
|
|
||||||
_setCursorType = SCI_VERSION_0_EARLY;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
debugC(1, kDebugLevelGraphics, "Detected SetCursor type: %s", getSciVersionDesc(_setCursorType).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
return _setCursorType;
|
|
||||||
}
|
|
||||||
|
|
||||||
SciVersion EngineState::detectLofsType() {
|
|
||||||
if (_lofsType == SCI_VERSION_AUTODETECT) {
|
|
||||||
// This detection only works (and is only needed) for SCI 1
|
|
||||||
if (getSciVersion() <= SCI_VERSION_01) {
|
|
||||||
_lofsType = SCI_VERSION_0_EARLY;
|
|
||||||
return _lofsType;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getSciVersion() >= SCI_VERSION_1_1) {
|
|
||||||
_lofsType = SCI_VERSION_1_1;
|
|
||||||
return _lofsType;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!autoDetectFeature(kDetectLofsType)) {
|
|
||||||
warning("Lofs detection failed, taking an educated guess");
|
|
||||||
|
|
||||||
if (getSciVersion() >= SCI_VERSION_1_MIDDLE)
|
|
||||||
_lofsType = SCI_VERSION_1_MIDDLE;
|
|
||||||
else
|
|
||||||
_lofsType = SCI_VERSION_0_EARLY;
|
|
||||||
}
|
|
||||||
|
|
||||||
debugC(1, kDebugLevelVM, "Detected Lofs type: %s", getSciVersionDesc(_lofsType).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
return _lofsType;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool EngineState::autoDetectFeature(FeatureDetection featureDetection) {
|
bool EngineState::autoDetectFeature(FeatureDetection featureDetection) {
|
||||||
Common::String objName;
|
Common::String objName;
|
||||||
Selector slc;
|
Selector slc;
|
||||||
|
@ -492,6 +417,81 @@ bool EngineState::autoDetectFeature(FeatureDetection featureDetection) {
|
||||||
return false; // not found
|
return false; // not found
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SciVersion EngineState::detectDoSoundType() {
|
||||||
|
if (_doSoundType == SCI_VERSION_AUTODETECT) {
|
||||||
|
if (_kernel->_selectorCache.nodePtr == -1) {
|
||||||
|
// No nodePtr selector, so this game is definitely using
|
||||||
|
// SCI0 sound code (i.e. SCI_VERSION_0_EARLY)
|
||||||
|
_doSoundType = SCI_VERSION_0_EARLY;
|
||||||
|
} else {
|
||||||
|
if (!autoDetectFeature(kDetectSoundType)) {
|
||||||
|
warning("DoSound detection failed, taking an educated guess");
|
||||||
|
|
||||||
|
if (getSciVersion() >= SCI_VERSION_1_MIDDLE)
|
||||||
|
_doSoundType = SCI_VERSION_1_LATE;
|
||||||
|
else if (getSciVersion() > SCI_VERSION_01)
|
||||||
|
_doSoundType = SCI_VERSION_1_EARLY;
|
||||||
|
else
|
||||||
|
_doSoundType = SCI_VERSION_0_EARLY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
debugC(1, kDebugLevelSound, "Detected DoSound type: %s", getSciVersionDesc(_doSoundType).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
return _doSoundType;
|
||||||
|
}
|
||||||
|
|
||||||
|
SciVersion EngineState::detectSetCursorType() {
|
||||||
|
if (_setCursorType == SCI_VERSION_AUTODETECT) {
|
||||||
|
if (getSciVersion() <= SCI_VERSION_01) {
|
||||||
|
// SCI0/SCI01 games always have non-colored cursors
|
||||||
|
_setCursorType = SCI_VERSION_0_EARLY;
|
||||||
|
} else {
|
||||||
|
if (!autoDetectFeature(kDetectSetCursorType)) {
|
||||||
|
warning("SetCursor detection failed, taking an educated guess");
|
||||||
|
|
||||||
|
if (getSciVersion() >= SCI_VERSION_1_1)
|
||||||
|
_setCursorType = SCI_VERSION_1_1;
|
||||||
|
else
|
||||||
|
_setCursorType = SCI_VERSION_0_EARLY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
debugC(1, kDebugLevelGraphics, "Detected SetCursor type: %s", getSciVersionDesc(_setCursorType).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
return _setCursorType;
|
||||||
|
}
|
||||||
|
|
||||||
|
SciVersion EngineState::detectLofsType() {
|
||||||
|
if (_lofsType == SCI_VERSION_AUTODETECT) {
|
||||||
|
// This detection only works (and is only needed) for SCI 1
|
||||||
|
if (getSciVersion() <= SCI_VERSION_01) {
|
||||||
|
_lofsType = SCI_VERSION_0_EARLY;
|
||||||
|
return _lofsType;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getSciVersion() >= SCI_VERSION_1_1) {
|
||||||
|
_lofsType = SCI_VERSION_1_1;
|
||||||
|
return _lofsType;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!autoDetectFeature(kDetectLofsType)) {
|
||||||
|
warning("Lofs detection failed, taking an educated guess");
|
||||||
|
|
||||||
|
if (getSciVersion() >= SCI_VERSION_1_MIDDLE)
|
||||||
|
_lofsType = SCI_VERSION_1_MIDDLE;
|
||||||
|
else
|
||||||
|
_lofsType = SCI_VERSION_0_EARLY;
|
||||||
|
}
|
||||||
|
|
||||||
|
debugC(1, kDebugLevelVM, "Detected Lofs type: %s", getSciVersionDesc(_lofsType).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
return _lofsType;
|
||||||
|
}
|
||||||
|
|
||||||
SciVersion EngineState::detectGfxFunctionsType() {
|
SciVersion EngineState::detectGfxFunctionsType() {
|
||||||
if (_gfxFunctionsType == SCI_VERSION_AUTODETECT) {
|
if (_gfxFunctionsType == SCI_VERSION_AUTODETECT) {
|
||||||
// This detection only works (and is only needed) for SCI0 games
|
// This detection only works (and is only needed) for SCI0 games
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue