void AGOSEngine::clearMenuStrip() { int i; for (i = 111; i != 115; i++) disableBox(i); if (getGameType() == GType_WW) { setWindowImageEx(2, 101); } else { setWindowImageEx(2, 102); } }
void AGOSEngine_PN::opn_opcode52() { int32 mode = varval(); if (mode == 1) { setWindowImage(mode, varval(), true); } else { setWindowImageEx(mode, varval()); } setScriptReturn(true); }
// Elvira 2 and Waxworks specific void AGOSEngine::doMenuStrip(uint menuNum) { uint i; const uint var = (getGameType() == GType_WW) ? 11 : 1; for (i = 111; i != 115; i++) disableBox(i); for (i = var; i != (var + 5); i++) _variableArray[i] = 0; byte *srcPtr = _menuBase; while (menuNum--) { while (READ_BE_UINT16(srcPtr) != 0) srcPtr += 2; srcPtr += 2; } uint id = 111; uint v = var; while (READ_BE_UINT16(srcPtr) != 0) { uint verb = READ_BE_UINT16(srcPtr); _variableArray[v] = verb; HitArea *ha = findBox(id); if (ha != NULL) { ha->flags &= ~kBFBoxDead; ha->verb = verb; } id++; srcPtr += 2; v++; } _variableArray[var + 4] = id - 111; if (getGameType() == GType_WW) { setWindowImageEx(2, 102); } else { setWindowImageEx(2, 103); } }
void AGOSEngine::o_picture() { // 96 uint vga_res = getVarOrWord(); uint mode = getVarOrByte(); // WORKAROUND: For a script bug in the Amiga AGA/CD32 versions // When selecting locations on the magical map, the script looks // for vga_res 12701, but only vga_res 12700 exists. if (getGameType() == GType_SIMON1 && getPlatform() == Common::kPlatformAmiga && vga_res == 12701) { return; } if (getGameType() == GType_PP && getGameId() != GID_DIMP) { if (vga_res == 8700 && getBitFlag(107)) { _vgaPeriod = 30; } _picture8600 = (vga_res == 8600); } setWindowImageEx(mode, vga_res); }