#pragma once #include "outfit.h" #include "physics.h" /** * @enum WeaponLayer * * @brief Designates the layer the weapon is on. * * Automatically set up on creation (player is front, rest is back). */ typedef enum { WEAPON_LAYER_BG, WEAPON_LAYER_FG } WeaponLayer; /* Addition */ void weapon_add(const Outfit* outfit, const double dir, const Vec2* pos, const Vec2* vel, unsigned int parent, const unsigned int target); int beam_start(const Outfit* outfit, const double dir, const Vec2* pos, const Vec2* vel, const unsigned int parent, const unsigned int beam); void beam_end(const unsigned int parent, int beam); void weapon_explode(double x, double y, double radius, DamageType dtype, double damage, unsigned int parent, int mode); /* Update. */ void weapons_update(const double dt); void weapons_render(const WeaponLayer layer, const double dt); /* Clean. */ void weapon_clear(void); void weapon_exit(void);