From 216c729c8762f4d0388d8750905a91fe1de64ccf Mon Sep 17 00:00:00 2001 From: aura Date: Sat, 25 Apr 2026 22:46:52 +0200 Subject: wip on removing gokz gamemode features --- source/sourcemod/scripting/movementapi/natives.sp | 183 ++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 source/sourcemod/scripting/movementapi/natives.sp (limited to 'source/sourcemod/scripting/movementapi/natives.sp') 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(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(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(gB_Turning[GetNativeCell(1)]); +} + +public int Native_GetTurningLeft(Handle plugin, int numParams) +{ + return view_as(gB_TurningLeft[GetNativeCell(1)]); +} + +public int Native_GetTurningRight(Handle plugin, int numParams) +{ + int client = GetNativeCell(1); + return view_as(gB_Turning[client] && !gB_TurningLeft[client]); +} + +public int Native_GetMaxSpeed(Handle plugin, int numParams) +{ + int client = GetNativeCell(1); + return view_as(GetMaxSpeed(client)); +} + +public int Native_GetDuckbugged(Handle plugin, int numParams) +{ + return view_as(gB_Duckbugged[GetNativeCell(1)]); +} + +public int Native_GetJumpbugged(Handle plugin, int numParams) +{ + return view_as(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 -- cgit v1.2.3