09.07.2012, 08:26
(
Последний раз редактировалось zgintasz; 09.07.2012 в 09:20.
)
What I'm doing wrong? plugin_test prints wrong values.
pawn Код:
forward plugin_test( itg_MinX, itg_MinY, itg_MaxX, itg_MaxY );
public plugin_test( itg_MinX, itg_MinY, itg_MaxX, itg_MaxY )
{
printf( "comes from c++: %d, %d, %d, %d", itg_MinX, itg_MinY, itg_MaxX, itg_MaxY );
}
Код:
// calling: testfunc( amx, 5, 3, 2, 8 ); // function: void testfunc( AMX* amx, int itg_MinX, int itg_MinY, int itg_MaxX, int itg_MaxY ) { int idx; const cell arr[] = { itg_MinX, itg_MinY, itg_MaxX, itg_MaxY }; if(!amx_FindPublic(amx, "plugin_test", &idx)) { cell ret, addr = 0; cell amx_addr, *phys_addr; amx_Allot(amx, sizeof(arr) / sizeof(cell), &amx_addr, &phys_addr); memcpy(phys_addr, arr, sizeof(arr)); amx_Push(amx, amx_addr); amx_Exec(amx, &ret, idx); amx_Release(amx, addr); } }