mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-04 03:40:14 +00:00
addet provisional implementation of AiWander (doesn't do anything yet)
This commit is contained in:
parent
b16157a618
commit
7454713a9b
@ -88,7 +88,31 @@ namespace MWScript
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<class R>
|
||||||
|
class OpAiWander : public Interpreter::Opcode1
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
virtual void execute (Interpreter::Runtime& runtime, unsigned int arg0)
|
||||||
|
{
|
||||||
|
MWWorld::Ptr ptr = R()(runtime);
|
||||||
|
|
||||||
|
// Interpreter::Type_Float range = runtime[0].mFloat;
|
||||||
|
runtime.pop();
|
||||||
|
|
||||||
|
// Interpreter::Type_Float duration = runtime[0].mFloat;
|
||||||
|
runtime.pop();
|
||||||
|
|
||||||
|
// Interpreter::Type_Float time = runtime[0].mFloat;
|
||||||
|
runtime.pop();
|
||||||
|
|
||||||
|
// discard additional idle arguments for now
|
||||||
|
// discard additional arguments (reset), because we have no idea what they mean.
|
||||||
|
for (unsigned int i=0; i<arg0; ++i) runtime.pop();
|
||||||
|
|
||||||
|
std::cout << "AiWanter" << std::endl;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const int opcodeAiTravel = 0x20000;
|
const int opcodeAiTravel = 0x20000;
|
||||||
const int opcodeAiTravelExplicit = 0x20001;
|
const int opcodeAiTravelExplicit = 0x20001;
|
||||||
@ -96,6 +120,8 @@ namespace MWScript
|
|||||||
const int opcodeAiEscortExplicit = 0x20003;
|
const int opcodeAiEscortExplicit = 0x20003;
|
||||||
const int opcodeGetAiPackageDone = 0x200007c;
|
const int opcodeGetAiPackageDone = 0x200007c;
|
||||||
const int opcodeGetAiPackageDoneExplicit = 0x200007d;
|
const int opcodeGetAiPackageDoneExplicit = 0x200007d;
|
||||||
|
const int opcodeAiWander = 0x20010;
|
||||||
|
const int opcodeAiWanderExplicit = 0x20011;
|
||||||
|
|
||||||
void registerExtensions (Compiler::Extensions& extensions)
|
void registerExtensions (Compiler::Extensions& extensions)
|
||||||
{
|
{
|
||||||
@ -103,6 +129,8 @@ namespace MWScript
|
|||||||
opcodeAiTravelExplicit);
|
opcodeAiTravelExplicit);
|
||||||
extensions.registerInstruction ("aiescort", "cffff/l", opcodeAiEscort,
|
extensions.registerInstruction ("aiescort", "cffff/l", opcodeAiEscort,
|
||||||
opcodeAiEscortExplicit);
|
opcodeAiEscortExplicit);
|
||||||
|
extensions.registerInstruction ("aiwander", "fff/llllllllll", opcodeAiWander,
|
||||||
|
opcodeAiWanderExplicit);
|
||||||
|
|
||||||
extensions.registerFunction ("getaipackagedone", 'l', "", opcodeGetAiPackageDone,
|
extensions.registerFunction ("getaipackagedone", 'l', "", opcodeGetAiPackageDone,
|
||||||
opcodeGetAiPackageDoneExplicit);
|
opcodeGetAiPackageDoneExplicit);
|
||||||
@ -114,6 +142,8 @@ namespace MWScript
|
|||||||
interpreter.installSegment3 (opcodeAiTravelExplicit, new OpAiTravel<ExplicitRef>);
|
interpreter.installSegment3 (opcodeAiTravelExplicit, new OpAiTravel<ExplicitRef>);
|
||||||
interpreter.installSegment3 (opcodeAiEscort, new OpAiEscort<ImplicitRef>);
|
interpreter.installSegment3 (opcodeAiEscort, new OpAiEscort<ImplicitRef>);
|
||||||
interpreter.installSegment3 (opcodeAiEscortExplicit, new OpAiEscort<ExplicitRef>);
|
interpreter.installSegment3 (opcodeAiEscortExplicit, new OpAiEscort<ExplicitRef>);
|
||||||
|
interpreter.installSegment3 (opcodeAiWander, new OpAiWander<ImplicitRef>);
|
||||||
|
interpreter.installSegment3 (opcodeAiWanderExplicit, new OpAiWander<ExplicitRef>);
|
||||||
interpreter.installSegment5 (opcodeGetAiPackageDone, new OpGetAiPackageDone<ImplicitRef>);
|
interpreter.installSegment5 (opcodeGetAiPackageDone, new OpGetAiPackageDone<ImplicitRef>);
|
||||||
interpreter.installSegment5 (opcodeGetAiPackageDoneExplicit,
|
interpreter.installSegment5 (opcodeGetAiPackageDoneExplicit,
|
||||||
new OpGetAiPackageDone<ExplicitRef>);
|
new OpGetAiPackageDone<ExplicitRef>);
|
||||||
|
@ -29,7 +29,9 @@ op 0x2000c: PCLowerRank
|
|||||||
op 0x2000d: PCJoinFaction
|
op 0x2000d: PCJoinFaction
|
||||||
op 0x2000e: PCGetRank implicit
|
op 0x2000e: PCGetRank implicit
|
||||||
op 0x2000f: PCGetRank explicit
|
op 0x2000f: PCGetRank explicit
|
||||||
opcodes 0x20010-0x3ffff unused
|
op 0x20010: AiWander
|
||||||
|
op 0x20011: AiWander, explicit reference
|
||||||
|
opcodes 0x20012-0x3ffff unused
|
||||||
|
|
||||||
Segment 4:
|
Segment 4:
|
||||||
(not implemented yet)
|
(not implemented yet)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user