#pragma once
#include <cstdint>

// /////////////////////////////////////////////////////////////
// Module: pulse_runtime_lib
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////

namespace source2sdk::pulse_runtime_lib
{
    // Enumerator count: 86
    // Alignment: 2
    // Size: 0x2
    enum class PulseInstructionCode_t : std::uint16_t
    {
        INVALID = 0x0,
        IMMEDIATE_HALT = 0x1,
        RETURN_VOID = 0x2,
        RETURN_VALUE = 0x3,
        NOP = 0x4,
        JUMP = 0x5,
        JUMP_COND = 0x6,
        CHUNK_LEAP = 0x7,
        CHUNK_LEAP_COND = 0x8,
        PULSE_CALL_SYNC = 0x9,
        PULSE_CALL_ASYNC_FIRE = 0xa,
        CELL_INVOKE = 0xb,
        LIBRARY_INVOKE = 0xc,
        SET_VAR = 0xd,
        GET_VAR = 0xe,
        GET_CONST = 0xf,
        GET_DOMAIN_VALUE = 0x10,
        COPY = 0x11,
        NOT = 0x12,
        NEGATE = 0x13,
        ADD = 0x14,
        SUB = 0x15,
        MUL = 0x16,
        DIV = 0x17,
        MOD = 0x18,
        LT = 0x19,
        LTE = 0x1a,
        EQ = 0x1b,
        NE = 0x1c,
        AND = 0x1d,
        OR = 0x1e,
        SCALE = 0x1f,
        SCALE_INV = 0x20,
        ELEMENT_ACCESS = 0x21,
        CONVERT_VALUE = 0x22,
        REINTERPRET_INSTANCE = 0x23,
        GET_BLACKBOARD_REFERENCE = 0x24,
        SET_BLACKBOARD_REFERENCE = 0x25,
        REQUIREMENT_RESULT = 0x26,
        LAST_SERIALIZED_CODE = 0x27,
        NEGATE_INT = 0x28,
        NEGATE_FLOAT = 0x29,
        NEGATE_VEC3 = 0x2a,
        ADD_INT = 0x2b,
        ADD_FLOAT = 0x2c,
        ADD_STRING = 0x2d,
        ADD_VEC3 = 0x2e,
        SUB_INT = 0x2f,
        SUB_FLOAT = 0x30,
        SUB_VEC3 = 0x31,
        MUL_INT = 0x32,
        MUL_FLOAT = 0x33,
        DIV_INT = 0x34,
        DIV_FLOAT = 0x35,
        MOD_INT = 0x36,
        MOD_FLOAT = 0x37,
        LT_INT = 0x38,
        LT_FLOAT = 0x39,
        LTE_INT = 0x3a,
        LTE_FLOAT = 0x3b,
        EQ_BOOL = 0x3c,
        EQ_INT = 0x3d,
        EQ_FLOAT = 0x3e,
        EQ_VEC3 = 0x3f,
        EQ_STRING = 0x40,
        EQ_ENTITY_NAME = 0x41,
        EQ_SCHEMA_ENUM = 0x42,
        EQ_EHANDLE = 0x43,
        EQ_PANEL_HANDLE = 0x44,
        EQ_OPAQUE_HANDLE = 0x45,
        EQ_TEST_HANDLE = 0x46,
        NE_BOOL = 0x47,
        NE_INT = 0x48,
        NE_FLOAT = 0x49,
        NE_VEC3 = 0x4a,
        NE_STRING = 0x4b,
        NE_ENTITY_NAME = 0x4c,
        NE_SCHEMA_ENUM = 0x4d,
        NE_EHANDLE = 0x4e,
        NE_PANEL_HANDLE = 0x4f,
        NE_OPAQUE_HANDLE = 0x50,
        NE_TEST_HANDLE = 0x51,
        SCALE_VEC3 = 0x52,
        SCALE_INV_VEC3 = 0x53,
        ELEMENT_ACCESS_VEC3 = 0x54,
        GET_CONST_INLINE_STORAGE = 0x55,
    };
};
