25 #include "dgds/scripts.h" 32 ADSData() : _maxSegments(0), _scriptDelay(-1), _hitTTMOp0110(
false), _hitBranchOp(
false),
33 _gotoTarget(-1), _runningSegmentIdx(0) {
34 for (
int i = 0; i <
ARRAYSIZE(_state); i++)
37 for (
int i = 0; i <
ARRAYSIZE(_segments); i++)
58 int16 _runningSegmentIdx;
71 int numArgs(uint16 opcode)
const;
72 void segmentOrState(int16 seg, uint16 val);
73 void segmentSetState(int16 seg, uint16 val);
75 void setHitTTMOp0110(
bool val =
true);
76 bool getHitTTMOp0110()
const {
return _adsData->_hitTTMOp0110; }
77 void setGotoTarget(int32 target);
78 int16 getStateForSceneOp(uint16 segnum);
79 void setScriptDelay(int16 delay) { _adsData->_scriptDelay = delay; }
87 bool logicOpResult(uint16 code,
const TTMEnviro *env,
const TTMSeq *seq, uint16 arg);
90 bool skipToElseOrEndif();
92 bool skipToEndWhile();
93 bool skipSceneLogicBranch();
94 TTMSeq *findTTMSeq(int16 enviro, int16 seq);
96 bool runUntilBranchOpOrEnd();
97 void findUsedSequencesForSegment(
int segno);
98 void findEndOrInitOp();
100 int getArrIndexOfSegNum(uint16 segnum);
#define ARRAYSIZE(x)
Definition: util.h:91
void ARRAYCLEAR(T(&array) [N], const T &value=T())
Definition: util.h:101
Definition: serializer.h:79