Fix passing variant_t parameters + fix codegen stack on Win64 (#2117)
* Fix 64-bit JIT not allocating stack space for params on stack Fix wrong cond check for passing objects by value * Fix wrong FireOutput detour proto on win64
This commit is contained in:
@@ -73,7 +73,7 @@ bool EntityOutputManager::IsEnabled()
|
||||
return enabled;
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
#if defined PLATFORM_WINDOWS && defined PLATFORM_X86
|
||||
DETOUR_DECL_MEMBER8(FireOutput, void, int, what, int, the, int, hell, int, msvc, void *, variant_t, CBaseEntity *, pActivator, CBaseEntity *, pCaller, float, fDelay)
|
||||
{
|
||||
bool fireOutput = g_OutputManager.FireEventDetour((void *)this, pActivator, pCaller, fDelay);
|
||||
|
||||
@@ -311,7 +311,7 @@ static cell_t FireEntityOutput(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
return pContext->ThrowNativeError("\"FireEntityOutput\" not supported by this mod");
|
||||
}
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
#if defined PLATFORM_WINDOWS && defined PLATFORM_X86
|
||||
int iMaxParam = 8;
|
||||
//Instead of being one param, MSVC broke variant_t param into 5 params..
|
||||
PassInfo pass[8];
|
||||
|
||||
Reference in New Issue
Block a user