-#ifndef LIB_WARPZONE_SERVER_H
-#define LIB_WARPZONE_SERVER_H
+#pragma once
+
+#ifdef SVQC
+entity warpzone_first; .entity warpzone_next;
void WarpZone_StartFrame();
-float WarpZone_Projectile_Touch();
+float WarpZone_Projectile_Touch(entity this, entity toucher);
// THESE must be defined by calling QC code:
void WarpZone_PostTeleportPlayer_Callback(entity pl);
-float WarpZone_Projectile_Touch_ImpactFilter_Callback();
+bool WarpZone_Projectile_Touch_ImpactFilter_Callback(entity this, entity toucher);
// server must also define a float called ENT_CLIENT_WARPZONE for the initial byte of WarpZone entities
//const float ENT_CLIENT_WARPZONE;
//const float ENT_CLIENT_WARPZONE_CAMERA;
-void WarpZone_PlayerPhysics_FixVAngle();
+void WarpZone_PlayerPhysics_FixVAngle(entity this);
void WarpZone_PostInitialize_Callback();
#endif