6#include "space_fdecl.h"
15#define ASTEROID_DEFAULT_RADIUS \
17#define ASTEROID_DEFAULT_DENSITY \
19#define ASTEROID_DEFAULT_MAXSPEED \
21#define ASTEROID_DEFAULT_MAXSPIN \
23#define ASTEROID_DEFAULT_ACCEL \
26#define ASTEROID_REF_AREA \
50typedef struct AsteroidReward_ {
59typedef struct AsteroidType_ {
78typedef struct AsteroidTypeGroup_ {
88typedef struct Asteroid_ {
111typedef struct AsteroidAnchor_ {
136typedef struct AsteroidExclusion_ {
void asteroids_render(void)
Renders the current systems' spobs.
void asteroids_computeInternals(AsteroidAnchor *a)
Updates internal alues of an asteroid field.
void asteroids_free(void)
Cleans up the system.
void asteroid_hit(Asteroid *a, const Damage *dmg, int max_rarity, double mining_bonus)
Hits an asteroid.
int asteroids_load(void)
Loads the asteroids.
void asteroid_freeAnchor(AsteroidAnchor *ast)
Frees an asteroid anchor.
AsteroidType * asttype_getName(const char *name)
Gets the ID of an asteroid type by name.
const AsteroidTypeGroup * astgroup_getAll(void)
Gets all the asteroid type groups.
AsteroidTypeGroup * astgroup_getName(const char *name)
Gets an asteroid type group by name.
void asteroid_explode(Asteroid *a, int max_rarity, double mining_bonus)
Makes an asteroid explode.
void asteroids_init(void)
Initializes the system.
void asteroids_renderOverlay(void)
Renders the system overlay.
void asteroid_initAnchor(AsteroidAnchor *ast)
Initializes an asteroid anchor.
void asteroid_freeExclude(AsteroidExclusion *exc)
Frees an asteroid exclusion.
const AsteroidType * asttype_getAll(void)
Gets all the asteroid types.
int asteroids_inField(const vec2 *p)
See if the position is in an asteroid field.
void asteroids_update(double dt)
Controls fleet spawning.
Represents an asteroid field anchor.
AsteroidTypeGroup ** groups
Represents an asteroid exclusion zone.
Represents a potential reward from the asteroid.
Represents a group of asteroids.
Represents a type of asteroid.
AsteroidReward * material
Represents a single asteroid.
const AsteroidType * type
Core damage that an outfit does.
Represents a solid in the game.
Abstraction for rendering sprite sheets.