-#ifndef CLIENT_WEAPONS_PROJECTILE_H
-#define CLIENT_WEAPONS_PROJECTILE_H
+#pragma once
+
+#include <common/sounds/sound.qh>
entityclass(Projectile);
-class(Projectile).int traileffect;
+classfield(Projectile).int traileffect;
-class(Projectile).vector iorigin1, iorigin2;
-class(Projectile).float spawntime;
-class(Projectile).vector trail_oldorigin;
-class(Projectile).float trail_oldtime;
-class(Projectile).float fade_time, fade_rate;
+classfield(Projectile).vector iorigin1, iorigin2;
+classfield(Projectile).float spawntime;
+classfield(Projectile).vector trail_oldorigin;
+classfield(Projectile).float trail_oldtime;
+classfield(Projectile).float fade_time, fade_rate;
-class(Projectile).float alphamod;
-class(Projectile).int count; // set if clientside projectile
-class(Projectile).int cnt; // sound index
-class(Projectile).float gravity;
-class(Projectile).int snd_looping;
-class(Projectile).bool silent;
+classfield(Projectile).float alphamod;
+classfield(Projectile).int count; // set if clientside projectile
+classfield(Projectile).int cnt; // sound index
+classfield(Projectile).float gravity;
+classfield(Projectile).int snd_looping;
+classfield(Projectile).bool silent;
-void SUB_Stop();
+void SUB_Stop(entity this, entity toucher);
void Projectile_ResetTrail(entity this, vector to);
void Projectile_Draw(entity this);
-void loopsound(entity e, int ch, string samp, float vol, float attn);
+void loopsound(entity e, int ch, Sound samp, float vol, float attn);
-void Ent_RemoveProjectile();
+void Ent_RemoveProjectile(entity this);
const int FL_PROJECTILE = BIT(15);
-
-#endif