-#ifndef HOOK_H
-#define HOOK_H
+#pragma once
// Wazat's grappling hook
.entity hook;
-void GrapplingHookFrame();
-void _GrapplingHookFrame();
-void RemoveGrapplingHook(entity pl);
-void SetGrappleHookBindings();
+void GrapplingHookThink(entity this);
+void RemoveGrapplingHooks(entity pl);
+void RemoveHook(entity this);
// (note: you can change the hook impulse #'s to whatever you please)
.float hook_time;
-const float HOOK_FIRING = 1;
-const float HOOK_REMOVING = 2;
-const float HOOK_PULLING = 4;
-const float HOOK_RELEASING = 8;
-const float HOOK_WAITING_FOR_RELEASE = 16;
+const float HOOK_FIRING = BIT(0);
+const float HOOK_REMOVING = BIT(1);
+const float HOOK_PULLING = BIT(2);
+const float HOOK_RELEASING = BIT(3);
+const float HOOK_WAITING_FOR_RELEASE = BIT(4);
.float hook_state;
void GrappleHookInit();
vector hook_shotorigin[4];
-#endif