1.1 --- a/core/sourcemod.cpp Sun Nov 12 00:40:58 2006 +0000
1.2 +++ b/core/sourcemod.cpp Sun Nov 12 01:06:17 2006 +0000
1.3 @@ -5,6 +5,7 @@
1.4 #include "vm/sp_vm_engine.h"
1.5 #include <sh_string.h>
1.6 #include "PluginSys.h"
1.7 +#include "ForwardSys.h"
1.8
1.9 SourcePawnEngine g_SourcePawn;
1.10 SourceModBase g_SourceMod;
1.11 @@ -111,17 +112,21 @@
1.12 return false;
1.13 }
1.14
1.15 -#if 0
1.16 g_SMAPI->PathFormat(file, sizeof(file), "%s/addons/sourcemod/plugins/test.smx", g_BaseDir.c_str());
1.17 IPlugin *pPlugin = g_PluginMngr.LoadPlugin(file, false, PluginType_Global, error, err_max);
1.18 IPluginFunction *func = pPlugin->GetFunctionByName("Test");
1.19 + IPluginFunction *func2 = pPlugin->GetFunctionByName("Test2");
1.20 cell_t result = 2;
1.21 cell_t val = 6;
1.22 - func->PushCell(1);
1.23 - func->PushCellByRef(&val, SMFUNC_COPYBACK_ONCE);
1.24 - func->Execute(&result, NULL);
1.25 + ParamType types[] = {Param_Cell, Param_CellByRef};
1.26 + va_list ap = va_start(ap, late);
1.27 + CForward *fwd = CForward::CreateForward(NULL, ET_Custom, 2, types, ap);
1.28 + fwd->AddFunction(func);
1.29 + fwd->AddFunction(func2);
1.30 + fwd->PushCell(1);
1.31 + fwd->PushCellByRef(&val, SMFUNC_COPYBACK_ALWAYS);
1.32 + fwd->Execute(&result, NULL);
1.33 g_PluginMngr.UnloadPlugin(pPlugin);
1.34 -#endif
1.35
1.36 return true;
1.37 }