diff options
| author | Walter van Niftrik | 2019-03-26 23:41:23 +0100 | 
|---|---|---|
| committer | Walter van Niftrik | 2019-03-30 23:18:02 +0100 | 
| commit | fa7688a93199f25e84d7c39ca232a4f20a629274 (patch) | |
| tree | bcb44cb7606e0bd515a69cf3a724061e0408ff14 /engines/adl/adl_v5.cpp | |
| parent | 658af785d1d6cb448e1dcf0251f80e2e9f62794a (diff) | |
| download | scummvm-rg350-fa7688a93199f25e84d7c39ca232a4f20a629274.tar.gz scummvm-rg350-fa7688a93199f25e84d7c39ca232a4f20a629274.tar.bz2 scummvm-rg350-fa7688a93199f25e84d7c39ca232a4f20a629274.zip | |
ADL: Refactor opcodes
Diffstat (limited to 'engines/adl/adl_v5.cpp')
| -rw-r--r-- | engines/adl/adl_v5.cpp | 25 | 
1 files changed, 18 insertions, 7 deletions
| diff --git a/engines/adl/adl_v5.cpp b/engines/adl/adl_v5.cpp index 929ffff7f4..b797e73901 100644 --- a/engines/adl/adl_v5.cpp +++ b/engines/adl/adl_v5.cpp @@ -65,7 +65,18 @@ AdlEngine_v5::RegionChunkType AdlEngine_v5::getRegionChunkType(const uint16 addr  	}  } -int AdlEngine_v5::o5_isNounNotInRoom(ScriptEnv &e) { +void AdlEngine_v5::setupOpcodeTables() { +	AdlEngine_v4::setupOpcodeTables(); + +	_condOpcodes[0x0a] = opcode(&AdlEngine_v5::o_abortScript); + +	_actOpcodes[0x0a] = opcode(&AdlEngine_v5::o_dummy); +	_actOpcodes[0x0b] = opcode(&AdlEngine_v5::o_setTextMode); +	_actOpcodes[0x0e] = opcode(&AdlEngine_v5::o_dummy); +	_actOpcodes[0x13] = opcode(&AdlEngine_v5::o_dummy); +} + +int AdlEngine_v5::o_isNounNotInRoom(ScriptEnv &e) {  	OP_DEBUG_1("\t&& NO_SUCH_ITEMS_IN_ROOM(%s)", itemRoomStr(e.arg(1)).c_str());  	Common::List<Item>::const_iterator item; @@ -83,7 +94,7 @@ int AdlEngine_v5::o5_isNounNotInRoom(ScriptEnv &e) {  	return 1;  } -int AdlEngine_v5::o5_abortScript(ScriptEnv &e) { +int AdlEngine_v5::o_abortScript(ScriptEnv &e) {  	OP_DEBUG_0("\t&& ABORT_SCRIPT()");  	_abortScript = true; @@ -92,13 +103,13 @@ int AdlEngine_v5::o5_abortScript(ScriptEnv &e) {  	return -1;  } -int AdlEngine_v5::o5_dummy(ScriptEnv &e) { +int AdlEngine_v5::o_dummy(ScriptEnv &e) {  	OP_DEBUG_0("\tDUMMY()");  	return 0;  } -int AdlEngine_v5::o5_setTextMode(ScriptEnv &e) { +int AdlEngine_v5::o_setTextMode(ScriptEnv &e) {  	OP_DEBUG_1("\tSET_TEXT_MODE(%d)", e.arg(1));  	switch (e.arg(1)) { @@ -126,7 +137,7 @@ int AdlEngine_v5::o5_setTextMode(ScriptEnv &e) {  	}  } -int AdlEngine_v5::o5_setRegionRoom(ScriptEnv &e) { +int AdlEngine_v5::o_setRegionRoom(ScriptEnv &e) {  	OP_DEBUG_2("\tSET_REGION_ROOM(%d, %d)", e.arg(1), e.arg(2));  	getCurRoom().curPicture = getCurRoom().picture; @@ -137,7 +148,7 @@ int AdlEngine_v5::o5_setRegionRoom(ScriptEnv &e) {  	return -1;  } -int AdlEngine_v5::o5_setRoomPic(ScriptEnv &e) { +int AdlEngine_v5::o_setRoomPic(ScriptEnv &e) {  	const byte isFirstTime = restoreRoomState(e.arg(1));  	// CHECKME: More peculiar isFirstTime handling (see also restoreRoomState). @@ -147,7 +158,7 @@ int AdlEngine_v5::o5_setRoomPic(ScriptEnv &e) {  	if (isFirstTime != 0xff)  		getRoom(e.arg(1)).isFirstTime = isFirstTime; -	o4_setRoomPic(e); +	AdlEngine_v4::o_setRoomPic(e);  	return 2;  } | 
