Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Буду пробовать изучать спасибо! я просто мало сталкивался с c++
Я проверил ваш код работает но после выполняя зависает Stack.Code++; использую
Test
Заработало использовал 2 раза Stack.Code++; до и после выполнения код
Мне кажется я нашел причину и ошибка исчезла теперь Stack.Code++ использую один раз.
Я правильно сделал?
C++:Code += sizeof(INT)+1;
const INT B = Stack.ReadByte();
INT value;
if (B == 29)
value = Stack.ReadInt();
else if (B == 44)
value = Stack.ReadByte();
inline BYTE ReadByte()
{
return *Code++;
}
inline void SkipBytes(const INT Count)
{
Code += Count;
}
inline void SkipByte()
{
++Code;
}
inline INT ReadInt()
{
INT Result;
Result = *(INT*)Code;
Code += sizeof(INT);
return Result;
}
native(4005) final function execDebugReadInt(int value);
//
// Evaluatable expression item types.
//
enum EExprToken
{
// Variable references.
EX_LocalVariable = 0x00, // A local variable.
EX_InstanceVariable = 0x01, // An object variable.
EX_DefaultVariable = 0x02, // Default variable for a concrete object.
// Tokens.
EX_Return = 0x04, // Return from function.
EX_Switch = 0x05, // Switch.
EX_Jump = 0x06, // Goto a local address in code.
EX_JumpIfNot = 0x07, // Goto if not expression.
EX_Stop = 0x08, // Stop executing state code.
EX_Assert = 0x09, // Assertion.
EX_Case = 0x0A, // Case.
EX_Nothing = 0x0B, // No operation.
EX_LabelTable = 0x0C, // Table of labels.
EX_GotoLabel = 0x0D, // Goto a label.
EX_EatString = 0x0E, // Ignore a dynamic string.
EX_Let = 0x0F, // Assign an arbitrary size value to a variable.
EX_DynArrayElement = 0x10, // Dynamic array element.!!
EX_New = 0x11, // New object allocation.
EX_ClassContext = 0x12, // Class default metaobject context.
EX_MetaCast = 0x13, // Metaclass cast.
EX_LetBool = 0x14, // Let boolean variable.
EX_MapKeyElement = 0x15, // Map key element.!!
//
EX_EndFunctionParms = 0x16, // End of function call parameters.
EX_Self = 0x17, // Self object.
EX_Skip = 0x18, // Skippable expression.
EX_Context = 0x19, // Call a function through an object context.
EX_ArrayElement = 0x1A, // Array element.
EX_VirtualFunction = 0x1B, // A function call with parameters.
EX_FinalFunction = 0x1C, // A prebound function call with parameters.
EX_IntConst = 0x1D, // Int constant.
EX_FloatConst = 0x1E, // Floating point constant.
EX_StringConst = 0x1F, // String constant.
EX_ObjectConst = 0x20, // An object constant.
EX_NameConst = 0x21, // A name constant.
EX_RotationConst = 0x22, // A rotation constant.
EX_VectorConst = 0x23, // A vector constant.
EX_ByteConst = 0x24, // A byte constant.
EX_IntZero = 0x25, // Zero.
EX_IntOne = 0x26, // One.
EX_True = 0x27, // Bool True.
EX_False = 0x28, // Bool False.
EX_NativeParm = 0x29, // Native function parameter offset.
EX_NoObject = 0x2A, // NoObject.
EX_IntConstByte = 0x2C, // Int constant that requires 1 byte.
EX_BoolVariable = 0x2D, // A bool variable which requires a bitmask.
EX_DynamicCast = 0x2E, // Safe dynamic class casting.
EX_Iterator = 0x2F, // Begin an iterator operation.
EX_IteratorPop = 0x30, // Pop an iterator level.
EX_IteratorNext = 0x31, // Go to next iteration.
EX_StructCmpEq = 0x32, // Struct binary compare-for-equal.
EX_StructCmpNe = 0x33, // Struct binary compare-for-unequal.
EX_UnicodeStringConst = 0x34, // Unicode string constant.
EX_EatCtrExpr = 0x35, // Ignore a constructor expression.
//
EX_StructMember = 0x36, // Struct member.
EX_StructConstruct = 0x37, // Struct constructor.
//
EX_GlobalFunction = 0x38, // Call non-state version of a function.
// Native conversions.
EX_MinConversion = 0x39, // Minimum conversion token.
EX_RotatorToVector = 0x39,
EX_ByteToInt = 0x3A,
EX_ByteToBool = 0x3B,
EX_ByteToFloat = 0x3C,
EX_IntToByte = 0x3D,
EX_IntToBool = 0x3E,
EX_IntToFloat = 0x3F,
EX_BoolToByte = 0x40,
EX_BoolToInt = 0x41,
EX_BoolToFloat = 0x42,
EX_FloatToByte = 0x43,
EX_FloatToInt = 0x44,
EX_FloatToBool = 0x45,
//
EX_ObjectToBool = 0x47,
EX_NameToBool = 0x48,
EX_StringToByte = 0x49,
EX_StringToInt = 0x4A,
EX_StringToBool = 0x4B,
EX_StringToFloat = 0x4C,
EX_StringToVector = 0x4D,
EX_StringToRotator = 0x4E,
EX_VectorToBool = 0x4F,
EX_VectorToRotator = 0x50,
EX_RotatorToBool = 0x51,
EX_ByteToString = 0x52,
EX_IntToString = 0x53,
EX_BoolToString = 0x54,
EX_FloatToString = 0x55,
EX_ObjectToString = 0x56,
EX_NameToString = 0x57,
EX_VectorToString = 0x58,
EX_RotatorToString = 0x59,
EX_MaxConversion = 0x60, // Maximum conversion token.
// Natives.
EX_ExtendedNative = 0x60,
EX_FirstNative = 0x70,
EX_MallocConstRef = 0xD1,
EX_RefIsValid = 0x0191,
EX_ArrayOperation = 0x01F3,
EX_ArrayIterator = 0x0203,
EX_MapIterator = 0x0204,
EX_MapHasValue = 0x0201,
EX_MapRemoveValue = 0x0217,
EX_MapEmptyValue = 0x021A,
EX_AnyOperator = 0x021D,
EX_TeriaryCondition = 0x021E, // Evaluate variable.
EX_DeleteObject = 0x0288,
EX_Max = 0x1000,
};