[Change] Some more clean up.
This commit is contained in:
parent
b6ede4eb01
commit
da58e41da9
38
src/pilot.c
38
src/pilot.c
@ -1369,7 +1369,7 @@ void pilot_addHook(Pilot* pilot, int type, int hook) {
|
|||||||
*/
|
*/
|
||||||
void pilot_init(Pilot* pilot, Ship* ship, char* name, int faction,
|
void pilot_init(Pilot* pilot, Ship* ship, char* name, int faction,
|
||||||
char* ai, const double dir, const Vec2* pos,
|
char* ai, const double dir, const Vec2* pos,
|
||||||
const Vec2* vel, const int flags) {
|
const Vec2* vel, const unsigned int flags) {
|
||||||
|
|
||||||
ShipOutfit* so;
|
ShipOutfit* so;
|
||||||
|
|
||||||
@ -1432,6 +1432,10 @@ void pilot_init(Pilot* pilot, Ship* ship, char* name, int faction,
|
|||||||
pilot->think = ai_think;
|
pilot->think = ai_think;
|
||||||
pilot->render = pilot_render;
|
pilot->render = pilot_render;
|
||||||
}
|
}
|
||||||
|
/* Set enter hyperspace flag if needed. */
|
||||||
|
if(flags & PILOT_HYP_END)
|
||||||
|
pilot_setFlag(pilot, PILOT_HYP_END);
|
||||||
|
|
||||||
/* All update the same way. */
|
/* All update the same way. */
|
||||||
pilot->update = pilot_update;
|
pilot->update = pilot_update;
|
||||||
|
|
||||||
@ -1462,7 +1466,7 @@ void pilot_init(Pilot* pilot, Ship* ship, char* name, int faction,
|
|||||||
*/
|
*/
|
||||||
unsigned int pilot_create(Ship* ship, char* name, int faction,
|
unsigned int pilot_create(Ship* ship, char* name, int faction,
|
||||||
char* ai, const double dir, const Vec2* pos,
|
char* ai, const double dir, const Vec2* pos,
|
||||||
const Vec2* vel, const int flags) {
|
const Vec2* vel, const unsigned int flags) {
|
||||||
|
|
||||||
Pilot* dyn;
|
Pilot* dyn;
|
||||||
|
|
||||||
@ -1499,7 +1503,7 @@ unsigned int pilot_create(Ship* ship, char* name, int faction,
|
|||||||
* @return Pointer to the new pilot (not added to stack).
|
* @return Pointer to the new pilot (not added to stack).
|
||||||
*/
|
*/
|
||||||
Pilot* pilot_createEmpty(Ship* ship, char* name,
|
Pilot* pilot_createEmpty(Ship* ship, char* name,
|
||||||
int faction, char* ai, const int flags) {
|
int faction, char* ai, const unsigned int flags) {
|
||||||
|
|
||||||
Pilot* dyn;
|
Pilot* dyn;
|
||||||
dyn = MALLOC_L(Pilot);
|
dyn = MALLOC_L(Pilot);
|
||||||
@ -1650,19 +1654,29 @@ void pilots_cleanAll(void) {
|
|||||||
*/
|
*/
|
||||||
void pilots_update(double dt) {
|
void pilots_update(double dt) {
|
||||||
int i;
|
int i;
|
||||||
|
Pilot* p;
|
||||||
|
|
||||||
for(i = 0; i < pilot_nstack; i++) {
|
for(i = 0; i < pilot_nstack; i++) {
|
||||||
if(pilot_stack[i]->think && !pilot_isDisabled(pilot_stack[i])) {
|
p = pilot_stack[i];
|
||||||
|
|
||||||
|
/* See if should think. */
|
||||||
|
if(p->think && !pilot_isDisabled(p)) {
|
||||||
/* Hyperspace gets special treatment. */
|
/* Hyperspace gets special treatment. */
|
||||||
if(pilot_isFlag(pilot_stack[i], PILOT_HYP_PREP))
|
if(pilot_isFlag(p, PILOT_HYP_PREP))
|
||||||
pilot_hyperspace(pilot_stack[i]);
|
pilot_hyperspace(p);
|
||||||
else
|
/* Entering hyperspace. */
|
||||||
pilot_stack[i]->think(pilot_stack[i]);
|
else if(pilot_isFlag(p, PILOT_HYP_END)) {
|
||||||
|
if(VMOD(p->solid->vel) < 2*p->speed)
|
||||||
|
pilot_rmFlag(p, PILOT_HYP_END);
|
||||||
}
|
}
|
||||||
if(pilot_stack[i]->update) {
|
|
||||||
if(pilot_isFlag(pilot_stack[i], PILOT_DELETE))
|
|
||||||
pilot_destroy(pilot_stack[i]);
|
|
||||||
else
|
else
|
||||||
pilot_stack[i]->update(pilot_stack[i], dt);
|
p->think(p);
|
||||||
|
}
|
||||||
|
if(p->update) { /* Update. */
|
||||||
|
if(pilot_isFlag(p, PILOT_DELETE))
|
||||||
|
pilot_destroy(p);
|
||||||
|
else
|
||||||
|
p->update(p, dt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
11
src/pilot.h
11
src/pilot.h
@ -53,8 +53,9 @@
|
|||||||
#define PILOT_HYP_PREP (1<<15) /**< Pilot is getting ready for hyperspace. */
|
#define PILOT_HYP_PREP (1<<15) /**< Pilot is getting ready for hyperspace. */
|
||||||
#define PILOT_HYP_BEGIN (1<<16) /**< Pilot is starting engines. */
|
#define PILOT_HYP_BEGIN (1<<16) /**< Pilot is starting engines. */
|
||||||
#define PILOT_HYPERSPACE (1<<17) /**< Pilot is in hyperspace. */
|
#define PILOT_HYPERSPACE (1<<17) /**< Pilot is in hyperspace. */
|
||||||
#define PILOT_BOARDED (1<<18) /**< Pilot has been boarded already! */
|
#define PILOT_HYP_END (1<<18) /**< Pilot is exiting hyperspace. */
|
||||||
#define PILOT_BRIBED (1<<19) /**< Pilot has been bribed already. */
|
#define PILOT_BOARDED (1<<20) /**< Pilot has been boarded already! */
|
||||||
|
#define PILOT_BRIBED (1<<21) /**< Pilot has been bribed already. */
|
||||||
#define PILOT_DISABLED (1<<26) /**< Pilot is disabled. */
|
#define PILOT_DISABLED (1<<26) /**< Pilot is disabled. */
|
||||||
#define PILOT_DEAD (1<<27) /**< Pilot is on it's death bed. */
|
#define PILOT_DEAD (1<<27) /**< Pilot is on it's death bed. */
|
||||||
#define PILOT_DEATH_SOUND (1<<28) /**< Pilot just did death explosion. */
|
#define PILOT_DEATH_SOUND (1<<28) /**< Pilot just did death explosion. */
|
||||||
@ -269,14 +270,14 @@ int pilot_rmMissionCargo(Pilot* pilot, unsigned int cargo_id, int jettison);
|
|||||||
/* Creation. */
|
/* Creation. */
|
||||||
void pilot_init(Pilot* dest, Ship* ship, char* name, int faction,
|
void pilot_init(Pilot* dest, Ship* ship, char* name, int faction,
|
||||||
char* ai, const double dir, const Vec2* pos,
|
char* ai, const double dir, const Vec2* pos,
|
||||||
const Vec2* vel, const int flags);
|
const Vec2* vel, const unsigned int flags);
|
||||||
|
|
||||||
unsigned int pilot_create(Ship* ship, char* name, int faction,
|
unsigned int pilot_create(Ship* ship, char* name, int faction,
|
||||||
char* ai, const double dir, const Vec2* pos,
|
char* ai, const double dir, const Vec2* pos,
|
||||||
const Vec2* vel, const int flags);
|
const Vec2* vel, const unsigned int flags);
|
||||||
|
|
||||||
Pilot* pilot_createEmpty(Ship* ship, char* name,
|
Pilot* pilot_createEmpty(Ship* ship, char* name,
|
||||||
int faction, char* ai, const int flags);
|
int faction, char* ai, const unsigned int flags);
|
||||||
|
|
||||||
Pilot* pilot_copy(Pilot* src);
|
Pilot* pilot_copy(Pilot* src);
|
||||||
|
|
||||||
|
@ -457,6 +457,7 @@ static void space_addFleet(Fleet* fleet, int init) {
|
|||||||
FleetPilot* plt;
|
FleetPilot* plt;
|
||||||
Planet* planet;
|
Planet* planet;
|
||||||
int i, c;
|
int i, c;
|
||||||
|
unsigned int flags;
|
||||||
double a, d;
|
double a, d;
|
||||||
Vec2 vv, vp, vn;
|
Vec2 vv, vp, vn;
|
||||||
|
|
||||||
@ -515,10 +516,13 @@ static void space_addFleet(Fleet* fleet, int init) {
|
|||||||
vect_cadd(&vp, RNG(75, 150) * (RNG(0,1) ? 1 : -1),
|
vect_cadd(&vp, RNG(75, 150) * (RNG(0,1) ? 1 : -1),
|
||||||
RNG(75, 150) * (RNG(0,1) ? 1 : -1));
|
RNG(75, 150) * (RNG(0,1) ? 1 : -1));
|
||||||
a = vect_angle(&vp, &vn);
|
a = vect_angle(&vp, &vn);
|
||||||
|
flags = 0;
|
||||||
|
|
||||||
/* Entering via hyperspace. */
|
/* Entering via hyperspace. */
|
||||||
if(c == 0)
|
if(c == 0) {
|
||||||
vect_pset(&vv, HYPERSPACE_VEL, a);
|
vect_pset(&vv, HYPERSPACE_VEL, a);
|
||||||
|
flags |= PILOT_HYP_END;
|
||||||
|
}
|
||||||
/* Starting out landed. */
|
/* Starting out landed. */
|
||||||
else if(c == 1)
|
else if(c == 1)
|
||||||
vectnull(&vv);
|
vectnull(&vv);
|
||||||
@ -534,7 +538,7 @@ static void space_addFleet(Fleet* fleet, int init) {
|
|||||||
a,
|
a,
|
||||||
&vp,
|
&vp,
|
||||||
&vv,
|
&vv,
|
||||||
0);
|
flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user