diff -r 628bdadc9b32 -r fe406c5f2aeb core/sourcemod.cpp --- a/core/sourcemod.cpp Sun Nov 12 00:40:58 2006 +0000 +++ b/core/sourcemod.cpp Sun Nov 12 01:06:17 2006 +0000 @@ -5,6 +5,7 @@ #include "vm/sp_vm_engine.h" #include #include "PluginSys.h" +#include "ForwardSys.h" SourcePawnEngine g_SourcePawn; SourceModBase g_SourceMod; @@ -111,17 +112,21 @@ return false; } -#if 0 g_SMAPI->PathFormat(file, sizeof(file), "%s/addons/sourcemod/plugins/test.smx", g_BaseDir.c_str()); IPlugin *pPlugin = g_PluginMngr.LoadPlugin(file, false, PluginType_Global, error, err_max); IPluginFunction *func = pPlugin->GetFunctionByName("Test"); + IPluginFunction *func2 = pPlugin->GetFunctionByName("Test2"); cell_t result = 2; cell_t val = 6; - func->PushCell(1); - func->PushCellByRef(&val, SMFUNC_COPYBACK_ONCE); - func->Execute(&result, NULL); + ParamType types[] = {Param_Cell, Param_CellByRef}; + va_list ap = va_start(ap, late); + CForward *fwd = CForward::CreateForward(NULL, ET_Custom, 2, types, ap); + fwd->AddFunction(func); + fwd->AddFunction(func2); + fwd->PushCell(1); + fwd->PushCellByRef(&val, SMFUNC_COPYBACK_ALWAYS); + fwd->Execute(&result, NULL); g_PluginMngr.UnloadPlugin(pPlugin); -#endif return true; }