mirror of
https://github.com/JezuzLizard/T4SP-Server-Plugin.git
synced 2025-04-20 21:45:43 +00:00
3330 lines
124 KiB
C++
3330 lines
124 KiB
C++
#include <stdinc.hpp>
|
|
#include "loader/component_loader.hpp"
|
|
#include "utils/hook.hpp"
|
|
#include "codsrc/clientscript/cscr_compiler.hpp"
|
|
|
|
#ifndef DISABLE_RE_CSCR_COMPILER
|
|
namespace re_cscr_compiler
|
|
{
|
|
utils::hook::detour RemoveRefToValue_hook;
|
|
utils::hook::detour Scr_CompileRemoveRefToString_hook;
|
|
utils::hook::detour EmitCanonicalString_hook;
|
|
utils::hook::detour CompileTransferRefToString_hook;
|
|
utils::hook::detour EmitOpcode_hook;
|
|
utils::hook::detour EmitEnd_hook;
|
|
utils::hook::detour EmitReturn_hook;
|
|
utils::hook::detour EmitCodepos_hook;
|
|
utils::hook::detour EmitShort_hook;
|
|
utils::hook::detour EmitByte_hook;
|
|
utils::hook::detour EmitGetInteger_hook;
|
|
utils::hook::detour EmitGetFloat_hook;
|
|
utils::hook::detour EmitAnimTree_hook;
|
|
utils::hook::detour Scr_FindLocalVarIndex_hook;
|
|
utils::hook::detour EmitCreateLocalVars_hook;
|
|
utils::hook::detour EmitRemoveLocalVars_hook;
|
|
utils::hook::detour EmitNOP2_hook;
|
|
utils::hook::detour Scr_InitFromChildBlocks_hook;
|
|
utils::hook::detour Scr_AppendChildBlocks_hook;
|
|
utils::hook::detour Scr_MergeChildBlocks_hook;
|
|
utils::hook::detour Scr_TransferBlock_hook;
|
|
utils::hook::detour EmitSafeSetVariableField_hook;
|
|
utils::hook::detour EmitSafeSetWaittillVariableField_hook;
|
|
utils::hook::detour EmitGetString_hook;
|
|
utils::hook::detour EmitGetIString_hook;
|
|
utils::hook::detour EmitGetVector_hook;
|
|
utils::hook::detour EmitValue_hook;
|
|
utils::hook::detour Scr_PushValue_hook;
|
|
utils::hook::detour EmitCastBool_hook;
|
|
utils::hook::detour EmitBoolNot_hook;
|
|
utils::hook::detour EmitBoolComplement_hook;
|
|
utils::hook::detour EmitSize_hook;
|
|
utils::hook::detour EmitSelf_hook;
|
|
utils::hook::detour EmitLevel_hook;
|
|
utils::hook::detour EmitGame_hook;
|
|
utils::hook::detour EmitAnim_hook;
|
|
utils::hook::detour EmitSelfObject_hook;
|
|
utils::hook::detour EmitLevelObject_hook;
|
|
utils::hook::detour EmitAnimObject_hook;
|
|
utils::hook::detour EmitLocalVariable_hook;
|
|
utils::hook::detour EmitLocalVariableRef_hook;
|
|
utils::hook::detour Scr_RegisterLocalVar_hook;
|
|
utils::hook::detour EmitGameRef_hook;
|
|
utils::hook::detour EmitClearArray_hook;
|
|
utils::hook::detour EmitEmptyArray_hook;
|
|
utils::hook::detour EmitAnimation_hook;
|
|
utils::hook::detour EmitFieldVariable_hook;
|
|
utils::hook::detour EmitClearFieldVariable_hook;
|
|
utils::hook::detour EmitObject_hook;
|
|
utils::hook::detour EmitDecTop_hook;
|
|
utils::hook::detour EmitCastFieldObject_hook;
|
|
utils::hook::detour EmitArrayVariable_hook;
|
|
utils::hook::detour EmitArrayVariableRef_hook;
|
|
utils::hook::detour EmitClearArrayVariable_hook;
|
|
utils::hook::detour EmitVariableExpression_hook;
|
|
utils::hook::detour EmitExpressionList_hook;
|
|
utils::hook::detour AddExpressionListOpcodePos_hook;
|
|
utils::hook::detour AddFilePrecache_hook;
|
|
utils::hook::detour EmitFunction_hook;
|
|
utils::hook::detour EmitGetFunction_hook;
|
|
utils::hook::detour AddFunction_hook;
|
|
utils::hook::detour EmitPostScriptFunction_hook;
|
|
utils::hook::detour EmitPostScriptFunctionPointer_hook;
|
|
utils::hook::detour EmitPostScriptThread_hook;
|
|
utils::hook::detour EmitPostScriptThreadPointer_hook;
|
|
utils::hook::detour EmitPostScriptFunctionCall_hook;
|
|
utils::hook::detour EmitPostScriptThreadCall_hook;
|
|
utils::hook::detour EmitPreFunctionCall_hook;
|
|
utils::hook::detour EmitPostFunctionCall_hook;
|
|
utils::hook::detour Scr_BeginDevScript_hook;
|
|
utils::hook::detour Scr_EndDevScript_hook;
|
|
utils::hook::detour EmitCallBuiltinOpcode_hook;
|
|
utils::hook::detour EmitCallBuiltinMethodOpcode_hook;
|
|
utils::hook::detour EmitCall_hook;
|
|
utils::hook::detour EmitMethod_hook;
|
|
utils::hook::detour LinkThread_hook;
|
|
utils::hook::detour LinkFile_hook;
|
|
utils::hook::detour CheckThreadPosition_hook;
|
|
utils::hook::detour EmitCallExpression_hook;
|
|
utils::hook::detour EmitCallExpressionFieldObject_hook;
|
|
utils::hook::detour Scr_CreateVector_hook;
|
|
utils::hook::detour EvalPrimitiveExpressionList_hook;
|
|
utils::hook::detour EmitOrEvalPrimitiveExpressionList_hook;
|
|
utils::hook::detour EmitExpressionListFieldObject_hook;
|
|
utils::hook::detour EvalPrimitiveExpression_hook;
|
|
utils::hook::detour EmitOrEvalPrimitiveExpression_hook;
|
|
utils::hook::detour EmitBoolOrExpression_hook;
|
|
utils::hook::detour EmitBoolAndExpression_hook;
|
|
utils::hook::detour EvalBinaryOperatorExpression_hook;
|
|
utils::hook::detour EmitOrEvalBinaryOperatorExpression_hook;
|
|
utils::hook::detour EmitBinaryEqualsOperatorExpression_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsVariableExpressionRef_hook;
|
|
utils::hook::detour EvalExpression_hook;
|
|
utils::hook::detour EmitOrEvalExpression_hook;
|
|
utils::hook::detour EmitExpression_hook;
|
|
utils::hook::detour EmitVariableExpressionRef_hook;
|
|
utils::hook::detour EmitArrayPrimitiveExpressionRef_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsArrayVariableRef_hook;
|
|
utils::hook::detour EmitPrimitiveExpressionFieldObject_hook;
|
|
utils::hook::detour ConnectBreakStatements_hook;
|
|
utils::hook::detour ConnectContinueStatements_hook;
|
|
utils::hook::detour EmitClearVariableExpression_hook;
|
|
utils::hook::detour EmitAssignmentStatement_hook;
|
|
utils::hook::detour EmitCallExpressionStatement_hook;
|
|
utils::hook::detour EmitReturnStatement_hook;
|
|
utils::hook::detour EmitWaitStatement_hook;
|
|
utils::hook::detour EmitWaittillFrameEnd_hook;
|
|
utils::hook::detour EmitIfStatement_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsIfStatement_hook;
|
|
utils::hook::detour EmitIfElseStatement_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsIfElseStatement_hook;
|
|
utils::hook::detour Scr_AddBreakBlock_hook;
|
|
utils::hook::detour Scr_AddContinueBlock_hook;
|
|
utils::hook::detour EmitWhileStatement_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsWhileStatement_hook;
|
|
utils::hook::detour EmitForStatement_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsForStatement_hook;
|
|
utils::hook::detour EmitIncStatement_hook;
|
|
utils::hook::detour EmitDecStatement_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsFormalParameterListInternal_hook;
|
|
utils::hook::detour EmitWaittillStatement_hook;
|
|
utils::hook::detour EmitWaittillmatchStatement_hook;
|
|
utils::hook::detour EmitNotifyStatement_hook;
|
|
utils::hook::detour EmitEndOnStatement_hook;
|
|
utils::hook::detour CompareCaseInfo_hook;
|
|
utils::hook::detour EmitCaseStatement_hook;
|
|
utils::hook::detour EmitSwitchStatementList_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsSwitchStatement_hook;
|
|
utils::hook::detour EmitSwitchStatement_hook;
|
|
utils::hook::detour EmitCaseStatementInfo_hook;
|
|
utils::hook::detour EmitBreakStatement_hook;
|
|
utils::hook::detour EmitContinueStatement_hook;
|
|
utils::hook::detour EmitProfStatement_hook;
|
|
utils::hook::detour EmitStatement_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsStatement_hook;
|
|
utils::hook::detour EmitStatementList_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsStatementList_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsDeveloperStatementList_hook;
|
|
utils::hook::detour EmitDeveloperStatementList_hook;
|
|
utils::hook::detour EmitFormalParameterList_hook;
|
|
utils::hook::detour SpecifyThread_hook;
|
|
utils::hook::detour EmitThreadInternal_hook;
|
|
utils::hook::detour Scr_CalcLocalVarsThread_hook;
|
|
utils::hook::detour InitThread_hook;
|
|
utils::hook::detour EmitNormalThread_hook;
|
|
utils::hook::detour EmitDeveloperThread_hook;
|
|
utils::hook::detour EmitThread_hook;
|
|
utils::hook::detour EmitThreadList_hook;
|
|
utils::hook::detour EmitInclude_hook;
|
|
utils::hook::detour ScriptCompile_hook;
|
|
|
|
void* RemoveRefToValue_original;
|
|
void* Scr_CompileRemoveRefToString_original;
|
|
void* EmitCanonicalString_original;
|
|
void* CompileTransferRefToString_original;
|
|
void* EmitOpcode_original;
|
|
void* EmitEnd_original;
|
|
void* EmitReturn_original;
|
|
void* EmitCodepos_original;
|
|
void* EmitShort_original;
|
|
void* EmitByte_original;
|
|
void* EmitGetInteger_original;
|
|
void* EmitGetFloat_original;
|
|
void* EmitAnimTree_original;
|
|
void* Scr_FindLocalVarIndex_original;
|
|
void* EmitCreateLocalVars_original;
|
|
void* EmitRemoveLocalVars_original;
|
|
void* EmitNOP2_original;
|
|
void* Scr_InitFromChildBlocks_original;
|
|
void* Scr_AppendChildBlocks_original;
|
|
void* Scr_MergeChildBlocks_original;
|
|
void* Scr_TransferBlock_original;
|
|
void* EmitSafeSetVariableField_original;
|
|
void* EmitSafeSetWaittillVariableField_original;
|
|
void* EmitGetString_original;
|
|
void* EmitGetIString_original;
|
|
void* EmitGetVector_original;
|
|
void* EmitValue_original;
|
|
void* Scr_PushValue_original;
|
|
void* EmitCastBool_original;
|
|
void* EmitBoolNot_original;
|
|
void* EmitBoolComplement_original;
|
|
void* EmitSize_original;
|
|
void* EmitSelf_original;
|
|
void* EmitLevel_original;
|
|
void* EmitGame_original;
|
|
void* EmitAnim_original;
|
|
void* EmitSelfObject_original;
|
|
void* EmitLevelObject_original;
|
|
void* EmitAnimObject_original;
|
|
void* EmitLocalVariable_original;
|
|
void* EmitLocalVariableRef_original;
|
|
void* Scr_RegisterLocalVar_original;
|
|
void* EmitGameRef_original;
|
|
void* EmitClearArray_original;
|
|
void* EmitEmptyArray_original;
|
|
void* EmitAnimation_original;
|
|
void* EmitFieldVariable_original;
|
|
void* EmitClearFieldVariable_original;
|
|
void* EmitObject_original;
|
|
void* EmitDecTop_original;
|
|
void* EmitCastFieldObject_original;
|
|
void* EmitArrayVariable_original;
|
|
void* EmitArrayVariableRef_original;
|
|
void* EmitClearArrayVariable_original;
|
|
void* EmitVariableExpression_original;
|
|
void* EmitExpressionList_original;
|
|
void* AddExpressionListOpcodePos_original;
|
|
void* AddFilePrecache_original;
|
|
void* EmitFunction_original;
|
|
void* EmitGetFunction_original;
|
|
void* AddFunction_original;
|
|
void* EmitPostScriptFunction_original;
|
|
void* EmitPostScriptFunctionPointer_original;
|
|
void* EmitPostScriptThread_original;
|
|
void* EmitPostScriptThreadPointer_original;
|
|
void* EmitPostScriptFunctionCall_original;
|
|
void* EmitPostScriptThreadCall_original;
|
|
void* EmitPreFunctionCall_original;
|
|
void* EmitPostFunctionCall_original;
|
|
void* Scr_BeginDevScript_original;
|
|
void* Scr_EndDevScript_original;
|
|
void* EmitCallBuiltinOpcode_original;
|
|
void* EmitCallBuiltinMethodOpcode_original;
|
|
void* EmitCall_original;
|
|
void* EmitMethod_original;
|
|
void* LinkThread_original;
|
|
void* LinkFile_original;
|
|
void* CheckThreadPosition_original;
|
|
void* EmitCallExpression_original;
|
|
void* EmitCallExpressionFieldObject_original;
|
|
void* Scr_CreateVector_original;
|
|
void* EvalPrimitiveExpressionList_original;
|
|
void* EmitOrEvalPrimitiveExpressionList_original;
|
|
void* EmitExpressionListFieldObject_original;
|
|
void* EvalPrimitiveExpression_original;
|
|
void* EmitOrEvalPrimitiveExpression_original;
|
|
void* EmitBoolOrExpression_original;
|
|
void* EmitBoolAndExpression_original;
|
|
void* EvalBinaryOperatorExpression_original;
|
|
void* EmitOrEvalBinaryOperatorExpression_original;
|
|
void* EmitBinaryEqualsOperatorExpression_original;
|
|
void* Scr_CalcLocalVarsVariableExpressionRef_original;
|
|
void* EvalExpression_original;
|
|
void* EmitOrEvalExpression_original;
|
|
void* EmitExpression_original;
|
|
void* EmitVariableExpressionRef_original;
|
|
void* EmitArrayPrimitiveExpressionRef_original;
|
|
void* Scr_CalcLocalVarsArrayVariableRef_original;
|
|
void* EmitPrimitiveExpressionFieldObject_original;
|
|
void* ConnectBreakStatements_original;
|
|
void* ConnectContinueStatements_original;
|
|
void* EmitClearVariableExpression_original;
|
|
void* EmitAssignmentStatement_original;
|
|
void* EmitCallExpressionStatement_original;
|
|
void* EmitReturnStatement_original;
|
|
void* EmitWaitStatement_original;
|
|
void* EmitWaittillFrameEnd_original;
|
|
void* EmitIfStatement_original;
|
|
void* Scr_CalcLocalVarsIfStatement_original;
|
|
void* EmitIfElseStatement_original;
|
|
void* Scr_CalcLocalVarsIfElseStatement_original;
|
|
void* Scr_AddBreakBlock_original;
|
|
void* Scr_AddContinueBlock_original;
|
|
void* EmitWhileStatement_original;
|
|
void* Scr_CalcLocalVarsWhileStatement_original;
|
|
void* EmitForStatement_original;
|
|
void* Scr_CalcLocalVarsForStatement_original;
|
|
void* EmitIncStatement_original;
|
|
void* EmitDecStatement_original;
|
|
void* Scr_CalcLocalVarsFormalParameterListInternal_original;
|
|
void* EmitWaittillStatement_original;
|
|
void* EmitWaittillmatchStatement_original;
|
|
void* EmitNotifyStatement_original;
|
|
void* EmitEndOnStatement_original;
|
|
void* CompareCaseInfo_original;
|
|
void* EmitCaseStatement_original;
|
|
void* EmitSwitchStatementList_original;
|
|
void* Scr_CalcLocalVarsSwitchStatement_original;
|
|
void* EmitSwitchStatement_original;
|
|
void* EmitCaseStatementInfo_original;
|
|
void* EmitBreakStatement_original;
|
|
void* EmitContinueStatement_original;
|
|
void* EmitProfStatement_original;
|
|
void* EmitStatement_original;
|
|
void* Scr_CalcLocalVarsStatement_original;
|
|
void* EmitStatementList_original;
|
|
void* Scr_CalcLocalVarsStatementList_original;
|
|
void* Scr_CalcLocalVarsDeveloperStatementList_original;
|
|
void* EmitDeveloperStatementList_original;
|
|
void* EmitFormalParameterList_original;
|
|
void* SpecifyThread_original;
|
|
void* EmitThreadInternal_original;
|
|
void* Scr_CalcLocalVarsThread_original;
|
|
void* InitThread_original;
|
|
void* EmitNormalThread_original;
|
|
void* EmitDeveloperThread_original;
|
|
void* EmitThread_original;
|
|
void* EmitThreadList_original;
|
|
void* EmitInclude_original;
|
|
void* ScriptCompile_original;
|
|
|
|
namespace
|
|
{
|
|
|
|
void RemoveRefToValue_stub(game::scriptInstance_t inst, game::VariableValue* value)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
RemoveRefToValue_hook.invoke<void>(inst, value);
|
|
#else
|
|
codsrc::RemoveRefToValue(inst, value);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CompileRemoveRefToString_call(game::scriptInstance_t inst, unsigned int stringVal, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_CompileRemoveRefToString(inst, stringVal, Scr_CompileRemoveRefToString_original);
|
|
#else
|
|
codsrc::Scr_CompileRemoveRefToString(inst, stringVal);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_CompileRemoveRefToString(game::scriptInstance_t inst@<eax>, unsigned int stringVal@<edx>)
|
|
NAKED void Scr_CompileRemoveRefToString_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edx;
|
|
push eax;
|
|
call Scr_CompileRemoveRefToString_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCanonicalString_call(game::scriptInstance_t inst, unsigned int stringVal, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCanonicalString(inst, stringVal, EmitCanonicalString_original);
|
|
#else
|
|
codsrc::EmitCanonicalString(inst, stringVal);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCanonicalString(game::scriptInstance_t inst@<ecx>, unsigned int stringVal@<eax>)
|
|
NAKED void EmitCanonicalString_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
push ecx;
|
|
call EmitCanonicalString_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void CompileTransferRefToString_call(unsigned int stringValue, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, unsigned int user)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::CompileTransferRefToString(stringValue, inst, user, CompileTransferRefToString_original);
|
|
#else
|
|
codsrc::CompileTransferRefToString(stringValue, inst, user);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall CompileTransferRefToString(unsigned int stringValue@<eax>, game::scriptInstance_t inst@<ecx>, unsigned int user)
|
|
NAKED void CompileTransferRefToString_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push ecx;
|
|
push eax;
|
|
call CompileTransferRefToString_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitOpcode_stub(game::scriptInstance_t inst, game::OpcodeVM op, int offset, int callType)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitOpcode_hook.invoke<void>(inst, op, offset, callType);
|
|
#else
|
|
codsrc::EmitOpcode(inst, op, offset, callType);
|
|
#endif
|
|
}
|
|
|
|
void EmitEnd_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitEnd(inst, EmitEnd_original);
|
|
#else
|
|
codsrc::EmitEnd(inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitEnd(game::scriptInstance_t inst@<eax>)
|
|
NAKED void EmitEnd_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitEnd_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitReturn_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitReturn(inst, EmitReturn_original);
|
|
#else
|
|
codsrc::EmitReturn(inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitReturn(game::scriptInstance_t inst@<eax>)
|
|
NAKED void EmitReturn_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitReturn_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCodepos_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int codepos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCodepos(inst, codepos, EmitCodepos_original);
|
|
#else
|
|
codsrc::EmitCodepos(inst, codepos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCodepos(game::scriptInstance_t inst@<eax>, int codepos)
|
|
NAKED void EmitCodepos_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitCodepos_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitShort_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int value)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitShort(inst, value, EmitShort_original);
|
|
#else
|
|
codsrc::EmitShort(inst, value);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitShort(game::scriptInstance_t inst@<eax>, int value)
|
|
NAKED void EmitShort_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitShort_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitByte_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int value)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitByte(inst, value, EmitByte_original);
|
|
#else
|
|
codsrc::EmitByte(inst, value);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitByte(game::scriptInstance_t inst@<eax>, int value)
|
|
NAKED void EmitByte_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitByte_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGetInteger_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int value, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGetInteger(inst, value, sourcePos, EmitGetInteger_original);
|
|
#else
|
|
codsrc::EmitGetInteger(inst, value, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGetInteger(game::scriptInstance_t inst@<eax>, int value, game::sval_u sourcePos)
|
|
NAKED void EmitGetInteger_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitGetInteger_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGetFloat_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, float value, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGetFloat(inst, value, sourcePos, EmitGetFloat_original);
|
|
#else
|
|
codsrc::EmitGetFloat(inst, value, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGetFloat(game::scriptInstance_t inst@<eax>, float value, game::sval_u sourcePos)
|
|
NAKED void EmitGetFloat_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitGetFloat_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitAnimTree_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitAnimTree(inst, sourcePos, EmitAnimTree_original);
|
|
#else
|
|
codsrc::EmitAnimTree(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitAnimTree(game::scriptInstance_t inst@<eax>, game::sval_u sourcePos)
|
|
NAKED void EmitAnimTree_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitAnimTree_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
int Scr_FindLocalVarIndex_stub(game::scriptInstance_t inst, unsigned int name, game::sval_u sourcePos, int create, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return Scr_FindLocalVarIndex_hook.invoke<int>(inst, name, sourcePos, create, block);
|
|
#else
|
|
return codsrc::Scr_FindLocalVarIndex(inst, name, sourcePos, create, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitCreateLocalVars_stub(game::scriptInstance_t inst, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitCreateLocalVars_hook.invoke<void>(inst, block);
|
|
#else
|
|
codsrc::EmitCreateLocalVars(inst, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitRemoveLocalVars_call(game::scriptInstance_t inst, game::scr_block_s* outerBlock, [[maybe_unused]] void* caller_addr, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitRemoveLocalVars(inst, outerBlock, block, EmitRemoveLocalVars_original);
|
|
#else
|
|
codsrc::EmitRemoveLocalVars(inst, outerBlock, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitRemoveLocalVars(game::scriptInstance_t inst@<eax>, game::scr_block_s *outerBlock@<ecx>, game::scr_block_s *block)
|
|
NAKED void EmitRemoveLocalVars_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push ecx;
|
|
push eax;
|
|
call EmitRemoveLocalVars_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitNOP2_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int lastStatement, unsigned int endSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitNOP2(block, inst, lastStatement, endSourcePos, EmitNOP2_original);
|
|
#else
|
|
codsrc::EmitNOP2(block, inst, lastStatement, endSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitNOP2(game::scr_block_s *block@<ecx>, game::scriptInstance_t inst@<edi>, int lastStatement, unsigned int endSourcePos)
|
|
NAKED void EmitNOP2_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push ecx;
|
|
call EmitNOP2_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_InitFromChildBlocks_stub(game::scr_block_s** childBlocks, int childCount, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_InitFromChildBlocks_hook.invoke<void>(childBlocks, childCount, block);
|
|
#else
|
|
codsrc::Scr_InitFromChildBlocks(childBlocks, childCount, block);
|
|
#endif
|
|
}
|
|
|
|
void Scr_AppendChildBlocks_call(game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::scr_block_s** childBlocks, int childCount)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_AppendChildBlocks(block, childBlocks, childCount, Scr_AppendChildBlocks_original);
|
|
#else
|
|
codsrc::Scr_AppendChildBlocks(block, childBlocks, childCount);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_AppendChildBlocks(game::scr_block_s *block@<edi>, game::scr_block_s **childBlocks, int childCount)
|
|
NAKED void Scr_AppendChildBlocks_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call Scr_AppendChildBlocks_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_MergeChildBlocks_stub(game::scr_block_s** childBlocks, int childCount, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_MergeChildBlocks_hook.invoke<void>(childBlocks, childCount, block);
|
|
#else
|
|
codsrc::Scr_MergeChildBlocks(childBlocks, childCount, block);
|
|
#endif
|
|
}
|
|
|
|
void Scr_TransferBlock_call(game::scr_block_s* to, [[maybe_unused]] void* caller_addr, game::scr_block_s* from)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_TransferBlock(to, from, Scr_TransferBlock_original);
|
|
#else
|
|
codsrc::Scr_TransferBlock(to, from);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_TransferBlock(game::scr_block_s *to@<esi>, game::scr_block_s *from)
|
|
NAKED void Scr_TransferBlock_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
call Scr_TransferBlock_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitSafeSetVariableField_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitSafeSetVariableField(block, inst, expr, sourcePos, EmitSafeSetVariableField_original);
|
|
#else
|
|
codsrc::EmitSafeSetVariableField(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitSafeSetVariableField(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitSafeSetVariableField_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitSafeSetVariableField_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitSafeSetWaittillVariableField_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitSafeSetWaittillVariableField(block, inst, expr, sourcePos, EmitSafeSetWaittillVariableField_original);
|
|
#else
|
|
codsrc::EmitSafeSetWaittillVariableField(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitSafeSetWaittillVariableField(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitSafeSetWaittillVariableField_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitSafeSetWaittillVariableField_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGetString_call(unsigned int value, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGetString(value, inst, sourcePos, EmitGetString_original);
|
|
#else
|
|
codsrc::EmitGetString(value, inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGetString(unsigned int value@<edi>, game::scriptInstance_t inst@<esi>, game::sval_u sourcePos)
|
|
NAKED void EmitGetString_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edi;
|
|
call EmitGetString_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGetIString_call(unsigned int value, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGetIString(value, inst, sourcePos, EmitGetIString_original);
|
|
#else
|
|
codsrc::EmitGetIString(value, inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGetIString(unsigned int value@<edi>, game::scriptInstance_t inst@<esi>, game::sval_u sourcePos)
|
|
NAKED void EmitGetIString_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edi;
|
|
call EmitGetIString_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGetVector_call(const float* value, [[maybe_unused]] void* caller_addr, game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGetVector(value, inst, sourcePos, EmitGetVector_original);
|
|
#else
|
|
codsrc::EmitGetVector(value, inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGetVector(const float *value@<eax>, game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
NAKED void EmitGetVector_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitGetVector_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitValue_stub(game::scriptInstance_t inst, game::VariableCompileValue* constValue)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitValue_hook.invoke<void>(inst, constValue);
|
|
#else
|
|
codsrc::EmitValue(inst, constValue);
|
|
#endif
|
|
}
|
|
|
|
void Scr_PushValue_call(game::scriptInstance_t inst, game::VariableCompileValue* constValue, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_PushValue(inst, constValue, Scr_PushValue_original);
|
|
#else
|
|
codsrc::Scr_PushValue(inst, constValue);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_PushValue(game::scriptInstance_t inst@<eax>, game::VariableCompileValue *constValue@<esi>)
|
|
NAKED void Scr_PushValue_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call Scr_PushValue_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCastBool_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCastBool(inst, sourcePos, EmitCastBool_original);
|
|
#else
|
|
codsrc::EmitCastBool(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCastBool(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitCastBool_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitCastBool_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitBoolNot_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitBoolNot(inst, sourcePos, EmitBoolNot_original);
|
|
#else
|
|
codsrc::EmitBoolNot(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitBoolNot(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitBoolNot_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitBoolNot_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitBoolComplement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitBoolComplement(inst, sourcePos, EmitBoolComplement_original);
|
|
#else
|
|
codsrc::EmitBoolComplement(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitBoolComplement(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitBoolComplement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitBoolComplement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitSize_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitSize(block, inst, expr, sourcePos, EmitSize_original);
|
|
#else
|
|
codsrc::EmitSize(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitSize(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitSize_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitSize_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitSelf_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitSelf(inst, sourcePos, EmitSelf_original);
|
|
#else
|
|
codsrc::EmitSelf(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitSelf(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitSelf_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitSelf_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitLevel_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitLevel(inst, sourcePos, EmitLevel_original);
|
|
#else
|
|
codsrc::EmitLevel(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitLevel(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitLevel_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitLevel_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGame_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGame(inst, sourcePos, EmitGame_original);
|
|
#else
|
|
codsrc::EmitGame(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGame(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitGame_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitGame_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitAnim_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitAnim(inst, sourcePos, EmitAnim_original);
|
|
#else
|
|
codsrc::EmitAnim(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitAnim(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitAnim_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitAnim_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitSelfObject_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitSelfObject(inst, sourcePos, EmitSelfObject_original);
|
|
#else
|
|
codsrc::EmitSelfObject(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitSelfObject(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitSelfObject_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitSelfObject_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitLevelObject_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitLevelObject(inst, sourcePos, EmitLevelObject_original);
|
|
#else
|
|
codsrc::EmitLevelObject(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitLevelObject(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitLevelObject_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitLevelObject_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitAnimObject_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitAnimObject(inst, sourcePos, EmitAnimObject_original);
|
|
#else
|
|
codsrc::EmitAnimObject(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitAnimObject(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitAnimObject_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitAnimObject_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitLocalVariable_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitLocalVariable(block, inst, expr, sourcePos, EmitLocalVariable_original);
|
|
#else
|
|
codsrc::EmitLocalVariable(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitLocalVariable(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitLocalVariable_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitLocalVariable_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitLocalVariableRef_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitLocalVariableRef(block, inst, expr, sourcePos, EmitLocalVariableRef_original);
|
|
#else
|
|
codsrc::EmitLocalVariableRef(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitLocalVariableRef(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitLocalVariableRef_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitLocalVariableRef_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_RegisterLocalVar_stub(unsigned int name, game::sval_u sourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_RegisterLocalVar_hook.invoke<void>(name, sourcePos, block);
|
|
#else
|
|
codsrc::Scr_RegisterLocalVar(name, sourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitGameRef_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGameRef(inst, sourcePos, EmitGameRef_original);
|
|
#else
|
|
codsrc::EmitGameRef(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGameRef(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitGameRef_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitGameRef_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitClearArray_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitClearArray(inst, sourcePos, indexSourcePos, EmitClearArray_original);
|
|
#else
|
|
codsrc::EmitClearArray(inst, sourcePos, indexSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitClearArray(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
NAKED void EmitClearArray_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitClearArray_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitEmptyArray_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitEmptyArray(inst, sourcePos, EmitEmptyArray_original);
|
|
#else
|
|
codsrc::EmitEmptyArray(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitEmptyArray(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitEmptyArray_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitEmptyArray_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitAnimation_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u anim, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitAnimation(inst, anim, sourcePos, EmitAnimation_original);
|
|
#else
|
|
codsrc::EmitAnimation(inst, anim, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitAnimation(game::scriptInstance_t inst@<eax>, game::sval_u anim, game::sval_u sourcePos)
|
|
NAKED void EmitAnimation_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitAnimation_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitFieldVariable_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u field, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitFieldVariable(block, inst, expr, field, sourcePos, EmitFieldVariable_original);
|
|
#else
|
|
codsrc::EmitFieldVariable(block, inst, expr, field, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitFieldVariable(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u field, game::sval_u sourcePos)
|
|
NAKED void EmitFieldVariable_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitFieldVariable_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitClearFieldVariable_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u field, game::sval_u sourcePos, game::sval_u rhsSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitClearFieldVariable(block, inst, expr, field, sourcePos, rhsSourcePos, EmitClearFieldVariable_original);
|
|
#else
|
|
codsrc::EmitClearFieldVariable(block, inst, expr, field, sourcePos, rhsSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitClearFieldVariable(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u field, game::sval_u sourcePos)
|
|
NAKED void EmitClearFieldVariable_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitClearFieldVariable_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitObject_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitObject(inst, expr, sourcePos, EmitObject_original);
|
|
#else
|
|
codsrc::EmitObject(inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitObject(game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitObject_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitObject_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitDecTop_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitDecTop(inst, EmitDecTop_original);
|
|
#else
|
|
codsrc::EmitDecTop(inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitDecTop(game::scriptInstance_t inst@<eax>)
|
|
NAKED void EmitDecTop_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitDecTop_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCastFieldObject_stub(game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitCastFieldObject_hook.invoke<void>(inst, sourcePos);
|
|
#else
|
|
codsrc::EmitCastFieldObject(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
void EmitArrayVariable_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u index, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitArrayVariable(block, inst, expr, index, sourcePos, indexSourcePos, EmitArrayVariable_original);
|
|
#else
|
|
codsrc::EmitArrayVariable(block, inst, expr, index, sourcePos, indexSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitArrayVariable(game::scr_block_s *block@<edi>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u index, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
NAKED void EmitArrayVariable_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edi;
|
|
call EmitArrayVariable_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitArrayVariableRef_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u index, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitArrayVariableRef(block, inst, expr, index, sourcePos, indexSourcePos, EmitArrayVariableRef_original);
|
|
#else
|
|
codsrc::EmitArrayVariableRef(block, inst, expr, index, sourcePos, indexSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitArrayVariableRef(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u index, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
NAKED void EmitArrayVariableRef_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitArrayVariableRef_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitClearArrayVariable_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u index, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitClearArrayVariable(block, inst, expr, index, sourcePos, indexSourcePos, EmitClearArrayVariable_original);
|
|
#else
|
|
codsrc::EmitClearArrayVariable(block, inst, expr, index, sourcePos, indexSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitClearArrayVariable(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<ecx>, game::sval_u expr, game::sval_u index, game::sval_u sourcePos, game::sval_u indexSourcePos)
|
|
NAKED void EmitClearArrayVariable_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push ecx;
|
|
push eax;
|
|
call EmitClearArrayVariable_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitVariableExpression_stub(game::scriptInstance_t inst, game::sval_u expr, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitVariableExpression_hook.invoke<void>(inst, expr, block);
|
|
#else
|
|
codsrc::EmitVariableExpression(inst, expr, block);
|
|
#endif
|
|
}
|
|
|
|
int EmitExpressionList_stub(game::scriptInstance_t inst, game::sval_u exprlist, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return EmitExpressionList_hook.invoke<int>(inst, exprlist, block);
|
|
#else
|
|
return codsrc::EmitExpressionList(inst, exprlist, block);
|
|
#endif
|
|
}
|
|
|
|
void AddExpressionListOpcodePos_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u exprlist)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::AddExpressionListOpcodePos(inst, exprlist, AddExpressionListOpcodePos_original);
|
|
#else
|
|
codsrc::AddExpressionListOpcodePos(inst, exprlist);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall AddExpressionListOpcodePos(game::scriptInstance_t inst@<edi>, game::sval_u exprlist)
|
|
NAKED void AddExpressionListOpcodePos_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call AddExpressionListOpcodePos_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void AddFilePrecache_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, unsigned int filename, unsigned int sourcePos, int include, unsigned int* filePosId, unsigned int* fileCountId)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::AddFilePrecache(inst, filename, sourcePos, include, filePosId, fileCountId, AddFilePrecache_original);
|
|
#else
|
|
codsrc::AddFilePrecache(inst, filename, sourcePos, include, filePosId, fileCountId);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall AddFilePrecache(game::scriptInstance_t inst@<eax>, unsigned int filename, unsigned int sourcePos, bool include, unsigned int *filePosId, unsigned int *fileCountId)
|
|
NAKED void AddFilePrecache_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call AddFilePrecache_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitFunction_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u func, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitFunction(inst, func, sourcePos, EmitFunction_original);
|
|
#else
|
|
codsrc::EmitFunction(inst, func, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitFunction(game::scriptInstance_t inst@<eax>, game::sval_u func, game::sval_u sourcePos)
|
|
NAKED void EmitFunction_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitFunction_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitGetFunction_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u func, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitGetFunction(inst, func, sourcePos, EmitGetFunction_original);
|
|
#else
|
|
codsrc::EmitGetFunction(inst, func, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitGetFunction(game::scriptInstance_t inst@<edi>, game::sval_u func, game::sval_u sourcePos)
|
|
NAKED void EmitGetFunction_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitGetFunction_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
int AddFunction_stub(game::scriptInstance_t inst, int func)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return AddFunction_hook.invoke<int>(inst, func);
|
|
#else
|
|
return codsrc::AddFunction(inst, func);
|
|
#endif
|
|
}
|
|
|
|
void EmitPostScriptFunction_stub(game::scriptInstance_t inst, game::sval_u func, int param_count, int bMethod, game::sval_u nameSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitPostScriptFunction_hook.invoke<void>(inst, func, param_count, bMethod, nameSourcePos);
|
|
#else
|
|
codsrc::EmitPostScriptFunction(inst, func, param_count, bMethod, nameSourcePos);
|
|
#endif
|
|
}
|
|
|
|
void EmitPostScriptFunctionPointer_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, int param_count, int bMethod, game::sval_u nameSourcePos, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPostScriptFunctionPointer(block, inst, expr, param_count, bMethod, nameSourcePos, sourcePos, EmitPostScriptFunctionPointer_original);
|
|
#else
|
|
codsrc::EmitPostScriptFunctionPointer(block, inst, expr, param_count, bMethod, nameSourcePos, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPostScriptFunctionPointer(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, int param_count, int bMethod, game::sval_u nameSourcePos, game::sval_u sourcePos)
|
|
NAKED void EmitPostScriptFunctionPointer_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitPostScriptFunctionPointer_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitPostScriptThread_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u func, int param_count, int bMethod, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPostScriptThread(inst, func, param_count, bMethod, sourcePos, EmitPostScriptThread_original);
|
|
#else
|
|
codsrc::EmitPostScriptThread(inst, func, param_count, bMethod, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPostScriptThread(game::scriptInstance_t inst@<edi>, game::sval_u func, int param_count, int bMethod, game::sval_u sourcePos)
|
|
NAKED void EmitPostScriptThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitPostScriptThread_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitPostScriptThreadPointer_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, int param_count, int bMethod, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPostScriptThreadPointer(block, inst, expr, param_count, bMethod, sourcePos, EmitPostScriptThreadPointer_original);
|
|
#else
|
|
codsrc::EmitPostScriptThreadPointer(block, inst, expr, param_count, bMethod, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPostScriptThreadPointer(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, int param_count, int bMethod, game::sval_u sourcePos)
|
|
NAKED void EmitPostScriptThreadPointer_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitPostScriptThreadPointer_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitPostScriptFunctionCall_call(game::scriptInstance_t inst, int bMethod, int param_count, [[maybe_unused]] void* caller_addr, game::sval_u func_name, game::sval_u nameSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPostScriptFunctionCall(inst, bMethod, param_count, func_name, nameSourcePos, block, EmitPostScriptFunctionCall_original);
|
|
#else
|
|
codsrc::EmitPostScriptFunctionCall(inst, bMethod, param_count, func_name, nameSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPostScriptFunctionCall(game::scriptInstance_t inst@<eax>, char bMethod@<dl>, int param_count@<esi>, game::sval_u func_name, game::sval_u nameSourcePos, game::scr_block_s *block)
|
|
NAKED void EmitPostScriptFunctionCall_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edx;
|
|
push eax;
|
|
call EmitPostScriptFunctionCall_call;
|
|
add esp, 0xC;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitPostScriptThreadCall_call(game::scriptInstance_t inst, int isMethod, int param_count, [[maybe_unused]] void* caller_addr, game::sval_u func_name, game::sval_u sourcePos, game::sval_u nameSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPostScriptThreadCall(inst, isMethod, param_count, func_name, sourcePos, nameSourcePos, block, EmitPostScriptThreadCall_original);
|
|
#else
|
|
codsrc::EmitPostScriptThreadCall(inst, isMethod, param_count, func_name, sourcePos, nameSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPostScriptThreadCall(game::scriptInstance_t inst@<eax>, char isMethod@<dl>, int param_count@<esi>, game::sval_u func_name, game::sval_u sourcePos, game::sval_u nameSourcePos, game::scr_block_s *block)
|
|
NAKED void EmitPostScriptThreadCall_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edx;
|
|
push eax;
|
|
call EmitPostScriptThreadCall_call;
|
|
add esp, 0xC;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitPreFunctionCall_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPreFunctionCall(inst, EmitPreFunctionCall_original);
|
|
#else
|
|
codsrc::EmitPreFunctionCall(inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPreFunctionCall(game::scriptInstance_t inst@<eax>)
|
|
NAKED void EmitPreFunctionCall_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitPreFunctionCall_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitPostFunctionCall_call(game::scriptInstance_t inst, int bMethod, [[maybe_unused]] void* caller_addr, game::sval_u func_name, int param_count, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitPostFunctionCall(inst, bMethod, func_name, param_count, block, EmitPostFunctionCall_original);
|
|
#else
|
|
codsrc::EmitPostFunctionCall(inst, bMethod, func_name, param_count, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitPostFunctionCall(game::scriptInstance_t inst@<eax>, char bMethod@<dl>, game::sval_u func_name, int param_count, game::scr_block_s *block)
|
|
NAKED void EmitPostFunctionCall_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edx;
|
|
push eax;
|
|
call EmitPostFunctionCall_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_BeginDevScript_call(game::scriptInstance_t isnt, int* type_, [[maybe_unused]] void* caller_addr, char** savedPos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_BeginDevScript(isnt, type_, savedPos, Scr_BeginDevScript_original);
|
|
#else
|
|
codsrc::Scr_BeginDevScript(isnt, type_, savedPos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_BeginDevScript(game::scriptInstance_t isnt@<eax>, int *type@<edi>, char **savedPos)
|
|
NAKED void Scr_BeginDevScript_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call Scr_BeginDevScript_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_EndDevScript_call(game::scriptInstance_t inst, char** savedPos, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_EndDevScript(inst, savedPos, Scr_EndDevScript_original);
|
|
#else
|
|
codsrc::Scr_EndDevScript(inst, savedPos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_EndDevScript(game::scriptInstance_t inst@<eax>, char **savedPos@<edx>)
|
|
NAKED void Scr_EndDevScript_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edx;
|
|
push eax;
|
|
call Scr_EndDevScript_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCallBuiltinOpcode_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int param_count, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCallBuiltinOpcode(inst, param_count, sourcePos, EmitCallBuiltinOpcode_original);
|
|
#else
|
|
codsrc::EmitCallBuiltinOpcode(inst, param_count, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCallBuiltinOpcode(game::scriptInstance_t inst@<eax>, int param_count, game::sval_u sourcePos)
|
|
NAKED void EmitCallBuiltinOpcode_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitCallBuiltinOpcode_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCallBuiltinMethodOpcode_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, int param_count, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCallBuiltinMethodOpcode(inst, param_count, sourcePos, EmitCallBuiltinMethodOpcode_original);
|
|
#else
|
|
codsrc::EmitCallBuiltinMethodOpcode(inst, param_count, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCallBuiltinMethodOpcode(int inst@<eax>, int param_count, game::sval_u sourcePos)
|
|
NAKED void EmitCallBuiltinMethodOpcode_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitCallBuiltinMethodOpcode_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCall_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u func_name, game::sval_u params, int bStatement, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCall(inst, func_name, params, bStatement, block, EmitCall_original);
|
|
#else
|
|
codsrc::EmitCall(inst, func_name, params, bStatement, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCall(game::scriptInstance_t inst@<eax>, game::sval_u func_name, game::sval_u params, int bStatement, game::scr_block_s *block)
|
|
NAKED void EmitCall_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitCall_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitMethod_stub(game::scriptInstance_t inst, game::sval_u expr, game::sval_u func_name, game::sval_u params, game::sval_u methodSourcePos, int bStatement, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitMethod_hook.invoke<void>(inst, expr, func_name, params, methodSourcePos, bStatement, block);
|
|
#else
|
|
codsrc::EmitMethod(inst, expr, func_name, params, methodSourcePos, bStatement, block);
|
|
#endif
|
|
}
|
|
|
|
void LinkThread_call(game::scriptInstance_t inst, unsigned int threadCountId, [[maybe_unused]] void* caller_addr, game::VariableValue* pos, int allowFarCall)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::LinkThread(inst, threadCountId, pos, allowFarCall, LinkThread_original);
|
|
#else
|
|
codsrc::LinkThread(inst, threadCountId, pos, allowFarCall);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall LinkThread(game::scriptInstance_t inst@<ecx>, unsigned int threadCountId@<eax>, game::VariableValue *pos, int allowFarCall)
|
|
NAKED void LinkThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
push ecx;
|
|
call LinkThread_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void LinkFile_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, unsigned int filePosId, unsigned int fileCountId)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::LinkFile(inst, filePosId, fileCountId, LinkFile_original);
|
|
#else
|
|
codsrc::LinkFile(inst, filePosId, fileCountId);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall LinkFile(game::scriptInstance_t inst@<eax>, unsigned int filePosId, unsigned int fileCountId)
|
|
NAKED void LinkFile_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call LinkFile_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void CheckThreadPosition_stub(game::scriptInstance_t inst, unsigned int posId, unsigned int name, unsigned int sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
CheckThreadPosition_hook.invoke<void>(inst, posId, name, sourcePos);
|
|
#else
|
|
codsrc::CheckThreadPosition(inst, posId, name, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
void EmitCallExpression_call(game::scriptInstance_t inst, game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::sval_u expr, int bStatement)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCallExpression(inst, block, expr, bStatement, EmitCallExpression_original);
|
|
#else
|
|
codsrc::EmitCallExpression(inst, block, expr, bStatement);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCallExpression(game::scriptInstance_t inst@<eax>, game::scr_block_s *block@<esi>, game::sval_u expr, int bStatement)
|
|
NAKED void EmitCallExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitCallExpression_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCallExpressionFieldObject_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCallExpressionFieldObject(block, inst, expr, EmitCallExpressionFieldObject_original);
|
|
#else
|
|
codsrc::EmitCallExpressionFieldObject(block, inst, expr);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCallExpressionFieldObject(game::scr_block_s *block@<ecx>, game::scriptInstance_t inst@<edi>, game::sval_u expr)
|
|
NAKED void EmitCallExpressionFieldObject_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push ecx;
|
|
call EmitCallExpressionFieldObject_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CreateVector_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::VariableCompileValue* constValue, game::VariableValue* value)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_CreateVector(inst, constValue, value, Scr_CreateVector_original);
|
|
#else
|
|
codsrc::Scr_CreateVector(inst, constValue, value);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_CreateVector(game::scriptInstance_t inst@<eax>, game::VariableCompileValue *constValue, game::VariableValue *value)
|
|
NAKED void Scr_CreateVector_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call Scr_CreateVector_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
bool EvalPrimitiveExpressionList_stub(game::scriptInstance_t inst, game::sval_u exprlist, game::sval_u sourcePos, game::VariableCompileValue* constValue)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return EvalPrimitiveExpressionList_hook.invoke<bool>(inst, exprlist, sourcePos, constValue);
|
|
#else
|
|
return codsrc::EvalPrimitiveExpressionList(inst, exprlist, sourcePos, constValue);
|
|
#endif
|
|
}
|
|
|
|
bool EmitOrEvalPrimitiveExpressionList_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u exprlist, game::sval_u sourcePos, game::VariableCompileValue* constValue, game::scr_block_s* a5)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return game::EmitOrEvalPrimitiveExpressionList(inst, exprlist, sourcePos, constValue, a5, EmitOrEvalPrimitiveExpressionList_original);
|
|
#else
|
|
return codsrc::EmitOrEvalPrimitiveExpressionList(inst, exprlist, sourcePos, constValue, a5);
|
|
#endif
|
|
}
|
|
|
|
// bool __usercall EmitOrEvalPrimitiveExpressionList@<al>(game::scriptInstance_t inst@<eax>, game::sval_u exprlist, game::sval_u sourcePos, game::VariableCompileValue *constValue, game::scr_block_s *a5)
|
|
NAKED bool EmitOrEvalPrimitiveExpressionList_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitOrEvalPrimitiveExpressionList_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitExpressionListFieldObject_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u exprlist, game::sval_u sourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitExpressionListFieldObject(inst, exprlist, sourcePos, block, EmitExpressionListFieldObject_original);
|
|
#else
|
|
codsrc::EmitExpressionListFieldObject(inst, exprlist, sourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitExpressionListFieldObject(game::scriptInstance_t inst@<edx>, game::sval_u exprlist, game::sval_u sourcePos, game::scr_block_s *block)
|
|
NAKED void EmitExpressionListFieldObject_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edx;
|
|
call EmitExpressionListFieldObject_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
bool EvalPrimitiveExpression_stub(game::scriptInstance_t inst, game::sval_u expr, game::VariableCompileValue* constValue)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return EvalPrimitiveExpression_hook.invoke<bool>(inst, expr, constValue);
|
|
#else
|
|
return codsrc::EvalPrimitiveExpression(inst, expr, constValue);
|
|
#endif
|
|
}
|
|
|
|
bool EmitOrEvalPrimitiveExpression_stub(game::scriptInstance_t inst, game::sval_u expr, game::VariableCompileValue* constValue, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return EmitOrEvalPrimitiveExpression_hook.invoke<bool>(inst, expr, constValue, block);
|
|
#else
|
|
return codsrc::EmitOrEvalPrimitiveExpression(inst, expr, constValue, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitBoolOrExpression_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr1, game::sval_u expr2, game::sval_u expr1sourcePos, game::sval_u expr2sourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitBoolOrExpression(inst, expr1, expr2, expr1sourcePos, expr2sourcePos, block, EmitBoolOrExpression_original);
|
|
#else
|
|
codsrc::EmitBoolOrExpression(inst, expr1, expr2, expr1sourcePos, expr2sourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitBoolOrExpression(game::scriptInstance_t inst@<eax>, game::sval_u expr1, game::sval_u expr2, game::sval_u expr1sourcePos, game::sval_u expr2sourcePos, game::scr_block_s *block)
|
|
NAKED void EmitBoolOrExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitBoolOrExpression_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitBoolAndExpression_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr1, game::sval_u expr2, game::sval_u expr1sourcePos, game::sval_u expr2sourcePos, game::scr_block_s* a6)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitBoolAndExpression(inst, expr1, expr2, expr1sourcePos, expr2sourcePos, a6, EmitBoolAndExpression_original);
|
|
#else
|
|
codsrc::EmitBoolAndExpression(inst, expr1, expr2, expr1sourcePos, expr2sourcePos, a6);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitBoolAndExpression(game::scriptInstance_t inst@<eax>, game::sval_u expr1, game::sval_u expr2, game::sval_u expr1sourcePos, game::sval_u expr2sourcePos, game::scr_block_s *a6)
|
|
NAKED void EmitBoolAndExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitBoolAndExpression_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
bool EvalBinaryOperatorExpression_stub(game::scriptInstance_t inst, game::sval_u expr1, game::sval_u expr2, game::sval_u opcode, game::sval_u sourcePos, game::VariableCompileValue* constValue)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return EvalBinaryOperatorExpression_hook.invoke<bool>(inst, expr1, expr2, opcode, sourcePos, constValue);
|
|
#else
|
|
return codsrc::EvalBinaryOperatorExpression(inst, expr1, expr2, opcode, sourcePos, constValue);
|
|
#endif
|
|
}
|
|
|
|
bool EmitOrEvalBinaryOperatorExpression_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr1, game::sval_u expr2, game::sval_u opcode, game::sval_u sourcePos, game::VariableCompileValue* constValue, game::scr_block_s* a8)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return game::EmitOrEvalBinaryOperatorExpression(inst, expr1, expr2, opcode, sourcePos, constValue, a8, EmitOrEvalBinaryOperatorExpression_original);
|
|
#else
|
|
return codsrc::EmitOrEvalBinaryOperatorExpression(inst, expr1, expr2, opcode, sourcePos, constValue, a8);
|
|
#endif
|
|
}
|
|
|
|
// bool __usercall EmitOrEvalBinaryOperatorExpression@<al>(game::scriptInstance_t inst@<edi>, game::sval_u expr1, game::sval_u expr2, game::sval_u opcode, game::sval_u sourcePos, game::VariableCompileValue *constValue, game::scr_block_s *a8)
|
|
NAKED bool EmitOrEvalBinaryOperatorExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitOrEvalBinaryOperatorExpression_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitBinaryEqualsOperatorExpression_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u lhs, game::sval_u rhs, game::sval_u opcode, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitBinaryEqualsOperatorExpression(block, inst, lhs, rhs, opcode, sourcePos, EmitBinaryEqualsOperatorExpression_original);
|
|
#else
|
|
codsrc::EmitBinaryEqualsOperatorExpression(block, inst, lhs, rhs, opcode, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitBinaryEqualsOperatorExpression(game::scr_block_s *block@<edi>, game::scriptInstance_t inst@<esi>, game::sval_u lhs, game::sval_u rhs, game::sval_u opcode, game::sval_u sourcePos)
|
|
NAKED void EmitBinaryEqualsOperatorExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edi;
|
|
call EmitBinaryEqualsOperatorExpression_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CalcLocalVarsVariableExpressionRef_call(game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::sval_u expr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_CalcLocalVarsVariableExpressionRef(block, expr, Scr_CalcLocalVarsVariableExpressionRef_original);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsVariableExpressionRef(block, expr);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_CalcLocalVarsVariableExpressionRef(game::scr_block_s *block@<edx>, game::sval_u expr)
|
|
NAKED void Scr_CalcLocalVarsVariableExpressionRef_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edx;
|
|
call Scr_CalcLocalVarsVariableExpressionRef_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
bool EvalExpression_call(game::VariableCompileValue* constValue, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return game::EvalExpression(constValue, inst, expr, EvalExpression_original);
|
|
#else
|
|
return codsrc::EvalExpression(constValue, inst, expr);
|
|
#endif
|
|
}
|
|
|
|
// bool __usercall EvalExpression@<al>(game::VariableCompileValue *constValue@<edx>, game::scriptInstance_t inst@<esi>, game::sval_u expr)
|
|
NAKED bool EvalExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push edx;
|
|
call EvalExpression_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
bool EmitOrEvalExpression_stub(game::scriptInstance_t inst, game::sval_u expr, game::VariableCompileValue* constValue, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return EmitOrEvalExpression_hook.invoke<bool>(inst, expr, constValue, block);
|
|
#else
|
|
return codsrc::EmitOrEvalExpression(inst, expr, constValue, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitExpression_stub(game::scriptInstance_t inst, game::sval_u expr, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitExpression_hook.invoke<void>(inst, expr, block);
|
|
#else
|
|
codsrc::EmitExpression(inst, expr, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitVariableExpressionRef_stub(game::scriptInstance_t inst, game::sval_u expr, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitVariableExpressionRef_hook.invoke<void>(inst, expr, block);
|
|
#else
|
|
codsrc::EmitVariableExpressionRef(inst, expr, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitArrayPrimitiveExpressionRef_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitArrayPrimitiveExpressionRef(inst, expr, sourcePos, block, EmitArrayPrimitiveExpressionRef_original);
|
|
#else
|
|
codsrc::EmitArrayPrimitiveExpressionRef(inst, expr, sourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitArrayPrimitiveExpressionRef(game::scriptInstance_t inst@<eax>, game::sval_u expr, game::sval_u sourcePos, game::scr_block_s *block)
|
|
NAKED void EmitArrayPrimitiveExpressionRef_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitArrayPrimitiveExpressionRef_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CalcLocalVarsArrayVariableRef_stub(game::sval_u expr, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsArrayVariableRef_hook.invoke<void>(expr, block);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsArrayVariableRef(expr, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitPrimitiveExpressionFieldObject_stub(game::scriptInstance_t inst, game::sval_u expr, game::sval_u sourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitPrimitiveExpressionFieldObject_hook.invoke<void>(inst, expr, sourcePos, block);
|
|
#else
|
|
codsrc::EmitPrimitiveExpressionFieldObject(inst, expr, sourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
void ConnectBreakStatements_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::ConnectBreakStatements(inst, ConnectBreakStatements_original);
|
|
#else
|
|
codsrc::ConnectBreakStatements(inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall ConnectBreakStatements(game::scriptInstance_t inst@<eax>)
|
|
NAKED void ConnectBreakStatements_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call ConnectBreakStatements_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void ConnectContinueStatements_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::ConnectContinueStatements(inst, ConnectContinueStatements_original);
|
|
#else
|
|
codsrc::ConnectContinueStatements(inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall ConnectContinueStatements(game::scriptInstance_t inst@<eax>)
|
|
NAKED void ConnectContinueStatements_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call ConnectContinueStatements_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
bool EmitClearVariableExpression_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u rhsSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return game::EmitClearVariableExpression(block, inst, expr, rhsSourcePos, EmitClearVariableExpression_original);
|
|
#else
|
|
return codsrc::EmitClearVariableExpression(block, inst, expr, rhsSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// bool __usercall EmitClearVariableExpression@<al>(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<ecx>, game::sval_u expr, game::sval_u rhsSourcePos)
|
|
NAKED bool EmitClearVariableExpression_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push ecx;
|
|
push eax;
|
|
call EmitClearVariableExpression_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitAssignmentStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u lhs, game::sval_u rhs, game::sval_u sourcePos, game::sval_u rhsSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitAssignmentStatement(inst, lhs, rhs, sourcePos, rhsSourcePos, block, EmitAssignmentStatement_original);
|
|
#else
|
|
codsrc::EmitAssignmentStatement(inst, lhs, rhs, sourcePos, rhsSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitAssignmentStatement(game::scriptInstance_t inst@<esi>, game::sval_u lhs, game::sval_u rhs, game::sval_u sourcePos, game::sval_u rhsSourcePos, game::scr_block_s *block)
|
|
NAKED void EmitAssignmentStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
call EmitAssignmentStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitCallExpressionStatement_call(game::scriptInstance_t inst, game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::sval_u expr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCallExpressionStatement(inst, block, expr, EmitCallExpressionStatement_original);
|
|
#else
|
|
codsrc::EmitCallExpressionStatement(inst, block, expr);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCallExpressionStatement(game::scriptInstance_t inst@<eax>, game::scr_block_s *block@<esi>, game::sval_u expr)
|
|
NAKED void EmitCallExpressionStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitCallExpressionStatement_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitReturnStatement_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitReturnStatement(block, inst, expr, sourcePos, EmitReturnStatement_original);
|
|
#else
|
|
codsrc::EmitReturnStatement(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitReturnStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<esi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitReturnStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call EmitReturnStatement_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitWaitStatement_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos, game::sval_u waitSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitWaitStatement(block, inst, expr, sourcePos, waitSourcePos, EmitWaitStatement_original);
|
|
#else
|
|
codsrc::EmitWaitStatement(block, inst, expr, sourcePos, waitSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitWaitStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos, game::sval_u waitSourcePos)
|
|
NAKED void EmitWaitStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitWaitStatement_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitWaittillFrameEnd_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitWaittillFrameEnd(inst, sourcePos, EmitWaittillFrameEnd_original);
|
|
#else
|
|
codsrc::EmitWaittillFrameEnd(inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitWaittillFrameEnd(game::scriptInstance_t inst@<edi>, game::sval_u sourcePos)
|
|
NAKED void EmitWaittillFrameEnd_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitWaittillFrameEnd_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitIfStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u stmt, game::sval_u sourcePos, int lastStatement, unsigned int endSourcePos, game::scr_block_s* block, game::sval_u* ifStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitIfStatement(inst, expr, stmt, sourcePos, lastStatement, endSourcePos, block, ifStatBlock, EmitIfStatement_original);
|
|
#else
|
|
codsrc::EmitIfStatement(inst, expr, stmt, sourcePos, lastStatement, endSourcePos, block, ifStatBlock);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitIfStatement(game::scriptInstance_t inst@<eax>, game::sval_u expr, game::sval_u stmt, game::sval_u sourcePos, int lastStatement, unsigned int endSourcePos, game::scr_block_s *block, game::sval_u *ifStatBlock)
|
|
NAKED void EmitIfStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitIfStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CalcLocalVarsIfStatement_stub(game::scriptInstance_t inst, game::sval_u stmt, game::scr_block_s* block, game::sval_u* ifStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsIfStatement_hook.invoke<void>(inst, stmt, block, ifStatBlock);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsIfStatement(inst, stmt, block, ifStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void EmitIfElseStatement_stub(game::scriptInstance_t inst, game::sval_u expr, game::sval_u stmt1, game::sval_u stmt2, game::sval_u sourcePos, game::sval_u elseSourcePos, int lastStatement, unsigned int endSourcePos, game::scr_block_s* block, game::sval_u* ifStatBlock, game::sval_u* elseStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitIfElseStatement_hook.invoke<void>(inst, expr, stmt1, stmt2, sourcePos, elseSourcePos, lastStatement, endSourcePos, block, ifStatBlock, elseStatBlock);
|
|
#else
|
|
codsrc::EmitIfElseStatement(inst, expr, stmt1, stmt2, sourcePos, elseSourcePos, lastStatement, endSourcePos, block, ifStatBlock, elseStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CalcLocalVarsIfElseStatement_stub(game::scriptInstance_t inst, game::sval_u stmt1, game::sval_u stmt2, game::scr_block_s* block, game::sval_u* ifStatBlock, game::sval_u* elseStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsIfElseStatement_hook.invoke<void>(inst, stmt1, stmt2, block, ifStatBlock, elseStatBlock);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsIfElseStatement(inst, stmt1, stmt2, block, ifStatBlock, elseStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void Scr_AddBreakBlock_call(game::scriptInstance_t inst, game::scr_block_s* block, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_AddBreakBlock(inst, block, Scr_AddBreakBlock_original);
|
|
#else
|
|
codsrc::Scr_AddBreakBlock(inst, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_AddBreakBlock(game::scriptInstance_t inst@<eax>, game::scr_block_s *block@<edi>)
|
|
NAKED void Scr_AddBreakBlock_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call Scr_AddBreakBlock_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_AddContinueBlock_call(game::scriptInstance_t inst, game::scr_block_s* block, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_AddContinueBlock(inst, block, Scr_AddContinueBlock_original);
|
|
#else
|
|
codsrc::Scr_AddContinueBlock(inst, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_AddContinueBlock(game::scriptInstance_t inst@<eax>, game::scr_block_s *block@<edi>)
|
|
NAKED void Scr_AddContinueBlock_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call Scr_AddContinueBlock_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitWhileStatement_stub(game::scriptInstance_t inst, game::sval_u expr, game::sval_u stmt, game::sval_u sourcePos, game::sval_u whileSourcePos, game::scr_block_s* block, game::sval_u* whileStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitWhileStatement_hook.invoke<void>(inst, expr, stmt, sourcePos, whileSourcePos, block, whileStatBlock);
|
|
#else
|
|
codsrc::EmitWhileStatement(inst, expr, stmt, sourcePos, whileSourcePos, block, whileStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CalcLocalVarsWhileStatement_stub(game::scriptInstance_t inst, game::sval_u expr, game::sval_u stmt, game::scr_block_s* block, game::sval_u* whileStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsWhileStatement_hook.invoke<void>(inst, expr, stmt, block, whileStatBlock);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsWhileStatement(inst, expr, stmt, block, whileStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void EmitForStatement_stub(game::scriptInstance_t inst, game::sval_u stmt1, game::sval_u expr, game::sval_u stmt2, game::sval_u stmt, game::sval_u sourcePos, game::sval_u forSourcePos, game::scr_block_s* block, game::sval_u* forStatBlock, game::sval_u* forStatPostBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitForStatement_hook.invoke<void>(inst, stmt1, expr, stmt2, stmt, sourcePos, forSourcePos, block, forStatBlock, forStatPostBlock);
|
|
#else
|
|
codsrc::EmitForStatement(inst, stmt1, expr, stmt2, stmt, sourcePos, forSourcePos, block, forStatBlock, forStatPostBlock);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CalcLocalVarsForStatement_stub(game::scriptInstance_t inst, game::sval_u stmt1, game::sval_u expr, game::sval_u stmt2, game::sval_u stmt, game::scr_block_s* block, game::sval_u* forStatBlock, game::sval_u* forStatPostBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsForStatement_hook.invoke<void>(inst, stmt1, expr, stmt2, stmt, block, forStatBlock, forStatPostBlock);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsForStatement(inst, stmt1, expr, stmt2, stmt, block, forStatBlock, forStatPostBlock);
|
|
#endif
|
|
}
|
|
|
|
void EmitIncStatement_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitIncStatement(block, inst, expr, sourcePos, EmitIncStatement_original);
|
|
#else
|
|
codsrc::EmitIncStatement(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitIncStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitIncStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitIncStatement_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitDecStatement_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitDecStatement(block, inst, expr, sourcePos, EmitDecStatement_original);
|
|
#else
|
|
codsrc::EmitDecStatement(block, inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitDecStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitDecStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitDecStatement_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CalcLocalVarsFormalParameterListInternal_call(game::sval_u* node, game::scr_block_s* block, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_CalcLocalVarsFormalParameterListInternal(node, block, Scr_CalcLocalVarsFormalParameterListInternal_original);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsFormalParameterListInternal(node, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_CalcLocalVarsFormalParameterListInternal(game::sval_u *node@<eax>, game::scr_block_s *block@<esi>)
|
|
NAKED void Scr_CalcLocalVarsFormalParameterListInternal_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push eax;
|
|
call Scr_CalcLocalVarsFormalParameterListInternal_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitWaittillStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u obj, game::sval_u exprlist, game::sval_u sourcePos, game::sval_u waitSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitWaittillStatement(inst, obj, exprlist, sourcePos, waitSourcePos, block, EmitWaittillStatement_original);
|
|
#else
|
|
codsrc::EmitWaittillStatement(inst, obj, exprlist, sourcePos, waitSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitWaittillStatement(game::scriptInstance_t inst@<eax>, game::sval_u obj, game::sval_u exprlist, game::sval_u sourcePos, game::sval_u waitSourcePos, game::scr_block_s *block)
|
|
NAKED void EmitWaittillStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitWaittillStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitWaittillmatchStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u obj, game::sval_u exprlist, game::sval_u sourcePos, game::sval_u waitSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitWaittillmatchStatement(inst, obj, exprlist, sourcePos, waitSourcePos, block, EmitWaittillmatchStatement_original);
|
|
#else
|
|
codsrc::EmitWaittillmatchStatement(inst, obj, exprlist, sourcePos, waitSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitWaittillmatchStatement(game::scriptInstance_t inst@<edi>, game::sval_u obj, game::sval_u exprlist, game::sval_u sourcePos, game::sval_u waitSourcePos, game::scr_block_s *block)
|
|
NAKED void EmitWaittillmatchStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitWaittillmatchStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitNotifyStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u obj, game::sval_u exprlist, game::sval_u sourcePos, game::sval_u notifySourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitNotifyStatement(inst, obj, exprlist, sourcePos, notifySourcePos, block, EmitNotifyStatement_original);
|
|
#else
|
|
codsrc::EmitNotifyStatement(inst, obj, exprlist, sourcePos, notifySourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitNotifyStatement(game::scriptInstance_t inst@<edi>, game::sval_u obj, game::sval_u exprlist, game::sval_u sourcePos, game::sval_u notifySourcePos, game::scr_block_s *block)
|
|
NAKED void EmitNotifyStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitNotifyStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitEndOnStatement_call(game::scr_block_s* block, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u obj, game::sval_u expr, game::sval_u sourcePos, game::sval_u exprSourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitEndOnStatement(block, inst, obj, expr, sourcePos, exprSourcePos, EmitEndOnStatement_original);
|
|
#else
|
|
codsrc::EmitEndOnStatement(block, inst, obj, expr, sourcePos, exprSourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitEndOnStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst@<edi>, game::sval_u obj, game::sval_u expr, game::sval_u sourcePos, game::sval_u exprSourcePos)
|
|
NAKED void EmitEndOnStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
push eax;
|
|
call EmitEndOnStatement_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
int CompareCaseInfo_stub(const void* elem1, const void* elem2)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
return CompareCaseInfo_hook.invoke<int>(elem1, elem2);
|
|
#else
|
|
return codsrc::CompareCaseInfo(elem1, elem2);
|
|
#endif
|
|
}
|
|
|
|
void EmitCaseStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u expr, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCaseStatement(inst, expr, sourcePos, EmitCaseStatement_original);
|
|
#else
|
|
codsrc::EmitCaseStatement(inst, expr, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCaseStatement(game::scriptInstance_t inst@<edi>, game::sval_u expr, game::sval_u sourcePos)
|
|
NAKED void EmitCaseStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call EmitCaseStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitSwitchStatementList_stub(game::scriptInstance_t inst, game::sval_u val, int lastStatement, unsigned int endSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitSwitchStatementList_hook.invoke<void>(inst, val, lastStatement, endSourcePos, block);
|
|
#else
|
|
codsrc::EmitSwitchStatementList(inst, val, lastStatement, endSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CalcLocalVarsSwitchStatement_stub(game::scriptInstance_t inst, game::sval_u stmtlist, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsSwitchStatement_hook.invoke<void>(inst, stmtlist, block);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsSwitchStatement(inst, stmtlist, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitSwitchStatement_stub(game::scriptInstance_t inst, game::sval_u expr, game::sval_u stmtlist, game::sval_u sourcePos, int lastStatement, unsigned int endSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitSwitchStatement_hook.invoke<void>(inst, expr, stmtlist, sourcePos, lastStatement, endSourcePos, block);
|
|
#else
|
|
codsrc::EmitSwitchStatement(inst, expr, stmtlist, sourcePos, lastStatement, endSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitCaseStatementInfo_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, unsigned int name, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitCaseStatementInfo(inst, name, sourcePos, EmitCaseStatementInfo_original);
|
|
#else
|
|
codsrc::EmitCaseStatementInfo(inst, name, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitCaseStatementInfo(game::scriptInstance_t inst@<eax>, unsigned int name, game::sval_u sourcePos)
|
|
NAKED void EmitCaseStatementInfo_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitCaseStatementInfo_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitBreakStatement_call(game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitBreakStatement(block, inst, sourcePos, EmitBreakStatement_original);
|
|
#else
|
|
codsrc::EmitBreakStatement(block, inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitBreakStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
NAKED void EmitBreakStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitBreakStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitContinueStatement_call(game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitContinueStatement(block, inst, sourcePos, EmitContinueStatement_original);
|
|
#else
|
|
codsrc::EmitContinueStatement(block, inst, sourcePos);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitContinueStatement(game::scr_block_s *block@<eax>, game::scriptInstance_t inst, game::sval_u sourcePos)
|
|
NAKED void EmitContinueStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitContinueStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitProfStatement_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u profileName, game::sval_u sourcePos, game::OpcodeVM op)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitProfStatement(inst, profileName, sourcePos, op, EmitProfStatement_original);
|
|
#else
|
|
codsrc::EmitProfStatement(inst, profileName, sourcePos, op);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitProfStatement(game::scriptInstance_t inst@<eax>, game::sval_u profileName, game::sval_u sourcePos, game::OpcodeVM op)
|
|
NAKED void EmitProfStatement_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitProfStatement_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitStatement_stub(game::scriptInstance_t inst, game::sval_u val, int lastStatement, unsigned int endSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitStatement_hook.invoke<void>(inst, val, lastStatement, endSourcePos, block);
|
|
#else
|
|
codsrc::EmitStatement(inst, val, lastStatement, endSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CalcLocalVarsStatement_stub(game::scriptInstance_t inst, game::sval_u val, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsStatement_hook.invoke<void>(inst, val, block);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsStatement(inst, val, block);
|
|
#endif
|
|
}
|
|
|
|
void EmitStatementList_stub(game::scriptInstance_t inst, game::sval_u val, int lastStatement, unsigned int endSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitStatementList_hook.invoke<void>(inst, val, lastStatement, endSourcePos, block);
|
|
#else
|
|
codsrc::EmitStatementList(inst, val, lastStatement, endSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
void Scr_CalcLocalVarsStatementList_call(game::scr_block_s* block, [[maybe_unused]] void* caller_addr, game::scriptInstance_t inst, game::sval_u val)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_CalcLocalVarsStatementList(block, inst, val, Scr_CalcLocalVarsStatementList_original);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsStatementList(block, inst, val);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_CalcLocalVarsStatementList(game::scr_block_s *block@<edi>, game::scriptInstance_t inst, game::sval_u val)
|
|
NAKED void Scr_CalcLocalVarsStatementList_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push edi;
|
|
call Scr_CalcLocalVarsStatementList_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CalcLocalVarsDeveloperStatementList_stub(game::scriptInstance_t inst, game::sval_u val, game::scr_block_s* block, game::sval_u* devStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
Scr_CalcLocalVarsDeveloperStatementList_hook.invoke<void>(inst, val, block, devStatBlock);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsDeveloperStatementList(inst, val, block, devStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void EmitDeveloperStatementList_stub(game::scriptInstance_t inst, game::sval_u val, game::sval_u sourcePos, game::scr_block_s* block, game::sval_u* devStatBlock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitDeveloperStatementList_hook.invoke<void>(inst, val, sourcePos, block, devStatBlock);
|
|
#else
|
|
codsrc::EmitDeveloperStatementList(inst, val, sourcePos, block, devStatBlock);
|
|
#endif
|
|
}
|
|
|
|
void EmitFormalParameterList_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u exprlist, game::sval_u sourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitFormalParameterList(inst, exprlist, sourcePos, block, EmitFormalParameterList_original);
|
|
#else
|
|
codsrc::EmitFormalParameterList(inst, exprlist, sourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitFormalParameterList(game::scriptInstance_t inst@<eax>, game::sval_u exprlist, game::sval_u sourcePos, game::scr_block_s *block)
|
|
NAKED void EmitFormalParameterList_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitFormalParameterList_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void SpecifyThread_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::SpecifyThread(inst, val, SpecifyThread_original);
|
|
#else
|
|
codsrc::SpecifyThread(inst, val);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall SpecifyThread(game::scriptInstance_t inst@<eax>, game::sval_u val)
|
|
NAKED void SpecifyThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call SpecifyThread_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitThreadInternal_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val, game::sval_u sourcePos, game::sval_u endSourcePos, game::scr_block_s* block)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitThreadInternal(inst, val, sourcePos, endSourcePos, block, EmitThreadInternal_original);
|
|
#else
|
|
codsrc::EmitThreadInternal(inst, val, sourcePos, endSourcePos, block);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitThreadInternal(game::scriptInstance_t inst@<esi>, game::sval_u val, game::sval_u sourcePos, game::sval_u endSourcePos, game::scr_block_s *block)
|
|
NAKED void EmitThreadInternal_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
call EmitThreadInternal_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void Scr_CalcLocalVarsThread_call(game::sval_u* stmttblock, [[maybe_unused]] void* caller_addr, game::scriptInstance_t inst, game::sval_u exprlist, game::sval_u stmtlist)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::Scr_CalcLocalVarsThread(stmttblock, inst, exprlist, stmtlist, Scr_CalcLocalVarsThread_original);
|
|
#else
|
|
codsrc::Scr_CalcLocalVarsThread(stmttblock, inst, exprlist, stmtlist);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall Scr_CalcLocalVarsThread(game::sval_u *stmttblock@<eax>, game::scriptInstance_t inst, game::sval_u exprlist, game::sval_u stmtlist)
|
|
NAKED void Scr_CalcLocalVarsThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call Scr_CalcLocalVarsThread_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void InitThread_call(int type_, game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::InitThread(type_, inst, InitThread_original);
|
|
#else
|
|
codsrc::InitThread(type_, inst);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall InitThread(int type@<ecx>, game::scriptInstance_t inst@<esi>)
|
|
NAKED void InitThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push esi;
|
|
push ecx;
|
|
call InitThread_call;
|
|
add esp, 0x8;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitNormalThread_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val, game::sval_u* stmttblock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitNormalThread(inst, val, stmttblock, EmitNormalThread_original);
|
|
#else
|
|
codsrc::EmitNormalThread(inst, val, stmttblock);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitNormalThread(game::scriptInstance_t inst@<eax>, game::sval_u val, game::sval_u *stmttblock)
|
|
NAKED void EmitNormalThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitNormalThread_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitDeveloperThread_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val, game::sval_u* stmttblock)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitDeveloperThread(inst, val, stmttblock, EmitDeveloperThread_original);
|
|
#else
|
|
codsrc::EmitDeveloperThread(inst, val, stmttblock);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitDeveloperThread(game::scriptInstance_t inst@<eax>, game::sval_u val, game::sval_u *stmttblock)
|
|
NAKED void EmitDeveloperThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitDeveloperThread_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitThread_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitThread(inst, val, EmitThread_original);
|
|
#else
|
|
codsrc::EmitThread(inst, val);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitThread(game::scriptInstance_t inst@<eax>, game::sval_u val)
|
|
NAKED void EmitThread_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitThread_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void EmitThreadList_stub(game::scriptInstance_t inst, game::sval_u val)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
EmitThreadList_hook.invoke<void>(inst, val);
|
|
#else
|
|
codsrc::EmitThreadList(inst, val);
|
|
#endif
|
|
}
|
|
|
|
void EmitInclude_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::EmitInclude(inst, val, EmitInclude_original);
|
|
#else
|
|
codsrc::EmitInclude(inst, val);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall EmitInclude(game::scriptInstance_t inst@<eax>, game::sval_u val)
|
|
NAKED void EmitInclude_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call EmitInclude_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
|
|
void ScriptCompile_call(game::scriptInstance_t inst, [[maybe_unused]] void* caller_addr, game::sval_u val, unsigned int filePosId, unsigned int fileCountId, unsigned int scriptId, game::PrecacheEntry* entries, int entriesCount)
|
|
{
|
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
|
game::ScriptCompile(inst, val, filePosId, fileCountId, scriptId, entries, entriesCount, ScriptCompile_original);
|
|
#else
|
|
codsrc::ScriptCompile(inst, val, filePosId, fileCountId, scriptId, entries, entriesCount);
|
|
#endif
|
|
}
|
|
|
|
// void __usercall ScriptCompile(game::scriptInstance_t inst@<eax>, game::sval_u val, unsigned int filePosId, unsigned int fileCountId, unsigned int scriptId, game::PrecacheEntry *entries, int entriesCount)
|
|
NAKED void ScriptCompile_stub()
|
|
{
|
|
_asm
|
|
{
|
|
push eax;
|
|
call ScriptCompile_call;
|
|
add esp, 0x4;
|
|
ret;
|
|
}
|
|
}
|
|
}
|
|
|
|
class component final : public component_interface
|
|
{
|
|
public:
|
|
void post_unpack() override
|
|
{
|
|
RemoveRefToValue_hook.create(game::RemoveRefToValue.get(), RemoveRefToValue_stub);
|
|
Scr_CompileRemoveRefToString_hook.create(game::Scr_CompileRemoveRefToString_ADDR(), Scr_CompileRemoveRefToString_stub);
|
|
EmitCanonicalString_hook.create(game::EmitCanonicalString_ADDR(), EmitCanonicalString_stub);
|
|
CompileTransferRefToString_hook.create(game::CompileTransferRefToString_ADDR(), CompileTransferRefToString_stub);
|
|
EmitOpcode_hook.create(game::EmitOpcode.get(), EmitOpcode_stub);
|
|
EmitEnd_hook.create(game::EmitEnd_ADDR(), EmitEnd_stub);
|
|
EmitReturn_hook.create(game::EmitReturn_ADDR(), EmitReturn_stub);
|
|
EmitCodepos_hook.create(game::EmitCodepos_ADDR(), EmitCodepos_stub);
|
|
EmitShort_hook.create(game::EmitShort_ADDR(), EmitShort_stub);
|
|
EmitByte_hook.create(game::EmitByte_ADDR(), EmitByte_stub);
|
|
EmitGetInteger_hook.create(game::EmitGetInteger_ADDR(), EmitGetInteger_stub);
|
|
EmitGetFloat_hook.create(game::EmitGetFloat_ADDR(), EmitGetFloat_stub);
|
|
EmitAnimTree_hook.create(game::EmitAnimTree_ADDR(), EmitAnimTree_stub);
|
|
Scr_FindLocalVarIndex_hook.create(game::Scr_FindLocalVarIndex.get(), Scr_FindLocalVarIndex_stub);
|
|
EmitCreateLocalVars_hook.create(game::EmitCreateLocalVars.get(), EmitCreateLocalVars_stub);
|
|
EmitRemoveLocalVars_hook.create(game::EmitRemoveLocalVars_ADDR(), EmitRemoveLocalVars_stub);
|
|
EmitNOP2_hook.create(game::EmitNOP2_ADDR(), EmitNOP2_stub);
|
|
Scr_InitFromChildBlocks_hook.create(game::Scr_InitFromChildBlocks.get(), Scr_InitFromChildBlocks_stub);
|
|
Scr_AppendChildBlocks_hook.create(game::Scr_AppendChildBlocks_ADDR(), Scr_AppendChildBlocks_stub);
|
|
Scr_MergeChildBlocks_hook.create(game::Scr_MergeChildBlocks.get(), Scr_MergeChildBlocks_stub);
|
|
Scr_TransferBlock_hook.create(game::Scr_TransferBlock_ADDR(), Scr_TransferBlock_stub);
|
|
EmitSafeSetVariableField_hook.create(game::EmitSafeSetVariableField_ADDR(), EmitSafeSetVariableField_stub);
|
|
EmitSafeSetWaittillVariableField_hook.create(game::EmitSafeSetWaittillVariableField_ADDR(), EmitSafeSetWaittillVariableField_stub);
|
|
EmitGetString_hook.create(game::EmitGetString_ADDR(), EmitGetString_stub);
|
|
EmitGetIString_hook.create(game::EmitGetIString_ADDR(), EmitGetIString_stub);
|
|
EmitGetVector_hook.create(game::EmitGetVector_ADDR(), EmitGetVector_stub);
|
|
EmitValue_hook.create(game::EmitValue.get(), EmitValue_stub);
|
|
Scr_PushValue_hook.create(game::Scr_PushValue_ADDR(), Scr_PushValue_stub);
|
|
EmitCastBool_hook.create(game::EmitCastBool_ADDR(), EmitCastBool_stub);
|
|
EmitBoolNot_hook.create(game::EmitBoolNot_ADDR(), EmitBoolNot_stub);
|
|
EmitBoolComplement_hook.create(game::EmitBoolComplement_ADDR(), EmitBoolComplement_stub);
|
|
EmitSize_hook.create(game::EmitSize_ADDR(), EmitSize_stub);
|
|
EmitSelf_hook.create(game::EmitSelf_ADDR(), EmitSelf_stub);
|
|
EmitLevel_hook.create(game::EmitLevel_ADDR(), EmitLevel_stub);
|
|
EmitGame_hook.create(game::EmitGame_ADDR(), EmitGame_stub);
|
|
EmitAnim_hook.create(game::EmitAnim_ADDR(), EmitAnim_stub);
|
|
EmitSelfObject_hook.create(game::EmitSelfObject_ADDR(), EmitSelfObject_stub);
|
|
EmitLevelObject_hook.create(game::EmitLevelObject_ADDR(), EmitLevelObject_stub);
|
|
EmitAnimObject_hook.create(game::EmitAnimObject_ADDR(), EmitAnimObject_stub);
|
|
EmitLocalVariable_hook.create(game::EmitLocalVariable_ADDR(), EmitLocalVariable_stub);
|
|
EmitLocalVariableRef_hook.create(game::EmitLocalVariableRef_ADDR(), EmitLocalVariableRef_stub);
|
|
Scr_RegisterLocalVar_hook.create(game::Scr_RegisterLocalVar.get(), Scr_RegisterLocalVar_stub);
|
|
EmitGameRef_hook.create(game::EmitGameRef_ADDR(), EmitGameRef_stub);
|
|
EmitClearArray_hook.create(game::EmitClearArray_ADDR(), EmitClearArray_stub);
|
|
EmitEmptyArray_hook.create(game::EmitEmptyArray_ADDR(), EmitEmptyArray_stub);
|
|
EmitAnimation_hook.create(game::EmitAnimation_ADDR(), EmitAnimation_stub);
|
|
EmitFieldVariable_hook.create(game::EmitFieldVariable_ADDR(), EmitFieldVariable_stub);
|
|
EmitClearFieldVariable_hook.create(game::EmitClearFieldVariable_ADDR(), EmitClearFieldVariable_stub);
|
|
EmitObject_hook.create(game::EmitObject_ADDR(), EmitObject_stub);
|
|
EmitDecTop_hook.create(game::EmitDecTop_ADDR(), EmitDecTop_stub);
|
|
EmitCastFieldObject_hook.create(game::EmitCastFieldObject.get(), EmitCastFieldObject_stub);
|
|
EmitArrayVariable_hook.create(game::EmitArrayVariable_ADDR(), EmitArrayVariable_stub);
|
|
EmitArrayVariableRef_hook.create(game::EmitArrayVariableRef_ADDR(), EmitArrayVariableRef_stub);
|
|
EmitClearArrayVariable_hook.create(game::EmitClearArrayVariable_ADDR(), EmitClearArrayVariable_stub);
|
|
EmitVariableExpression_hook.create(game::EmitVariableExpression.get(), EmitVariableExpression_stub);
|
|
EmitExpressionList_hook.create(game::EmitExpressionList.get(), EmitExpressionList_stub);
|
|
AddExpressionListOpcodePos_hook.create(game::AddExpressionListOpcodePos_ADDR(), AddExpressionListOpcodePos_stub);
|
|
AddFilePrecache_hook.create(game::AddFilePrecache_ADDR(), AddFilePrecache_stub);
|
|
EmitFunction_hook.create(game::EmitFunction_ADDR(), EmitFunction_stub);
|
|
EmitGetFunction_hook.create(game::EmitGetFunction_ADDR(), EmitGetFunction_stub);
|
|
AddFunction_hook.create(game::AddFunction.get(), AddFunction_stub);
|
|
EmitPostScriptFunction_hook.create(game::EmitPostScriptFunction.get(), EmitPostScriptFunction_stub);
|
|
EmitPostScriptFunctionPointer_hook.create(game::EmitPostScriptFunctionPointer_ADDR(), EmitPostScriptFunctionPointer_stub);
|
|
EmitPostScriptThread_hook.create(game::EmitPostScriptThread_ADDR(), EmitPostScriptThread_stub);
|
|
EmitPostScriptThreadPointer_hook.create(game::EmitPostScriptThreadPointer_ADDR(), EmitPostScriptThreadPointer_stub);
|
|
EmitPostScriptFunctionCall_hook.create(game::EmitPostScriptFunctionCall_ADDR(), EmitPostScriptFunctionCall_stub);
|
|
EmitPostScriptThreadCall_hook.create(game::EmitPostScriptThreadCall_ADDR(), EmitPostScriptThreadCall_stub);
|
|
EmitPreFunctionCall_hook.create(game::EmitPreFunctionCall_ADDR(), EmitPreFunctionCall_stub);
|
|
EmitPostFunctionCall_hook.create(game::EmitPostFunctionCall_ADDR(), EmitPostFunctionCall_stub);
|
|
Scr_BeginDevScript_hook.create(game::Scr_BeginDevScript_ADDR(), Scr_BeginDevScript_stub);
|
|
Scr_EndDevScript_hook.create(game::Scr_EndDevScript_ADDR(), Scr_EndDevScript_stub);
|
|
EmitCallBuiltinOpcode_hook.create(game::EmitCallBuiltinOpcode_ADDR(), EmitCallBuiltinOpcode_stub);
|
|
EmitCallBuiltinMethodOpcode_hook.create(game::EmitCallBuiltinMethodOpcode_ADDR(), EmitCallBuiltinMethodOpcode_stub);
|
|
EmitCall_hook.create(game::EmitCall_ADDR(), EmitCall_stub);
|
|
EmitMethod_hook.create(game::EmitMethod.get(), EmitMethod_stub);
|
|
LinkThread_hook.create(game::LinkThread_ADDR(), LinkThread_stub);
|
|
LinkFile_hook.create(game::LinkFile_ADDR(), LinkFile_stub);
|
|
CheckThreadPosition_hook.create(game::CheckThreadPosition.get(), CheckThreadPosition_stub);
|
|
EmitCallExpression_hook.create(game::EmitCallExpression_ADDR(), EmitCallExpression_stub);
|
|
EmitCallExpressionFieldObject_hook.create(game::EmitCallExpressionFieldObject_ADDR(), EmitCallExpressionFieldObject_stub);
|
|
Scr_CreateVector_hook.create(game::Scr_CreateVector_ADDR(), Scr_CreateVector_stub);
|
|
EvalPrimitiveExpressionList_hook.create(game::EvalPrimitiveExpressionList.get(), EvalPrimitiveExpressionList_stub);
|
|
EmitOrEvalPrimitiveExpressionList_hook.create(game::EmitOrEvalPrimitiveExpressionList_ADDR(), EmitOrEvalPrimitiveExpressionList_stub);
|
|
EmitExpressionListFieldObject_hook.create(game::EmitExpressionListFieldObject_ADDR(), EmitExpressionListFieldObject_stub);
|
|
EvalPrimitiveExpression_hook.create(game::EvalPrimitiveExpression.get(), EvalPrimitiveExpression_stub);
|
|
EmitOrEvalPrimitiveExpression_hook.create(game::EmitOrEvalPrimitiveExpression.get(), EmitOrEvalPrimitiveExpression_stub);
|
|
EmitBoolOrExpression_hook.create(game::EmitBoolOrExpression_ADDR(), EmitBoolOrExpression_stub);
|
|
EmitBoolAndExpression_hook.create(game::EmitBoolAndExpression_ADDR(), EmitBoolAndExpression_stub);
|
|
EvalBinaryOperatorExpression_hook.create(game::EvalBinaryOperatorExpression.get(), EvalBinaryOperatorExpression_stub);
|
|
EmitOrEvalBinaryOperatorExpression_hook.create(game::EmitOrEvalBinaryOperatorExpression_ADDR(), EmitOrEvalBinaryOperatorExpression_stub);
|
|
EmitBinaryEqualsOperatorExpression_hook.create(game::EmitBinaryEqualsOperatorExpression_ADDR(), EmitBinaryEqualsOperatorExpression_stub);
|
|
Scr_CalcLocalVarsVariableExpressionRef_hook.create(game::Scr_CalcLocalVarsVariableExpressionRef_ADDR(), Scr_CalcLocalVarsVariableExpressionRef_stub);
|
|
EvalExpression_hook.create(game::EvalExpression_ADDR(), EvalExpression_stub);
|
|
EmitOrEvalExpression_hook.create(game::EmitOrEvalExpression.get(), EmitOrEvalExpression_stub);
|
|
EmitExpression_hook.create(game::EmitExpression.get(), EmitExpression_stub);
|
|
EmitVariableExpressionRef_hook.create(game::EmitVariableExpressionRef.get(), EmitVariableExpressionRef_stub);
|
|
EmitArrayPrimitiveExpressionRef_hook.create(game::EmitArrayPrimitiveExpressionRef_ADDR(), EmitArrayPrimitiveExpressionRef_stub);
|
|
Scr_CalcLocalVarsArrayVariableRef_hook.create(game::Scr_CalcLocalVarsArrayVariableRef.get(), Scr_CalcLocalVarsArrayVariableRef_stub);
|
|
EmitPrimitiveExpressionFieldObject_hook.create(game::EmitPrimitiveExpressionFieldObject.get(), EmitPrimitiveExpressionFieldObject_stub);
|
|
ConnectBreakStatements_hook.create(game::ConnectBreakStatements_ADDR(), ConnectBreakStatements_stub);
|
|
ConnectContinueStatements_hook.create(game::ConnectContinueStatements_ADDR(), ConnectContinueStatements_stub);
|
|
EmitClearVariableExpression_hook.create(game::EmitClearVariableExpression_ADDR(), EmitClearVariableExpression_stub);
|
|
EmitAssignmentStatement_hook.create(game::EmitAssignmentStatement_ADDR(), EmitAssignmentStatement_stub);
|
|
EmitCallExpressionStatement_hook.create(game::EmitCallExpressionStatement_ADDR(), EmitCallExpressionStatement_stub);
|
|
EmitReturnStatement_hook.create(game::EmitReturnStatement_ADDR(), EmitReturnStatement_stub);
|
|
EmitWaitStatement_hook.create(game::EmitWaitStatement_ADDR(), EmitWaitStatement_stub);
|
|
EmitWaittillFrameEnd_hook.create(game::EmitWaittillFrameEnd_ADDR(), EmitWaittillFrameEnd_stub);
|
|
EmitIfStatement_hook.create(game::EmitIfStatement_ADDR(), EmitIfStatement_stub);
|
|
Scr_CalcLocalVarsIfStatement_hook.create(game::Scr_CalcLocalVarsIfStatement.get(), Scr_CalcLocalVarsIfStatement_stub);
|
|
EmitIfElseStatement_hook.create(game::EmitIfElseStatement.get(), EmitIfElseStatement_stub);
|
|
Scr_CalcLocalVarsIfElseStatement_hook.create(game::Scr_CalcLocalVarsIfElseStatement.get(), Scr_CalcLocalVarsIfElseStatement_stub);
|
|
Scr_AddBreakBlock_hook.create(game::Scr_AddBreakBlock_ADDR(), Scr_AddBreakBlock_stub);
|
|
Scr_AddContinueBlock_hook.create(game::Scr_AddContinueBlock_ADDR(), Scr_AddContinueBlock_stub);
|
|
EmitWhileStatement_hook.create(game::EmitWhileStatement.get(), EmitWhileStatement_stub);
|
|
Scr_CalcLocalVarsWhileStatement_hook.create(game::Scr_CalcLocalVarsWhileStatement.get(), Scr_CalcLocalVarsWhileStatement_stub);
|
|
EmitForStatement_hook.create(game::EmitForStatement.get(), EmitForStatement_stub);
|
|
Scr_CalcLocalVarsForStatement_hook.create(game::Scr_CalcLocalVarsForStatement.get(), Scr_CalcLocalVarsForStatement_stub);
|
|
EmitIncStatement_hook.create(game::EmitIncStatement_ADDR(), EmitIncStatement_stub);
|
|
EmitDecStatement_hook.create(game::EmitDecStatement_ADDR(), EmitDecStatement_stub);
|
|
Scr_CalcLocalVarsFormalParameterListInternal_hook.create(game::Scr_CalcLocalVarsFormalParameterListInternal_ADDR(), Scr_CalcLocalVarsFormalParameterListInternal_stub);
|
|
EmitWaittillStatement_hook.create(game::EmitWaittillStatement_ADDR(), EmitWaittillStatement_stub);
|
|
EmitWaittillmatchStatement_hook.create(game::EmitWaittillmatchStatement_ADDR(), EmitWaittillmatchStatement_stub);
|
|
EmitNotifyStatement_hook.create(game::EmitNotifyStatement_ADDR(), EmitNotifyStatement_stub);
|
|
EmitEndOnStatement_hook.create(game::EmitEndOnStatement_ADDR(), EmitEndOnStatement_stub);
|
|
CompareCaseInfo_hook.create(game::CompareCaseInfo.get(), CompareCaseInfo_stub);
|
|
EmitCaseStatement_hook.create(game::EmitCaseStatement_ADDR(), EmitCaseStatement_stub);
|
|
EmitSwitchStatementList_hook.create(game::EmitSwitchStatementList.get(), EmitSwitchStatementList_stub);
|
|
Scr_CalcLocalVarsSwitchStatement_hook.create(game::Scr_CalcLocalVarsSwitchStatement.get(), Scr_CalcLocalVarsSwitchStatement_stub);
|
|
EmitSwitchStatement_hook.create(game::EmitSwitchStatement.get(), EmitSwitchStatement_stub);
|
|
EmitCaseStatementInfo_hook.create(game::EmitCaseStatementInfo_ADDR(), EmitCaseStatementInfo_stub);
|
|
EmitBreakStatement_hook.create(game::EmitBreakStatement_ADDR(), EmitBreakStatement_stub);
|
|
EmitContinueStatement_hook.create(game::EmitContinueStatement_ADDR(), EmitContinueStatement_stub);
|
|
EmitProfStatement_hook.create(game::EmitProfStatement_ADDR(), EmitProfStatement_stub);
|
|
EmitStatement_hook.create(game::EmitStatement.get(), EmitStatement_stub);
|
|
Scr_CalcLocalVarsStatement_hook.create(game::Scr_CalcLocalVarsStatement.get(), Scr_CalcLocalVarsStatement_stub);
|
|
EmitStatementList_hook.create(game::EmitStatementList.get(), EmitStatementList_stub);
|
|
Scr_CalcLocalVarsStatementList_hook.create(game::Scr_CalcLocalVarsStatementList_ADDR(), Scr_CalcLocalVarsStatementList_stub);
|
|
Scr_CalcLocalVarsDeveloperStatementList_hook.create(game::Scr_CalcLocalVarsDeveloperStatementList.get(), Scr_CalcLocalVarsDeveloperStatementList_stub);
|
|
EmitDeveloperStatementList_hook.create(game::EmitDeveloperStatementList.get(), EmitDeveloperStatementList_stub);
|
|
EmitFormalParameterList_hook.create(game::EmitFormalParameterList_ADDR(), EmitFormalParameterList_stub);
|
|
SpecifyThread_hook.create(game::SpecifyThread_ADDR(), SpecifyThread_stub);
|
|
EmitThreadInternal_hook.create(game::EmitThreadInternal_ADDR(), EmitThreadInternal_stub);
|
|
Scr_CalcLocalVarsThread_hook.create(game::Scr_CalcLocalVarsThread_ADDR(), Scr_CalcLocalVarsThread_stub);
|
|
InitThread_hook.create(game::InitThread_ADDR(), InitThread_stub);
|
|
EmitNormalThread_hook.create(game::EmitNormalThread_ADDR(), EmitNormalThread_stub);
|
|
EmitDeveloperThread_hook.create(game::EmitDeveloperThread_ADDR(), EmitDeveloperThread_stub);
|
|
EmitThread_hook.create(game::EmitThread_ADDR(), EmitThread_stub);
|
|
EmitThreadList_hook.create(game::EmitThreadList.get(), EmitThreadList_stub);
|
|
EmitInclude_hook.create(game::EmitInclude_ADDR(), EmitInclude_stub);
|
|
ScriptCompile_hook.create(game::ScriptCompile_ADDR(), ScriptCompile_stub);
|
|
|
|
//Original hook function addresses
|
|
RemoveRefToValue_original = RemoveRefToValue_hook.get_original();
|
|
Scr_CompileRemoveRefToString_original = Scr_CompileRemoveRefToString_hook.get_original();
|
|
EmitCanonicalString_original = EmitCanonicalString_hook.get_original();
|
|
CompileTransferRefToString_original = CompileTransferRefToString_hook.get_original();
|
|
EmitOpcode_original = EmitOpcode_hook.get_original();
|
|
EmitEnd_original = EmitEnd_hook.get_original();
|
|
EmitReturn_original = EmitReturn_hook.get_original();
|
|
EmitCodepos_original = EmitCodepos_hook.get_original();
|
|
EmitShort_original = EmitShort_hook.get_original();
|
|
EmitByte_original = EmitByte_hook.get_original();
|
|
EmitGetInteger_original = EmitGetInteger_hook.get_original();
|
|
EmitGetFloat_original = EmitGetFloat_hook.get_original();
|
|
EmitAnimTree_original = EmitAnimTree_hook.get_original();
|
|
Scr_FindLocalVarIndex_original = Scr_FindLocalVarIndex_hook.get_original();
|
|
EmitCreateLocalVars_original = EmitCreateLocalVars_hook.get_original();
|
|
EmitRemoveLocalVars_original = EmitRemoveLocalVars_hook.get_original();
|
|
EmitNOP2_original = EmitNOP2_hook.get_original();
|
|
Scr_InitFromChildBlocks_original = Scr_InitFromChildBlocks_hook.get_original();
|
|
Scr_AppendChildBlocks_original = Scr_AppendChildBlocks_hook.get_original();
|
|
Scr_MergeChildBlocks_original = Scr_MergeChildBlocks_hook.get_original();
|
|
Scr_TransferBlock_original = Scr_TransferBlock_hook.get_original();
|
|
EmitSafeSetVariableField_original = EmitSafeSetVariableField_hook.get_original();
|
|
EmitSafeSetWaittillVariableField_original = EmitSafeSetWaittillVariableField_hook.get_original();
|
|
EmitGetString_original = EmitGetString_hook.get_original();
|
|
EmitGetIString_original = EmitGetIString_hook.get_original();
|
|
EmitGetVector_original = EmitGetVector_hook.get_original();
|
|
EmitValue_original = EmitValue_hook.get_original();
|
|
Scr_PushValue_original = Scr_PushValue_hook.get_original();
|
|
EmitCastBool_original = EmitCastBool_hook.get_original();
|
|
EmitBoolNot_original = EmitBoolNot_hook.get_original();
|
|
EmitBoolComplement_original = EmitBoolComplement_hook.get_original();
|
|
EmitSize_original = EmitSize_hook.get_original();
|
|
EmitSelf_original = EmitSelf_hook.get_original();
|
|
EmitLevel_original = EmitLevel_hook.get_original();
|
|
EmitGame_original = EmitGame_hook.get_original();
|
|
EmitAnim_original = EmitAnim_hook.get_original();
|
|
EmitSelfObject_original = EmitSelfObject_hook.get_original();
|
|
EmitLevelObject_original = EmitLevelObject_hook.get_original();
|
|
EmitAnimObject_original = EmitAnimObject_hook.get_original();
|
|
EmitLocalVariable_original = EmitLocalVariable_hook.get_original();
|
|
EmitLocalVariableRef_original = EmitLocalVariableRef_hook.get_original();
|
|
Scr_RegisterLocalVar_original = Scr_RegisterLocalVar_hook.get_original();
|
|
EmitGameRef_original = EmitGameRef_hook.get_original();
|
|
EmitClearArray_original = EmitClearArray_hook.get_original();
|
|
EmitEmptyArray_original = EmitEmptyArray_hook.get_original();
|
|
EmitAnimation_original = EmitAnimation_hook.get_original();
|
|
EmitFieldVariable_original = EmitFieldVariable_hook.get_original();
|
|
EmitClearFieldVariable_original = EmitClearFieldVariable_hook.get_original();
|
|
EmitObject_original = EmitObject_hook.get_original();
|
|
EmitDecTop_original = EmitDecTop_hook.get_original();
|
|
EmitCastFieldObject_original = EmitCastFieldObject_hook.get_original();
|
|
EmitArrayVariable_original = EmitArrayVariable_hook.get_original();
|
|
EmitArrayVariableRef_original = EmitArrayVariableRef_hook.get_original();
|
|
EmitClearArrayVariable_original = EmitClearArrayVariable_hook.get_original();
|
|
EmitVariableExpression_original = EmitVariableExpression_hook.get_original();
|
|
EmitExpressionList_original = EmitExpressionList_hook.get_original();
|
|
AddExpressionListOpcodePos_original = AddExpressionListOpcodePos_hook.get_original();
|
|
AddFilePrecache_original = AddFilePrecache_hook.get_original();
|
|
EmitFunction_original = EmitFunction_hook.get_original();
|
|
EmitGetFunction_original = EmitGetFunction_hook.get_original();
|
|
AddFunction_original = AddFunction_hook.get_original();
|
|
EmitPostScriptFunction_original = EmitPostScriptFunction_hook.get_original();
|
|
EmitPostScriptFunctionPointer_original = EmitPostScriptFunctionPointer_hook.get_original();
|
|
EmitPostScriptThread_original = EmitPostScriptThread_hook.get_original();
|
|
EmitPostScriptThreadPointer_original = EmitPostScriptThreadPointer_hook.get_original();
|
|
EmitPostScriptFunctionCall_original = EmitPostScriptFunctionCall_hook.get_original();
|
|
EmitPostScriptThreadCall_original = EmitPostScriptThreadCall_hook.get_original();
|
|
EmitPreFunctionCall_original = EmitPreFunctionCall_hook.get_original();
|
|
EmitPostFunctionCall_original = EmitPostFunctionCall_hook.get_original();
|
|
Scr_BeginDevScript_original = Scr_BeginDevScript_hook.get_original();
|
|
Scr_EndDevScript_original = Scr_EndDevScript_hook.get_original();
|
|
EmitCallBuiltinOpcode_original = EmitCallBuiltinOpcode_hook.get_original();
|
|
EmitCallBuiltinMethodOpcode_original = EmitCallBuiltinMethodOpcode_hook.get_original();
|
|
EmitCall_original = EmitCall_hook.get_original();
|
|
EmitMethod_original = EmitMethod_hook.get_original();
|
|
LinkThread_original = LinkThread_hook.get_original();
|
|
LinkFile_original = LinkFile_hook.get_original();
|
|
CheckThreadPosition_original = CheckThreadPosition_hook.get_original();
|
|
EmitCallExpression_original = EmitCallExpression_hook.get_original();
|
|
EmitCallExpressionFieldObject_original = EmitCallExpressionFieldObject_hook.get_original();
|
|
Scr_CreateVector_original = Scr_CreateVector_hook.get_original();
|
|
EvalPrimitiveExpressionList_original = EvalPrimitiveExpressionList_hook.get_original();
|
|
EmitOrEvalPrimitiveExpressionList_original = EmitOrEvalPrimitiveExpressionList_hook.get_original();
|
|
EmitExpressionListFieldObject_original = EmitExpressionListFieldObject_hook.get_original();
|
|
EvalPrimitiveExpression_original = EvalPrimitiveExpression_hook.get_original();
|
|
EmitOrEvalPrimitiveExpression_original = EmitOrEvalPrimitiveExpression_hook.get_original();
|
|
EmitBoolOrExpression_original = EmitBoolOrExpression_hook.get_original();
|
|
EmitBoolAndExpression_original = EmitBoolAndExpression_hook.get_original();
|
|
EvalBinaryOperatorExpression_original = EvalBinaryOperatorExpression_hook.get_original();
|
|
EmitOrEvalBinaryOperatorExpression_original = EmitOrEvalBinaryOperatorExpression_hook.get_original();
|
|
EmitBinaryEqualsOperatorExpression_original = EmitBinaryEqualsOperatorExpression_hook.get_original();
|
|
Scr_CalcLocalVarsVariableExpressionRef_original = Scr_CalcLocalVarsVariableExpressionRef_hook.get_original();
|
|
EvalExpression_original = EvalExpression_hook.get_original();
|
|
EmitOrEvalExpression_original = EmitOrEvalExpression_hook.get_original();
|
|
EmitExpression_original = EmitExpression_hook.get_original();
|
|
EmitVariableExpressionRef_original = EmitVariableExpressionRef_hook.get_original();
|
|
EmitArrayPrimitiveExpressionRef_original = EmitArrayPrimitiveExpressionRef_hook.get_original();
|
|
Scr_CalcLocalVarsArrayVariableRef_original = Scr_CalcLocalVarsArrayVariableRef_hook.get_original();
|
|
EmitPrimitiveExpressionFieldObject_original = EmitPrimitiveExpressionFieldObject_hook.get_original();
|
|
ConnectBreakStatements_original = ConnectBreakStatements_hook.get_original();
|
|
ConnectContinueStatements_original = ConnectContinueStatements_hook.get_original();
|
|
EmitClearVariableExpression_original = EmitClearVariableExpression_hook.get_original();
|
|
EmitAssignmentStatement_original = EmitAssignmentStatement_hook.get_original();
|
|
EmitCallExpressionStatement_original = EmitCallExpressionStatement_hook.get_original();
|
|
EmitReturnStatement_original = EmitReturnStatement_hook.get_original();
|
|
EmitWaitStatement_original = EmitWaitStatement_hook.get_original();
|
|
EmitWaittillFrameEnd_original = EmitWaittillFrameEnd_hook.get_original();
|
|
EmitIfStatement_original = EmitIfStatement_hook.get_original();
|
|
Scr_CalcLocalVarsIfStatement_original = Scr_CalcLocalVarsIfStatement_hook.get_original();
|
|
EmitIfElseStatement_original = EmitIfElseStatement_hook.get_original();
|
|
Scr_CalcLocalVarsIfElseStatement_original = Scr_CalcLocalVarsIfElseStatement_hook.get_original();
|
|
Scr_AddBreakBlock_original = Scr_AddBreakBlock_hook.get_original();
|
|
Scr_AddContinueBlock_original = Scr_AddContinueBlock_hook.get_original();
|
|
EmitWhileStatement_original = EmitWhileStatement_hook.get_original();
|
|
Scr_CalcLocalVarsWhileStatement_original = Scr_CalcLocalVarsWhileStatement_hook.get_original();
|
|
EmitForStatement_original = EmitForStatement_hook.get_original();
|
|
Scr_CalcLocalVarsForStatement_original = Scr_CalcLocalVarsForStatement_hook.get_original();
|
|
EmitIncStatement_original = EmitIncStatement_hook.get_original();
|
|
EmitDecStatement_original = EmitDecStatement_hook.get_original();
|
|
Scr_CalcLocalVarsFormalParameterListInternal_original = Scr_CalcLocalVarsFormalParameterListInternal_hook.get_original();
|
|
EmitWaittillStatement_original = EmitWaittillStatement_hook.get_original();
|
|
EmitWaittillmatchStatement_original = EmitWaittillmatchStatement_hook.get_original();
|
|
EmitNotifyStatement_original = EmitNotifyStatement_hook.get_original();
|
|
EmitEndOnStatement_original = EmitEndOnStatement_hook.get_original();
|
|
CompareCaseInfo_original = CompareCaseInfo_hook.get_original();
|
|
EmitCaseStatement_original = EmitCaseStatement_hook.get_original();
|
|
EmitSwitchStatementList_original = EmitSwitchStatementList_hook.get_original();
|
|
Scr_CalcLocalVarsSwitchStatement_original = Scr_CalcLocalVarsSwitchStatement_hook.get_original();
|
|
EmitSwitchStatement_original = EmitSwitchStatement_hook.get_original();
|
|
EmitCaseStatementInfo_original = EmitCaseStatementInfo_hook.get_original();
|
|
EmitBreakStatement_original = EmitBreakStatement_hook.get_original();
|
|
EmitContinueStatement_original = EmitContinueStatement_hook.get_original();
|
|
EmitProfStatement_original = EmitProfStatement_hook.get_original();
|
|
EmitStatement_original = EmitStatement_hook.get_original();
|
|
Scr_CalcLocalVarsStatement_original = Scr_CalcLocalVarsStatement_hook.get_original();
|
|
EmitStatementList_original = EmitStatementList_hook.get_original();
|
|
Scr_CalcLocalVarsStatementList_original = Scr_CalcLocalVarsStatementList_hook.get_original();
|
|
Scr_CalcLocalVarsDeveloperStatementList_original = Scr_CalcLocalVarsDeveloperStatementList_hook.get_original();
|
|
EmitDeveloperStatementList_original = EmitDeveloperStatementList_hook.get_original();
|
|
EmitFormalParameterList_original = EmitFormalParameterList_hook.get_original();
|
|
SpecifyThread_original = SpecifyThread_hook.get_original();
|
|
EmitThreadInternal_original = EmitThreadInternal_hook.get_original();
|
|
Scr_CalcLocalVarsThread_original = Scr_CalcLocalVarsThread_hook.get_original();
|
|
InitThread_original = InitThread_hook.get_original();
|
|
EmitNormalThread_original = EmitNormalThread_hook.get_original();
|
|
EmitDeveloperThread_original = EmitDeveloperThread_hook.get_original();
|
|
EmitThread_original = EmitThread_hook.get_original();
|
|
EmitThreadList_original = EmitThreadList_hook.get_original();
|
|
EmitInclude_original = EmitInclude_hook.get_original();
|
|
ScriptCompile_original = ScriptCompile_hook.get_original();
|
|
}
|
|
|
|
private:
|
|
};
|
|
}
|
|
REGISTER_COMPONENT(re_cscr_compiler::component)
|
|
#endif
|