// Copyright 2023 xensik. All rights reserved. // // Use of this source code is governed by a GNU GPLv3 license // that can be found in the LICENSE file. #include "xsk/arc/engine/t6.hpp" namespace xsk::arc::t6 { extern std::array, code_count> const code_list {{ { 0x00, opcode::OP_End }, { 0x01, opcode::OP_Return }, { 0x02, opcode::OP_GetUndefined }, { 0x03, opcode::OP_GetZero }, { 0x04, opcode::OP_GetByte }, { 0x05, opcode::OP_GetNegByte }, { 0x06, opcode::OP_GetUnsignedShort }, { 0x07, opcode::OP_GetNegUnsignedShort }, { 0x08, opcode::OP_GetInteger }, { 0x09, opcode::OP_GetFloat }, { 0x0A, opcode::OP_GetString }, { 0x0B, opcode::OP_GetIString }, { 0x0C, opcode::OP_GetVector }, { 0x0D, opcode::OP_GetLevelObject }, { 0x0E, opcode::OP_GetAnimObject }, { 0x0F, opcode::OP_GetSelf }, { 0x10, opcode::OP_GetLevel }, { 0x11, opcode::OP_GetGame }, { 0x12, opcode::OP_GetAnim }, { 0x13, opcode::OP_GetAnimation }, { 0x14, opcode::OP_GetGameRef }, { 0x15, opcode::OP_GetFunction }, { 0x16, opcode::OP_CreateLocalVariable }, { 0x17, opcode::OP_SafeCreateLocalVariables }, { 0x18, opcode::OP_RemoveLocalVariables }, { 0x19, opcode::OP_EvalLocalVariableCached }, { 0x1A, opcode::OP_EvalArray }, { 0x1B, opcode::OP_EvalLocalArrayRefCached }, { 0x1C, opcode::OP_EvalArrayRef }, { 0x1D, opcode::OP_ClearArray }, { 0x1E, opcode::OP_EmptyArray }, { 0x1F, opcode::OP_GetSelfObject }, { 0x20, opcode::OP_EvalFieldVariable }, { 0x21, opcode::OP_EvalFieldVariableRef }, { 0x22, opcode::OP_ClearFieldVariable }, { 0x23, opcode::OP_SafeSetVariableFieldCached }, { 0x24, opcode::OP_SafeSetWaittillVariableFieldCached }, { 0x25, opcode::OP_ClearParams }, { 0x26, opcode::OP_CheckClearParams }, { 0x27, opcode::OP_EvalLocalVariableRefCached }, { 0x28, opcode::OP_SetVariableField }, { 0x29, opcode::OP_CallBuiltin }, { 0x2A, opcode::OP_CallBuiltinMethod }, { 0x2B, opcode::OP_Wait }, { 0x2C, opcode::OP_WaitTillFrameEnd }, { 0x2D, opcode::OP_PreScriptCall }, { 0x2E, opcode::OP_ScriptFunctionCall }, { 0x2F, opcode::OP_ScriptFunctionCallPointer }, { 0x30, opcode::OP_ScriptMethodCall }, { 0x31, opcode::OP_ScriptMethodCallPointer }, { 0x32, opcode::OP_ScriptThreadCall }, { 0x33, opcode::OP_ScriptThreadCallPointer }, { 0x34, opcode::OP_ScriptMethodThreadCall }, { 0x35, opcode::OP_ScriptMethodThreadCallPointer }, { 0x36, opcode::OP_DecTop }, { 0x37, opcode::OP_CastFieldObject }, { 0x38, opcode::OP_CastBool }, { 0x39, opcode::OP_BoolNot }, { 0x3A, opcode::OP_BoolComplement }, { 0x3B, opcode::OP_JumpOnFalse }, { 0x3C, opcode::OP_JumpOnTrue }, { 0x3D, opcode::OP_JumpOnFalseExpr }, { 0x3E, opcode::OP_JumpOnTrueExpr }, { 0x3F, opcode::OP_Jump }, { 0x40, opcode::OP_JumpBack }, { 0x41, opcode::OP_Inc }, { 0x42, opcode::OP_Dec }, { 0x43, opcode::OP_Bit_Or }, { 0x44, opcode::OP_Bit_Xor }, { 0x45, opcode::OP_Bit_And }, { 0x46, opcode::OP_Equal }, { 0x47, opcode::OP_NotEqual }, { 0x48, opcode::OP_LessThan }, { 0x49, opcode::OP_GreaterThan }, { 0x4A, opcode::OP_LessThanOrEqualTo }, { 0x4B, opcode::OP_GreaterThanOrEqualTo }, { 0x4C, opcode::OP_ShiftLeft }, { 0x4D, opcode::OP_ShiftRight }, { 0x4E, opcode::OP_Plus }, { 0x4F, opcode::OP_Minus }, { 0x50, opcode::OP_Multiply }, { 0x51, opcode::OP_Divide }, { 0x52, opcode::OP_Modulus }, { 0x53, opcode::OP_SizeOf }, { 0x54, opcode::OP_WaitTillMatch }, { 0x55, opcode::OP_WaitTill }, { 0x56, opcode::OP_Notify }, { 0x57, opcode::OP_EndOn }, { 0x58, opcode::OP_VoidCodePos }, { 0x59, opcode::OP_Switch }, { 0x5A, opcode::OP_EndSwitch }, { 0x5B, opcode::OP_Vector }, { 0x5C, opcode::OP_GetHash }, { 0x5D, opcode::OP_RealWait }, { 0x5E, opcode::OP_VectorConstant }, { 0x5F, opcode::OP_IsDefined }, { 0x60, opcode::OP_VectorScale }, { 0x61, opcode::OP_AnglesToUp }, { 0x62, opcode::OP_AnglesToRight }, { 0x63, opcode::OP_AnglesToForward }, { 0x64, opcode::OP_AngleClamp180 }, { 0x65, opcode::OP_VectorToAngles }, { 0x66, opcode::OP_Abs }, { 0x67, opcode::OP_GetTime }, { 0x68, opcode::OP_GetDvar }, { 0x69, opcode::OP_GetDvarInt }, { 0x6A, opcode::OP_GetDvarFloat }, { 0x6B, opcode::OP_GetDvarVector }, { 0x6C, opcode::OP_GetDvarColorRed }, { 0x6D, opcode::OP_GetDvarColorGreen }, { 0x6E, opcode::OP_GetDvarColorBlue }, { 0x6F, opcode::OP_GetDvarColorAlpha }, { 0x70, opcode::OP_FirstArrayKey }, { 0x71, opcode::OP_NextArrayKey }, { 0x72, opcode::OP_ProfileStart }, { 0x73, opcode::OP_ProfileStop }, { 0x74, opcode::OP_SafeDecTop }, { 0x75, opcode::OP_Nop }, { 0x76, opcode::OP_Abort }, { 0x77, opcode::OP_Object }, { 0x78, opcode::OP_ThreadObject }, { 0x79, opcode::OP_EvalLocalVariable }, { 0x7A, opcode::OP_EvalLocalVariableRef }, { 0x7B, opcode::OP_DevblockBegin }, { 0x7C, opcode::OP_DevblockEnd }, }}; } // namespace xsk::arc::t6