mirror of
https://github.com/JezuzLizard/T4SP-Server-Plugin.git
synced 2025-04-19 21:22:54 +00:00
Grealy improve boot times
This commit is contained in:
parent
c5195b4983
commit
fc336c490a
@ -353,24 +353,29 @@ namespace re_cscr_animtree
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
AnimTreeCompileError_hook.create(game::AnimTreeCompileError.get(), AnimTreeCompileError_stub);
|
bool quick = true;
|
||||||
GetAnimTreeParseProperties_hook.create(game::GetAnimTreeParseProperties.get(), GetAnimTreeParseProperties_stub);
|
#ifdef RE_CSCR_ANIMTREE_USE_WRAPPERS
|
||||||
Scr_EmitAnimationInternal_hook.create(game::Scr_EmitAnimationInternal_ADDR(), Scr_EmitAnimationInternal_stub);
|
quick = false;
|
||||||
AnimTreeParseInternal_hook.create(game::AnimTreeParseInternal.get(), AnimTreeParseInternal_stub);
|
#endif
|
||||||
Scr_AnimTreeParse_hook.create(game::Scr_AnimTreeParse_ADDR(), Scr_AnimTreeParse_stub);
|
|
||||||
Scr_GetAnimTreeSize_hook.create(game::Scr_GetAnimTreeSize.get(), Scr_GetAnimTreeSize_stub);
|
AnimTreeCompileError_hook.create(game::AnimTreeCompileError.get(), AnimTreeCompileError_stub, quick);
|
||||||
ConnectScriptToAnim_hook.create(game::ConnectScriptToAnim_ADDR(), ConnectScriptToAnim_stub);
|
GetAnimTreeParseProperties_hook.create(game::GetAnimTreeParseProperties.get(), GetAnimTreeParseProperties_stub, quick);
|
||||||
Scr_GetAnimsIndex_hook.create(game::Scr_GetAnimsIndex_ADDR(), Scr_GetAnimsIndex_stub);
|
Scr_EmitAnimationInternal_hook.create(game::Scr_EmitAnimationInternal_ADDR(), Scr_EmitAnimationInternal_stub, quick);
|
||||||
Scr_CreateAnimationTree_hook.create(game::Scr_CreateAnimationTree.get(), Scr_CreateAnimationTree_stub);
|
AnimTreeParseInternal_hook.create(game::AnimTreeParseInternal.get(), AnimTreeParseInternal_stub, quick);
|
||||||
Scr_CheckAnimsDefined_hook.create(game::Scr_CheckAnimsDefined_ADDR(), Scr_CheckAnimsDefined_stub);
|
Scr_AnimTreeParse_hook.create(game::Scr_AnimTreeParse_ADDR(), Scr_AnimTreeParse_stub, quick);
|
||||||
Scr_PrecacheAnimationTree_hook.create(game::Scr_PrecacheAnimationTree.get(), Scr_PrecacheAnimationTree_stub);
|
Scr_GetAnimTreeSize_hook.create(game::Scr_GetAnimTreeSize.get(), Scr_GetAnimTreeSize_stub, quick);
|
||||||
Scr_UsingTreeInternal_hook.create(game::Scr_UsingTreeInternal_ADDR(), Scr_UsingTreeInternal_stub);
|
ConnectScriptToAnim_hook.create(game::ConnectScriptToAnim_ADDR(), ConnectScriptToAnim_stub, quick);
|
||||||
Scr_UsingTree_hook.create(game::Scr_UsingTree_ADDR(), Scr_UsingTree_stub);
|
Scr_GetAnimsIndex_hook.create(game::Scr_GetAnimsIndex_ADDR(), Scr_GetAnimsIndex_stub, quick);
|
||||||
Scr_SetAnimTreeConfigstring_hook.create(game::Scr_SetAnimTreeConfigstring.get(), Scr_SetAnimTreeConfigstring_stub);
|
Scr_CreateAnimationTree_hook.create(game::Scr_CreateAnimationTree.get(), Scr_CreateAnimationTree_stub, quick);
|
||||||
Scr_LoadAnimTreeInternal_hook.create(game::Scr_LoadAnimTreeInternal_ADDR(), Scr_LoadAnimTreeInternal_stub);
|
Scr_CheckAnimsDefined_hook.create(game::Scr_CheckAnimsDefined_ADDR(), Scr_CheckAnimsDefined_stub, quick);
|
||||||
Scr_LoadAnimTreeAtIndex_hook.create(game::Scr_LoadAnimTreeAtIndex_ADDR(), Scr_LoadAnimTreeAtIndex_stub);
|
Scr_PrecacheAnimationTree_hook.create(game::Scr_PrecacheAnimationTree.get(), Scr_PrecacheAnimationTree_stub, quick);
|
||||||
Scr_FindAnimTree_hook.create(game::Scr_FindAnimTree_ADDR(), Scr_FindAnimTree_stub);
|
Scr_UsingTreeInternal_hook.create(game::Scr_UsingTreeInternal_ADDR(), Scr_UsingTreeInternal_stub, quick);
|
||||||
Scr_FindAnim_hook.create(game::Scr_FindAnim_ADDR(), Scr_FindAnim_stub);
|
Scr_UsingTree_hook.create(game::Scr_UsingTree_ADDR(), Scr_UsingTree_stub, quick);
|
||||||
|
Scr_SetAnimTreeConfigstring_hook.create(game::Scr_SetAnimTreeConfigstring.get(), Scr_SetAnimTreeConfigstring_stub, quick);
|
||||||
|
Scr_LoadAnimTreeInternal_hook.create(game::Scr_LoadAnimTreeInternal_ADDR(), Scr_LoadAnimTreeInternal_stub, quick);
|
||||||
|
Scr_LoadAnimTreeAtIndex_hook.create(game::Scr_LoadAnimTreeAtIndex_ADDR(), Scr_LoadAnimTreeAtIndex_stub, quick);
|
||||||
|
Scr_FindAnimTree_hook.create(game::Scr_FindAnimTree_ADDR(), Scr_FindAnimTree_stub, quick);
|
||||||
|
Scr_FindAnim_hook.create(game::Scr_FindAnim_ADDR(), Scr_FindAnim_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
AnimTreeCompileError_original = AnimTreeCompileError_hook.get_original();
|
AnimTreeCompileError_original = AnimTreeCompileError_hook.get_original();
|
||||||
|
@ -3018,156 +3018,161 @@ namespace re_cscr_compiler
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
RemoveRefToValue_hook.create(game::RemoveRefToValue.get(), RemoveRefToValue_stub);
|
bool quick = true;
|
||||||
Scr_CompileRemoveRefToString_hook.create(game::Scr_CompileRemoveRefToString_ADDR(), Scr_CompileRemoveRefToString_stub);
|
#ifdef RE_CSCR_COMPILER_USE_WRAPPERS
|
||||||
EmitCanonicalString_hook.create(game::EmitCanonicalString_ADDR(), EmitCanonicalString_stub);
|
quick = false;
|
||||||
CompileTransferRefToString_hook.create(game::CompileTransferRefToString_ADDR(), CompileTransferRefToString_stub);
|
#endif
|
||||||
EmitOpcode_hook.create(game::EmitOpcode.get(), EmitOpcode_stub);
|
|
||||||
EmitEnd_hook.create(game::EmitEnd_ADDR(), EmitEnd_stub);
|
RemoveRefToValue_hook.create(game::RemoveRefToValue.get(), RemoveRefToValue_stub, quick);
|
||||||
EmitReturn_hook.create(game::EmitReturn_ADDR(), EmitReturn_stub);
|
Scr_CompileRemoveRefToString_hook.create(game::Scr_CompileRemoveRefToString_ADDR(), Scr_CompileRemoveRefToString_stub, quick);
|
||||||
EmitCodepos_hook.create(game::EmitCodepos_ADDR(), EmitCodepos_stub);
|
EmitCanonicalString_hook.create(game::EmitCanonicalString_ADDR(), EmitCanonicalString_stub, quick);
|
||||||
EmitShort_hook.create(game::EmitShort_ADDR(), EmitShort_stub);
|
CompileTransferRefToString_hook.create(game::CompileTransferRefToString_ADDR(), CompileTransferRefToString_stub, quick);
|
||||||
EmitByte_hook.create(game::EmitByte_ADDR(), EmitByte_stub);
|
EmitOpcode_hook.create(game::EmitOpcode.get(), EmitOpcode_stub, quick);
|
||||||
EmitGetInteger_hook.create(game::EmitGetInteger_ADDR(), EmitGetInteger_stub);
|
EmitEnd_hook.create(game::EmitEnd_ADDR(), EmitEnd_stub, quick);
|
||||||
EmitGetFloat_hook.create(game::EmitGetFloat_ADDR(), EmitGetFloat_stub);
|
EmitReturn_hook.create(game::EmitReturn_ADDR(), EmitReturn_stub, quick);
|
||||||
EmitAnimTree_hook.create(game::EmitAnimTree_ADDR(), EmitAnimTree_stub);
|
EmitCodepos_hook.create(game::EmitCodepos_ADDR(), EmitCodepos_stub, quick);
|
||||||
Scr_FindLocalVarIndex_hook.create(game::Scr_FindLocalVarIndex.get(), Scr_FindLocalVarIndex_stub);
|
EmitShort_hook.create(game::EmitShort_ADDR(), EmitShort_stub, quick);
|
||||||
EmitCreateLocalVars_hook.create(game::EmitCreateLocalVars.get(), EmitCreateLocalVars_stub);
|
EmitByte_hook.create(game::EmitByte_ADDR(), EmitByte_stub, quick);
|
||||||
EmitRemoveLocalVars_hook.create(game::EmitRemoveLocalVars_ADDR(), EmitRemoveLocalVars_stub);
|
EmitGetInteger_hook.create(game::EmitGetInteger_ADDR(), EmitGetInteger_stub, quick);
|
||||||
EmitNOP2_hook.create(game::EmitNOP2_ADDR(), EmitNOP2_stub);
|
EmitGetFloat_hook.create(game::EmitGetFloat_ADDR(), EmitGetFloat_stub, quick);
|
||||||
Scr_InitFromChildBlocks_hook.create(game::Scr_InitFromChildBlocks.get(), Scr_InitFromChildBlocks_stub);
|
EmitAnimTree_hook.create(game::EmitAnimTree_ADDR(), EmitAnimTree_stub, quick);
|
||||||
Scr_AppendChildBlocks_hook.create(game::Scr_AppendChildBlocks_ADDR(), Scr_AppendChildBlocks_stub);
|
Scr_FindLocalVarIndex_hook.create(game::Scr_FindLocalVarIndex.get(), Scr_FindLocalVarIndex_stub, quick);
|
||||||
Scr_MergeChildBlocks_hook.create(game::Scr_MergeChildBlocks.get(), Scr_MergeChildBlocks_stub);
|
EmitCreateLocalVars_hook.create(game::EmitCreateLocalVars.get(), EmitCreateLocalVars_stub, quick);
|
||||||
Scr_TransferBlock_hook.create(game::Scr_TransferBlock_ADDR(), Scr_TransferBlock_stub);
|
EmitRemoveLocalVars_hook.create(game::EmitRemoveLocalVars_ADDR(), EmitRemoveLocalVars_stub, quick);
|
||||||
EmitSafeSetVariableField_hook.create(game::EmitSafeSetVariableField_ADDR(), EmitSafeSetVariableField_stub);
|
EmitNOP2_hook.create(game::EmitNOP2_ADDR(), EmitNOP2_stub, quick);
|
||||||
EmitSafeSetWaittillVariableField_hook.create(game::EmitSafeSetWaittillVariableField_ADDR(), EmitSafeSetWaittillVariableField_stub);
|
Scr_InitFromChildBlocks_hook.create(game::Scr_InitFromChildBlocks.get(), Scr_InitFromChildBlocks_stub, quick);
|
||||||
EmitGetString_hook.create(game::EmitGetString_ADDR(), EmitGetString_stub);
|
Scr_AppendChildBlocks_hook.create(game::Scr_AppendChildBlocks_ADDR(), Scr_AppendChildBlocks_stub, quick);
|
||||||
EmitGetIString_hook.create(game::EmitGetIString_ADDR(), EmitGetIString_stub);
|
Scr_MergeChildBlocks_hook.create(game::Scr_MergeChildBlocks.get(), Scr_MergeChildBlocks_stub, quick);
|
||||||
EmitGetVector_hook.create(game::EmitGetVector_ADDR(), EmitGetVector_stub);
|
Scr_TransferBlock_hook.create(game::Scr_TransferBlock_ADDR(), Scr_TransferBlock_stub, quick);
|
||||||
EmitValue_hook.create(game::EmitValue.get(), EmitValue_stub);
|
EmitSafeSetVariableField_hook.create(game::EmitSafeSetVariableField_ADDR(), EmitSafeSetVariableField_stub, quick);
|
||||||
Scr_PushValue_hook.create(game::Scr_PushValue_ADDR(), Scr_PushValue_stub);
|
EmitSafeSetWaittillVariableField_hook.create(game::EmitSafeSetWaittillVariableField_ADDR(), EmitSafeSetWaittillVariableField_stub, quick);
|
||||||
EmitCastBool_hook.create(game::EmitCastBool_ADDR(), EmitCastBool_stub);
|
EmitGetString_hook.create(game::EmitGetString_ADDR(), EmitGetString_stub, quick);
|
||||||
EmitBoolNot_hook.create(game::EmitBoolNot_ADDR(), EmitBoolNot_stub);
|
EmitGetIString_hook.create(game::EmitGetIString_ADDR(), EmitGetIString_stub, quick);
|
||||||
EmitBoolComplement_hook.create(game::EmitBoolComplement_ADDR(), EmitBoolComplement_stub);
|
EmitGetVector_hook.create(game::EmitGetVector_ADDR(), EmitGetVector_stub, quick);
|
||||||
EmitSize_hook.create(game::EmitSize_ADDR(), EmitSize_stub);
|
EmitValue_hook.create(game::EmitValue.get(), EmitValue_stub, quick);
|
||||||
EmitSelf_hook.create(game::EmitSelf_ADDR(), EmitSelf_stub);
|
Scr_PushValue_hook.create(game::Scr_PushValue_ADDR(), Scr_PushValue_stub, quick);
|
||||||
EmitLevel_hook.create(game::EmitLevel_ADDR(), EmitLevel_stub);
|
EmitCastBool_hook.create(game::EmitCastBool_ADDR(), EmitCastBool_stub, quick);
|
||||||
EmitGame_hook.create(game::EmitGame_ADDR(), EmitGame_stub);
|
EmitBoolNot_hook.create(game::EmitBoolNot_ADDR(), EmitBoolNot_stub, quick);
|
||||||
EmitAnim_hook.create(game::EmitAnim_ADDR(), EmitAnim_stub);
|
EmitBoolComplement_hook.create(game::EmitBoolComplement_ADDR(), EmitBoolComplement_stub, quick);
|
||||||
EmitSelfObject_hook.create(game::EmitSelfObject_ADDR(), EmitSelfObject_stub);
|
EmitSize_hook.create(game::EmitSize_ADDR(), EmitSize_stub, quick);
|
||||||
EmitLevelObject_hook.create(game::EmitLevelObject_ADDR(), EmitLevelObject_stub);
|
EmitSelf_hook.create(game::EmitSelf_ADDR(), EmitSelf_stub, quick);
|
||||||
EmitAnimObject_hook.create(game::EmitAnimObject_ADDR(), EmitAnimObject_stub);
|
EmitLevel_hook.create(game::EmitLevel_ADDR(), EmitLevel_stub, quick);
|
||||||
EmitLocalVariable_hook.create(game::EmitLocalVariable_ADDR(), EmitLocalVariable_stub);
|
EmitGame_hook.create(game::EmitGame_ADDR(), EmitGame_stub, quick);
|
||||||
EmitLocalVariableRef_hook.create(game::EmitLocalVariableRef_ADDR(), EmitLocalVariableRef_stub);
|
EmitAnim_hook.create(game::EmitAnim_ADDR(), EmitAnim_stub, quick);
|
||||||
Scr_RegisterLocalVar_hook.create(game::Scr_RegisterLocalVar.get(), Scr_RegisterLocalVar_stub);
|
EmitSelfObject_hook.create(game::EmitSelfObject_ADDR(), EmitSelfObject_stub, quick);
|
||||||
EmitGameRef_hook.create(game::EmitGameRef_ADDR(), EmitGameRef_stub);
|
EmitLevelObject_hook.create(game::EmitLevelObject_ADDR(), EmitLevelObject_stub, quick);
|
||||||
EmitClearArray_hook.create(game::EmitClearArray_ADDR(), EmitClearArray_stub);
|
EmitAnimObject_hook.create(game::EmitAnimObject_ADDR(), EmitAnimObject_stub, quick);
|
||||||
EmitEmptyArray_hook.create(game::EmitEmptyArray_ADDR(), EmitEmptyArray_stub);
|
EmitLocalVariable_hook.create(game::EmitLocalVariable_ADDR(), EmitLocalVariable_stub, quick);
|
||||||
EmitAnimation_hook.create(game::EmitAnimation_ADDR(), EmitAnimation_stub);
|
EmitLocalVariableRef_hook.create(game::EmitLocalVariableRef_ADDR(), EmitLocalVariableRef_stub, quick);
|
||||||
EmitFieldVariable_hook.create(game::EmitFieldVariable_ADDR(), EmitFieldVariable_stub);
|
Scr_RegisterLocalVar_hook.create(game::Scr_RegisterLocalVar.get(), Scr_RegisterLocalVar_stub, quick);
|
||||||
EmitClearFieldVariable_hook.create(game::EmitClearFieldVariable_ADDR(), EmitClearFieldVariable_stub);
|
EmitGameRef_hook.create(game::EmitGameRef_ADDR(), EmitGameRef_stub, quick);
|
||||||
EmitObject_hook.create(game::EmitObject_ADDR(), EmitObject_stub);
|
EmitClearArray_hook.create(game::EmitClearArray_ADDR(), EmitClearArray_stub, quick);
|
||||||
EmitDecTop_hook.create(game::EmitDecTop_ADDR(), EmitDecTop_stub);
|
EmitEmptyArray_hook.create(game::EmitEmptyArray_ADDR(), EmitEmptyArray_stub, quick);
|
||||||
EmitCastFieldObject_hook.create(game::EmitCastFieldObject.get(), EmitCastFieldObject_stub);
|
EmitAnimation_hook.create(game::EmitAnimation_ADDR(), EmitAnimation_stub, quick);
|
||||||
EmitArrayVariable_hook.create(game::EmitArrayVariable_ADDR(), EmitArrayVariable_stub);
|
EmitFieldVariable_hook.create(game::EmitFieldVariable_ADDR(), EmitFieldVariable_stub, quick);
|
||||||
EmitArrayVariableRef_hook.create(game::EmitArrayVariableRef_ADDR(), EmitArrayVariableRef_stub);
|
EmitClearFieldVariable_hook.create(game::EmitClearFieldVariable_ADDR(), EmitClearFieldVariable_stub, quick);
|
||||||
EmitClearArrayVariable_hook.create(game::EmitClearArrayVariable_ADDR(), EmitClearArrayVariable_stub);
|
EmitObject_hook.create(game::EmitObject_ADDR(), EmitObject_stub, quick);
|
||||||
EmitVariableExpression_hook.create(game::EmitVariableExpression.get(), EmitVariableExpression_stub);
|
EmitDecTop_hook.create(game::EmitDecTop_ADDR(), EmitDecTop_stub, quick);
|
||||||
EmitExpressionList_hook.create(game::EmitExpressionList.get(), EmitExpressionList_stub);
|
EmitCastFieldObject_hook.create(game::EmitCastFieldObject.get(), EmitCastFieldObject_stub, quick);
|
||||||
AddExpressionListOpcodePos_hook.create(game::AddExpressionListOpcodePos_ADDR(), AddExpressionListOpcodePos_stub);
|
EmitArrayVariable_hook.create(game::EmitArrayVariable_ADDR(), EmitArrayVariable_stub, quick);
|
||||||
AddFilePrecache_hook.create(game::AddFilePrecache_ADDR(), AddFilePrecache_stub);
|
EmitArrayVariableRef_hook.create(game::EmitArrayVariableRef_ADDR(), EmitArrayVariableRef_stub, quick);
|
||||||
EmitFunction_hook.create(game::EmitFunction_ADDR(), EmitFunction_stub);
|
EmitClearArrayVariable_hook.create(game::EmitClearArrayVariable_ADDR(), EmitClearArrayVariable_stub, quick);
|
||||||
EmitGetFunction_hook.create(game::EmitGetFunction_ADDR(), EmitGetFunction_stub);
|
EmitVariableExpression_hook.create(game::EmitVariableExpression.get(), EmitVariableExpression_stub, quick);
|
||||||
AddFunction_hook.create(game::AddFunction.get(), AddFunction_stub);
|
EmitExpressionList_hook.create(game::EmitExpressionList.get(), EmitExpressionList_stub, quick);
|
||||||
EmitPostScriptFunction_hook.create(game::EmitPostScriptFunction.get(), EmitPostScriptFunction_stub);
|
AddExpressionListOpcodePos_hook.create(game::AddExpressionListOpcodePos_ADDR(), AddExpressionListOpcodePos_stub, quick);
|
||||||
EmitPostScriptFunctionPointer_hook.create(game::EmitPostScriptFunctionPointer_ADDR(), EmitPostScriptFunctionPointer_stub);
|
AddFilePrecache_hook.create(game::AddFilePrecache_ADDR(), AddFilePrecache_stub, quick);
|
||||||
EmitPostScriptThread_hook.create(game::EmitPostScriptThread_ADDR(), EmitPostScriptThread_stub);
|
EmitFunction_hook.create(game::EmitFunction_ADDR(), EmitFunction_stub, quick);
|
||||||
EmitPostScriptThreadPointer_hook.create(game::EmitPostScriptThreadPointer_ADDR(), EmitPostScriptThreadPointer_stub);
|
EmitGetFunction_hook.create(game::EmitGetFunction_ADDR(), EmitGetFunction_stub, quick);
|
||||||
EmitPostScriptFunctionCall_hook.create(game::EmitPostScriptFunctionCall_ADDR(), EmitPostScriptFunctionCall_stub);
|
AddFunction_hook.create(game::AddFunction.get(), AddFunction_stub, quick);
|
||||||
EmitPostScriptThreadCall_hook.create(game::EmitPostScriptThreadCall_ADDR(), EmitPostScriptThreadCall_stub);
|
EmitPostScriptFunction_hook.create(game::EmitPostScriptFunction.get(), EmitPostScriptFunction_stub, quick);
|
||||||
EmitPreFunctionCall_hook.create(game::EmitPreFunctionCall_ADDR(), EmitPreFunctionCall_stub);
|
EmitPostScriptFunctionPointer_hook.create(game::EmitPostScriptFunctionPointer_ADDR(), EmitPostScriptFunctionPointer_stub, quick);
|
||||||
EmitPostFunctionCall_hook.create(game::EmitPostFunctionCall_ADDR(), EmitPostFunctionCall_stub);
|
EmitPostScriptThread_hook.create(game::EmitPostScriptThread_ADDR(), EmitPostScriptThread_stub, quick);
|
||||||
Scr_BeginDevScript_hook.create(game::Scr_BeginDevScript_ADDR(), Scr_BeginDevScript_stub);
|
EmitPostScriptThreadPointer_hook.create(game::EmitPostScriptThreadPointer_ADDR(), EmitPostScriptThreadPointer_stub, quick);
|
||||||
Scr_EndDevScript_hook.create(game::Scr_EndDevScript_ADDR(), Scr_EndDevScript_stub);
|
EmitPostScriptFunctionCall_hook.create(game::EmitPostScriptFunctionCall_ADDR(), EmitPostScriptFunctionCall_stub, quick);
|
||||||
EmitCallBuiltinOpcode_hook.create(game::EmitCallBuiltinOpcode_ADDR(), EmitCallBuiltinOpcode_stub);
|
EmitPostScriptThreadCall_hook.create(game::EmitPostScriptThreadCall_ADDR(), EmitPostScriptThreadCall_stub, quick);
|
||||||
EmitCallBuiltinMethodOpcode_hook.create(game::EmitCallBuiltinMethodOpcode_ADDR(), EmitCallBuiltinMethodOpcode_stub);
|
EmitPreFunctionCall_hook.create(game::EmitPreFunctionCall_ADDR(), EmitPreFunctionCall_stub, quick);
|
||||||
EmitCall_hook.create(game::EmitCall_ADDR(), EmitCall_stub);
|
EmitPostFunctionCall_hook.create(game::EmitPostFunctionCall_ADDR(), EmitPostFunctionCall_stub, quick);
|
||||||
EmitMethod_hook.create(game::EmitMethod.get(), EmitMethod_stub);
|
Scr_BeginDevScript_hook.create(game::Scr_BeginDevScript_ADDR(), Scr_BeginDevScript_stub, quick);
|
||||||
LinkThread_hook.create(game::LinkThread_ADDR(), LinkThread_stub);
|
Scr_EndDevScript_hook.create(game::Scr_EndDevScript_ADDR(), Scr_EndDevScript_stub, quick);
|
||||||
LinkFile_hook.create(game::LinkFile_ADDR(), LinkFile_stub);
|
EmitCallBuiltinOpcode_hook.create(game::EmitCallBuiltinOpcode_ADDR(), EmitCallBuiltinOpcode_stub, quick);
|
||||||
CheckThreadPosition_hook.create(game::CheckThreadPosition.get(), CheckThreadPosition_stub);
|
EmitCallBuiltinMethodOpcode_hook.create(game::EmitCallBuiltinMethodOpcode_ADDR(), EmitCallBuiltinMethodOpcode_stub, quick);
|
||||||
EmitCallExpression_hook.create(game::EmitCallExpression_ADDR(), EmitCallExpression_stub);
|
EmitCall_hook.create(game::EmitCall_ADDR(), EmitCall_stub, quick);
|
||||||
EmitCallExpressionFieldObject_hook.create(game::EmitCallExpressionFieldObject_ADDR(), EmitCallExpressionFieldObject_stub);
|
EmitMethod_hook.create(game::EmitMethod.get(), EmitMethod_stub, quick);
|
||||||
Scr_CreateVector_hook.create(game::Scr_CreateVector_ADDR(), Scr_CreateVector_stub);
|
LinkThread_hook.create(game::LinkThread_ADDR(), LinkThread_stub, quick);
|
||||||
EvalPrimitiveExpressionList_hook.create(game::EvalPrimitiveExpressionList.get(), EvalPrimitiveExpressionList_stub);
|
LinkFile_hook.create(game::LinkFile_ADDR(), LinkFile_stub, quick);
|
||||||
EmitOrEvalPrimitiveExpressionList_hook.create(game::EmitOrEvalPrimitiveExpressionList_ADDR(), EmitOrEvalPrimitiveExpressionList_stub);
|
CheckThreadPosition_hook.create(game::CheckThreadPosition.get(), CheckThreadPosition_stub, quick);
|
||||||
EmitExpressionListFieldObject_hook.create(game::EmitExpressionListFieldObject_ADDR(), EmitExpressionListFieldObject_stub);
|
EmitCallExpression_hook.create(game::EmitCallExpression_ADDR(), EmitCallExpression_stub, quick);
|
||||||
EvalPrimitiveExpression_hook.create(game::EvalPrimitiveExpression.get(), EvalPrimitiveExpression_stub);
|
EmitCallExpressionFieldObject_hook.create(game::EmitCallExpressionFieldObject_ADDR(), EmitCallExpressionFieldObject_stub, quick);
|
||||||
EmitOrEvalPrimitiveExpression_hook.create(game::EmitOrEvalPrimitiveExpression.get(), EmitOrEvalPrimitiveExpression_stub);
|
Scr_CreateVector_hook.create(game::Scr_CreateVector_ADDR(), Scr_CreateVector_stub, quick);
|
||||||
EmitBoolOrExpression_hook.create(game::EmitBoolOrExpression_ADDR(), EmitBoolOrExpression_stub);
|
EvalPrimitiveExpressionList_hook.create(game::EvalPrimitiveExpressionList.get(), EvalPrimitiveExpressionList_stub, quick);
|
||||||
EmitBoolAndExpression_hook.create(game::EmitBoolAndExpression_ADDR(), EmitBoolAndExpression_stub);
|
EmitOrEvalPrimitiveExpressionList_hook.create(game::EmitOrEvalPrimitiveExpressionList_ADDR(), EmitOrEvalPrimitiveExpressionList_stub, quick);
|
||||||
EvalBinaryOperatorExpression_hook.create(game::EvalBinaryOperatorExpression.get(), EvalBinaryOperatorExpression_stub);
|
EmitExpressionListFieldObject_hook.create(game::EmitExpressionListFieldObject_ADDR(), EmitExpressionListFieldObject_stub, quick);
|
||||||
EmitOrEvalBinaryOperatorExpression_hook.create(game::EmitOrEvalBinaryOperatorExpression_ADDR(), EmitOrEvalBinaryOperatorExpression_stub);
|
EvalPrimitiveExpression_hook.create(game::EvalPrimitiveExpression.get(), EvalPrimitiveExpression_stub, quick);
|
||||||
EmitBinaryEqualsOperatorExpression_hook.create(game::EmitBinaryEqualsOperatorExpression_ADDR(), EmitBinaryEqualsOperatorExpression_stub);
|
EmitOrEvalPrimitiveExpression_hook.create(game::EmitOrEvalPrimitiveExpression.get(), EmitOrEvalPrimitiveExpression_stub, quick);
|
||||||
Scr_CalcLocalVarsVariableExpressionRef_hook.create(game::Scr_CalcLocalVarsVariableExpressionRef_ADDR(), Scr_CalcLocalVarsVariableExpressionRef_stub);
|
EmitBoolOrExpression_hook.create(game::EmitBoolOrExpression_ADDR(), EmitBoolOrExpression_stub, quick);
|
||||||
EvalExpression_hook.create(game::EvalExpression_ADDR(), EvalExpression_stub);
|
EmitBoolAndExpression_hook.create(game::EmitBoolAndExpression_ADDR(), EmitBoolAndExpression_stub, quick);
|
||||||
EmitOrEvalExpression_hook.create(game::EmitOrEvalExpression.get(), EmitOrEvalExpression_stub);
|
EvalBinaryOperatorExpression_hook.create(game::EvalBinaryOperatorExpression.get(), EvalBinaryOperatorExpression_stub, quick);
|
||||||
EmitExpression_hook.create(game::EmitExpression.get(), EmitExpression_stub);
|
EmitOrEvalBinaryOperatorExpression_hook.create(game::EmitOrEvalBinaryOperatorExpression_ADDR(), EmitOrEvalBinaryOperatorExpression_stub, quick);
|
||||||
EmitVariableExpressionRef_hook.create(game::EmitVariableExpressionRef.get(), EmitVariableExpressionRef_stub);
|
EmitBinaryEqualsOperatorExpression_hook.create(game::EmitBinaryEqualsOperatorExpression_ADDR(), EmitBinaryEqualsOperatorExpression_stub, quick);
|
||||||
EmitArrayPrimitiveExpressionRef_hook.create(game::EmitArrayPrimitiveExpressionRef_ADDR(), EmitArrayPrimitiveExpressionRef_stub);
|
Scr_CalcLocalVarsVariableExpressionRef_hook.create(game::Scr_CalcLocalVarsVariableExpressionRef_ADDR(), Scr_CalcLocalVarsVariableExpressionRef_stub, quick);
|
||||||
Scr_CalcLocalVarsArrayVariableRef_hook.create(game::Scr_CalcLocalVarsArrayVariableRef.get(), Scr_CalcLocalVarsArrayVariableRef_stub);
|
EvalExpression_hook.create(game::EvalExpression_ADDR(), EvalExpression_stub, quick);
|
||||||
EmitPrimitiveExpressionFieldObject_hook.create(game::EmitPrimitiveExpressionFieldObject.get(), EmitPrimitiveExpressionFieldObject_stub);
|
EmitOrEvalExpression_hook.create(game::EmitOrEvalExpression.get(), EmitOrEvalExpression_stub, quick);
|
||||||
ConnectBreakStatements_hook.create(game::ConnectBreakStatements_ADDR(), ConnectBreakStatements_stub);
|
EmitExpression_hook.create(game::EmitExpression.get(), EmitExpression_stub, quick);
|
||||||
ConnectContinueStatements_hook.create(game::ConnectContinueStatements_ADDR(), ConnectContinueStatements_stub);
|
EmitVariableExpressionRef_hook.create(game::EmitVariableExpressionRef.get(), EmitVariableExpressionRef_stub, quick);
|
||||||
EmitClearVariableExpression_hook.create(game::EmitClearVariableExpression_ADDR(), EmitClearVariableExpression_stub);
|
EmitArrayPrimitiveExpressionRef_hook.create(game::EmitArrayPrimitiveExpressionRef_ADDR(), EmitArrayPrimitiveExpressionRef_stub, quick);
|
||||||
EmitAssignmentStatement_hook.create(game::EmitAssignmentStatement_ADDR(), EmitAssignmentStatement_stub);
|
Scr_CalcLocalVarsArrayVariableRef_hook.create(game::Scr_CalcLocalVarsArrayVariableRef.get(), Scr_CalcLocalVarsArrayVariableRef_stub, quick);
|
||||||
EmitCallExpressionStatement_hook.create(game::EmitCallExpressionStatement_ADDR(), EmitCallExpressionStatement_stub);
|
EmitPrimitiveExpressionFieldObject_hook.create(game::EmitPrimitiveExpressionFieldObject.get(), EmitPrimitiveExpressionFieldObject_stub, quick);
|
||||||
EmitReturnStatement_hook.create(game::EmitReturnStatement_ADDR(), EmitReturnStatement_stub);
|
ConnectBreakStatements_hook.create(game::ConnectBreakStatements_ADDR(), ConnectBreakStatements_stub, quick);
|
||||||
EmitWaitStatement_hook.create(game::EmitWaitStatement_ADDR(), EmitWaitStatement_stub);
|
ConnectContinueStatements_hook.create(game::ConnectContinueStatements_ADDR(), ConnectContinueStatements_stub, quick);
|
||||||
EmitWaittillFrameEnd_hook.create(game::EmitWaittillFrameEnd_ADDR(), EmitWaittillFrameEnd_stub);
|
EmitClearVariableExpression_hook.create(game::EmitClearVariableExpression_ADDR(), EmitClearVariableExpression_stub, quick);
|
||||||
EmitIfStatement_hook.create(game::EmitIfStatement_ADDR(), EmitIfStatement_stub);
|
EmitAssignmentStatement_hook.create(game::EmitAssignmentStatement_ADDR(), EmitAssignmentStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsIfStatement_hook.create(game::Scr_CalcLocalVarsIfStatement.get(), Scr_CalcLocalVarsIfStatement_stub);
|
EmitCallExpressionStatement_hook.create(game::EmitCallExpressionStatement_ADDR(), EmitCallExpressionStatement_stub, quick);
|
||||||
EmitIfElseStatement_hook.create(game::EmitIfElseStatement.get(), EmitIfElseStatement_stub);
|
EmitReturnStatement_hook.create(game::EmitReturnStatement_ADDR(), EmitReturnStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsIfElseStatement_hook.create(game::Scr_CalcLocalVarsIfElseStatement.get(), Scr_CalcLocalVarsIfElseStatement_stub);
|
EmitWaitStatement_hook.create(game::EmitWaitStatement_ADDR(), EmitWaitStatement_stub, quick);
|
||||||
Scr_AddBreakBlock_hook.create(game::Scr_AddBreakBlock_ADDR(), Scr_AddBreakBlock_stub);
|
EmitWaittillFrameEnd_hook.create(game::EmitWaittillFrameEnd_ADDR(), EmitWaittillFrameEnd_stub, quick);
|
||||||
Scr_AddContinueBlock_hook.create(game::Scr_AddContinueBlock_ADDR(), Scr_AddContinueBlock_stub);
|
EmitIfStatement_hook.create(game::EmitIfStatement_ADDR(), EmitIfStatement_stub, quick);
|
||||||
EmitWhileStatement_hook.create(game::EmitWhileStatement.get(), EmitWhileStatement_stub);
|
Scr_CalcLocalVarsIfStatement_hook.create(game::Scr_CalcLocalVarsIfStatement.get(), Scr_CalcLocalVarsIfStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsWhileStatement_hook.create(game::Scr_CalcLocalVarsWhileStatement.get(), Scr_CalcLocalVarsWhileStatement_stub);
|
EmitIfElseStatement_hook.create(game::EmitIfElseStatement.get(), EmitIfElseStatement_stub, quick);
|
||||||
EmitForStatement_hook.create(game::EmitForStatement.get(), EmitForStatement_stub);
|
Scr_CalcLocalVarsIfElseStatement_hook.create(game::Scr_CalcLocalVarsIfElseStatement.get(), Scr_CalcLocalVarsIfElseStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsForStatement_hook.create(game::Scr_CalcLocalVarsForStatement.get(), Scr_CalcLocalVarsForStatement_stub);
|
Scr_AddBreakBlock_hook.create(game::Scr_AddBreakBlock_ADDR(), Scr_AddBreakBlock_stub, quick);
|
||||||
EmitIncStatement_hook.create(game::EmitIncStatement_ADDR(), EmitIncStatement_stub);
|
Scr_AddContinueBlock_hook.create(game::Scr_AddContinueBlock_ADDR(), Scr_AddContinueBlock_stub, quick);
|
||||||
EmitDecStatement_hook.create(game::EmitDecStatement_ADDR(), EmitDecStatement_stub);
|
EmitWhileStatement_hook.create(game::EmitWhileStatement.get(), EmitWhileStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsFormalParameterListInternal_hook.create(game::Scr_CalcLocalVarsFormalParameterListInternal_ADDR(), Scr_CalcLocalVarsFormalParameterListInternal_stub);
|
Scr_CalcLocalVarsWhileStatement_hook.create(game::Scr_CalcLocalVarsWhileStatement.get(), Scr_CalcLocalVarsWhileStatement_stub, quick);
|
||||||
EmitWaittillStatement_hook.create(game::EmitWaittillStatement_ADDR(), EmitWaittillStatement_stub);
|
EmitForStatement_hook.create(game::EmitForStatement.get(), EmitForStatement_stub, quick);
|
||||||
EmitWaittillmatchStatement_hook.create(game::EmitWaittillmatchStatement_ADDR(), EmitWaittillmatchStatement_stub);
|
Scr_CalcLocalVarsForStatement_hook.create(game::Scr_CalcLocalVarsForStatement.get(), Scr_CalcLocalVarsForStatement_stub, quick);
|
||||||
EmitNotifyStatement_hook.create(game::EmitNotifyStatement_ADDR(), EmitNotifyStatement_stub);
|
EmitIncStatement_hook.create(game::EmitIncStatement_ADDR(), EmitIncStatement_stub, quick);
|
||||||
EmitEndOnStatement_hook.create(game::EmitEndOnStatement_ADDR(), EmitEndOnStatement_stub);
|
EmitDecStatement_hook.create(game::EmitDecStatement_ADDR(), EmitDecStatement_stub, quick);
|
||||||
CompareCaseInfo_hook.create(game::CompareCaseInfo.get(), CompareCaseInfo_stub);
|
Scr_CalcLocalVarsFormalParameterListInternal_hook.create(game::Scr_CalcLocalVarsFormalParameterListInternal_ADDR(), Scr_CalcLocalVarsFormalParameterListInternal_stub, quick);
|
||||||
EmitCaseStatement_hook.create(game::EmitCaseStatement_ADDR(), EmitCaseStatement_stub);
|
EmitWaittillStatement_hook.create(game::EmitWaittillStatement_ADDR(), EmitWaittillStatement_stub, quick);
|
||||||
EmitSwitchStatementList_hook.create(game::EmitSwitchStatementList.get(), EmitSwitchStatementList_stub);
|
EmitWaittillmatchStatement_hook.create(game::EmitWaittillmatchStatement_ADDR(), EmitWaittillmatchStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsSwitchStatement_hook.create(game::Scr_CalcLocalVarsSwitchStatement.get(), Scr_CalcLocalVarsSwitchStatement_stub);
|
EmitNotifyStatement_hook.create(game::EmitNotifyStatement_ADDR(), EmitNotifyStatement_stub, quick);
|
||||||
EmitSwitchStatement_hook.create(game::EmitSwitchStatement.get(), EmitSwitchStatement_stub);
|
EmitEndOnStatement_hook.create(game::EmitEndOnStatement_ADDR(), EmitEndOnStatement_stub, quick);
|
||||||
EmitCaseStatementInfo_hook.create(game::EmitCaseStatementInfo_ADDR(), EmitCaseStatementInfo_stub);
|
CompareCaseInfo_hook.create(game::CompareCaseInfo.get(), CompareCaseInfo_stub, quick);
|
||||||
EmitBreakStatement_hook.create(game::EmitBreakStatement_ADDR(), EmitBreakStatement_stub);
|
EmitCaseStatement_hook.create(game::EmitCaseStatement_ADDR(), EmitCaseStatement_stub, quick);
|
||||||
EmitContinueStatement_hook.create(game::EmitContinueStatement_ADDR(), EmitContinueStatement_stub);
|
EmitSwitchStatementList_hook.create(game::EmitSwitchStatementList.get(), EmitSwitchStatementList_stub, quick);
|
||||||
EmitProfStatement_hook.create(game::EmitProfStatement_ADDR(), EmitProfStatement_stub);
|
Scr_CalcLocalVarsSwitchStatement_hook.create(game::Scr_CalcLocalVarsSwitchStatement.get(), Scr_CalcLocalVarsSwitchStatement_stub, quick);
|
||||||
EmitStatement_hook.create(game::EmitStatement.get(), EmitStatement_stub);
|
EmitSwitchStatement_hook.create(game::EmitSwitchStatement.get(), EmitSwitchStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsStatement_hook.create(game::Scr_CalcLocalVarsStatement.get(), Scr_CalcLocalVarsStatement_stub);
|
EmitCaseStatementInfo_hook.create(game::EmitCaseStatementInfo_ADDR(), EmitCaseStatementInfo_stub, quick);
|
||||||
EmitStatementList_hook.create(game::EmitStatementList.get(), EmitStatementList_stub);
|
EmitBreakStatement_hook.create(game::EmitBreakStatement_ADDR(), EmitBreakStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsStatementList_hook.create(game::Scr_CalcLocalVarsStatementList_ADDR(), Scr_CalcLocalVarsStatementList_stub);
|
EmitContinueStatement_hook.create(game::EmitContinueStatement_ADDR(), EmitContinueStatement_stub, quick);
|
||||||
Scr_CalcLocalVarsDeveloperStatementList_hook.create(game::Scr_CalcLocalVarsDeveloperStatementList.get(), Scr_CalcLocalVarsDeveloperStatementList_stub);
|
EmitProfStatement_hook.create(game::EmitProfStatement_ADDR(), EmitProfStatement_stub, quick);
|
||||||
EmitDeveloperStatementList_hook.create(game::EmitDeveloperStatementList.get(), EmitDeveloperStatementList_stub);
|
EmitStatement_hook.create(game::EmitStatement.get(), EmitStatement_stub, quick);
|
||||||
EmitFormalParameterList_hook.create(game::EmitFormalParameterList_ADDR(), EmitFormalParameterList_stub);
|
Scr_CalcLocalVarsStatement_hook.create(game::Scr_CalcLocalVarsStatement.get(), Scr_CalcLocalVarsStatement_stub, quick);
|
||||||
SpecifyThread_hook.create(game::SpecifyThread_ADDR(), SpecifyThread_stub);
|
EmitStatementList_hook.create(game::EmitStatementList.get(), EmitStatementList_stub, quick);
|
||||||
EmitThreadInternal_hook.create(game::EmitThreadInternal_ADDR(), EmitThreadInternal_stub);
|
Scr_CalcLocalVarsStatementList_hook.create(game::Scr_CalcLocalVarsStatementList_ADDR(), Scr_CalcLocalVarsStatementList_stub, quick);
|
||||||
Scr_CalcLocalVarsThread_hook.create(game::Scr_CalcLocalVarsThread_ADDR(), Scr_CalcLocalVarsThread_stub);
|
Scr_CalcLocalVarsDeveloperStatementList_hook.create(game::Scr_CalcLocalVarsDeveloperStatementList.get(), Scr_CalcLocalVarsDeveloperStatementList_stub, quick);
|
||||||
InitThread_hook.create(game::InitThread_ADDR(), InitThread_stub);
|
EmitDeveloperStatementList_hook.create(game::EmitDeveloperStatementList.get(), EmitDeveloperStatementList_stub, quick);
|
||||||
EmitNormalThread_hook.create(game::EmitNormalThread_ADDR(), EmitNormalThread_stub);
|
EmitFormalParameterList_hook.create(game::EmitFormalParameterList_ADDR(), EmitFormalParameterList_stub, quick);
|
||||||
EmitDeveloperThread_hook.create(game::EmitDeveloperThread_ADDR(), EmitDeveloperThread_stub);
|
SpecifyThread_hook.create(game::SpecifyThread_ADDR(), SpecifyThread_stub, quick);
|
||||||
EmitThread_hook.create(game::EmitThread_ADDR(), EmitThread_stub);
|
EmitThreadInternal_hook.create(game::EmitThreadInternal_ADDR(), EmitThreadInternal_stub, quick);
|
||||||
EmitThreadList_hook.create(game::EmitThreadList.get(), EmitThreadList_stub);
|
Scr_CalcLocalVarsThread_hook.create(game::Scr_CalcLocalVarsThread_ADDR(), Scr_CalcLocalVarsThread_stub, quick);
|
||||||
EmitInclude_hook.create(game::EmitInclude_ADDR(), EmitInclude_stub);
|
InitThread_hook.create(game::InitThread_ADDR(), InitThread_stub, quick);
|
||||||
ScriptCompile_hook.create(game::ScriptCompile_ADDR(), ScriptCompile_stub);
|
EmitNormalThread_hook.create(game::EmitNormalThread_ADDR(), EmitNormalThread_stub, quick);
|
||||||
|
EmitDeveloperThread_hook.create(game::EmitDeveloperThread_ADDR(), EmitDeveloperThread_stub, quick);
|
||||||
|
EmitThread_hook.create(game::EmitThread_ADDR(), EmitThread_stub, quick);
|
||||||
|
EmitThreadList_hook.create(game::EmitThreadList.get(), EmitThreadList_stub, quick);
|
||||||
|
EmitInclude_hook.create(game::EmitInclude_ADDR(), EmitInclude_stub, quick);
|
||||||
|
ScriptCompile_hook.create(game::ScriptCompile_ADDR(), ScriptCompile_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
RemoveRefToValue_original = RemoveRefToValue_hook.get_original();
|
RemoveRefToValue_original = RemoveRefToValue_hook.get_original();
|
||||||
|
@ -272,19 +272,24 @@ namespace re_cscr_main
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
Scr_IsIdentifier_hook.create(game::Scr_IsIdentifier_ADDR(), Scr_IsIdentifier_stub);
|
bool quick = true;
|
||||||
Scr_GetFunctionHandle_hook.create(game::Scr_GetFunctionHandle_ADDR(), Scr_GetFunctionHandle_stub);
|
#ifdef RE_CSCR_MAIN_USE_WRAPPERS
|
||||||
SL_TransferToCanonicalString_hook.create(game::SL_TransferToCanonicalString_ADDR(), SL_TransferToCanonicalString_stub);
|
quick = false;
|
||||||
SL_GetCanonicalString_hook.create(game::SL_GetCanonicalString_ADDR(), SL_GetCanonicalString_stub);
|
#endif
|
||||||
Scr_BeginLoadScripts_hook.create(game::Scr_BeginLoadScripts_ADDR(), Scr_BeginLoadScripts_stub);
|
|
||||||
Scr_BeginLoadAnimTrees_hook.create(game::Scr_BeginLoadAnimTrees_ADDR(), Scr_BeginLoadAnimTrees_stub);
|
Scr_IsIdentifier_hook.create(game::Scr_IsIdentifier_ADDR(), Scr_IsIdentifier_stub, quick);
|
||||||
Scr_ScanFile_hook.create(game::Scr_ScanFile_ADDR(), Scr_ScanFile_stub);
|
Scr_GetFunctionHandle_hook.create(game::Scr_GetFunctionHandle_ADDR(), Scr_GetFunctionHandle_stub, quick);
|
||||||
Scr_LoadScriptInternal_hook.create(game::Scr_LoadScriptInternal.get(), Scr_LoadScriptInternal_stub);
|
SL_TransferToCanonicalString_hook.create(game::SL_TransferToCanonicalString_ADDR(), SL_TransferToCanonicalString_stub, quick);
|
||||||
Scr_LoadScript_hook.create(game::Scr_LoadScript_ADDR(), Scr_LoadScript_stub);
|
SL_GetCanonicalString_hook.create(game::SL_GetCanonicalString_ADDR(), SL_GetCanonicalString_stub, quick);
|
||||||
Scr_EndLoadScripts_hook.create(game::Scr_EndLoadScripts.get(), Scr_EndLoadScripts_stub);
|
Scr_BeginLoadScripts_hook.create(game::Scr_BeginLoadScripts_ADDR(), Scr_BeginLoadScripts_stub, quick);
|
||||||
Scr_PrecacheAnimTrees_hook.create(game::Scr_PrecacheAnimTrees.get(), Scr_PrecacheAnimTrees_stub);
|
Scr_BeginLoadAnimTrees_hook.create(game::Scr_BeginLoadAnimTrees_ADDR(), Scr_BeginLoadAnimTrees_stub, quick);
|
||||||
Scr_EndLoadAnimTrees_hook.create(game::Scr_EndLoadAnimTrees.get(), Scr_EndLoadAnimTrees_stub);
|
Scr_ScanFile_hook.create(game::Scr_ScanFile_ADDR(), Scr_ScanFile_stub, quick);
|
||||||
Scr_FreeScripts_hook.create(game::Scr_FreeScripts_ADDR(), Scr_FreeScripts_stub);
|
Scr_LoadScriptInternal_hook.create(game::Scr_LoadScriptInternal.get(), Scr_LoadScriptInternal_stub, quick);
|
||||||
|
Scr_LoadScript_hook.create(game::Scr_LoadScript_ADDR(), Scr_LoadScript_stub, quick);
|
||||||
|
Scr_EndLoadScripts_hook.create(game::Scr_EndLoadScripts.get(), Scr_EndLoadScripts_stub, quick);
|
||||||
|
Scr_PrecacheAnimTrees_hook.create(game::Scr_PrecacheAnimTrees.get(), Scr_PrecacheAnimTrees_stub, quick);
|
||||||
|
Scr_EndLoadAnimTrees_hook.create(game::Scr_EndLoadAnimTrees.get(), Scr_EndLoadAnimTrees_stub, quick);
|
||||||
|
Scr_FreeScripts_hook.create(game::Scr_FreeScripts_ADDR(), Scr_FreeScripts_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
Scr_IsIdentifier_original = Scr_IsIdentifier_hook.get_original();
|
Scr_IsIdentifier_original = Scr_IsIdentifier_hook.get_original();
|
||||||
|
@ -269,20 +269,25 @@ namespace re_cscr_memorytree
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
MT_GetSubTreeSize_hook.create(game::MT_GetSubTreeSize.get(), MT_GetSubTreeSize_stub);
|
bool quick = true;
|
||||||
MT_DumpTree_hook.create(game::MT_DumpTree.get(), MT_DumpTree_stub);
|
#ifdef RE_CSCR_MEMORYTREE_USE_WRAPPERS
|
||||||
MT_InitBits_hook.create(game::MT_InitBits_ADDR(), MT_InitBits_stub);
|
quick = false;
|
||||||
MT_GetScore_hook.create(game::MT_GetScore_ADDR(), MT_GetScore_stub);
|
#endif
|
||||||
MT_AddMemoryNode_hook.create(game::MT_AddMemoryNode.get(), MT_AddMemoryNode_stub);
|
|
||||||
MT_RemoveMemoryNode_hook.create(game::MT_RemoveMemoryNode.get(), MT_RemoveMemoryNode_stub);
|
MT_GetSubTreeSize_hook.create(game::MT_GetSubTreeSize.get(), MT_GetSubTreeSize_stub, quick);
|
||||||
MT_RemoveHeadMemoryNode_hook.create(game::MT_RemoveHeadMemoryNode.get(), MT_RemoveHeadMemoryNode_stub);
|
MT_DumpTree_hook.create(game::MT_DumpTree.get(), MT_DumpTree_stub, quick);
|
||||||
MT_Init_hook.create(game::MT_Init_ADDR(), MT_Init_stub);
|
MT_InitBits_hook.create(game::MT_InitBits_ADDR(), MT_InitBits_stub, quick);
|
||||||
MT_Error_hook.create(game::MT_Error_ADDR(), MT_Error_stub);
|
MT_GetScore_hook.create(game::MT_GetScore_ADDR(), MT_GetScore_stub, quick);
|
||||||
MT_GetSize_hook.create(game::MT_GetSize_ADDR(), MT_GetSize_stub);
|
MT_AddMemoryNode_hook.create(game::MT_AddMemoryNode.get(), MT_AddMemoryNode_stub, quick);
|
||||||
MT_AllocIndex_hook.create(game::MT_AllocIndex_ADDR(), MT_AllocIndex_stub);
|
MT_RemoveMemoryNode_hook.create(game::MT_RemoveMemoryNode.get(), MT_RemoveMemoryNode_stub, quick);
|
||||||
MT_FreeIndex_hook.create(game::MT_FreeIndex_ADDR(), MT_FreeIndex_stub);
|
MT_RemoveHeadMemoryNode_hook.create(game::MT_RemoveHeadMemoryNode.get(), MT_RemoveHeadMemoryNode_stub, quick);
|
||||||
MT_Alloc_hook.create(game::MT_Alloc_ADDR(), MT_Alloc_stub);
|
MT_Init_hook.create(game::MT_Init_ADDR(), MT_Init_stub, quick);
|
||||||
MT_Free_hook.create(game::MT_Free.get(), MT_Free_stub);
|
MT_Error_hook.create(game::MT_Error_ADDR(), MT_Error_stub, quick);
|
||||||
|
MT_GetSize_hook.create(game::MT_GetSize_ADDR(), MT_GetSize_stub, quick);
|
||||||
|
MT_AllocIndex_hook.create(game::MT_AllocIndex_ADDR(), MT_AllocIndex_stub, quick);
|
||||||
|
MT_FreeIndex_hook.create(game::MT_FreeIndex_ADDR(), MT_FreeIndex_stub, quick);
|
||||||
|
MT_Alloc_hook.create(game::MT_Alloc_ADDR(), MT_Alloc_stub, quick);
|
||||||
|
MT_Free_hook.create(game::MT_Free.get(), MT_Free_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
MT_GetSubTreeSize_original = MT_GetSubTreeSize_hook.get_original();
|
MT_GetSubTreeSize_original = MT_GetSubTreeSize_hook.get_original();
|
||||||
|
@ -533,29 +533,34 @@ namespace re_cscr_parser
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
Scr_InitOpcodeLookup_hook.create(game::Scr_InitOpcodeLookup_ADDR(), Scr_InitOpcodeLookup_stub);
|
bool quick = true;
|
||||||
Scr_ShutdownOpcodeLookup_hook.create(game::Scr_ShutdownOpcodeLookup_ADDR(), Scr_ShutdownOpcodeLookup_stub);
|
#ifdef RE_CSCR_PARSER_USE_WRAPPERS
|
||||||
AddOpcodePos_hook.create(game::AddOpcodePos_ADDR(), AddOpcodePos_stub);
|
quick = false;
|
||||||
RemoveOpcodePos_hook.create(game::RemoveOpcodePos_ADDR(), RemoveOpcodePos_stub);
|
#endif
|
||||||
AddThreadStartOpcodePos_hook.create(game::AddThreadStartOpcodePos_ADDR(), AddThreadStartOpcodePos_stub);
|
|
||||||
Scr_GetSourceBuffer_hook.create(game::Scr_GetSourceBuffer_ADDR(), Scr_GetSourceBuffer_stub);
|
Scr_InitOpcodeLookup_hook.create(game::Scr_InitOpcodeLookup_ADDR(), Scr_InitOpcodeLookup_stub, quick);
|
||||||
Scr_GetLineNumInternal_hook.create(game::Scr_GetLineNumInternal_ADDR(), Scr_GetLineNumInternal_stub);
|
Scr_ShutdownOpcodeLookup_hook.create(game::Scr_ShutdownOpcodeLookup_ADDR(), Scr_ShutdownOpcodeLookup_stub, quick);
|
||||||
Scr_GetNewSourceBuffer_hook.create(game::Scr_GetNewSourceBuffer_ADDR(), Scr_GetNewSourceBuffer_stub);
|
AddOpcodePos_hook.create(game::AddOpcodePos_ADDR(), AddOpcodePos_stub, quick);
|
||||||
Scr_AddSourceBufferInternal_hook.create(game::Scr_AddSourceBufferInternal_ADDR(), Scr_AddSourceBufferInternal_stub);
|
RemoveOpcodePos_hook.create(game::RemoveOpcodePos_ADDR(), RemoveOpcodePos_stub, quick);
|
||||||
Scr_ReadFile_FastFile_hook.create(game::Scr_ReadFile_FastFile.get(), Scr_ReadFile_FastFile_stub);
|
AddThreadStartOpcodePos_hook.create(game::AddThreadStartOpcodePos_ADDR(), AddThreadStartOpcodePos_stub, quick);
|
||||||
Scr_ReadFile_LoadObj_hook.create(game::Scr_ReadFile_LoadObj.get(), Scr_ReadFile_LoadObj_stub);
|
Scr_GetSourceBuffer_hook.create(game::Scr_GetSourceBuffer_ADDR(), Scr_GetSourceBuffer_stub, quick);
|
||||||
Scr_ReadFile_hook.create(game::Scr_ReadFile_ADDR(), Scr_ReadFile_stub);
|
Scr_GetLineNumInternal_hook.create(game::Scr_GetLineNumInternal_ADDR(), Scr_GetLineNumInternal_stub, quick);
|
||||||
Scr_AddSourceBuffer_hook.create(game::Scr_AddSourceBuffer_ADDR(), Scr_AddSourceBuffer_stub);
|
Scr_GetNewSourceBuffer_hook.create(game::Scr_GetNewSourceBuffer_ADDR(), Scr_GetNewSourceBuffer_stub, quick);
|
||||||
Scr_CopyFormattedLine_hook.create(game::Scr_CopyFormattedLine_ADDR(), Scr_CopyFormattedLine_stub);
|
Scr_AddSourceBufferInternal_hook.create(game::Scr_AddSourceBufferInternal_ADDR(), Scr_AddSourceBufferInternal_stub, quick);
|
||||||
Scr_GetLineInfo_hook.create(game::Scr_GetLineInfo_ADDR(), Scr_GetLineInfo_stub);
|
Scr_ReadFile_FastFile_hook.create(game::Scr_ReadFile_FastFile.get(), Scr_ReadFile_FastFile_stub, quick);
|
||||||
Scr_PrintSourcePos_hook.create(game::Scr_PrintSourcePos_ADDR(), Scr_PrintSourcePos_stub);
|
Scr_ReadFile_LoadObj_hook.create(game::Scr_ReadFile_LoadObj.get(), Scr_ReadFile_LoadObj_stub, quick);
|
||||||
Scr_GetPrevSourcePosOpcodeLookup_hook.create(game::Scr_GetPrevSourcePosOpcodeLookup_ADDR(), Scr_GetPrevSourcePosOpcodeLookup_stub);
|
Scr_ReadFile_hook.create(game::Scr_ReadFile_ADDR(), Scr_ReadFile_stub, quick);
|
||||||
Scr_GetTextSourcePos_hook.create(game::Scr_GetTextSourcePos_ADDR(), Scr_GetTextSourcePos_stub);
|
Scr_AddSourceBuffer_hook.create(game::Scr_AddSourceBuffer_ADDR(), Scr_AddSourceBuffer_stub, quick);
|
||||||
Scr_PrintPrevCodePos_hook.create(game::Scr_PrintPrevCodePos_ADDR(), Scr_PrintPrevCodePos_stub);
|
Scr_CopyFormattedLine_hook.create(game::Scr_CopyFormattedLine_ADDR(), Scr_CopyFormattedLine_stub, quick);
|
||||||
CompileError_hook.create(game::CompileError.get(), CompileError_stub);
|
Scr_GetLineInfo_hook.create(game::Scr_GetLineInfo_ADDR(), Scr_GetLineInfo_stub, quick);
|
||||||
CompileError2_hook.create(game::CompileError2_ADDR(), CompileError2_stub);
|
Scr_PrintSourcePos_hook.create(game::Scr_PrintSourcePos_ADDR(), Scr_PrintSourcePos_stub, quick);
|
||||||
RuntimeErrorInternal_hook.create(game::RuntimeErrorInternal_ADDR(), RuntimeErrorInternal_stub);
|
Scr_GetPrevSourcePosOpcodeLookup_hook.create(game::Scr_GetPrevSourcePosOpcodeLookup_ADDR(), Scr_GetPrevSourcePosOpcodeLookup_stub, quick);
|
||||||
RuntimeError_hook.create(game::RuntimeError_ADDR(), RuntimeError_stub);
|
Scr_GetTextSourcePos_hook.create(game::Scr_GetTextSourcePos_ADDR(), Scr_GetTextSourcePos_stub, quick);
|
||||||
|
Scr_PrintPrevCodePos_hook.create(game::Scr_PrintPrevCodePos_ADDR(), Scr_PrintPrevCodePos_stub, quick);
|
||||||
|
CompileError_hook.create(game::CompileError.get(), CompileError_stub, quick);
|
||||||
|
CompileError2_hook.create(game::CompileError2_ADDR(), CompileError2_stub, quick);
|
||||||
|
RuntimeErrorInternal_hook.create(game::RuntimeErrorInternal_ADDR(), RuntimeErrorInternal_stub, quick);
|
||||||
|
RuntimeError_hook.create(game::RuntimeError_ADDR(), RuntimeError_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
Scr_InitOpcodeLookup_original = Scr_InitOpcodeLookup_hook.get_original();
|
Scr_InitOpcodeLookup_original = Scr_InitOpcodeLookup_hook.get_original();
|
||||||
|
@ -160,19 +160,24 @@ namespace re_cscr_parsetree
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
Scr_InitAllocNode_hook.create(game::Scr_InitAllocNode.get(), Scr_InitAllocNode_stub);
|
bool quick = true;
|
||||||
node0_hook.create(game::node0.get(), node0_stub);
|
#ifdef RE_CSCR_PARSETREE_USE_WRAPPERS
|
||||||
node1_hook.create(game::node1.get(), node1_stub);
|
quick = false;
|
||||||
node2_hook.create(game::node2.get(), node2_stub);
|
#endif
|
||||||
node3_hook.create(game::node3.get(), node3_stub);
|
|
||||||
node4_hook.create(game::node4.get(), node4_stub);
|
Scr_InitAllocNode_hook.create(game::Scr_InitAllocNode.get(), Scr_InitAllocNode_stub, quick);
|
||||||
node5_hook.create(game::node5.get(), node5_stub);
|
node0_hook.create(game::node0.get(), node0_stub, quick);
|
||||||
node6_hook.create(game::node6.get(), node6_stub);
|
node1_hook.create(game::node1.get(), node1_stub, quick);
|
||||||
node7_hook.create(game::node7.get(), node7_stub);
|
node2_hook.create(game::node2.get(), node2_stub, quick);
|
||||||
node8_hook.create(game::node8.get(), node8_stub);
|
node3_hook.create(game::node3.get(), node3_stub, quick);
|
||||||
linked_list_end_hook.create(game::linked_list_end.get(), linked_list_end_stub);
|
node4_hook.create(game::node4.get(), node4_stub, quick);
|
||||||
prepend_node_hook.create(game::prepend_node.get(), prepend_node_stub);
|
node5_hook.create(game::node5.get(), node5_stub, quick);
|
||||||
append_node_hook.create(game::append_node.get(), append_node_stub);
|
node6_hook.create(game::node6.get(), node6_stub, quick);
|
||||||
|
node7_hook.create(game::node7.get(), node7_stub, quick);
|
||||||
|
node8_hook.create(game::node8.get(), node8_stub, quick);
|
||||||
|
linked_list_end_hook.create(game::linked_list_end.get(), linked_list_end_stub, quick);
|
||||||
|
prepend_node_hook.create(game::prepend_node.get(), prepend_node_stub, quick);
|
||||||
|
append_node_hook.create(game::append_node.get(), append_node_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
Scr_InitAllocNode_original = Scr_InitAllocNode_hook.get_original();
|
Scr_InitAllocNode_original = Scr_InitAllocNode_hook.get_original();
|
||||||
|
@ -64,8 +64,13 @@ namespace re_cscr_readwrite
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
FindVariableIndexInternal2_hook.create(game::FindVariableIndexInternal2_ADDR(), FindVariableIndexInternal2_stub);
|
bool quick = true;
|
||||||
FindLastSibling_hook.create(game::FindLastSibling_ADDR(), FindLastSibling_stub);
|
#ifdef RE_CSCR_READWRITE_USE_WRAPPERS
|
||||||
|
quick = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
FindVariableIndexInternal2_hook.create(game::FindVariableIndexInternal2_ADDR(), FindVariableIndexInternal2_stub, quick);
|
||||||
|
FindLastSibling_hook.create(game::FindLastSibling_ADDR(), FindLastSibling_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
FindVariableIndexInternal2_original = FindVariableIndexInternal2_hook.get_original();
|
FindVariableIndexInternal2_original = FindVariableIndexInternal2_hook.get_original();
|
||||||
|
@ -585,34 +585,39 @@ namespace re_cscr_stringlist
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
SL_ConvertToString_hook.create(game::SL_ConvertToString_ADDR(), SL_ConvertToString_stub);
|
bool quick = true;
|
||||||
SL_GetStringLen_hook.create(game::SL_GetStringLen_ADDR(), SL_GetStringLen_stub);
|
#ifdef RE_CSCR_STRINGLIST_USE_WRAPPERS
|
||||||
GetHashCode_hook.create(game::GetHashCode_ADDR(), GetHashCode_stub);
|
quick = false;
|
||||||
SL_Init_hook.create(game::SL_Init_ADDR(), SL_Init_stub);
|
#endif
|
||||||
SL_FindStringOfSize_hook.create(game::SL_FindStringOfSize_ADDR(), SL_FindStringOfSize_stub);
|
|
||||||
SL_FindString_hook.create(game::SL_FindString_ADDR(), SL_FindString_stub);
|
SL_ConvertToString_hook.create(game::SL_ConvertToString_ADDR(), SL_ConvertToString_stub, quick);
|
||||||
SL_FindLowercaseString_hook.create(game::SL_FindLowercaseString.get(), SL_FindLowercaseString_stub);
|
SL_GetStringLen_hook.create(game::SL_GetStringLen_ADDR(), SL_GetStringLen_stub, quick);
|
||||||
SL_AddUserInternal_hook.create(game::SL_AddUserInternal_ADDR(), SL_AddUserInternal_stub);
|
GetHashCode_hook.create(game::GetHashCode_ADDR(), GetHashCode_stub, quick);
|
||||||
Mark_ScriptStringCustom_hook.create(game::Mark_ScriptStringCustom_ADDR(), Mark_ScriptStringCustom_stub);
|
SL_Init_hook.create(game::SL_Init_ADDR(), SL_Init_stub, quick);
|
||||||
SL_GetStringOfSize_hook.create(game::SL_GetStringOfSize.get(), SL_GetStringOfSize_stub);
|
SL_FindStringOfSize_hook.create(game::SL_FindStringOfSize_ADDR(), SL_FindStringOfSize_stub, quick);
|
||||||
SL_GetString__hook.create(game::SL_GetString__ADDR(), SL_GetString__stub);
|
SL_FindString_hook.create(game::SL_FindString_ADDR(), SL_FindString_stub, quick);
|
||||||
SL_GetString__0_hook.create(game::SL_GetString__0_ADDR(), SL_GetString__0_stub);
|
SL_FindLowercaseString_hook.create(game::SL_FindLowercaseString.get(), SL_FindLowercaseString_stub, quick);
|
||||||
SL_GetLowercaseStringOfLen_hook.create(game::SL_GetLowercaseStringOfLen.get(), SL_GetLowercaseStringOfLen_stub);
|
SL_AddUserInternal_hook.create(game::SL_AddUserInternal_ADDR(), SL_AddUserInternal_stub, quick);
|
||||||
SL_GetLowercaseString_hook.create(game::SL_GetLowercaseString_ADDR(), SL_GetLowercaseString_stub);
|
Mark_ScriptStringCustom_hook.create(game::Mark_ScriptStringCustom_ADDR(), Mark_ScriptStringCustom_stub, quick);
|
||||||
SL_ConvertToLowercase_hook.create(game::SL_ConvertToLowercase.get(), SL_ConvertToLowercase_stub);
|
SL_GetStringOfSize_hook.create(game::SL_GetStringOfSize.get(), SL_GetStringOfSize_stub, quick);
|
||||||
SL_TransferRefToUser_hook.create(game::SL_TransferRefToUser_ADDR(), SL_TransferRefToUser_stub);
|
SL_GetString__hook.create(game::SL_GetString__ADDR(), SL_GetString__stub, quick);
|
||||||
SL_FreeString_hook.create(game::SL_FreeString.get(), SL_FreeString_stub);
|
SL_GetString__0_hook.create(game::SL_GetString__0_ADDR(), SL_GetString__0_stub, quick);
|
||||||
SL_RemoveRefToString_hook.create(game::SL_RemoveRefToString_ADDR(), SL_RemoveRefToString_stub);
|
SL_GetLowercaseStringOfLen_hook.create(game::SL_GetLowercaseStringOfLen.get(), SL_GetLowercaseStringOfLen_stub, quick);
|
||||||
Scr_SetString_hook.create(game::Scr_SetString_ADDR(), Scr_SetString_stub);
|
SL_GetLowercaseString_hook.create(game::SL_GetLowercaseString_ADDR(), SL_GetLowercaseString_stub, quick);
|
||||||
Scr_SetStringFromCharString_hook.create(game::Scr_SetStringFromCharString_ADDR(), Scr_SetStringFromCharString_stub);
|
SL_ConvertToLowercase_hook.create(game::SL_ConvertToLowercase.get(), SL_ConvertToLowercase_stub, quick);
|
||||||
GScr_AllocString_hook.create(game::GScr_AllocString_ADDR(), GScr_AllocString_stub);
|
SL_TransferRefToUser_hook.create(game::SL_TransferRefToUser_ADDR(), SL_TransferRefToUser_stub, quick);
|
||||||
SL_GetStringForFloat_hook.create(game::SL_GetStringForFloat_ADDR(), SL_GetStringForFloat_stub);
|
SL_FreeString_hook.create(game::SL_FreeString.get(), SL_FreeString_stub, quick);
|
||||||
SL_GetStringForInt_hook.create(game::SL_GetStringForInt_ADDR(), SL_GetStringForInt_stub);
|
SL_RemoveRefToString_hook.create(game::SL_RemoveRefToString_ADDR(), SL_RemoveRefToString_stub, quick);
|
||||||
SL_GetStringForVector_hook.create(game::SL_GetStringForVector_ADDR(), SL_GetStringForVector_stub);
|
Scr_SetString_hook.create(game::Scr_SetString_ADDR(), Scr_SetString_stub, quick);
|
||||||
SL_ShutdownSystem_hook.create(game::SL_ShutdownSystem_ADDR(), SL_ShutdownSystem_stub);
|
Scr_SetStringFromCharString_hook.create(game::Scr_SetStringFromCharString_ADDR(), Scr_SetStringFromCharString_stub, quick);
|
||||||
SL_TransferSystem_hook.create(game::SL_TransferSystem.get(), SL_TransferSystem_stub);
|
GScr_AllocString_hook.create(game::GScr_AllocString_ADDR(), GScr_AllocString_stub, quick);
|
||||||
SL_CreateCanonicalFilename_hook.create(game::SL_CreateCanonicalFilename_ADDR(), SL_CreateCanonicalFilename_stub);
|
SL_GetStringForFloat_hook.create(game::SL_GetStringForFloat_ADDR(), SL_GetStringForFloat_stub, quick);
|
||||||
Scr_CreateCanonicalFilename_hook.create(game::Scr_CreateCanonicalFilename.get(), Scr_CreateCanonicalFilename_stub);
|
SL_GetStringForInt_hook.create(game::SL_GetStringForInt_ADDR(), SL_GetStringForInt_stub, quick);
|
||||||
|
SL_GetStringForVector_hook.create(game::SL_GetStringForVector_ADDR(), SL_GetStringForVector_stub, quick);
|
||||||
|
SL_ShutdownSystem_hook.create(game::SL_ShutdownSystem_ADDR(), SL_ShutdownSystem_stub, quick);
|
||||||
|
SL_TransferSystem_hook.create(game::SL_TransferSystem.get(), SL_TransferSystem_stub, quick);
|
||||||
|
SL_CreateCanonicalFilename_hook.create(game::SL_CreateCanonicalFilename_ADDR(), SL_CreateCanonicalFilename_stub, quick);
|
||||||
|
Scr_CreateCanonicalFilename_hook.create(game::Scr_CreateCanonicalFilename.get(), Scr_CreateCanonicalFilename_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
SL_ConvertToString_original = SL_ConvertToString_hook.get_original();
|
SL_ConvertToString_original = SL_ConvertToString_hook.get_original();
|
||||||
|
@ -2288,111 +2288,116 @@ namespace re_cscr_variable
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
ThreadInfoCompare_hook.create(game::ThreadInfoCompare.get(), ThreadInfoCompare_stub);
|
bool quick = true;
|
||||||
Scr_DumpScriptThreads_hook.create(game::Scr_DumpScriptThreads.get(), Scr_DumpScriptThreads_stub);
|
#ifdef RE_CSCR_VARIABLE_USE_WRAPPERS
|
||||||
Scr_InitVariableRange_hook.create(game::Scr_InitVariableRange_ADDR(), Scr_InitVariableRange_stub);
|
quick = false;
|
||||||
Scr_InitClassMap_hook.create(game::Scr_InitClassMap_ADDR(), Scr_InitClassMap_stub);
|
#endif
|
||||||
GetNewVariableIndexInternal3_hook.create(game::GetNewVariableIndexInternal3.get(), GetNewVariableIndexInternal3_stub);
|
|
||||||
GetNewVariableIndexInternal2_hook.create(game::GetNewVariableIndexInternal2_ADDR(), GetNewVariableIndexInternal2_stub);
|
ThreadInfoCompare_hook.create(game::ThreadInfoCompare.get(), ThreadInfoCompare_stub, quick);
|
||||||
GetNewVariableIndexReverseInternal2_hook.create(game::GetNewVariableIndexReverseInternal2_ADDR(), GetNewVariableIndexReverseInternal2_stub);
|
Scr_DumpScriptThreads_hook.create(game::Scr_DumpScriptThreads.get(), Scr_DumpScriptThreads_stub, quick);
|
||||||
MakeVariableExternal_hook.create(game::MakeVariableExternal_ADDR(), MakeVariableExternal_stub);
|
Scr_InitVariableRange_hook.create(game::Scr_InitVariableRange_ADDR(), Scr_InitVariableRange_stub, quick);
|
||||||
FreeChildValue_hook.create(game::FreeChildValue_ADDR(), FreeChildValue_stub);
|
Scr_InitClassMap_hook.create(game::Scr_InitClassMap_ADDR(), Scr_InitClassMap_stub, quick);
|
||||||
ClearObjectInternal_hook.create(game::ClearObjectInternal.get(), ClearObjectInternal_stub);
|
GetNewVariableIndexInternal3_hook.create(game::GetNewVariableIndexInternal3.get(), GetNewVariableIndexInternal3_stub, quick);
|
||||||
ClearObject_hook.create(game::ClearObject_ADDR(), ClearObject_stub);
|
GetNewVariableIndexInternal2_hook.create(game::GetNewVariableIndexInternal2_ADDR(), GetNewVariableIndexInternal2_stub, quick);
|
||||||
Scr_StopThread_hook.create(game::Scr_StopThread_ADDR(), Scr_StopThread_stub);
|
GetNewVariableIndexReverseInternal2_hook.create(game::GetNewVariableIndexReverseInternal2_ADDR(), GetNewVariableIndexReverseInternal2_stub, quick);
|
||||||
GetSafeParentLocalId_hook.create(game::GetSafeParentLocalId_ADDR(), GetSafeParentLocalId_stub);
|
MakeVariableExternal_hook.create(game::MakeVariableExternal_ADDR(), MakeVariableExternal_stub, quick);
|
||||||
GetStartLocalId_hook.create(game::GetStartLocalId_ADDR(), GetStartLocalId_stub);
|
FreeChildValue_hook.create(game::FreeChildValue_ADDR(), FreeChildValue_stub, quick);
|
||||||
Scr_KillThread_hook.create(game::Scr_KillThread_ADDR(), Scr_KillThread_stub);
|
ClearObjectInternal_hook.create(game::ClearObjectInternal.get(), ClearObjectInternal_stub, quick);
|
||||||
AllocVariable_hook.create(game::AllocVariable_ADDR(), AllocVariable_stub);
|
ClearObject_hook.create(game::ClearObject_ADDR(), ClearObject_stub, quick);
|
||||||
FreeVariable_hook.create(game::FreeVariable_ADDR(), FreeVariable_stub);
|
Scr_StopThread_hook.create(game::Scr_StopThread_ADDR(), Scr_StopThread_stub, quick);
|
||||||
AllocValue_hook.create(game::AllocValue_ADDR(), AllocValue_stub);
|
GetSafeParentLocalId_hook.create(game::GetSafeParentLocalId_ADDR(), GetSafeParentLocalId_stub, quick);
|
||||||
AllocEntity_hook.create(game::AllocEntity_ADDR(), AllocEntity_stub);
|
GetStartLocalId_hook.create(game::GetStartLocalId_ADDR(), GetStartLocalId_stub, quick);
|
||||||
Scr_AllocArray_hook.create(game::Scr_AllocArray_ADDR(), Scr_AllocArray_stub);
|
Scr_KillThread_hook.create(game::Scr_KillThread_ADDR(), Scr_KillThread_stub, quick);
|
||||||
AllocChildThread_hook.create(game::AllocChildThread_ADDR(), AllocChildThread_stub);
|
AllocVariable_hook.create(game::AllocVariable_ADDR(), AllocVariable_stub, quick);
|
||||||
FreeValue_hook.create(game::FreeValue_ADDR(), FreeValue_stub);
|
FreeVariable_hook.create(game::FreeVariable_ADDR(), FreeVariable_stub, quick);
|
||||||
RemoveRefToObject_hook.create(game::RemoveRefToObject_ADDR(), RemoveRefToObject_stub);
|
AllocValue_hook.create(game::AllocValue_ADDR(), AllocValue_stub, quick);
|
||||||
Scr_AllocVector_hook.create(game::Scr_AllocVector_ADDR(), Scr_AllocVector_stub);
|
AllocEntity_hook.create(game::AllocEntity_ADDR(), AllocEntity_stub, quick);
|
||||||
RemoveRefToVector_hook.create(game::RemoveRefToVector_ADDR(), RemoveRefToVector_stub);
|
Scr_AllocArray_hook.create(game::Scr_AllocArray_ADDR(), Scr_AllocArray_stub, quick);
|
||||||
AddRefToValue_hook.create(game::AddRefToValue_ADDR(), AddRefToValue_stub);
|
AllocChildThread_hook.create(game::AllocChildThread_ADDR(), AllocChildThread_stub, quick);
|
||||||
RemoveRefToValueInternal_hook.create(game::RemoveRefToValueInternal.get(), RemoveRefToValueInternal_stub);
|
FreeValue_hook.create(game::FreeValue_ADDR(), FreeValue_stub, quick);
|
||||||
FindArrayVariable_hook.create(game::FindArrayVariable_ADDR(), FindArrayVariable_stub);
|
RemoveRefToObject_hook.create(game::RemoveRefToObject_ADDR(), RemoveRefToObject_stub, quick);
|
||||||
FindVariable_hook.create(game::FindVariable_ADDR(), FindVariable_stub);
|
Scr_AllocVector_hook.create(game::Scr_AllocVector_ADDR(), Scr_AllocVector_stub, quick);
|
||||||
GetArrayVariableIndex_hook.create(game::GetArrayVariableIndex_ADDR(), GetArrayVariableIndex_stub);
|
RemoveRefToVector_hook.create(game::RemoveRefToVector_ADDR(), RemoveRefToVector_stub, quick);
|
||||||
Scr_GetVariableFieldIndex_hook.create(game::Scr_GetVariableFieldIndex_ADDR(), Scr_GetVariableFieldIndex_stub);
|
AddRefToValue_hook.create(game::AddRefToValue_ADDR(), AddRefToValue_stub, quick);
|
||||||
Scr_FindVariableField_hook.create(game::Scr_FindVariableField_ADDR(), Scr_FindVariableField_stub);
|
RemoveRefToValueInternal_hook.create(game::RemoveRefToValueInternal.get(), RemoveRefToValueInternal_stub, quick);
|
||||||
ClearVariableField_hook.create(game::ClearVariableField_ADDR(), ClearVariableField_stub);
|
FindArrayVariable_hook.create(game::FindArrayVariable_ADDR(), FindArrayVariable_stub, quick);
|
||||||
GetVariable_hook.create(game::GetVariable_ADDR(), GetVariable_stub);
|
FindVariable_hook.create(game::FindVariable_ADDR(), FindVariable_stub, quick);
|
||||||
GetNewVariable_hook.create(game::GetNewVariable_ADDR(), GetNewVariable_stub);
|
GetArrayVariableIndex_hook.create(game::GetArrayVariableIndex_ADDR(), GetArrayVariableIndex_stub, quick);
|
||||||
GetObjectVariable_hook.create(game::GetObjectVariable_ADDR(), GetObjectVariable_stub);
|
Scr_GetVariableFieldIndex_hook.create(game::Scr_GetVariableFieldIndex_ADDR(), Scr_GetVariableFieldIndex_stub, quick);
|
||||||
GetNewObjectVariable_hook.create(game::GetNewObjectVariable_ADDR(), GetNewObjectVariable_stub);
|
Scr_FindVariableField_hook.create(game::Scr_FindVariableField_ADDR(), Scr_FindVariableField_stub, quick);
|
||||||
RemoveVariable_hook.create(game::RemoveVariable_ADDR(), RemoveVariable_stub);
|
ClearVariableField_hook.create(game::ClearVariableField_ADDR(), ClearVariableField_stub, quick);
|
||||||
RemoveNextVariable_hook.create(game::RemoveNextVariable_ADDR(), RemoveNextVariable_stub);
|
GetVariable_hook.create(game::GetVariable_ADDR(), GetVariable_stub, quick);
|
||||||
SafeRemoveVariable_hook.create(game::SafeRemoveVariable_ADDR(), SafeRemoveVariable_stub);
|
GetNewVariable_hook.create(game::GetNewVariable_ADDR(), GetNewVariable_stub, quick);
|
||||||
CopyArray_hook.create(game::CopyArray.get(), CopyArray_stub);
|
GetObjectVariable_hook.create(game::GetObjectVariable_ADDR(), GetObjectVariable_stub, quick);
|
||||||
SetVariableValue_hook.create(game::SetVariableValue_ADDR(), SetVariableValue_stub);
|
GetNewObjectVariable_hook.create(game::GetNewObjectVariable_ADDR(), GetNewObjectVariable_stub, quick);
|
||||||
SetVariableEntityFieldValue_hook.create(game::SetVariableEntityFieldValue.get(), SetVariableEntityFieldValue_stub);
|
RemoveVariable_hook.create(game::RemoveVariable_ADDR(), RemoveVariable_stub, quick);
|
||||||
Scr_EvalVariable_hook.create(game::Scr_EvalVariable_ADDR(), Scr_EvalVariable_stub);
|
RemoveNextVariable_hook.create(game::RemoveNextVariable_ADDR(), RemoveNextVariable_stub, quick);
|
||||||
Scr_EvalVariableObject_hook.create(game::Scr_EvalVariableObject_ADDR(), Scr_EvalVariableObject_stub);
|
SafeRemoveVariable_hook.create(game::SafeRemoveVariable_ADDR(), SafeRemoveVariable_stub, quick);
|
||||||
Scr_EvalVariableEntityField_hook.create(game::Scr_EvalVariableEntityField_ADDR(), Scr_EvalVariableEntityField_stub);
|
CopyArray_hook.create(game::CopyArray.get(), CopyArray_stub, quick);
|
||||||
Scr_EvalVariableField_hook.create(game::Scr_EvalVariableField_ADDR(), Scr_EvalVariableField_stub);
|
SetVariableValue_hook.create(game::SetVariableValue_ADDR(), SetVariableValue_stub, quick);
|
||||||
Scr_EvalSizeValue_hook.create(game::Scr_EvalSizeValue_ADDR(), Scr_EvalSizeValue_stub);
|
SetVariableEntityFieldValue_hook.create(game::SetVariableEntityFieldValue.get(), SetVariableEntityFieldValue_stub, quick);
|
||||||
GetObject_hook.create(game::GetObject_ADDR(), GetObject_stub);
|
Scr_EvalVariable_hook.create(game::Scr_EvalVariable_ADDR(), Scr_EvalVariable_stub, quick);
|
||||||
GetArray_hook.create(game::GetArray_ADDR(), GetArray_stub);
|
Scr_EvalVariableObject_hook.create(game::Scr_EvalVariableObject_ADDR(), Scr_EvalVariableObject_stub, quick);
|
||||||
Scr_EvalBoolComplement_hook.create(game::Scr_EvalBoolComplement_ADDR(), Scr_EvalBoolComplement_stub);
|
Scr_EvalVariableEntityField_hook.create(game::Scr_EvalVariableEntityField_ADDR(), Scr_EvalVariableEntityField_stub, quick);
|
||||||
Scr_CastBool_hook.create(game::Scr_CastBool_ADDR(), Scr_CastBool_stub);
|
Scr_EvalVariableField_hook.create(game::Scr_EvalVariableField_ADDR(), Scr_EvalVariableField_stub, quick);
|
||||||
Scr_CastString_hook.create(game::Scr_CastString_ADDR(), Scr_CastString_stub);
|
Scr_EvalSizeValue_hook.create(game::Scr_EvalSizeValue_ADDR(), Scr_EvalSizeValue_stub, quick);
|
||||||
Scr_CastDebugString_hook.create(game::Scr_CastDebugString_ADDR(), Scr_CastDebugString_stub);
|
GetObject_hook.create(game::GetObject_ADDR(), GetObject_stub, quick);
|
||||||
Scr_ClearVector_hook.create(game::Scr_ClearVector.get(), Scr_ClearVector_stub);
|
GetArray_hook.create(game::GetArray_ADDR(), GetArray_stub, quick);
|
||||||
Scr_CastVector_hook.create(game::Scr_CastVector_ADDR(), Scr_CastVector_stub);
|
Scr_EvalBoolComplement_hook.create(game::Scr_EvalBoolComplement_ADDR(), Scr_EvalBoolComplement_stub, quick);
|
||||||
Scr_EvalFieldObject_hook.create(game::Scr_EvalFieldObject_ADDR(), Scr_EvalFieldObject_stub);
|
Scr_CastBool_hook.create(game::Scr_CastBool_ADDR(), Scr_CastBool_stub, quick);
|
||||||
Scr_UnmatchingTypesError_hook.create(game::Scr_UnmatchingTypesError_ADDR(), Scr_UnmatchingTypesError_stub);
|
Scr_CastString_hook.create(game::Scr_CastString_ADDR(), Scr_CastString_stub, quick);
|
||||||
Scr_CastWeakerPair_hook.create(game::Scr_CastWeakerPair_ADDR(), Scr_CastWeakerPair_stub);
|
Scr_CastDebugString_hook.create(game::Scr_CastDebugString_ADDR(), Scr_CastDebugString_stub, quick);
|
||||||
Scr_CastWeakerStringPair_hook.create(game::Scr_CastWeakerStringPair_ADDR(), Scr_CastWeakerStringPair_stub);
|
Scr_ClearVector_hook.create(game::Scr_ClearVector.get(), Scr_ClearVector_stub, quick);
|
||||||
Scr_EvalOr_hook.create(game::Scr_EvalOr_ADDR(), Scr_EvalOr_stub);
|
Scr_CastVector_hook.create(game::Scr_CastVector_ADDR(), Scr_CastVector_stub, quick);
|
||||||
Scr_EvalExOr_hook.create(game::Scr_EvalExOr_ADDR(), Scr_EvalExOr_stub);
|
Scr_EvalFieldObject_hook.create(game::Scr_EvalFieldObject_ADDR(), Scr_EvalFieldObject_stub, quick);
|
||||||
Scr_EvalAnd_hook.create(game::Scr_EvalAnd_ADDR(), Scr_EvalAnd_stub);
|
Scr_UnmatchingTypesError_hook.create(game::Scr_UnmatchingTypesError_ADDR(), Scr_UnmatchingTypesError_stub, quick);
|
||||||
Scr_EvalEquality_hook.create(game::Scr_EvalEquality_ADDR(), Scr_EvalEquality_stub);
|
Scr_CastWeakerPair_hook.create(game::Scr_CastWeakerPair_ADDR(), Scr_CastWeakerPair_stub, quick);
|
||||||
Scr_EvalLess_hook.create(game::Scr_EvalLess_ADDR(), Scr_EvalLess_stub);
|
Scr_CastWeakerStringPair_hook.create(game::Scr_CastWeakerStringPair_ADDR(), Scr_CastWeakerStringPair_stub, quick);
|
||||||
Scr_EvalGreaterEqual_hook.create(game::Scr_EvalGreaterEqual_ADDR(), Scr_EvalGreaterEqual_stub);
|
Scr_EvalOr_hook.create(game::Scr_EvalOr_ADDR(), Scr_EvalOr_stub, quick);
|
||||||
Scr_EvalGreater_hook.create(game::Scr_EvalGreater_ADDR(), Scr_EvalGreater_stub);
|
Scr_EvalExOr_hook.create(game::Scr_EvalExOr_ADDR(), Scr_EvalExOr_stub, quick);
|
||||||
Scr_EvalLessEqual_hook.create(game::Scr_EvalLessEqual_ADDR(), Scr_EvalLessEqual_stub);
|
Scr_EvalAnd_hook.create(game::Scr_EvalAnd_ADDR(), Scr_EvalAnd_stub, quick);
|
||||||
Scr_EvalShiftLeft_hook.create(game::Scr_EvalShiftLeft_ADDR(), Scr_EvalShiftLeft_stub);
|
Scr_EvalEquality_hook.create(game::Scr_EvalEquality_ADDR(), Scr_EvalEquality_stub, quick);
|
||||||
Scr_EvalShiftRight_hook.create(game::Scr_EvalShiftRight_ADDR(), Scr_EvalShiftRight_stub);
|
Scr_EvalLess_hook.create(game::Scr_EvalLess_ADDR(), Scr_EvalLess_stub, quick);
|
||||||
Scr_EvalPlus_hook.create(game::Scr_EvalPlus_ADDR(), Scr_EvalPlus_stub);
|
Scr_EvalGreaterEqual_hook.create(game::Scr_EvalGreaterEqual_ADDR(), Scr_EvalGreaterEqual_stub, quick);
|
||||||
Scr_EvalMinus_hook.create(game::Scr_EvalMinus_ADDR(), Scr_EvalMinus_stub);
|
Scr_EvalGreater_hook.create(game::Scr_EvalGreater_ADDR(), Scr_EvalGreater_stub, quick);
|
||||||
Scr_EvalMultiply_hook.create(game::Scr_EvalMultiply_ADDR(), Scr_EvalMultiply_stub);
|
Scr_EvalLessEqual_hook.create(game::Scr_EvalLessEqual_ADDR(), Scr_EvalLessEqual_stub, quick);
|
||||||
Scr_EvalDivide_hook.create(game::Scr_EvalDivide_ADDR(), Scr_EvalDivide_stub);
|
Scr_EvalShiftLeft_hook.create(game::Scr_EvalShiftLeft_ADDR(), Scr_EvalShiftLeft_stub, quick);
|
||||||
Scr_EvalMod_hook.create(game::Scr_EvalMod_ADDR(), Scr_EvalMod_stub);
|
Scr_EvalShiftRight_hook.create(game::Scr_EvalShiftRight_ADDR(), Scr_EvalShiftRight_stub, quick);
|
||||||
Scr_EvalBinaryOperator_hook.create(game::Scr_EvalBinaryOperator_ADDR(), Scr_EvalBinaryOperator_stub);
|
Scr_EvalPlus_hook.create(game::Scr_EvalPlus_ADDR(), Scr_EvalPlus_stub, quick);
|
||||||
Scr_FreeEntityNum_hook.create(game::Scr_FreeEntityNum_ADDR(), Scr_FreeEntityNum_stub);
|
Scr_EvalMinus_hook.create(game::Scr_EvalMinus_ADDR(), Scr_EvalMinus_stub, quick);
|
||||||
Scr_FreeEntityList_hook.create(game::Scr_FreeEntityList.get(), Scr_FreeEntityList_stub);
|
Scr_EvalMultiply_hook.create(game::Scr_EvalMultiply_ADDR(), Scr_EvalMultiply_stub, quick);
|
||||||
Scr_FreeObjects_hook.create(game::Scr_FreeObjects.get(), Scr_FreeObjects_stub);
|
Scr_EvalDivide_hook.create(game::Scr_EvalDivide_ADDR(), Scr_EvalDivide_stub, quick);
|
||||||
Scr_SetClassMap_hook.create(game::Scr_SetClassMap_ADDR(), Scr_SetClassMap_stub);
|
Scr_EvalMod_hook.create(game::Scr_EvalMod_ADDR(), Scr_EvalMod_stub, quick);
|
||||||
Scr_RemoveClassMap_hook.create(game::Scr_RemoveClassMap_ADDR(), Scr_RemoveClassMap_stub);
|
Scr_EvalBinaryOperator_hook.create(game::Scr_EvalBinaryOperator_ADDR(), Scr_EvalBinaryOperator_stub, quick);
|
||||||
Scr_AddClassField_hook.create(game::Scr_AddClassField_ADDR(), Scr_AddClassField_stub);
|
Scr_FreeEntityNum_hook.create(game::Scr_FreeEntityNum_ADDR(), Scr_FreeEntityNum_stub, quick);
|
||||||
Scr_GetOffset_hook.create(game::Scr_GetOffset_ADDR(), Scr_GetOffset_stub);
|
Scr_FreeEntityList_hook.create(game::Scr_FreeEntityList.get(), Scr_FreeEntityList_stub, quick);
|
||||||
FindEntityId_hook.create(game::FindEntityId_ADDR(), FindEntityId_stub);
|
Scr_FreeObjects_hook.create(game::Scr_FreeObjects.get(), Scr_FreeObjects_stub, quick);
|
||||||
Scr_GetEntityId_hook.create(game::Scr_GetEntityId_ADDR(), Scr_GetEntityId_stub);
|
Scr_SetClassMap_hook.create(game::Scr_SetClassMap_ADDR(), Scr_SetClassMap_stub, quick);
|
||||||
Scr_FindArrayIndex_hook.create(game::Scr_FindArrayIndex_ADDR(), Scr_FindArrayIndex_stub);
|
Scr_RemoveClassMap_hook.create(game::Scr_RemoveClassMap_ADDR(), Scr_RemoveClassMap_stub, quick);
|
||||||
Scr_EvalArray_hook.create(game::Scr_EvalArray_ADDR(), Scr_EvalArray_stub);
|
Scr_AddClassField_hook.create(game::Scr_AddClassField_ADDR(), Scr_AddClassField_stub, quick);
|
||||||
Scr_EvalArrayRef_hook.create(game::Scr_EvalArrayRef_ADDR(), Scr_EvalArrayRef_stub);
|
Scr_GetOffset_hook.create(game::Scr_GetOffset_ADDR(), Scr_GetOffset_stub, quick);
|
||||||
ClearArray_hook.create(game::ClearArray_ADDR(), ClearArray_stub);
|
FindEntityId_hook.create(game::FindEntityId_ADDR(), FindEntityId_stub, quick);
|
||||||
SetEmptyArray_hook.create(game::SetEmptyArray_ADDR(), SetEmptyArray_stub);
|
Scr_GetEntityId_hook.create(game::Scr_GetEntityId_ADDR(), Scr_GetEntityId_stub, quick);
|
||||||
Scr_AddArrayKeys_hook.create(game::Scr_AddArrayKeys.get(), Scr_AddArrayKeys_stub);
|
Scr_FindArrayIndex_hook.create(game::Scr_FindArrayIndex_ADDR(), Scr_FindArrayIndex_stub, quick);
|
||||||
Scr_GetEntityIdRef_hook.create(game::Scr_GetEntityIdRef_ADDR(), Scr_GetEntityIdRef_stub);
|
Scr_EvalArray_hook.create(game::Scr_EvalArray_ADDR(), Scr_EvalArray_stub, quick);
|
||||||
CopyEntity_hook.create(game::CopyEntity_ADDR(), CopyEntity_stub);
|
Scr_EvalArrayRef_hook.create(game::Scr_EvalArrayRef_ADDR(), Scr_EvalArrayRef_stub, quick);
|
||||||
Scr_GetEndonUsage_hook.create(game::Scr_GetEndonUsage_ADDR(), Scr_GetEndonUsage_stub);
|
ClearArray_hook.create(game::ClearArray_ADDR(), ClearArray_stub, quick);
|
||||||
Scr_GetObjectUsage_hook.create(game::Scr_GetObjectUsage.get(), Scr_GetObjectUsage_stub);
|
SetEmptyArray_hook.create(game::SetEmptyArray_ADDR(), SetEmptyArray_stub, quick);
|
||||||
Scr_GetThreadUsage_hook.create(game::Scr_GetThreadUsage_ADDR(), Scr_GetThreadUsage_stub);
|
Scr_AddArrayKeys_hook.create(game::Scr_AddArrayKeys.get(), Scr_AddArrayKeys_stub, quick);
|
||||||
Scr_FindField_hook.create(game::Scr_FindField_ADDR(), Scr_FindField_stub);
|
Scr_GetEntityIdRef_hook.create(game::Scr_GetEntityIdRef_ADDR(), Scr_GetEntityIdRef_stub, quick);
|
||||||
Scr_GetSourceFile_LoadObj_hook.create(game::Scr_GetSourceFile_LoadObj.get(), Scr_GetSourceFile_LoadObj_stub);
|
CopyEntity_hook.create(game::CopyEntity_ADDR(), CopyEntity_stub, quick);
|
||||||
Scr_GetSourceFile_FastFile_hook.create(game::Scr_GetSourceFile_FastFile.get(), Scr_GetSourceFile_FastFile_stub);
|
Scr_GetEndonUsage_hook.create(game::Scr_GetEndonUsage_ADDR(), Scr_GetEndonUsage_stub, quick);
|
||||||
Scr_AddFieldsForFile_hook.create(game::Scr_AddFieldsForFile.get(), Scr_AddFieldsForFile_stub);
|
Scr_GetObjectUsage_hook.create(game::Scr_GetObjectUsage.get(), Scr_GetObjectUsage_stub, quick);
|
||||||
Scr_AddFields_LoadObj_hook.create(game::Scr_AddFields_LoadObj.get(), Scr_AddFields_LoadObj_stub);
|
Scr_GetThreadUsage_hook.create(game::Scr_GetThreadUsage_ADDR(), Scr_GetThreadUsage_stub, quick);
|
||||||
Scr_AddFields_FastFile_hook.create(game::Scr_AddFields_FastFile.get(), Scr_AddFields_FastFile_stub);
|
Scr_FindField_hook.create(game::Scr_FindField_ADDR(), Scr_FindField_stub, quick);
|
||||||
Scr_MakeValuePrimitive_hook.create(game::Scr_MakeValuePrimitive.get(), Scr_MakeValuePrimitive_stub);
|
Scr_GetSourceFile_LoadObj_hook.create(game::Scr_GetSourceFile_LoadObj.get(), Scr_GetSourceFile_LoadObj_stub, quick);
|
||||||
Scr_FreeGameVariable_hook.create(game::Scr_FreeGameVariable_ADDR(), Scr_FreeGameVariable_stub);
|
Scr_GetSourceFile_FastFile_hook.create(game::Scr_GetSourceFile_FastFile.get(), Scr_GetSourceFile_FastFile_stub, quick);
|
||||||
Scr_SLHasLowercaseString_hook.create(game::Scr_SLHasLowercaseString_ADDR(), Scr_SLHasLowercaseString_stub);
|
Scr_AddFieldsForFile_hook.create(game::Scr_AddFieldsForFile.get(), Scr_AddFieldsForFile_stub, quick);
|
||||||
|
Scr_AddFields_LoadObj_hook.create(game::Scr_AddFields_LoadObj.get(), Scr_AddFields_LoadObj_stub, quick);
|
||||||
|
Scr_AddFields_FastFile_hook.create(game::Scr_AddFields_FastFile.get(), Scr_AddFields_FastFile_stub, quick);
|
||||||
|
Scr_MakeValuePrimitive_hook.create(game::Scr_MakeValuePrimitive.get(), Scr_MakeValuePrimitive_stub, quick);
|
||||||
|
Scr_FreeGameVariable_hook.create(game::Scr_FreeGameVariable_ADDR(), Scr_FreeGameVariable_stub, quick);
|
||||||
|
Scr_SLHasLowercaseString_hook.create(game::Scr_SLHasLowercaseString_ADDR(), Scr_SLHasLowercaseString_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
ThreadInfoCompare_original = ThreadInfoCompare_hook.get_original();
|
ThreadInfoCompare_original = ThreadInfoCompare_hook.get_original();
|
||||||
|
@ -1524,78 +1524,83 @@ namespace re_cscr_vm
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
Scr_VM_Init_hook.create(game::Scr_VM_Init.get(), Scr_VM_Init_stub);
|
bool quick = true;
|
||||||
Scr_Init_hook.create(game::Scr_Init_ADDR(), Scr_Init_stub);
|
#ifdef RE_CSCR_VM_USE_WRAPPERS
|
||||||
Scr_Shutdown_hook.create(game::Scr_Shutdown_ADDR(), Scr_Shutdown_stub);
|
quick = false;
|
||||||
Scr_ErrorInternal_hook.create(game::Scr_ErrorInternal_ADDR(), Scr_ErrorInternal_stub);
|
#endif
|
||||||
Scr_ClearOutParams_hook.create(game::Scr_ClearOutParams_ADDR(), Scr_ClearOutParams_stub);
|
|
||||||
GetDummyObject_hook.create(game::GetDummyObject_ADDR(), GetDummyObject_stub);
|
Scr_VM_Init_hook.create(game::Scr_VM_Init.get(), Scr_VM_Init_stub, quick);
|
||||||
GetDummyFieldValue_hook.create(game::GetDummyFieldValue_ADDR(), GetDummyFieldValue_stub);
|
Scr_Init_hook.create(game::Scr_Init_ADDR(), Scr_Init_stub, quick);
|
||||||
VM_ExecuteInternal_hook.create(game::VM_ExecuteInternal.get(), VM_ExecuteInternal_stub);
|
Scr_Shutdown_hook.create(game::Scr_Shutdown_ADDR(), Scr_Shutdown_stub, quick);
|
||||||
VM_CancelNotifyInternal_hook.create(game::VM_CancelNotifyInternal_ADDR(), VM_CancelNotifyInternal_stub);
|
Scr_ErrorInternal_hook.create(game::Scr_ErrorInternal_ADDR(), Scr_ErrorInternal_stub, quick);
|
||||||
VM_CancelNotify_hook.create(game::VM_CancelNotify_ADDR(), VM_CancelNotify_stub);
|
Scr_ClearOutParams_hook.create(game::Scr_ClearOutParams_ADDR(), Scr_ClearOutParams_stub, quick);
|
||||||
VM_ArchiveStack_hook.create(game::VM_ArchiveStack_ADDR(), VM_ArchiveStack_stub);
|
GetDummyObject_hook.create(game::GetDummyObject_ADDR(), GetDummyObject_stub, quick);
|
||||||
Scr_AddLocalVars_hook.create(game::Scr_AddLocalVars_ADDR(), Scr_AddLocalVars_stub);
|
GetDummyFieldValue_hook.create(game::GetDummyFieldValue_ADDR(), GetDummyFieldValue_stub, quick);
|
||||||
VM_UnarchiveStack_hook.create(game::VM_UnarchiveStack.get(), VM_UnarchiveStack_stub);
|
VM_ExecuteInternal_hook.create(game::VM_ExecuteInternal.get(), VM_ExecuteInternal_stub, quick);
|
||||||
VM_TerminateStack_hook.create(game::VM_TerminateStack_ADDR(), VM_TerminateStack_stub);
|
VM_CancelNotifyInternal_hook.create(game::VM_CancelNotifyInternal_ADDR(), VM_CancelNotifyInternal_stub, quick);
|
||||||
VM_TrimStack_hook.create(game::VM_TrimStack_ADDR(), VM_TrimStack_stub);
|
VM_CancelNotify_hook.create(game::VM_CancelNotify_ADDR(), VM_CancelNotify_stub, quick);
|
||||||
Scr_TerminateRunningThread_hook.create(game::Scr_TerminateRunningThread_ADDR(), Scr_TerminateRunningThread_stub);
|
VM_ArchiveStack_hook.create(game::VM_ArchiveStack_ADDR(), VM_ArchiveStack_stub, quick);
|
||||||
Scr_TerminateWaitThread_hook.create(game::Scr_TerminateWaitThread_ADDR(), Scr_TerminateWaitThread_stub);
|
Scr_AddLocalVars_hook.create(game::Scr_AddLocalVars_ADDR(), Scr_AddLocalVars_stub, quick);
|
||||||
Scr_CancelWaittill_hook.create(game::Scr_CancelWaittill_ADDR(), Scr_CancelWaittill_stub);
|
VM_UnarchiveStack_hook.create(game::VM_UnarchiveStack.get(), VM_UnarchiveStack_stub, quick);
|
||||||
Scr_TerminateWaittillThread_hook.create(game::Scr_TerminateWaittillThread_ADDR(), Scr_TerminateWaittillThread_stub);
|
VM_TerminateStack_hook.create(game::VM_TerminateStack_ADDR(), VM_TerminateStack_stub, quick);
|
||||||
Scr_TerminateThread_hook.create(game::Scr_TerminateThread_ADDR(), Scr_TerminateThread_stub);
|
VM_TrimStack_hook.create(game::VM_TrimStack_ADDR(), VM_TrimStack_stub, quick);
|
||||||
VM_Notify_hook.create(game::VM_Notify_ADDR(), VM_Notify_stub);
|
Scr_TerminateRunningThread_hook.create(game::Scr_TerminateRunningThread_ADDR(), Scr_TerminateRunningThread_stub, quick);
|
||||||
Scr_NotifyNum_Internal_hook.create(game::Scr_NotifyNum_Internal_ADDR(), Scr_NotifyNum_Internal_stub);
|
Scr_TerminateWaitThread_hook.create(game::Scr_TerminateWaitThread_ADDR(), Scr_TerminateWaitThread_stub, quick);
|
||||||
Scr_CancelNotifyList_hook.create(game::Scr_CancelNotifyList_ADDR(), Scr_CancelNotifyList_stub);
|
Scr_CancelWaittill_hook.create(game::Scr_CancelWaittill_ADDR(), Scr_CancelWaittill_stub, quick);
|
||||||
VM_TerminateTime_hook.create(game::VM_TerminateTime_ADDR(), VM_TerminateTime_stub);
|
Scr_TerminateWaittillThread_hook.create(game::Scr_TerminateWaittillThread_ADDR(), Scr_TerminateWaittillThread_stub, quick);
|
||||||
VM_Resume_hook.create(game::VM_Resume_ADDR(), VM_Resume_stub);
|
Scr_TerminateThread_hook.create(game::Scr_TerminateThread_ADDR(), Scr_TerminateThread_stub, quick);
|
||||||
VM_Execute_hook.create(game::VM_Execute.get(), VM_Execute_stub);
|
VM_Notify_hook.create(game::VM_Notify_ADDR(), VM_Notify_stub, quick);
|
||||||
Scr_ExecThread_hook.create(game::Scr_ExecThread_ADDR(), Scr_ExecThread_stub);
|
Scr_NotifyNum_Internal_hook.create(game::Scr_NotifyNum_Internal_ADDR(), Scr_NotifyNum_Internal_stub, quick);
|
||||||
Scr_ExecEntThread_hook.create(game::Scr_ExecEntThread_ADDR(), Scr_ExecEntThread_stub);
|
Scr_CancelNotifyList_hook.create(game::Scr_CancelNotifyList_ADDR(), Scr_CancelNotifyList_stub, quick);
|
||||||
Scr_AddExecThread_hook.create(game::Scr_AddExecThread_ADDR(), Scr_AddExecThread_stub);
|
VM_TerminateTime_hook.create(game::VM_TerminateTime_ADDR(), VM_TerminateTime_stub, quick);
|
||||||
VM_SetTime_hook.create(game::VM_SetTime_ADDR(), VM_SetTime_stub);
|
VM_Resume_hook.create(game::VM_Resume_ADDR(), VM_Resume_stub, quick);
|
||||||
Scr_InitSystem_hook.create(game::Scr_InitSystem_ADDR(), Scr_InitSystem_stub);
|
VM_Execute_hook.create(game::VM_Execute.get(), VM_Execute_stub, quick);
|
||||||
Scr_ShutdownSystem_hook.create(game::Scr_ShutdownSystem.get(), Scr_ShutdownSystem_stub);
|
Scr_ExecThread_hook.create(game::Scr_ExecThread_ADDR(), Scr_ExecThread_stub, quick);
|
||||||
Scr_IsSystemActive_hook.create(game::Scr_IsSystemActive.get(), Scr_IsSystemActive_stub);
|
Scr_ExecEntThread_hook.create(game::Scr_ExecEntThread_ADDR(), Scr_ExecEntThread_stub, quick);
|
||||||
Scr_GetInt_hook.create(game::Scr_GetInt_ADDR(), Scr_GetInt_stub);
|
Scr_AddExecThread_hook.create(game::Scr_AddExecThread_ADDR(), Scr_AddExecThread_stub, quick);
|
||||||
Scr_GetAnim_hook.create(game::Scr_GetAnim_ADDR(), Scr_GetAnim_stub);
|
VM_SetTime_hook.create(game::VM_SetTime_ADDR(), VM_SetTime_stub, quick);
|
||||||
Scr_GetAnimTree_hook.create(game::Scr_GetAnimTree.get(), Scr_GetAnimTree_stub);
|
Scr_InitSystem_hook.create(game::Scr_InitSystem_ADDR(), Scr_InitSystem_stub, quick);
|
||||||
Scr_GetFloat_hook.create(game::Scr_GetFloat_ADDR(), Scr_GetFloat_stub);
|
Scr_ShutdownSystem_hook.create(game::Scr_ShutdownSystem.get(), Scr_ShutdownSystem_stub, quick);
|
||||||
Scr_GetConstString_hook.create(game::Scr_GetConstString_ADDR(), Scr_GetConstString_stub);
|
Scr_IsSystemActive_hook.create(game::Scr_IsSystemActive.get(), Scr_IsSystemActive_stub, quick);
|
||||||
Scr_GetConstLowercaseString_hook.create(game::Scr_GetConstLowercaseString_ADDR(), Scr_GetConstLowercaseString_stub);
|
Scr_GetInt_hook.create(game::Scr_GetInt_ADDR(), Scr_GetInt_stub, quick);
|
||||||
Scr_GetString_hook.create(game::Scr_GetString_ADDR(), Scr_GetString_stub);
|
Scr_GetAnim_hook.create(game::Scr_GetAnim_ADDR(), Scr_GetAnim_stub, quick);
|
||||||
Scr_GetConstStringIncludeNull_hook.create(game::Scr_GetConstStringIncludeNull_ADDR(), Scr_GetConstStringIncludeNull_stub);
|
Scr_GetAnimTree_hook.create(game::Scr_GetAnimTree.get(), Scr_GetAnimTree_stub, quick);
|
||||||
Scr_GetDebugString_hook.create(game::Scr_GetDebugString_ADDR(), Scr_GetDebugString_stub);
|
Scr_GetFloat_hook.create(game::Scr_GetFloat_ADDR(), Scr_GetFloat_stub, quick);
|
||||||
Scr_GetConstIString_hook.create(game::Scr_GetConstIString_ADDR(), Scr_GetConstIString_stub);
|
Scr_GetConstString_hook.create(game::Scr_GetConstString_ADDR(), Scr_GetConstString_stub, quick);
|
||||||
Scr_GetVector_hook.create(game::Scr_GetVector_ADDR(), Scr_GetVector_stub);
|
Scr_GetConstLowercaseString_hook.create(game::Scr_GetConstLowercaseString_ADDR(), Scr_GetConstLowercaseString_stub, quick);
|
||||||
Scr_GetFunc_hook.create(game::Scr_GetFunc.get(), Scr_GetFunc_stub);
|
Scr_GetString_hook.create(game::Scr_GetString_ADDR(), Scr_GetString_stub, quick);
|
||||||
Scr_GetEntityRef_hook.create(game::Scr_GetEntityRef_ADDR(), Scr_GetEntityRef_stub);
|
Scr_GetConstStringIncludeNull_hook.create(game::Scr_GetConstStringIncludeNull_ADDR(), Scr_GetConstStringIncludeNull_stub, quick);
|
||||||
Scr_GetObject_hook.create(game::Scr_GetObject_ADDR(), Scr_GetObject_stub);
|
Scr_GetDebugString_hook.create(game::Scr_GetDebugString_ADDR(), Scr_GetDebugString_stub, quick);
|
||||||
Scr_GetType_hook.create(game::Scr_GetType_ADDR(), Scr_GetType_stub);
|
Scr_GetConstIString_hook.create(game::Scr_GetConstIString_ADDR(), Scr_GetConstIString_stub, quick);
|
||||||
Scr_GetTypeName_hook.create(game::Scr_GetTypeName_ADDR(), Scr_GetTypeName_stub);
|
Scr_GetVector_hook.create(game::Scr_GetVector_ADDR(), Scr_GetVector_stub, quick);
|
||||||
Scr_GetPointerType_hook.create(game::Scr_GetPointerType_ADDR(), Scr_GetPointerType_stub);
|
Scr_GetFunc_hook.create(game::Scr_GetFunc.get(), Scr_GetFunc_stub, quick);
|
||||||
Scr_AddInt_hook.create(game::Scr_AddInt_ADDR(), Scr_AddInt_stub);
|
Scr_GetEntityRef_hook.create(game::Scr_GetEntityRef_ADDR(), Scr_GetEntityRef_stub, quick);
|
||||||
Scr_AddFloat_hook.create(game::Scr_AddFloat_ADDR(), Scr_AddFloat_stub);
|
Scr_GetObject_hook.create(game::Scr_GetObject_ADDR(), Scr_GetObject_stub, quick);
|
||||||
Scr_AddAnim_hook.create(game::Scr_AddAnim.get(), Scr_AddAnim_stub);
|
Scr_GetType_hook.create(game::Scr_GetType_ADDR(), Scr_GetType_stub, quick);
|
||||||
Scr_AddUndefined_hook.create(game::Scr_AddUndefined_ADDR(), Scr_AddUndefined_stub);
|
Scr_GetTypeName_hook.create(game::Scr_GetTypeName_ADDR(), Scr_GetTypeName_stub, quick);
|
||||||
Scr_AddObject_hook.create(game::Scr_AddObject_ADDR(), Scr_AddObject_stub);
|
Scr_GetPointerType_hook.create(game::Scr_GetPointerType_ADDR(), Scr_GetPointerType_stub, quick);
|
||||||
Scr_AddString_hook.create(game::Scr_AddString_ADDR(), Scr_AddString_stub);
|
Scr_AddInt_hook.create(game::Scr_AddInt_ADDR(), Scr_AddInt_stub, quick);
|
||||||
Scr_AddIString_hook.create(game::Scr_AddIString_ADDR(), Scr_AddIString_stub);
|
Scr_AddFloat_hook.create(game::Scr_AddFloat_ADDR(), Scr_AddFloat_stub, quick);
|
||||||
Scr_AddConstString_hook.create(game::Scr_AddConstString_ADDR(), Scr_AddConstString_stub);
|
Scr_AddAnim_hook.create(game::Scr_AddAnim.get(), Scr_AddAnim_stub, quick);
|
||||||
Scr_AddVector_hook.create(game::Scr_AddVector_ADDR(), Scr_AddVector_stub);
|
Scr_AddUndefined_hook.create(game::Scr_AddUndefined_ADDR(), Scr_AddUndefined_stub, quick);
|
||||||
Scr_MakeArray_hook.create(game::Scr_MakeArray_ADDR(), Scr_MakeArray_stub);
|
Scr_AddObject_hook.create(game::Scr_AddObject_ADDR(), Scr_AddObject_stub, quick);
|
||||||
Scr_AddArray_hook.create(game::Scr_AddArray.get(), Scr_AddArray_stub);
|
Scr_AddString_hook.create(game::Scr_AddString_ADDR(), Scr_AddString_stub, quick);
|
||||||
Scr_AddArrayStringIndexed_hook.create(game::Scr_AddArrayStringIndexed_ADDR(), Scr_AddArrayStringIndexed_stub);
|
Scr_AddIString_hook.create(game::Scr_AddIString_ADDR(), Scr_AddIString_stub, quick);
|
||||||
Scr_Error_hook.create(game::Scr_Error_ADDR(), Scr_Error_stub);
|
Scr_AddConstString_hook.create(game::Scr_AddConstString_ADDR(), Scr_AddConstString_stub, quick);
|
||||||
Scr_TerminalError_hook.create(game::Scr_TerminalError_ADDR(), Scr_TerminalError_stub);
|
Scr_AddVector_hook.create(game::Scr_AddVector_ADDR(), Scr_AddVector_stub, quick);
|
||||||
Scr_ParamError_hook.create(game::Scr_ParamError_ADDR(), Scr_ParamError_stub);
|
Scr_MakeArray_hook.create(game::Scr_MakeArray_ADDR(), Scr_MakeArray_stub, quick);
|
||||||
Scr_ObjectError_hook.create(game::Scr_ObjectError_ADDR(), Scr_ObjectError_stub);
|
Scr_AddArray_hook.create(game::Scr_AddArray.get(), Scr_AddArray_stub, quick);
|
||||||
SetEntityFieldValue_hook.create(game::SetEntityFieldValue_ADDR(), SetEntityFieldValue_stub);
|
Scr_AddArrayStringIndexed_hook.create(game::Scr_AddArrayStringIndexed_ADDR(), Scr_AddArrayStringIndexed_stub, quick);
|
||||||
GetEntityFieldValue_hook.create(game::GetEntityFieldValue_ADDR(), GetEntityFieldValue_stub);
|
Scr_Error_hook.create(game::Scr_Error_ADDR(), Scr_Error_stub, quick);
|
||||||
Scr_SetStructField_hook.create(game::Scr_SetStructField_ADDR(), Scr_SetStructField_stub);
|
Scr_TerminalError_hook.create(game::Scr_TerminalError_ADDR(), Scr_TerminalError_stub, quick);
|
||||||
Scr_IncTime_hook.create(game::Scr_IncTime_ADDR(), Scr_IncTime_stub);
|
Scr_ParamError_hook.create(game::Scr_ParamError_ADDR(), Scr_ParamError_stub, quick);
|
||||||
Scr_RunCurrentThreads_hook.create(game::Scr_RunCurrentThreads_ADDR(), Scr_RunCurrentThreads_stub);
|
Scr_ObjectError_hook.create(game::Scr_ObjectError_ADDR(), Scr_ObjectError_stub, quick);
|
||||||
Scr_ResetTimeout_hook.create(game::Scr_ResetTimeout_ADDR(), Scr_ResetTimeout_stub);
|
SetEntityFieldValue_hook.create(game::SetEntityFieldValue_ADDR(), SetEntityFieldValue_stub, quick);
|
||||||
|
GetEntityFieldValue_hook.create(game::GetEntityFieldValue_ADDR(), GetEntityFieldValue_stub, quick);
|
||||||
|
Scr_SetStructField_hook.create(game::Scr_SetStructField_ADDR(), Scr_SetStructField_stub, quick);
|
||||||
|
Scr_IncTime_hook.create(game::Scr_IncTime_ADDR(), Scr_IncTime_stub, quick);
|
||||||
|
Scr_RunCurrentThreads_hook.create(game::Scr_RunCurrentThreads_ADDR(), Scr_RunCurrentThreads_stub, quick);
|
||||||
|
Scr_ResetTimeout_hook.create(game::Scr_ResetTimeout_ADDR(), Scr_ResetTimeout_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
Scr_VM_Init_original = Scr_VM_Init_hook.get_original();
|
Scr_VM_Init_original = Scr_VM_Init_hook.get_original();
|
||||||
|
@ -199,17 +199,22 @@ namespace re_cscr_yacc
|
|||||||
public:
|
public:
|
||||||
void post_unpack() override
|
void post_unpack() override
|
||||||
{
|
{
|
||||||
LowerCase_hook.create(game::LowerCase_ADDR(), LowerCase_stub);
|
bool quick = true;
|
||||||
yyparse_hook.create(game::yyparse.get(), yyparse_stub);
|
#ifdef RE_CSCR_YACC_USE_WRAPPERS
|
||||||
StringValue_hook.create(game::StringValue_ADDR(), StringValue_stub);
|
quick = false;
|
||||||
yylex_hook.create(game::yylex.get(), yylex_stub);
|
#endif
|
||||||
yy_get_next_buffer_hook.create(game::yy_get_next_buffer.get(), yy_get_next_buffer_stub);
|
|
||||||
yy_get_previous_state_hook.create(game::yy_get_previous_state.get(), yy_get_previous_state_stub);
|
LowerCase_hook.create(game::LowerCase_ADDR(), LowerCase_stub, quick);
|
||||||
yy_try_NUL_trans_hook.create(game::yy_try_NUL_trans_ADDR(), yy_try_NUL_trans_stub);
|
yyparse_hook.create(game::yyparse.get(), yyparse_stub, quick);
|
||||||
yyrestart_hook.create(game::yyrestart.get(), yyrestart_stub);
|
StringValue_hook.create(game::StringValue_ADDR(), StringValue_stub, quick);
|
||||||
yy_create_buffer_hook.create(game::yy_create_buffer.get(), yy_create_buffer_stub);
|
yylex_hook.create(game::yylex.get(), yylex_stub, quick);
|
||||||
yy_flush_buffer_hook.create(game::yy_flush_buffer_ADDR(), yy_flush_buffer_stub);
|
yy_get_next_buffer_hook.create(game::yy_get_next_buffer.get(), yy_get_next_buffer_stub, quick);
|
||||||
ScriptParse_hook.create(game::ScriptParse_ADDR(), ScriptParse_stub);
|
yy_get_previous_state_hook.create(game::yy_get_previous_state.get(), yy_get_previous_state_stub, quick);
|
||||||
|
yy_try_NUL_trans_hook.create(game::yy_try_NUL_trans_ADDR(), yy_try_NUL_trans_stub, quick);
|
||||||
|
yyrestart_hook.create(game::yyrestart.get(), yyrestart_stub, quick);
|
||||||
|
yy_create_buffer_hook.create(game::yy_create_buffer.get(), yy_create_buffer_stub, quick);
|
||||||
|
yy_flush_buffer_hook.create(game::yy_flush_buffer_ADDR(), yy_flush_buffer_stub, quick);
|
||||||
|
ScriptParse_hook.create(game::ScriptParse_ADDR(), ScriptParse_stub, quick);
|
||||||
|
|
||||||
//Original hook function addresses
|
//Original hook function addresses
|
||||||
LowerCase_original = LowerCase_hook.get_original();
|
LowerCase_original = LowerCase_hook.get_original();
|
||||||
|
@ -97,8 +97,15 @@ namespace utils::hook
|
|||||||
MH_DisableHook(this->place_);
|
MH_DisableHook(this->place_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void detour::create(void* place, void* target)
|
void detour::create(void* place, void* target, bool quick)
|
||||||
{
|
{
|
||||||
|
// each detour is ~30ms to install, quick is for instances where we will NEVER need to invoke the original
|
||||||
|
if (quick)
|
||||||
|
{
|
||||||
|
jump(reinterpret_cast<std::uintptr_t>(place), target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this->clear();
|
this->clear();
|
||||||
this->place_ = place;
|
this->place_ = place;
|
||||||
|
|
||||||
@ -110,9 +117,9 @@ namespace utils::hook
|
|||||||
this->enable();
|
this->enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
void detour::create(const size_t place, void* target)
|
void detour::create(const size_t place, void* target, bool quick)
|
||||||
{
|
{
|
||||||
this->create(reinterpret_cast<void*>(place), target);
|
this->create(reinterpret_cast<void*>(place), target, quick);
|
||||||
}
|
}
|
||||||
|
|
||||||
void detour::clear()
|
void detour::clear()
|
||||||
|
@ -86,8 +86,8 @@ namespace utils::hook
|
|||||||
void enable() const;
|
void enable() const;
|
||||||
void disable() const;
|
void disable() const;
|
||||||
|
|
||||||
void create(void* place, void* target);
|
void create(void* place, void* target, bool quick = false);
|
||||||
void create(size_t place, void* target);
|
void create(size_t place, void* target, bool quick = false);
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user