void Console::execute (const std::string& command) { // Log the command print("> " + command + "\n"); Compiler::Locals locals; Compiler::Output output (locals); if (compile (command + "\n", output)) { try { ConsoleInterpreterContext interpreterContext (*this, mPtr); Interpreter::Interpreter interpreter; MWScript::installOpcodes (interpreter, mConsoleOnlyScripts); std::vector<Interpreter::Type_Code> code; output.getCode (code); interpreter.run (&code[0], code.size(), interpreterContext); } catch (const std::exception& error) { printError (std::string ("Error: ") + error.what()); } } }
void installOpcodes (Interpreter::Interpreter& interpreter) { for (int i=0; i<numberOfControls; ++i) { interpreter.installSegment5 (opcodeEnable+i, new OpSetControl (controls[i], true)); interpreter.installSegment5 (opcodeDisable+i, new OpSetControl (controls[i], false)); } interpreter.installSegment5 (opcodeToggleCollision, new OpToggleCollision); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (Compiler::Sky::opcodeToggleSky, new OpToggleSky); interpreter.installSegment5 (Compiler::Sky::opcodeTurnMoonWhite, new OpTurnMoonWhite); interpreter.installSegment5 (Compiler::Sky::opcodeTurnMoonRed, new OpTurnMoonRed); interpreter.installSegment5 (Compiler::Sky::opcodeGetMasserPhase, new OpGetMasserPhase); interpreter.installSegment5 (Compiler::Sky::opcodeGetSecundaPhase, new OpGetSecundaPhase); interpreter.installSegment5 (Compiler::Sky::opcodeGetCurrentWeather, new OpGetCurrentWeather); interpreter.installSegment5 (Compiler::Sky::opcodeChangeWeather, new OpChangeWeather); interpreter.installSegment3 (Compiler::Sky::opcodeModRegion, new OpModRegion); }
void ScriptManager::run (const std::string& name, Interpreter::Context& interpreterContext) { // compile script std::map<std::string, std::vector<Interpreter::Type_Code> >::iterator iter = mScripts.find (name); if (iter==mScripts.end()) { if (!compile (name)) { // failed -> ignore script from now on. std::vector<Interpreter::Type_Code> empty; mScripts.insert (std::make_pair (name, empty)); return; } iter = mScripts.find (name); assert (iter!=mScripts.end()); } // execute script if (!iter->second.empty()) try { Interpreter::Interpreter interpreter (interpreterContext); installOpcodes (interpreter); interpreter.run (&iter->second[0], iter->second.size()); } catch (const std::exception& e) { std::cerr << "exeution of script " << name << " failed." << std::endl; if (mVerbose) std::cerr << "(" << e.what() << ")" << std::endl; iter->second.clear(); // don't execute again. } }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (Compiler::Cell::opcodeCellChanged, new OpCellChanged); interpreter.installSegment5 (Compiler::Cell::opcodeCOC, new OpCOC); interpreter.installSegment5 (Compiler::Cell::opcodeCOE, new OpCOE); interpreter.installSegment5 (Compiler::Cell::opcodeGetInterior, new OpGetInterior); interpreter.installSegment5 (Compiler::Cell::opcodeGetPCCell, new OpGetPCCell); interpreter.installSegment5 (Compiler::Cell::opcodeGetWaterLevel, new OpGetWaterLevel); interpreter.installSegment5 (Compiler::Cell::opcodeSetWaterLevel, new OpSetWaterLevel); interpreter.installSegment5 (Compiler::Cell::opcodeModWaterLevel, new OpModWaterLevel); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (Compiler::Dialogue::opcodeJournal, new OpJournal); interpreter.installSegment5 (Compiler::Dialogue::opcodeSetJournalIndex, new OpSetJournalIndex); interpreter.installSegment5 (Compiler::Dialogue::opcodeGetJournalIndex, new OpGetJournalIndex); interpreter.installSegment5 (Compiler::Dialogue::opcodeAddTopic, new OpAddTopic); interpreter.installSegment3 (Compiler::Dialogue::opcodeChoice,new OpChoice); interpreter.installSegment5 (Compiler::Dialogue::opcodeForceGreeting, new OpForceGreeting<ImplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeForceGreetingExplicit, new OpForceGreeting<ExplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeGoodbye, new OpGoodbye); interpreter.installSegment5 (Compiler::Dialogue::opcodeGetReputation, new OpGetReputation<ImplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeSetReputation, new OpSetReputation<ImplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeModReputation, new OpModReputation<ImplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeSetReputationExplicit, new OpSetReputation<ExplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeModReputationExplicit, new OpModReputation<ExplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeGetReputationExplicit, new OpGetReputation<ExplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeSameFaction, new OpSameFaction<ImplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeSameFactionExplicit, new OpSameFaction<ExplicitRef>); interpreter.installSegment5 (Compiler::Dialogue::opcodeModFactionReaction, new OpModFactionReaction); interpreter.installSegment5 (Compiler::Dialogue::opcodeGetFactionReaction, new OpGetFactionReaction); }
void installOpcodes (Interpreter::Interpreter& interpreter) { for (int i=0; i<Compiler::Control::numberOfControls; ++i) { interpreter.installSegment5 (Compiler::Control::opcodeEnable+i, new OpSetControl (Compiler::Control::controls[i], true)); interpreter.installSegment5 (Compiler::Control::opcodeDisable+i, new OpSetControl (Compiler::Control::controls[i], false)); interpreter.installSegment5 (Compiler::Control::opcodeGetDisabled+i, new OpGetDisabled (Compiler::Control::controls[i])); } interpreter.installSegment5 (Compiler::Control::opcodeToggleCollision, new OpToggleCollision); //Force Run interpreter.installSegment5 (Compiler::Control::opcodeClearForceRun, new OpClearMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceRun)); interpreter.installSegment5 (Compiler::Control::opcodeClearForceRunExplicit, new OpClearMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceRun)); interpreter.installSegment5 (Compiler::Control::opcodeForceRun, new OpSetMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceRun)); interpreter.installSegment5 (Compiler::Control::opcodeForceRunExplicit, new OpSetMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceRun)); //Force Jump interpreter.installSegment5 (Compiler::Control::opcodeClearForceJump, new OpClearMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceJump)); interpreter.installSegment5 (Compiler::Control::opcodeClearForceJumpExplicit, new OpClearMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceJump)); interpreter.installSegment5 (Compiler::Control::opcodeForceJump, new OpSetMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceJump)); interpreter.installSegment5 (Compiler::Control::opcodeForceJumpExplicit, new OpSetMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceJump)); //Force MoveJump interpreter.installSegment5 (Compiler::Control::opcodeClearForceMoveJump, new OpClearMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceMoveJump)); interpreter.installSegment5 (Compiler::Control::opcodeClearForceMoveJumpExplicit, new OpClearMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceMoveJump)); interpreter.installSegment5 (Compiler::Control::opcodeForceMoveJump, new OpSetMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceMoveJump)); interpreter.installSegment5 (Compiler::Control::opcodeForceMoveJumpExplicit, new OpSetMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceMoveJump)); //Force Sneak interpreter.installSegment5 (Compiler::Control::opcodeClearForceSneak, new OpClearMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceSneak)); interpreter.installSegment5 (Compiler::Control::opcodeClearForceSneakExplicit, new OpClearMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceSneak)); interpreter.installSegment5 (Compiler::Control::opcodeForceSneak, new OpSetMovementFlag<ImplicitRef> (MWMechanics::CreatureStats::Flag_ForceSneak)); interpreter.installSegment5 (Compiler::Control::opcodeForceSneakExplicit, new OpSetMovementFlag<ExplicitRef> (MWMechanics::CreatureStats::Flag_ForceSneak)); interpreter.installSegment5 (Compiler::Control::opcodeGetPcRunning, new OpGetPcRunning); interpreter.installSegment5 (Compiler::Control::opcodeGetPcSneaking, new OpGetPcSneaking); interpreter.installSegment5 (Compiler::Control::opcodeGetForceRun, new OpGetForceRun<ImplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceRunExplicit, new OpGetForceRun<ExplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceJump, new OpGetForceJump<ImplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceJumpExplicit, new OpGetForceJump<ExplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceMoveJump, new OpGetForceMoveJump<ImplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceMoveJumpExplicit, new OpGetForceMoveJump<ExplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceSneak, new OpGetForceSneak<ImplicitRef>); interpreter.installSegment5 (Compiler::Control::opcodeGetForceSneakExplicit, new OpGetForceSneak<ExplicitRef>); }
void installOpcodes (Interpreter::Interpreter& interpreter) { for (int i=0; i<numberOfAttributes; ++i) { interpreter.installSegment5 (opcodeGetAttribute+i, new OpGetAttribute<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetAttributeExplicit+i, new OpGetAttribute<ExplicitRef> (i)); interpreter.installSegment5 (opcodeSetAttribute+i, new OpSetAttribute<ImplicitRef> (i)); interpreter.installSegment5 (opcodeSetAttributeExplicit+i, new OpSetAttribute<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModAttribute+i, new OpModAttribute<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModAttributeExplicit+i, new OpModAttribute<ExplicitRef> (i)); } for (int i=0; i<numberOfDynamics; ++i) { interpreter.installSegment5 (opcodeGetDynamic+i, new OpGetDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetDynamicExplicit+i, new OpGetDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeSetDynamic+i, new OpSetDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeSetDynamicExplicit+i, new OpSetDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModDynamic+i, new OpModDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModDynamicExplicit+i, new OpModDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModCurrentDynamic+i, new OpModCurrentDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModCurrentDynamicExplicit+i, new OpModCurrentDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeGetDynamicGetRatio+i, new OpGetDynamicGetRatio<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetDynamicGetRatioExplicit+i, new OpGetDynamicGetRatio<ExplicitRef> (i)); } for (int i=0; i<numberOfSkills; ++i) { interpreter.installSegment5 (opcodeGetSkill+i, new OpGetSkill<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetSkillExplicit+i, new OpGetSkill<ExplicitRef> (i)); interpreter.installSegment5 (opcodeSetSkill+i, new OpSetSkill<ImplicitRef> (i)); interpreter.installSegment5 (opcodeSetSkillExplicit+i, new OpSetSkill<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModSkill+i, new OpModSkill<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModSkillExplicit+i, new OpModSkill<ExplicitRef> (i)); } interpreter.installSegment5 (opcodeAddSpell, new OpAddSpell<ImplicitRef>); interpreter.installSegment5 (opcodeAddSpellExplicit, new OpAddSpell<ExplicitRef>); interpreter.installSegment5 (opcodeRemoveSpell, new OpRemoveSpell<ImplicitRef>); interpreter.installSegment5 (opcodeRemoveSpellExplicit, new OpRemoveSpell<ExplicitRef>); interpreter.installSegment5 (opcodeGetSpell, new OpGetSpell<ImplicitRef>); interpreter.installSegment5 (opcodeGetSpellExplicit, new OpGetSpell<ExplicitRef>); interpreter.installSegment3(opcodePCRaiseRank,new OpPCRaiseRank); interpreter.installSegment3(opcodePCLowerRank,new OpPCLowerRank); interpreter.installSegment3(opcodePCJoinFaction,new OpPCJoinFaction); interpreter.installSegment5(opcodeModDisposition,new OpModDisposition<ImplicitRef>); interpreter.installSegment5(opcodeModDispositionExplicit,new OpModDisposition<ExplicitRef>); interpreter.installSegment3(opcodeGetPCRank,new OpGetPCRank<ImplicitRef>); interpreter.installSegment3(opcodeGetPCRankExplicit,new OpGetPCRank<ExplicitRef>); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (opcodeEnableBirthMenu, new OpShowDialogue (MWGui::GM_Birth)); interpreter.installSegment5 (opcodeEnableClassMenu, new OpShowDialogue (MWGui::GM_Class)); interpreter.installSegment5 (opcodeEnableNameMenu, new OpShowDialogue (MWGui::GM_Name)); interpreter.installSegment5 (opcodeEnableRaceMenu, new OpShowDialogue (MWGui::GM_Race)); interpreter.installSegment5 (opcodeEnableStatsReviewMenu, new OpShowDialogue (MWGui::GM_Review)); interpreter.installSegment5 (opcodeEnableInventoryMenu, new OpEnableWindow (MWGui::GW_Inventory)); interpreter.installSegment5 (opcodeEnableMagicMenu, new OpEnableWindow (MWGui::GW_Magic)); interpreter.installSegment5 (opcodeEnableMapMenu, new OpEnableWindow (MWGui::GW_Map)); interpreter.installSegment5 (opcodeEnableStatsMenu, new OpEnableWindow (MWGui::GW_Stats)); interpreter.installSegment5 (opcodeEnableRest, new OpEnableRest ()); interpreter.installSegment5 (opcodeShowRestMenu, new OpShowDialogue (MWGui::GM_RestBed)); interpreter.installSegment5 (opcodeGetButtonPressed, new OpGetButtonPressed); interpreter.installSegment5 (opcodeToggleFogOfWar, new OpToggleFogOfWar); interpreter.installSegment5 (opcodeToggleFullHelp, new OpToggleFullHelp); interpreter.installSegment5 (opcodeShowMap, new OpShowMap); interpreter.installSegment5 (opcodeFillMap, new OpFillMap); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (opcodeEnableBirthMenu, new OpShowDialogue (MWGui::GM_Birth)); interpreter.installSegment5 (opcodeEnableClassMenu, new OpShowDialogue (MWGui::GM_Class)); interpreter.installSegment5 (opcodeEnableNameMenu, new OpShowDialogue (MWGui::GM_Name)); interpreter.installSegment5 (opcodeEnableRaceMenu, new OpShowDialogue (MWGui::GM_Race)); interpreter.installSegment5 (opcodeEnableStatsReviewMenu, new OpShowDialogue (MWGui::GM_Review)); interpreter.installSegment5 (opcodeEnableInventoryMenu, new OpEnableWindow (MWGui::GW_Inventory)); interpreter.installSegment5 (opcodeEnableMagicMenu, new OpEnableWindow (MWGui::GW_Magic)); interpreter.installSegment5 (opcodeEnableMapMenu, new OpEnableWindow (MWGui::GW_Map)); interpreter.installSegment5 (opcodeEnableStatsMenu, new OpEnableWindow (MWGui::GW_Stats)); /* Not done yet. Enabling rest mode is not really a gui issue, it's a gameplay issue. interpreter.installSegment5 (opcodeEnableRest, new OpEnableDialogue (MWGui::GM_Rest)); */ interpreter.installSegment5 (opcodeShowRestMenu, new OpShowDialogue (MWGui::GM_Rest)); interpreter.installSegment5 (opcodeGetButtonPressed, new OpGetButtonPressed); interpreter.installSegment5 (opcodeToggleFogOfWar, new OpToggleFogOfWar); interpreter.installSegment5 (opcodeToggleFullHelp, new OpToggleFullHelp); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (opcodeXBox, new OpXBox); interpreter.installSegment5 (opcodeOnActivate, new OpOnActivate); interpreter.installSegment5 (opcodeActivate, new OpActivate); interpreter.installSegment3 (opcodeLock, new OpLock<ImplicitRef>); interpreter.installSegment3 (opcodeLockExplicit, new OpLock<ExplicitRef>); interpreter.installSegment5 (opcodeUnlock, new OpUnlock<ImplicitRef>); interpreter.installSegment5 (opcodeUnlockExplicit, new OpUnlock<ExplicitRef>); interpreter.installSegment5 (opcodeToggleCollisionDebug, new OpToggleCollisionDebug); interpreter.installSegment5 (opcodeToggleWireframe, new OpToggleWireframe); interpreter.installSegment5 (opcodeFadeIn, new OpFadeIn); interpreter.installSegment5 (opcodeFadeOut, new OpFadeOut); interpreter.installSegment5 (opcodeFadeTo, new OpFadeTo); interpreter.installSegment5 (opcodeTogglePathgrid, new OpTogglePathgrid); interpreter.installSegment5 (opcodeToggleWater, new OpToggleWater); interpreter.installSegment5 (opcodeDontSaveObject, new OpDontSaveObject); interpreter.installSegment5 (opcodeToggleVanityMode, new OpToggleVanityMode); interpreter.installSegment5 (opcodeGetPcSleep, new OpGetPcSleep); interpreter.installSegment5 (opcodeWakeUpPc, new OpWakeUpPc); }
void installOpcodes (Interpreter::Interpreter& interpreter) { for (int i=0; i<numberOfAttributes; ++i) { interpreter.installSegment5 (opcodeGetAttribute+i, new OpGetAttribute<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetAttributeExplicit+i, new OpGetAttribute<ExplicitRef> (i)); interpreter.installSegment5 (opcodeSetAttribute+i, new OpSetAttribute<ImplicitRef> (i)); interpreter.installSegment5 (opcodeSetAttributeExplicit+i, new OpSetAttribute<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModAttribute+i, new OpModAttribute<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModAttributeExplicit+i, new OpModAttribute<ExplicitRef> (i)); } for (int i=0; i<numberOfDynamics; ++i) { interpreter.installSegment5 (opcodeGetDynamic+i, new OpGetDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetDynamicExplicit+i, new OpGetDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeSetDynamic+i, new OpSetDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeSetDynamicExplicit+i, new OpSetDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModDynamic+i, new OpModDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModDynamicExplicit+i, new OpModDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModCurrentDynamic+i, new OpModCurrentDynamic<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModCurrentDynamicExplicit+i, new OpModCurrentDynamic<ExplicitRef> (i)); interpreter.installSegment5 (opcodeGetDynamicGetRatio+i, new OpGetDynamicGetRatio<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetDynamicGetRatioExplicit+i, new OpGetDynamicGetRatio<ExplicitRef> (i)); } for (int i=0; i<numberOfSkills; ++i) { interpreter.installSegment5 (opcodeGetSkill+i, new OpGetSkill<ImplicitRef> (i)); interpreter.installSegment5 (opcodeGetSkillExplicit+i, new OpGetSkill<ExplicitRef> (i)); interpreter.installSegment5 (opcodeSetSkill+i, new OpSetSkill<ImplicitRef> (i)); interpreter.installSegment5 (opcodeSetSkillExplicit+i, new OpSetSkill<ExplicitRef> (i)); interpreter.installSegment5 (opcodeModSkill+i, new OpModSkill<ImplicitRef> (i)); interpreter.installSegment5 (opcodeModSkillExplicit+i, new OpModSkill<ExplicitRef> (i)); } }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (opcodeXBox, new OpXBox); interpreter.installSegment5 (opcodeOnActivate, new OpOnActivate); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment3 (opcodeAIActivate, new OpAiActivate<ImplicitRef>); interpreter.installSegment3 (opcodeAIActivateExplicit, new OpAiActivate<ExplicitRef>); interpreter.installSegment3 (opcodeAiTravel, new OpAiTravel<ImplicitRef>); interpreter.installSegment3 (opcodeAiTravelExplicit, new OpAiTravel<ExplicitRef>); interpreter.installSegment3 (opcodeAiEscort, new OpAiEscort<ImplicitRef>); interpreter.installSegment3 (opcodeAiEscortExplicit, new OpAiEscort<ExplicitRef>); interpreter.installSegment3 (opcodeAiEscortCell, new OpAiEscortCell<ImplicitRef>); interpreter.installSegment3 (opcodeAiEscortCellExplicit, new OpAiEscortCell<ExplicitRef>); interpreter.installSegment3 (opcodeAiWander, new OpAiWander<ImplicitRef>); interpreter.installSegment3 (opcodeAiWanderExplicit, new OpAiWander<ExplicitRef>); interpreter.installSegment3 (opcodeAiFollow, new OpAiFollow<ImplicitRef>); interpreter.installSegment3 (opcodeAiFollowExplicit, new OpAiFollow<ExplicitRef>); interpreter.installSegment3 (opcodeAiFollowCell, new OpAiFollowCell<ImplicitRef>); interpreter.installSegment3 (opcodeAiFollowCellExplicit, new OpAiFollowCell<ExplicitRef>); interpreter.installSegment5 (opcodeGetAiPackageDone, new OpGetAiPackageDone<ImplicitRef>); interpreter.installSegment5 (opcodeGetAiPackageDoneExplicit, new OpGetAiPackageDone<ExplicitRef>); interpreter.installSegment5 (opcodeGetCurrentAiPackage, new OpGetCurrentAIPackage<ImplicitRef>); interpreter.installSegment5 (opcodeGetCurrentAiPackageExplicit, new OpGetCurrentAIPackage<ExplicitRef>); interpreter.installSegment3 (opcodeGetDetected, new OpGetDetected<ImplicitRef>); interpreter.installSegment3 (opcodeGetDetectedExplicit, new OpGetDetected<ExplicitRef>); interpreter.installSegment5 (opcodeSetHello, new OpSetAiSetting<ImplicitRef>(0)); interpreter.installSegment5 (opcodeSetHelloExplicit, new OpSetAiSetting<ExplicitRef>(0)); interpreter.installSegment5 (opcodeSetFight, new OpSetAiSetting<ImplicitRef>(1)); interpreter.installSegment5 (opcodeSetFightExplicit, new OpSetAiSetting<ExplicitRef>(1)); interpreter.installSegment5 (opcodeSetFlee, new OpSetAiSetting<ImplicitRef>(2)); interpreter.installSegment5 (opcodeSetFleeExplicit, new OpSetAiSetting<ExplicitRef>(2)); interpreter.installSegment5 (opcodeSetAlarm, new OpSetAiSetting<ImplicitRef>(3)); interpreter.installSegment5 (opcodeSetAlarmExplicit, new OpSetAiSetting<ExplicitRef>(3)); interpreter.installSegment5 (opcodeModHello, new OpModAiSetting<ImplicitRef>(0)); interpreter.installSegment5 (opcodeModHelloExplicit, new OpModAiSetting<ExplicitRef>(0)); interpreter.installSegment5 (opcodeModFight, new OpModAiSetting<ImplicitRef>(1)); interpreter.installSegment5 (opcodeModFightExplicit, new OpModAiSetting<ExplicitRef>(1)); interpreter.installSegment5 (opcodeModFlee, new OpModAiSetting<ImplicitRef>(2)); interpreter.installSegment5 (opcodeModFleeExplicit, new OpModAiSetting<ExplicitRef>(2)); interpreter.installSegment5 (opcodeModAlarm, new OpModAiSetting<ImplicitRef>(3)); interpreter.installSegment5 (opcodeModAlarmExplicit, new OpModAiSetting<ExplicitRef>(3)); interpreter.installSegment5 (opcodeGetHello, new OpGetAiSetting<ImplicitRef>(0)); interpreter.installSegment5 (opcodeGetHelloExplicit, new OpGetAiSetting<ExplicitRef>(0)); interpreter.installSegment5 (opcodeGetFight, new OpGetAiSetting<ImplicitRef>(1)); interpreter.installSegment5 (opcodeGetFightExplicit, new OpGetAiSetting<ExplicitRef>(1)); interpreter.installSegment5 (opcodeGetFlee, new OpGetAiSetting<ImplicitRef>(2)); interpreter.installSegment5 (opcodeGetFleeExplicit, new OpGetAiSetting<ExplicitRef>(2)); interpreter.installSegment5 (opcodeGetAlarm, new OpGetAiSetting<ImplicitRef>(3)); interpreter.installSegment5 (opcodeGetAlarmExplicit, new OpGetAiSetting<ExplicitRef>(3)); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5(opcodeSetScale,new OpSetScale<ImplicitRef>); interpreter.installSegment5(opcodeSetScaleExplicit,new OpSetScale<ExplicitRef>); interpreter.installSegment5(opcodeSetAngle,new OpSetAngle<ImplicitRef>); interpreter.installSegment5(opcodeSetAngleExplicit,new OpSetAngle<ExplicitRef>); interpreter.installSegment5(opcodeGetScale,new OpGetScale<ImplicitRef>); interpreter.installSegment5(opcodeGetScaleExplicit,new OpGetScale<ExplicitRef>); interpreter.installSegment5(opcodeGetAngle,new OpGetAngle<ImplicitRef>); interpreter.installSegment5(opcodeGetAngleExplicit,new OpGetAngle<ExplicitRef>); interpreter.installSegment5(opcodeGetPos,new OpGetPos<ImplicitRef>); interpreter.installSegment5(opcodeGetPosExplicit,new OpGetPos<ExplicitRef>); interpreter.installSegment5(opcodeSetPos,new OpSetPos<ImplicitRef>); interpreter.installSegment5(opcodeSetPosExplicit,new OpSetPos<ExplicitRef>); interpreter.installSegment5(opcodeGetStartingPos,new OpGetStartingPos<ImplicitRef>); interpreter.installSegment5(opcodeGetStartingPosExplicit,new OpGetStartingPos<ExplicitRef>); interpreter.installSegment5(opcodePosition,new OpPosition<ImplicitRef>); interpreter.installSegment5(opcodePositionExplicit,new OpPosition<ExplicitRef>); interpreter.installSegment5(opcodePositionCell,new OpPositionCell<ImplicitRef>); interpreter.installSegment5(opcodePositionCellExplicit,new OpPositionCell<ExplicitRef>); interpreter.installSegment5(opcodePlaceItemCell,new OpPlaceItemCell<ImplicitRef>); interpreter.installSegment5(opcodePlaceItem,new OpPlaceItem<ImplicitRef>); interpreter.installSegment5(opcodePlaceAtPc,new OpPlaceAtPc<ImplicitRef>); interpreter.installSegment5(opcodePlaceAtMe,new OpPlaceAtMe<ImplicitRef>); interpreter.installSegment5(opcodePlaceAtMeExplicit,new OpPlaceAtMe<ExplicitRef>); interpreter.installSegment5(opcodeModScale,new OpModScale<ImplicitRef>); interpreter.installSegment5(opcodeModScaleExplicit,new OpModScale<ExplicitRef>); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (opcodeSay, new OpSay<ImplicitRef>); interpreter.installSegment5 (opcodeSayDone, new OpSayDone<ImplicitRef>); interpreter.installSegment5 (opcodeStreamMusic, new OpStreamMusic); interpreter.installSegment5 (opcodePlaySound, new OpPlaySound); interpreter.installSegment5 (opcodePlaySoundVP, new OpPlaySoundVP); interpreter.installSegment5 (opcodePlaySound3D, new OpPlaySound3D<ImplicitRef> (false)); interpreter.installSegment5 (opcodePlaySound3DVP, new OpPlaySoundVP3D<ImplicitRef> (false)); interpreter.installSegment5 (opcodePlayLoopSound3D, new OpPlaySound3D<ImplicitRef> (true)); interpreter.installSegment5 (opcodePlayLoopSound3DVP, new OpPlaySoundVP3D<ImplicitRef> (true)); interpreter.installSegment5 (opcodeStopSound, new OpStopSound<ImplicitRef>); interpreter.installSegment5 (opcodeGetSoundPlaying, new OpGetSoundPlaying<ImplicitRef>); interpreter.installSegment5 (opcodeSayExplicit, new OpSay<ExplicitRef>); interpreter.installSegment5 (opcodeSayDoneExplicit, new OpSayDone<ExplicitRef>); interpreter.installSegment5 (opcodePlaySound3DExplicit, new OpPlaySound3D<ExplicitRef> (false)); interpreter.installSegment5 (opcodePlaySound3DVPExplicit, new OpPlaySoundVP3D<ExplicitRef> (false)); interpreter.installSegment5 (opcodePlayLoopSound3DExplicit, new OpPlaySound3D<ExplicitRef> (true)); interpreter.installSegment5 (opcodePlayLoopSound3DVPExplicit, new OpPlaySoundVP3D<ExplicitRef> (true)); interpreter.installSegment5 (opcodeStopSoundExplicit, new OpStopSound<ExplicitRef>); interpreter.installSegment5 (opcodeGetSoundPlayingExplicit, new OpGetSoundPlaying<ExplicitRef>); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (opcodeAddItem, new OpAddItem<ImplicitRef>); interpreter.installSegment5 (opcodeAddItemExplicit, new OpAddItem<ExplicitRef>); interpreter.installSegment5 (opcodeGetItemCount, new OpGetItemCount<ImplicitRef>); interpreter.installSegment5 (opcodeGetItemCountExplicit, new OpGetItemCount<ExplicitRef>); interpreter.installSegment5 (opcodeRemoveItem, new OpRemoveItem<ImplicitRef>); interpreter.installSegment5 (opcodeRemoveItemExplicit, new OpRemoveItem<ExplicitRef>); interpreter.installSegment5 (opcodeEquip, new OpEquip<ImplicitRef>); interpreter.installSegment5 (opcodeEquipExplicit, new OpEquip<ExplicitRef>); interpreter.installSegment5 (opcodeGetArmorType, new OpGetArmorType<ImplicitRef>); interpreter.installSegment5 (opcodeGetArmorTypeExplicit, new OpGetArmorType<ExplicitRef>); interpreter.installSegment5 (opcodeHasItemEquipped, new OpHasItemEquipped<ImplicitRef>); interpreter.installSegment5 (opcodeHasItemEquippedExplicit, new OpHasItemEquipped<ExplicitRef>); interpreter.installSegment5 (opcodeHasSoulGem, new OpHasSoulGem<ImplicitRef>); interpreter.installSegment5 (opcodeHasSoulGemExplicit, new OpHasSoulGem<ExplicitRef>); interpreter.installSegment5 (opcodeGetWeaponType, new OpGetWeaponType<ImplicitRef>); interpreter.installSegment5 (opcodeGetWeaponTypeExplicit, new OpGetWeaponType<ExplicitRef>); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment3 (Compiler::Ai::opcodeAIActivate, new OpAiActivate<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAIActivateExplicit, new OpAiActivate<ExplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiTravel, new OpAiTravel<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiTravelExplicit, new OpAiTravel<ExplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiEscort, new OpAiEscort<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiEscortExplicit, new OpAiEscort<ExplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiEscortCell, new OpAiEscortCell<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiEscortCellExplicit, new OpAiEscortCell<ExplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiWander, new OpAiWander<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiWanderExplicit, new OpAiWander<ExplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiFollow, new OpAiFollow<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiFollowExplicit, new OpAiFollow<ExplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiFollowCell, new OpAiFollowCell<ImplicitRef>); interpreter.installSegment3 (Compiler::Ai::opcodeAiFollowCellExplicit, new OpAiFollowCell<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetAiPackageDone, new OpGetAiPackageDone<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetAiPackageDoneExplicit, new OpGetAiPackageDone<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetCurrentAiPackage, new OpGetCurrentAIPackage<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetCurrentAiPackageExplicit, new OpGetCurrentAIPackage<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetDetected, new OpGetDetected<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetDetectedExplicit, new OpGetDetected<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetLineOfSight, new OpGetLineOfSight<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetLineOfSightExplicit, new OpGetLineOfSight<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetTarget, new OpGetTarget<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeGetTargetExplicit, new OpGetTarget<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeStartCombat, new OpStartCombat<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeStartCombatExplicit, new OpStartCombat<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeStopCombat, new OpStopCombat<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeStopCombatExplicit, new OpStopCombat<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeToggleAI, new OpToggleAI<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeToggleAIExplicit, new OpToggleAI<ExplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeSetHello, new OpSetAiSetting<ImplicitRef>(0)); interpreter.installSegment5 (Compiler::Ai::opcodeSetHelloExplicit, new OpSetAiSetting<ExplicitRef>(0)); interpreter.installSegment5 (Compiler::Ai::opcodeSetFight, new OpSetAiSetting<ImplicitRef>(1)); interpreter.installSegment5 (Compiler::Ai::opcodeSetFightExplicit, new OpSetAiSetting<ExplicitRef>(1)); interpreter.installSegment5 (Compiler::Ai::opcodeSetFlee, new OpSetAiSetting<ImplicitRef>(2)); interpreter.installSegment5 (Compiler::Ai::opcodeSetFleeExplicit, new OpSetAiSetting<ExplicitRef>(2)); interpreter.installSegment5 (Compiler::Ai::opcodeSetAlarm, new OpSetAiSetting<ImplicitRef>(3)); interpreter.installSegment5 (Compiler::Ai::opcodeSetAlarmExplicit, new OpSetAiSetting<ExplicitRef>(3)); interpreter.installSegment5 (Compiler::Ai::opcodeModHello, new OpModAiSetting<ImplicitRef>(0)); interpreter.installSegment5 (Compiler::Ai::opcodeModHelloExplicit, new OpModAiSetting<ExplicitRef>(0)); interpreter.installSegment5 (Compiler::Ai::opcodeModFight, new OpModAiSetting<ImplicitRef>(1)); interpreter.installSegment5 (Compiler::Ai::opcodeModFightExplicit, new OpModAiSetting<ExplicitRef>(1)); interpreter.installSegment5 (Compiler::Ai::opcodeModFlee, new OpModAiSetting<ImplicitRef>(2)); interpreter.installSegment5 (Compiler::Ai::opcodeModFleeExplicit, new OpModAiSetting<ExplicitRef>(2)); interpreter.installSegment5 (Compiler::Ai::opcodeModAlarm, new OpModAiSetting<ImplicitRef>(3)); interpreter.installSegment5 (Compiler::Ai::opcodeModAlarmExplicit, new OpModAiSetting<ExplicitRef>(3)); interpreter.installSegment5 (Compiler::Ai::opcodeGetHello, new OpGetAiSetting<ImplicitRef>(0)); interpreter.installSegment5 (Compiler::Ai::opcodeGetHelloExplicit, new OpGetAiSetting<ExplicitRef>(0)); interpreter.installSegment5 (Compiler::Ai::opcodeGetFight, new OpGetAiSetting<ImplicitRef>(1)); interpreter.installSegment5 (Compiler::Ai::opcodeGetFightExplicit, new OpGetAiSetting<ExplicitRef>(1)); interpreter.installSegment5 (Compiler::Ai::opcodeGetFlee, new OpGetAiSetting<ImplicitRef>(2)); interpreter.installSegment5 (Compiler::Ai::opcodeGetFleeExplicit, new OpGetAiSetting<ExplicitRef>(2)); interpreter.installSegment5 (Compiler::Ai::opcodeGetAlarm, new OpGetAiSetting<ImplicitRef>(3)); interpreter.installSegment5 (Compiler::Ai::opcodeGetAlarmExplicit, new OpGetAiSetting<ExplicitRef>(3)); interpreter.installSegment5 (Compiler::Ai::opcodeFace, new OpFace<ImplicitRef>); interpreter.installSegment5 (Compiler::Ai::opcodeFaceExplicit, new OpFace<ExplicitRef>); }
void installOpcodes (Interpreter::Interpreter& interpreter) { interpreter.installSegment5 (Compiler::Misc::opcodeXBox, new OpXBox); interpreter.installSegment5 (Compiler::Misc::opcodeOnActivate, new OpOnActivate); interpreter.installSegment5 (Compiler::Misc::opcodeActivate, new OpActivate); interpreter.installSegment3 (Compiler::Misc::opcodeLock, new OpLock<ImplicitRef>); interpreter.installSegment3 (Compiler::Misc::opcodeLockExplicit, new OpLock<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeUnlock, new OpUnlock<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeUnlockExplicit, new OpUnlock<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeToggleCollisionDebug, new OpToggleCollisionDebug); interpreter.installSegment5 (Compiler::Misc::opcodeToggleCollisionBoxes, new OpToggleCollisionBoxes); interpreter.installSegment5 (Compiler::Misc::opcodeToggleWireframe, new OpToggleWireframe); interpreter.installSegment5 (Compiler::Misc::opcodeFadeIn, new OpFadeIn); interpreter.installSegment5 (Compiler::Misc::opcodeFadeOut, new OpFadeOut); interpreter.installSegment5 (Compiler::Misc::opcodeFadeTo, new OpFadeTo); interpreter.installSegment5 (Compiler::Misc::opcodeTogglePathgrid, new OpTogglePathgrid); interpreter.installSegment5 (Compiler::Misc::opcodeToggleWater, new OpToggleWater); interpreter.installSegment5 (Compiler::Misc::opcodeDontSaveObject, new OpDontSaveObject); interpreter.installSegment5 (Compiler::Misc::opcodeToggleVanityMode, new OpToggleVanityMode); interpreter.installSegment5 (Compiler::Misc::opcodeGetPcSleep, new OpGetPcSleep); interpreter.installSegment5 (Compiler::Misc::opcodeWakeUpPc, new OpWakeUpPc); interpreter.installSegment5 (Compiler::Misc::opcodePlayBink, new OpPlayBink); interpreter.installSegment5 (Compiler::Misc::opcodeGetLocked, new OpGetLocked<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetLockedExplicit, new OpGetLocked<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetEffect, new OpGetEffect<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetEffectExplicit, new OpGetEffect<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeAddSoulGem, new OpAddSoulGem<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeAddSoulGemExplicit, new OpAddSoulGem<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeRemoveSoulGem, new OpRemoveSoulGem<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeRemoveSoulGemExplicit, new OpRemoveSoulGem<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeDrop, new OpDrop<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeDropExplicit, new OpDrop<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeDropSoulGem, new OpDropSoulGem<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeDropSoulGemExplicit, new OpDropSoulGem<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetAttacked, new OpGetAttacked<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetAttackedExplicit, new OpGetAttacked<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetWeaponDrawn, new OpGetWeaponDrawn<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetWeaponDrawnExplicit, new OpGetWeaponDrawn<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetSpellEffects, new OpGetSpellEffects<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetSpellEffectsExplicit, new OpGetSpellEffects<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetCurrentTime, new OpGetCurrentTime); interpreter.installSegment5 (Compiler::Misc::opcodeSetDelete, new OpSetDelete<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeSetDeleteExplicit, new OpSetDelete<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetSquareRoot, new OpGetSquareRoot); interpreter.installSegment5 (Compiler::Misc::opcodeFall, new OpFall<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeFallExplicit, new OpFall<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetStandingPc, new OpGetStandingPc<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetStandingPcExplicit, new OpGetStandingPc<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetStandingActor, new OpGetStandingActor<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetStandingActorExplicit, new OpGetStandingActor<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeGetWindSpeed, new OpGetWindSpeed); interpreter.installSegment5 (Compiler::Misc::opcodeHitOnMe, new OpHitOnMe<ImplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeHitOnMeExplicit, new OpHitOnMe<ExplicitRef>); interpreter.installSegment5 (Compiler::Misc::opcodeDisableTeleporting, new OpEnableTeleporting<false>); interpreter.installSegment5 (Compiler::Misc::opcodeEnableTeleporting, new OpEnableTeleporting<true>); }