mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-23 02:44:56 +00:00
add maniacnes target, rather prelimary so people would be well advised not to add to compatibility at this point
svn-id: r9690
This commit is contained in:
parent
50482ded7b
commit
413f09eff5
@ -285,6 +285,7 @@ protected:
|
||||
void o2_startScript();
|
||||
void o2_subtract();
|
||||
void o2_subIndirect();
|
||||
void o2_switchCostumeSet();
|
||||
void o2_verbOps();
|
||||
void o2_waitForActor();
|
||||
void o2_waitForMessage();
|
||||
|
@ -168,6 +168,13 @@ void Scumm_v2::readIndexFile() {
|
||||
_version = 1;
|
||||
readClassicIndexFile();
|
||||
break;
|
||||
case 0x4643:
|
||||
if (!(_features & GF_NES))
|
||||
error("use maniacnes target");
|
||||
warning("NES V1 game detected");
|
||||
_version = 1;
|
||||
readClassicIndexFile();
|
||||
break;
|
||||
default:
|
||||
error("Unknown magic id (0x%X) - this version is unsupported", magic);
|
||||
break;
|
||||
|
@ -246,7 +246,7 @@ void Scumm_v2::setupOpcodes() {
|
||||
OPCODE(o5_notEqualZero),
|
||||
OPCODE(o2_setOwnerOf),
|
||||
OPCODE(o2_addIndirect),
|
||||
OPCODE(o2_dummy),
|
||||
OPCODE(o2_switchCostumeSet),
|
||||
/* AC */
|
||||
OPCODE(o2_drawSentence),
|
||||
OPCODE(o5_putActorInRoom),
|
||||
@ -1488,6 +1488,16 @@ void Scumm_v2::o2_dummy() {
|
||||
warning("o2_dummy invoked (opcode %d)", _opcode);
|
||||
}
|
||||
|
||||
void Scumm_v2::o2_switchCostumeSet() {
|
||||
// NES version of maniac uses this to switch between the two
|
||||
// groups of costumes it has
|
||||
if (_features & GF_NES) {
|
||||
warning("stub: o2_switchCostumeSet()");
|
||||
fetchScriptByte();
|
||||
} else
|
||||
o2_dummy();
|
||||
}
|
||||
|
||||
void Scumm_v2::resetSentence() {
|
||||
VAR(VAR_SENTENCE_VERB) = VAR(VAR_BACKUP_VERB);
|
||||
VAR(VAR_SENTENCE_OBJECT1) = 0;
|
||||
|
@ -85,6 +85,7 @@ enum GameFeatures {
|
||||
GF_AFTER_HEV7 = 1 << 15,
|
||||
GF_FMTOWNS = 1 << 16,
|
||||
GF_FEW_LOCALS = 1 << 17,
|
||||
GF_NES = 1 << 18,
|
||||
|
||||
GF_EXTERNAL_CHARSET = GF_SMALL_HEADER
|
||||
};
|
||||
|
@ -70,6 +70,8 @@ static const VersionSettings scumm_settings[] = {
|
||||
|
||||
{"maniac", "Maniac Mansion", GID_MANIAC, 2, VersionSettings::ADLIB_ALWAYS,
|
||||
GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, "00.LFL"},
|
||||
{"maniacnes", "Maniac Mansion (NES)", GID_MANIAC, 2, VersionSettings::ADLIB_ALWAYS,
|
||||
GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING | GF_NES, "00.LFL"},
|
||||
{"zak", "Zak McKracken and the Alien Mindbenders", GID_ZAK, 2, VersionSettings::ADLIB_ALWAYS,
|
||||
GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, "00.LFL"},
|
||||
|
||||
@ -562,6 +564,9 @@ Scumm::Scumm (GameDetector *detector, OSystem *syst)
|
||||
} else if (_gameId == GID_CMI) {
|
||||
_screenWidth = 640;
|
||||
_screenHeight = 480;
|
||||
} else if (_features & GF_NES) {
|
||||
_screenWidth = 256;
|
||||
_screenHeight = 240;
|
||||
} else {
|
||||
_screenWidth = 320;
|
||||
_screenHeight = 200;
|
||||
|
Loading…
x
Reference in New Issue
Block a user