void ProgramParser_ns::init() { _parser = new Parser; _instructionNames = new Table(ARRAYSIZE(_instructionNamesRes_ns), _instructionNamesRes_ns); Common::Array<const Opcode *> *table = 0; SetOpcodeTable(_instructionParsers); INSTRUCTION_PARSER(defLocal); // invalid opcode -> local definition INSTRUCTION_PARSER(animation); // on INSTRUCTION_PARSER(animation); // off INSTRUCTION_PARSER(x); INSTRUCTION_PARSER(y); INSTRUCTION_PARSER(z); INSTRUCTION_PARSER(f); INSTRUCTION_PARSER(loop); INSTRUCTION_PARSER(null); // endloop INSTRUCTION_PARSER(null); // show INSTRUCTION_PARSER(inc); INSTRUCTION_PARSER(inc); // dec INSTRUCTION_PARSER(set); INSTRUCTION_PARSER(put); INSTRUCTION_PARSER(call); INSTRUCTION_PARSER(null); // wait INSTRUCTION_PARSER(animation); // start INSTRUCTION_PARSER(sound); INSTRUCTION_PARSER(move); INSTRUCTION_PARSER(endscript); }
ProgramExec_ns::ProgramExec_ns(Parallaction_ns *vm) : _vm(vm) { _instructionNames = _instructionNamesRes_ns; ProgramOpcodeSet *table = 0; SetOpcodeTable(_opcodes); INSTRUCTION_OPCODE(invalid); INSTRUCTION_OPCODE(on); INSTRUCTION_OPCODE(off); INSTRUCTION_OPCODE(set); // x INSTRUCTION_OPCODE(set); // y INSTRUCTION_OPCODE(set); // z INSTRUCTION_OPCODE(set); // f INSTRUCTION_OPCODE(loop); INSTRUCTION_OPCODE(endloop); INSTRUCTION_OPCODE(show); INSTRUCTION_OPCODE(inc); INSTRUCTION_OPCODE(inc); // dec INSTRUCTION_OPCODE(set); INSTRUCTION_OPCODE(put); INSTRUCTION_OPCODE(call); INSTRUCTION_OPCODE(wait); INSTRUCTION_OPCODE(start); INSTRUCTION_OPCODE(sound); INSTRUCTION_OPCODE(move); INSTRUCTION_OPCODE(endscript); }
CommandExec_br::CommandExec_br(Parallaction_br* vm) : CommandExec(vm), _vm(vm) { CommandOpcodeSet *table = 0; SetOpcodeTable(_opcodes); COMMAND_OPCODE(invalid); COMMAND_OPCODE(set); COMMAND_OPCODE(clear); COMMAND_OPCODE(start); COMMAND_OPCODE(speak); COMMAND_OPCODE(get); COMMAND_OPCODE(location); COMMAND_OPCODE(open); COMMAND_OPCODE(close); COMMAND_OPCODE(on); COMMAND_OPCODE(off); COMMAND_OPCODE(call); COMMAND_OPCODE(toggle); COMMAND_OPCODE(drop); COMMAND_OPCODE(quit); COMMAND_OPCODE(move); COMMAND_OPCODE(stop); COMMAND_OPCODE(character); COMMAND_OPCODE(followme); COMMAND_OPCODE(onmouse); COMMAND_OPCODE(offmouse); COMMAND_OPCODE(add); COMMAND_OPCODE(leave); COMMAND_OPCODE(inc); COMMAND_OPCODE(dec); COMMAND_OPCODE(ifeq); COMMAND_OPCODE(iflt); COMMAND_OPCODE(ifgt); COMMAND_OPCODE(let); COMMAND_OPCODE(music); COMMAND_OPCODE(fix); COMMAND_OPCODE(unfix); COMMAND_OPCODE(zeta); COMMAND_OPCODE(scroll); COMMAND_OPCODE(swap); COMMAND_OPCODE(give); COMMAND_OPCODE(text); COMMAND_OPCODE(part); COMMAND_OPCODE(testsfx); COMMAND_OPCODE(ret); COMMAND_OPCODE(onsave); COMMAND_OPCODE(offsave); }
void ProgramParser_br::init() { _parser = new Parser; _instructionNames = new Table(ARRAYSIZE(_instructionNamesRes_br), _instructionNamesRes_br); Common::Array<const Opcode *> *table = 0; SetOpcodeTable(_instructionParsers); INSTRUCTION_PARSER(defLocal); // invalid opcode -> local definition INSTRUCTION_PARSER(zone); // on INSTRUCTION_PARSER(zone); // off INSTRUCTION_PARSER(x); INSTRUCTION_PARSER(y); INSTRUCTION_PARSER(z); INSTRUCTION_PARSER(f); INSTRUCTION_PARSER(loop); INSTRUCTION_PARSER(null); // endloop INSTRUCTION_PARSER(null); // show INSTRUCTION_PARSER(inc); INSTRUCTION_PARSER(inc); // dec INSTRUCTION_PARSER(set); INSTRUCTION_PARSER(put); INSTRUCTION_PARSER(call); INSTRUCTION_PARSER(null); // wait INSTRUCTION_PARSER(zone); // start INSTRUCTION_PARSER(zone); // process INSTRUCTION_PARSER(move); INSTRUCTION_PARSER(color); INSTRUCTION_PARSER(zone); // sound INSTRUCTION_PARSER(mask); INSTRUCTION_PARSER(print); INSTRUCTION_PARSER(text); INSTRUCTION_PARSER(inc); // mul INSTRUCTION_PARSER(inc); // div INSTRUCTION_PARSER(if_op); INSTRUCTION_PARSER(null); INSTRUCTION_PARSER(null); INSTRUCTION_PARSER(endif); INSTRUCTION_PARSER(zone); // stop INSTRUCTION_PARSER(endscript); }
CommandExec_ns::CommandExec_ns(Parallaction_ns* vm) : CommandExec(vm), _vm(vm) { CommandOpcodeSet *table = 0; SetOpcodeTable(_opcodes); COMMAND_OPCODE(invalid); COMMAND_OPCODE(set); COMMAND_OPCODE(clear); COMMAND_OPCODE(start); COMMAND_OPCODE(speak); COMMAND_OPCODE(get); COMMAND_OPCODE(location); COMMAND_OPCODE(open); COMMAND_OPCODE(close); COMMAND_OPCODE(on); COMMAND_OPCODE(off); COMMAND_OPCODE(call); COMMAND_OPCODE(toggle); COMMAND_OPCODE(drop); COMMAND_OPCODE(quit); COMMAND_OPCODE(move); COMMAND_OPCODE(stop); }
ProgramExec_br::ProgramExec_br(Parallaction_br *vm) : _vm(vm) { _instructionNames = _instructionNamesRes_br; ProgramOpcodeSet *table = 0; SetOpcodeTable(_opcodes); INSTRUCTION_OPCODE(invalid); INSTRUCTION_OPCODE(on); INSTRUCTION_OPCODE(off); INSTRUCTION_OPCODE(set); // x INSTRUCTION_OPCODE(set); // y INSTRUCTION_OPCODE(set); // z INSTRUCTION_OPCODE(set); // f INSTRUCTION_OPCODE(loop); INSTRUCTION_OPCODE(endloop); INSTRUCTION_OPCODE(show); // show INSTRUCTION_OPCODE(inc); INSTRUCTION_OPCODE(inc); // dec INSTRUCTION_OPCODE(set); INSTRUCTION_OPCODE(put); INSTRUCTION_OPCODE(call); INSTRUCTION_OPCODE(wait); INSTRUCTION_OPCODE(start); INSTRUCTION_OPCODE(process); INSTRUCTION_OPCODE(move); INSTRUCTION_OPCODE(color); INSTRUCTION_OPCODE(process); // sound INSTRUCTION_OPCODE(mask); INSTRUCTION_OPCODE(print); INSTRUCTION_OPCODE(text); INSTRUCTION_OPCODE(inc); // mul INSTRUCTION_OPCODE(inc); // div INSTRUCTION_OPCODE(ifeq); INSTRUCTION_OPCODE(iflt); INSTRUCTION_OPCODE(ifgt); INSTRUCTION_OPCODE(endif); INSTRUCTION_OPCODE(stop); INSTRUCTION_OPCODE(endscript); }
void LocationParser_ns::init() { _parser = new Parser; _zoneFlagNames = new Table(ARRAYSIZE(_zoneFlagNamesRes_ns), _zoneFlagNamesRes_ns); _zoneTypeNames = new Table(ARRAYSIZE(_zoneTypeNamesRes_ns), _zoneTypeNamesRes_ns); _commandsNames = new Table(ARRAYSIZE(_commandsNamesRes_ns), _commandsNamesRes_ns); _locationStmt = new Table(ARRAYSIZE(_locationStmtRes_ns), _locationStmtRes_ns); _locationZoneStmt = new Table(ARRAYSIZE(_locationZoneStmtRes_ns), _locationZoneStmtRes_ns); _locationAnimStmt = new Table(ARRAYSIZE(_locationAnimStmtRes_ns), _locationAnimStmtRes_ns); Common::Array<const Opcode *> *table = 0; SetOpcodeTable(_commandParsers); WARNING_PARSER(unexpected); COMMAND_PARSER(flags); // set COMMAND_PARSER(flags); // clear COMMAND_PARSER(zone); // start COMMAND_PARSER(zone); // speak COMMAND_PARSER(zone); // get COMMAND_PARSER(location); // location COMMAND_PARSER(zone); // open COMMAND_PARSER(zone); // close COMMAND_PARSER(zone); // on COMMAND_PARSER(zone); // off COMMAND_PARSER(call); // call COMMAND_PARSER(flags); // toggle COMMAND_PARSER(invObject); // drop COMMAND_PARSER(simple); // quit COMMAND_PARSER(move); // move COMMAND_PARSER(zone); // stop COMMAND_PARSER(endcommands); // endcommands COMMAND_PARSER(endcommands); // endzone SetOpcodeTable(_locationParsers); WARNING_PARSER(unexpected); LOCATION_PARSER(endlocation); LOCATION_PARSER(location); LOCATION_PARSER(disk); LOCATION_PARSER(nodes); LOCATION_PARSER(zone); LOCATION_PARSER(animation); LOCATION_PARSER(localflags); LOCATION_PARSER(commands); LOCATION_PARSER(acommands); LOCATION_PARSER(flags); LOCATION_PARSER(comment); LOCATION_PARSER(endcomment); LOCATION_PARSER(sound); LOCATION_PARSER(music); SetOpcodeTable(_locationZoneParsers); WARNING_PARSER(unexpected); ZONE_PARSER(limits); ZONE_PARSER(moveto); ZONE_PARSER(type); ZONE_PARSER(commands); ZONE_PARSER(label); ZONE_PARSER(flags); ZONE_PARSER(endzone); SetOpcodeTable(_locationAnimParsers); WARNING_PARSER(unexpected); ANIM_PARSER(script); ANIM_PARSER(commands); ANIM_PARSER(type); ANIM_PARSER(label); ANIM_PARSER(flags); ANIM_PARSER(file); ANIM_PARSER(position); ANIM_PARSER(moveto); ANIM_PARSER(endanimation); }
void HiRes5Engine::setupOpcodeTables() { Common::Array<const Opcode *> *table = 0; SetOpcodeTable(_condOpcodes); // 0x00 OpcodeUnImpl(); Opcode(o2_isFirstTime); Opcode(o2_isRandomGT); Opcode(o4_isItemInRoom); // 0x04 Opcode(o3_isNounNotInRoom); Opcode(o1_isMovesGT); Opcode(o1_isVarEQ); Opcode(o2_isCarryingSomething); // 0x08 Opcode(o4_isVarGT); Opcode(o1_isCurPicEQ); OpcodeUnImpl(); SetOpcodeTable(_actOpcodes); // 0x00 OpcodeUnImpl(); Opcode(o1_varAdd); Opcode(o1_varSub); Opcode(o1_varSet); // 0x04 Opcode(o1_listInv); Opcode(o4_moveItem); Opcode(o1_setRoom); Opcode(o2_setCurPic); // 0x08 Opcode(o2_setPic); Opcode(o1_printMsg); Opcode(o4_setRegionToPrev); Opcode(o_checkItemTimeLimits); // 0x0c Opcode(o4_moveAllItems); Opcode(o1_quit); Opcode(o4_setRegion); Opcode(o4_save); // 0x10 Opcode(o4_restore); Opcode(o4_restart); Opcode(o4_setRegionRoom); Opcode(o_startAnimation); // 0x14 Opcode(o1_resetPic); Opcode(o1_goDirection<IDI_DIR_NORTH>); Opcode(o1_goDirection<IDI_DIR_SOUTH>); Opcode(o1_goDirection<IDI_DIR_EAST>); // 0x18 Opcode(o1_goDirection<IDI_DIR_WEST>); Opcode(o1_goDirection<IDI_DIR_UP>); Opcode(o1_goDirection<IDI_DIR_DOWN>); Opcode(o1_takeItem); // 0x1c Opcode(o1_dropItem); Opcode(o4_setRoomPic); Opcode(o_winGame); OpcodeUnImpl(); // 0x20 Opcode(o2_initDisk); }
void LocationParser_br::init() { _parser = new Parser; _zoneFlagNames = new Table(ARRAYSIZE(_zoneFlagNamesRes_br), _zoneFlagNamesRes_br); _zoneTypeNames = new Table(ARRAYSIZE(_zoneTypeNamesRes_br), _zoneTypeNamesRes_br); _commandsNames = new Table(ARRAYSIZE(_commandsNamesRes_br), _commandsNamesRes_br); _audioCommandsNames = new Table(ARRAYSIZE(_audioCommandsNamesRes_br), _audioCommandsNamesRes_br); _locationStmt = new Table(ARRAYSIZE(_locationStmtRes_br), _locationStmtRes_br); _locationZoneStmt = new Table(ARRAYSIZE(_locationZoneStmtRes_br), _locationZoneStmtRes_br); _locationAnimStmt = new Table(ARRAYSIZE(_locationAnimStmtRes_br), _locationAnimStmtRes_br); Common::Array<const Opcode *> *table = 0; SetOpcodeTable(_commandParsers); WARNING_PARSER(unexpected); COMMAND_PARSER(flags); // set COMMAND_PARSER(flags); // clear COMMAND_PARSER(zone); // start COMMAND_PARSER(zone); // speak COMMAND_PARSER(zone); // get COMMAND_PARSER(location); COMMAND_PARSER(zone); // open COMMAND_PARSER(zone); // close COMMAND_PARSER(zone); // on COMMAND_PARSER(zone); // off COMMAND_PARSER(call); COMMAND_PARSER(flags); // toggle COMMAND_PARSER(invObject); // drop COMMAND_PARSER(simple); // quit COMMAND_PARSER(move); COMMAND_PARSER(zone); // stop COMMAND_PARSER(string); // character COMMAND_PARSER(string); // followme COMMAND_PARSER(simple); // onmouse COMMAND_PARSER(simple); // offmouse COMMAND_PARSER(invObject); // add COMMAND_PARSER(zone); // leave COMMAND_PARSER(math); // inc COMMAND_PARSER(math); // dec COMMAND_PARSER(test); // test WARNING_PARSER(unexpected); WARNING_PARSER(unexpected); COMMAND_PARSER(math); // let COMMAND_PARSER(music); COMMAND_PARSER(zone); // fix COMMAND_PARSER(zone); // unfix COMMAND_PARSER(zeta); COMMAND_PARSER(unary); // scroll COMMAND_PARSER(string); // swap COMMAND_PARSER(give); COMMAND_PARSER(text); COMMAND_PARSER(unary); // part WARNING_PARSER(unexpected); COMMAND_PARSER(simple); // return COMMAND_PARSER(simple); // onsave COMMAND_PARSER(simple); // offsave COMMAND_PARSER(endcommands); // endcommands COMMAND_PARSER(ifchar); COMMAND_PARSER(endif); SetOpcodeTable(_locationParsers); WARNING_PARSER(unexpected); LOCATION_PARSER(character); LOCATION_PARSER(endlocation); LOCATION_PARSER(ifchar); LOCATION_PARSER(null); // endif LOCATION_PARSER(location); LOCATION_PARSER(mask); LOCATION_PARSER(path); LOCATION_PARSER(null); // disk LOCATION_PARSER(localflags); LOCATION_PARSER(commands); LOCATION_PARSER(escape); LOCATION_PARSER(acommands); LOCATION_PARSER(flags); LOCATION_PARSER(comment); LOCATION_PARSER(endcomment); LOCATION_PARSER(zone); LOCATION_PARSER(animation); LOCATION_PARSER(zeta); LOCATION_PARSER(music); LOCATION_PARSER(sound); SetOpcodeTable(_locationZoneParsers); WARNING_PARSER(unexpected); ZONE_PARSER(endzone); ZONE_PARSER(limits); ZONE_PARSER(moveto); ZONE_PARSER(type); ZONE_PARSER(commands); ZONE_PARSER(label); ZONE_PARSER(flags); SetOpcodeTable(_locationAnimParsers); WARNING_PARSER(unexpected); ANIM_PARSER(endanimation); ANIM_PARSER(endanimation); // endzone ANIM_PARSER(script); ANIM_PARSER(commands); ANIM_PARSER(type); ANIM_PARSER(label); ANIM_PARSER(flags); ANIM_PARSER(file); ANIM_PARSER(position); ANIM_PARSER(moveto); }
void AdlEngine_v2::setupOpcodeTables() { Common::Array<const Opcode *> *table = 0; SetOpcodeTable(_condOpcodes); // 0x00 OpcodeUnImpl(); Opcode(o2_isFirstTime); Opcode(o2_isRandomGT); Opcode(o1_isItemInRoom); // 0x04 Opcode(o2_isNounNotInRoom); Opcode(o1_isMovesGT); Opcode(o1_isVarEQ); Opcode(o2_isCarryingSomething); // 0x08 OpcodeUnImpl(); Opcode(o1_isCurPicEQ); Opcode(o1_isItemPicEQ); SetOpcodeTable(_actOpcodes); // 0x00 OpcodeUnImpl(); Opcode(o1_varAdd); Opcode(o1_varSub); Opcode(o1_varSet); // 0x04 Opcode(o1_listInv); Opcode(o2_moveItem); Opcode(o1_setRoom); Opcode(o2_setCurPic); // 0x08 Opcode(o2_setPic); Opcode(o1_printMsg); Opcode(o1_setLight); Opcode(o1_setDark); // 0x0c Opcode(o2_moveAllItems); Opcode(o1_quit); OpcodeUnImpl(); Opcode(o2_save); // 0x10 Opcode(o2_restore); Opcode(o1_restart); Opcode(o2_placeItem); Opcode(o1_setItemPic); // 0x14 Opcode(o1_resetPic); Opcode(o1_goDirection<IDI_DIR_NORTH>); Opcode(o1_goDirection<IDI_DIR_SOUTH>); Opcode(o1_goDirection<IDI_DIR_EAST>); // 0x18 Opcode(o1_goDirection<IDI_DIR_WEST>); Opcode(o1_goDirection<IDI_DIR_UP>); Opcode(o1_goDirection<IDI_DIR_DOWN>); Opcode(o1_takeItem); // 0x1c Opcode(o1_dropItem); Opcode(o1_setRoomPic); Opcode(o2_tellTime); Opcode(o2_setRoomFromVar); // 0x20 Opcode(o2_initDisk); }