summaryrefslogtreecommitdiff
path: root/source/sourcemod/scripting/movementapi/natives.sp
diff options
context:
space:
mode:
authoraura <nw@moneybot.cc>2026-04-25 22:46:52 +0200
committeraura <nw@moneybot.cc>2026-04-25 22:46:52 +0200
commit216c729c8762f4d0388d8750905a91fe1de64ccf (patch)
tree72f0f2f201f7156f220a46a1837c2768abdbb278 /source/sourcemod/scripting/movementapi/natives.sp
parent6018b8161bdc2bc7eee15500fbd9658d8ad0fc3f (diff)
wip on removing gokz gamemode features
Diffstat (limited to 'source/sourcemod/scripting/movementapi/natives.sp')
-rw-r--r--source/sourcemod/scripting/movementapi/natives.sp183
1 files changed, 183 insertions, 0 deletions
diff --git a/source/sourcemod/scripting/movementapi/natives.sp b/source/sourcemod/scripting/movementapi/natives.sp
new file mode 100644
index 0000000..f8cd7a5
--- /dev/null
+++ b/source/sourcemod/scripting/movementapi/natives.sp
@@ -0,0 +1,183 @@
+void CreateNatives()
+{
+ CreateNative("Movement_GetJumped", Native_GetJumped);
+ CreateNative("Movement_GetHitPerf", Native_GetHitPerf);
+ CreateNative("Movement_GetTakeoffOrigin", Native_GetTakeoffOrigin);
+ CreateNative("Movement_GetTakeoffVelocity", Native_GetTakeoffVelocity);
+ CreateNative("Movement_GetTakeoffSpeed", Native_GetTakeoffSpeed);
+ CreateNative("Movement_GetTakeoffTick", Native_GetTakeoffTick);
+ CreateNative("Movement_GetTakeoffCmdNum", Native_GetTakeoffCmdNum);
+ CreateNative("Movement_GetNobugLandingOrigin", Native_GetNobugLandingOrigin);
+ CreateNative("Movement_GetLandingOrigin", Native_GetLandingOrigin);
+ CreateNative("Movement_GetLandingVelocity", Native_GetLandingVelocity);
+ CreateNative("Movement_GetLandingSpeed", Native_GetLandingSpeed);
+ CreateNative("Movement_GetLandingTick", Native_GetLandingTick);
+ CreateNative("Movement_GetLandingCmdNum", Native_GetLandingCmdNum);
+ CreateNative("Movement_GetTurning", Native_GetTurning);
+ CreateNative("Movement_GetTurningLeft", Native_GetTurningLeft);
+ CreateNative("Movement_GetTurningRight", Native_GetTurningRight);
+ CreateNative("Movement_GetMaxSpeed", Native_GetMaxSpeed);
+ CreateNative("Movement_GetDuckbugged", Native_GetDuckbugged);
+ CreateNative("Movement_GetJumpbugged", Native_GetJumpbugged);
+ CreateNative("Movement_GetProcessingOrigin", Native_GetProcessingOrigin);
+ CreateNative("Movement_GetProcessingVelocity", Native_GetProcessingVelocity);
+ CreateNative("Movement_SetTakeoffOrigin", Native_SetTakeoffOrigin);
+ CreateNative("Movement_SetTakeoffVelocity", Native_SetTakeoffVelocity);
+ CreateNative("Movement_SetLandingOrigin", Native_SetLandingOrigin);
+ CreateNative("Movement_SetLandingVelocity", Native_SetLandingVelocity);
+}
+
+public int Native_GetJumped(Handle plugin, int numParams)
+{
+ return gB_Jumped[GetNativeCell(1)];
+}
+
+public int Native_GetHitPerf(Handle plugin, int numParams)
+{
+ return gB_HitPerf[GetNativeCell(1)];
+}
+
+public int Native_GetTakeoffOrigin(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_TakeoffOrigin[GetNativeCell(1)], 3);
+}
+
+public int Native_GetTakeoffVelocity(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_TakeoffVelocity[GetNativeCell(1)], 3);
+}
+
+public int Native_GetTakeoffSpeed(Handle plugin, int numParams)
+{
+ return view_as<int>(GetVectorHorizontalLength(gF_TakeoffVelocity[GetNativeCell(1)]));
+}
+
+public int Native_GetTakeoffTick(Handle plugin, int numParams)
+{
+ return gI_TakeoffTick[GetNativeCell(1)];
+}
+
+public int Native_GetTakeoffCmdNum(Handle plugin, int numParams)
+{
+ return gI_TakeoffCmdNum[GetNativeCell(1)];
+}
+
+public int Native_GetNobugLandingOrigin(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_NobugLandingOrigin[GetNativeCell(1)], 3);
+}
+
+public int Native_GetLandingOrigin(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_LandingOrigin[GetNativeCell(1)], 3);
+}
+
+public int Native_GetLandingVelocity(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_LandingVelocity[GetNativeCell(1)], 3);
+}
+
+public int Native_GetLandingSpeed(Handle plugin, int numParams)
+{
+ return view_as<int>(GetVectorHorizontalLength(gF_LandingVelocity[GetNativeCell(1)]));
+}
+
+public int Native_GetLandingTick(Handle plugin, int numParams)
+{
+ return gI_LandingTick[GetNativeCell(1)];
+}
+
+public int Native_GetLandingCmdNum(Handle plugin, int numParams)
+{
+ return gI_LandingCmdNum[GetNativeCell(1)];
+}
+
+public int Native_GetTurning(Handle plugin, int numParams)
+{
+ return view_as<int>(gB_Turning[GetNativeCell(1)]);
+}
+
+public int Native_GetTurningLeft(Handle plugin, int numParams)
+{
+ return view_as<int>(gB_TurningLeft[GetNativeCell(1)]);
+}
+
+public int Native_GetTurningRight(Handle plugin, int numParams)
+{
+ int client = GetNativeCell(1);
+ return view_as<int>(gB_Turning[client] && !gB_TurningLeft[client]);
+}
+
+public int Native_GetMaxSpeed(Handle plugin, int numParams)
+{
+ int client = GetNativeCell(1);
+ return view_as<int>(GetMaxSpeed(client));
+}
+
+public int Native_GetDuckbugged(Handle plugin, int numParams)
+{
+ return view_as<int>(gB_Duckbugged[GetNativeCell(1)]);
+}
+
+public int Native_GetJumpbugged(Handle plugin, int numParams)
+{
+ return view_as<int>(gB_Jumpbugged[GetNativeCell(1)]);
+}
+
+public int Native_GetProcessingOrigin(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_Origin[GetNativeCell(1)], 3);
+}
+
+public int Native_GetProcessingVelocity(Handle plugin, int numParams)
+{
+ return SetNativeArray(2, gF_Velocity[GetNativeCell(1)], 3);
+}
+
+public int Native_SetTakeoffOrigin(Handle plugin, int numParams)
+{
+ float array[3];
+ GetNativeArray(2, array, sizeof(array));
+ for (int i = 0; i < 3; i++)
+ {
+ gF_TakeoffOrigin[GetNativeCell(1)][i] = array[i];
+ }
+
+ return 0;
+}
+
+public int Native_SetTakeoffVelocity(Handle plugin, int numParams)
+{
+ float array[3];
+ GetNativeArray(2, array, sizeof(array));
+ for (int i = 0; i < 3; i++)
+ {
+ gF_TakeoffVelocity[GetNativeCell(1)][i] = array[i];
+ }
+
+ return 0;
+}
+
+public int Native_SetLandingOrigin(Handle plugin, int numParams)
+{
+ float array[3];
+ GetNativeArray(2, array, sizeof(array));
+ for (int i = 0; i < 3; i++)
+ {
+ gF_LandingOrigin[GetNativeCell(1)][i] = array[i];
+ }
+
+ return 0;
+}
+
+public int Native_SetLandingVelocity(Handle plugin, int numParams)
+{
+ float array[3];
+ GetNativeArray(2, array, sizeof(array));
+ for (int i = 0; i < 3; i++)
+ {
+ gF_LandingVelocity[GetNativeCell(1)][i] = array[i];
+ }
+
+ return 0;
+} \ No newline at end of file