dvander@601: #include dvander@601: dvander@601: native TestNative1(gaben, ...); dvander@601: native TestNative2(String:buffer[]); dvander@601: native TestNative3(value1, &value2); dvander@601: native TestNative4(const input[], output[], size); dvander@601: native TestNative5(bool:local, String:buffer[], maxlength, const String:fmt[], {Handle,Float,String,_}:...); dvander@601: dvander@601: public Plugin:myinfo = dvander@601: { dvander@601: name = "FakeNative Testing Lab #2", dvander@601: author = "AlliedModders LLC", dvander@601: description = "Test suite #2 for dynamic natives", dvander@601: version = "1.0.0.0", dvander@601: url = "http://www.sourcemod.net/" dvander@601: }; dvander@601: dvander@601: public OnPluginStart() dvander@601: { dvander@601: RegServerCmd("test_native1", Test_Native1); dvander@601: RegServerCmd("test_native2", Test_Native2); dvander@601: RegServerCmd("test_native3", Test_Native3); dvander@601: RegServerCmd("test_native4", Test_Native4); dvander@601: RegServerCmd("test_native5", Test_Native5); dvander@601: } dvander@601: dvander@601: public Action:Test_Native1(args) dvander@601: { dvander@601: PrintToServer("Returned: %d", TestNative1(1)); dvander@601: PrintToServer("Returned: %d", TestNative1(1,2)); dvander@601: PrintToServer("Returned: %d", TestNative1(1,2,3,4)); dvander@601: dvander@601: return Plugin_Handled; dvander@601: } dvander@601: dvander@601: public Action:Test_Native2(args) dvander@601: { dvander@601: new String:buffer[] = "IBM"; dvander@601: dvander@601: PrintToServer("Before: %s", buffer); dvander@601: dvander@601: TestNative2(buffer); dvander@601: dvander@601: PrintToServer("AfteR: %s", buffer); dvander@601: dvander@601: return Plugin_Handled; dvander@601: } dvander@601: dvander@601: public Action:Test_Native3(args) dvander@601: { dvander@601: new value1 = 5, value2 = 6 dvander@601: dvander@601: PrintToServer("Before: %d, %d", value1, value2); dvander@601: dvander@601: TestNative3(value1, value2); dvander@601: dvander@601: PrintToServer("After: %d, %d", value1, value2); dvander@601: dvander@601: return Plugin_Handled; dvander@601: } dvander@601: dvander@601: public Action:Test_Native4(args) dvander@601: { dvander@601: new input[5] = {0, 1, 2, 3, 4}; dvander@601: new output[5]; dvander@601: dvander@601: TestNative4(input, output, 5); dvander@601: dvander@601: PrintToServer("[0=%d] [1=%d] [2=%d] [3=%d] [4=%d]", input[0], input[1], input[2], input[3], input[4]); dvander@601: PrintToServer("[0=%d] [1=%d] [2=%d] [3=%d] [4=%d]", output[0], output[1], output[2], output[3], output[4]); dvander@601: dvander@601: return Plugin_Handled; dvander@601: } dvander@601: dvander@601: public Action:Test_Native5(args) dvander@601: { dvander@601: new String:buffer1[512]; dvander@601: new String:buffer2[512]; dvander@601: dvander@601: TestNative5(true, buffer1, sizeof(buffer1), "%d gabens in the %s", 50, "gabpark"); dvander@601: TestNative5(true, buffer2, sizeof(buffer2), "%d gabens in the %s", 50, "gabpark"); dvander@601: dvander@601: PrintToServer("Test 1: %s", buffer1); dvander@601: PrintToServer("Test 2: %s", buffer2); dvander@601: dvander@601: return Plugin_Handled; dvander@601: }