mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-23 19:16:21 +00:00
Yet more opcodes moved to KyraEngine_v2.
svn-id: r31861
This commit is contained in:
parent
7342629944
commit
09b0f12852
@ -372,7 +372,6 @@ void KyraEngine_HoF::startup() {
|
||||
clearCauldronTable();
|
||||
memset(_inputColorCode, -1, sizeof(_inputColorCode));
|
||||
memset(_newSceneDlgState, 0, sizeof(_newSceneDlgState));
|
||||
memset(_hiddenItems, -1, sizeof(_hiddenItems));
|
||||
for (int i = 0; i < 23; ++i)
|
||||
resetCauldronStateTable(i);
|
||||
|
||||
|
@ -436,7 +436,6 @@ protected:
|
||||
void setMouseCursor(uint16 item);
|
||||
|
||||
uint8 _itemHtDat[176];
|
||||
uint16 _hiddenItems[20];
|
||||
|
||||
int checkItemCollision(int x, int y);
|
||||
void updateWaterFlasks();
|
||||
@ -728,7 +727,6 @@ protected:
|
||||
int o2_addItemToInventory(EMCState *script);
|
||||
int o2_drawShape(EMCState *script);
|
||||
int o2_addItemToCurScene(EMCState *script);
|
||||
int o2_checkForItem(EMCState *script);
|
||||
int o2_loadSoundFile(EMCState *script);
|
||||
int o2_removeSlotFromInventory(EMCState *script);
|
||||
int o2_removeItemFromInventory(EMCState *script);
|
||||
@ -801,8 +799,6 @@ protected:
|
||||
int o2_playTimSequence(EMCState *script);
|
||||
int o2_makeBookOrCauldronAppear(EMCState *script);
|
||||
int o2_resetInputColorCode(EMCState *script);
|
||||
int o2_setHiddenItemsEntry(EMCState *script);
|
||||
int o2_getHiddenItemsEntry(EMCState *script);
|
||||
int o2_mushroomEffect(EMCState *script);
|
||||
int o2_customChat(EMCState *script);
|
||||
int o2_customChatFinish(EMCState *script);
|
||||
|
@ -614,7 +614,6 @@ void KyraEngine_MR::startup() {
|
||||
}
|
||||
|
||||
musicUpdate(0);
|
||||
memset(_hiddenItems, -1, sizeof(_hiddenItems));
|
||||
|
||||
memset(_newSceneDlgState, 0, sizeof(_newSceneDlgState));
|
||||
memset(_conversationState, -1, sizeof(_conversationState));
|
||||
|
@ -250,7 +250,6 @@ private:
|
||||
// items
|
||||
int8 *_itemBuffer1;
|
||||
int8 *_itemBuffer2;
|
||||
uint16 _hiddenItems[100];
|
||||
|
||||
static const uint8 _trashItemList[];
|
||||
void removeTrashItems();
|
||||
@ -508,7 +507,6 @@ private:
|
||||
int o3_refreshCharacter(EMCState *script);
|
||||
int o3_getMalcolmsMood(EMCState *script);
|
||||
int o3_getCharacterFrameFromFacing(EMCState *script);
|
||||
int o3_setCharacterFacingOverwrite(EMCState *script);
|
||||
int o3_setCharacterFacing(EMCState *script);
|
||||
int o3_showSceneFileMessage(EMCState *script);
|
||||
int o3_setCharacterAnimFrameFromFacing(EMCState *script);
|
||||
@ -519,7 +517,6 @@ private:
|
||||
int o3_addItemToInventory(EMCState *script);
|
||||
int o3_addItemToCurScene(EMCState *script);
|
||||
int o3_objectChat(EMCState *script);
|
||||
int o3_checkForItem(EMCState *script);
|
||||
int o3_resetInventory(EMCState *script);
|
||||
int o3_removeInventoryItemInstances(EMCState *script);
|
||||
int o3_countInventoryItemInstances(EMCState *script);
|
||||
@ -562,8 +559,6 @@ private:
|
||||
int o3_countItemInstances(EMCState *script);
|
||||
int o3_dialogStartScript(EMCState *script);
|
||||
int o3_dialogEndScript(EMCState *script);
|
||||
int o3_setHiddenItemsEntry(EMCState *script);
|
||||
int o3_getHiddenItemsEntry(EMCState *script);
|
||||
int o3_customChat(EMCState *script);
|
||||
int o3_customChatFinish(EMCState *script);
|
||||
int o3_setupSceneAnimObject(EMCState *script);
|
||||
|
@ -60,6 +60,8 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags, const Engi
|
||||
_chatVocLow = -1;
|
||||
_chatText = 0;
|
||||
_chatObject = -1;
|
||||
|
||||
memset(_hiddenItems, -1, sizeof(_hiddenItems));
|
||||
}
|
||||
|
||||
KyraEngine_v2::~KyraEngine_v2() {
|
||||
|
@ -287,6 +287,8 @@ protected:
|
||||
|
||||
void initItemList(int size);
|
||||
|
||||
uint16 _hiddenItems[100];
|
||||
|
||||
Item *_itemList;
|
||||
int _itemListSize;
|
||||
|
||||
@ -361,8 +363,10 @@ protected:
|
||||
int o2_getCharacterY(EMCState *script);
|
||||
int o2_getCharacterFacing(EMCState *script);
|
||||
int o2_getCharacterScene(EMCState *script);
|
||||
int o2_setCharacterFacingOverwrite(EMCState *script);
|
||||
int o2_trySceneChange(EMCState *script);
|
||||
int o2_moveCharacter(EMCState *script);
|
||||
int o2_checkForItem(EMCState *script);
|
||||
int o2_defineItem(EMCState *script);
|
||||
int o2_queryGameFlag(EMCState *script);
|
||||
int o2_resetGameFlag(EMCState *script);
|
||||
@ -391,6 +395,8 @@ protected:
|
||||
int o2_setSpecialSceneScriptState(EMCState *script);
|
||||
int o2_clearSpecialSceneScriptState(EMCState *script);
|
||||
int o2_querySpecialSceneScriptState(EMCState *script);
|
||||
int o2_setHiddenItemsEntry(EMCState *script);
|
||||
int o2_getHiddenItemsEntry(EMCState *script);
|
||||
int o2_disableTimer(EMCState *script);
|
||||
int o2_enableTimer(EMCState *script);
|
||||
int o2_setTimerCountdown(EMCState *script);
|
||||
|
@ -107,13 +107,6 @@ int KyraEngine_HoF::o2_setCharacterAnimFrame(EMCState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_setCharacterFacing(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setCharacterFacing(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_mainCharacter.facing = stackPos(0);
|
||||
_overwriteSceneFacing = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_customCharacterChat(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_customCharacterChat(%p) ('%s', %d, %d, %d, %d)", (const void *)script, stackPosString(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4));
|
||||
playVoice(_vocHigh, stackPos(4));
|
||||
@ -408,11 +401,6 @@ int KyraEngine_HoF::o2_addItemToCurScene(EMCState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_checkForItem(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_checkForItem(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
return findItem(stackPos(0), stackPos(1)) == -1 ? 0 : 1;
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_loadSoundFile(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_loadSoundFile(%p) (%d)", (const void *)script, stackPos(0));
|
||||
if (_sound->hasSoundFile(stackPos(0)))
|
||||
@ -1151,16 +1139,6 @@ int KyraEngine_HoF::o2_resetInputColorCode(EMCState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_setHiddenItemsEntry(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_setHiddenItemsEntry(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
return (_hiddenItems[stackPos(0)] = stackPos(1));
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_getHiddenItemsEntry(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_getHiddenItemsEntry(%p) (%d)", (const void *)script, stackPos(0));
|
||||
return _hiddenItems[stackPos(0)];
|
||||
}
|
||||
|
||||
int KyraEngine_HoF::o2_mushroomEffect(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_HoF::o2_mushroomEffect(%p)", (const void *)script);
|
||||
memcpy(_screen->getPalette(2), _screen->_currentPalette, 768);
|
||||
@ -1527,7 +1505,7 @@ void KyraEngine_HoF::setupOpcodeTable() {
|
||||
OpcodeUnImpl();
|
||||
Opcode(o2_setCharacterAnimFrame);
|
||||
// 0x0c
|
||||
Opcode(o2_setCharacterFacing);
|
||||
Opcode(o2_setCharacterFacingOverwrite);
|
||||
Opcode(o2_trySceneChange);
|
||||
Opcode(o2_moveCharacter);
|
||||
Opcode(o2_customCharacterChat);
|
||||
|
@ -101,13 +101,6 @@ int KyraEngine_MR::o3_getCharacterFrameFromFacing(EMCState *script) {
|
||||
return _characterFrameTable[_mainCharacter.facing];
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_setCharacterFacingOverwrite(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setCharacterFacingOverwrite(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_mainCharacter.facing = stackPos(0);
|
||||
_overwriteSceneFacing = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_setCharacterFacing(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setCharacterFacing(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_mainCharacter.facing = stackPos(0);
|
||||
@ -206,11 +199,6 @@ int KyraEngine_MR::o3_objectChat(EMCState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_checkForItem(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_checkForItem(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
return findItem(stackPos(0), stackPos(1)) == -1 ? 0 : 1;
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_resetInventory(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_resetInventory(%p) ()", (const void *)script);
|
||||
memset(_mainCharacter.inventory, -1, sizeof(_mainCharacter.inventory));
|
||||
@ -977,16 +965,6 @@ int KyraEngine_MR::o3_dialogEndScript(EMCState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_setHiddenItemsEntry(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_setHiddenItemsEntry(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
return (_hiddenItems[stackPos(0)] = (uint16)stackPos(1));
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_getHiddenItemsEntry(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_getHiddenItemsEntry(%p) (%d)", (const void *)script, stackPos(0));
|
||||
return (int16)_hiddenItems[stackPos(0)];
|
||||
}
|
||||
|
||||
int KyraEngine_MR::o3_customChat(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_MR::o3_customChat(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
const int id = stackPos(0);
|
||||
@ -1099,7 +1077,7 @@ void KyraEngine_MR::setupOpcodeTable() {
|
||||
Opcode(o3_dummy);
|
||||
Opcode(o3_getCharacterFrameFromFacing);
|
||||
// 0x0c
|
||||
Opcode(o3_setCharacterFacingOverwrite);
|
||||
Opcode(o2_setCharacterFacingOverwrite);
|
||||
Opcode(o2_trySceneChange);
|
||||
Opcode(o2_moveCharacter);
|
||||
Opcode(o3_setCharacterFacing);
|
||||
@ -1124,7 +1102,7 @@ void KyraEngine_MR::setupOpcodeTable() {
|
||||
Opcode(o3_addItemToCurScene);
|
||||
Opcode(o3_objectChat);
|
||||
// 0x20
|
||||
Opcode(o3_checkForItem);
|
||||
Opcode(o2_checkForItem);
|
||||
Opcode(o3_dummy);
|
||||
Opcode(o3_resetInventory);
|
||||
Opcode(o2_defineItem);
|
||||
@ -1267,9 +1245,9 @@ void KyraEngine_MR::setupOpcodeTable() {
|
||||
Opcode(o2_clearSpecialSceneScriptState);
|
||||
Opcode(o2_querySpecialSceneScriptState);
|
||||
Opcode(o3_dummy);
|
||||
Opcode(o3_setHiddenItemsEntry);
|
||||
Opcode(o2_setHiddenItemsEntry);
|
||||
// 0x94
|
||||
Opcode(o3_getHiddenItemsEntry);
|
||||
Opcode(o2_getHiddenItemsEntry);
|
||||
Opcode(o3_dummy);
|
||||
Opcode(o3_dummy);
|
||||
OpcodeUnImpl();
|
||||
|
@ -51,6 +51,13 @@ int KyraEngine_v2::o2_getCharacterScene(EMCState *script) {
|
||||
return _mainCharacter.sceneId;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_setCharacterFacingOverwrite(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_setCharacterFacingOverwrite(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_mainCharacter.facing = stackPos(0);
|
||||
_overwriteSceneFacing = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_trySceneChange(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_trySceneChange(%p) (%d, %d, %d, %d)", (const void *)script,
|
||||
stackPos(0), stackPos(1), stackPos(2), stackPos(3));
|
||||
@ -76,6 +83,11 @@ int KyraEngine_v2::o2_moveCharacter(EMCState *script) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_checkForItem(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_checkForItem(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
return findItem(stackPos(0), stackPos(1)) == -1 ? 0 : 1;
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_defineItem(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_defineItem(%p) (%d, %d, %d, %d)", (const void *)script,
|
||||
stackPos(0), stackPos(1), stackPos(2), stackPos(3));
|
||||
@ -339,6 +351,16 @@ int KyraEngine_v2::o2_querySpecialSceneScriptState(EMCState *script) {
|
||||
return _specialSceneScriptState[stackPos(0)];
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_setHiddenItemsEntry(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_setHiddenItemsEntry(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
|
||||
return (_hiddenItems[stackPos(0)] = stackPos(1));
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_getHiddenItemsEntry(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_getHiddenItemsEntry(%p) (%d)", (const void *)script, stackPos(0));
|
||||
return (int16)_hiddenItems[stackPos(0)];
|
||||
}
|
||||
|
||||
int KyraEngine_v2::o2_disableTimer(EMCState *script) {
|
||||
debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_disableTimer(%p) (%d)", (const void *)script, stackPos(0));
|
||||
_timer->disable(stackPos(0));
|
||||
|
Loading…
x
Reference in New Issue
Block a user