subs: Make shp_check_nav() more like lnd_check_mar()

No functional change.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2014-12-28 20:12:01 +01:00
parent d87bd96496
commit c70d9375ef
5 changed files with 51 additions and 56 deletions

View file

@ -30,7 +30,7 @@
* Dave Pare
* Ken Stevens, 1995
* Steve McClure, 1998
* Markus Armbruster, 2004-2010
* Markus Armbruster, 2004-2014
*/
@ -92,6 +92,14 @@ struct sctstr {
unsigned char sct_defense; /* Defensive value of a sector */
};
enum d_navigation {
NAV_NONE, /* ships can't navigate */
NAVOK, /* ships can always navigate */
NAV_02, /* requires 2% effic to navigate */
NAV_CANAL, /* requires 2% effic to navigate and M_CANAL capability */
NAV_60 /* requires 60% effic to navigate */
};
struct dchrstr {
unsigned char d_uid;
char d_mnem; /* map symbol */

View file

@ -139,6 +139,14 @@ enum {
SHP_TORP_SHELLS = 3 /* number of shells used by a torpedo */
};
/* Whether and why a ship is stuck in a sector */
enum shp_stuck {
SHP_STUCK_NOT, /* not stuck */
SHP_STUCK_CONSTRUCTION, /* sector not efficient enough */
SHP_STUCK_CANAL, /* ship lacks M_CANAL */
SHP_STUCK_IMPASSABLE /* sector type not navigable */
};
extern int m_armor(struct mchrstr *, int);
extern int m_speed(struct mchrstr *, int);
extern int m_visib(struct mchrstr *, int);
@ -165,7 +173,7 @@ extern void shp_sel(struct nstr_item *, struct emp_qelem *);
extern struct ulist *shp_insque(struct shpstr *, struct emp_qelem *);
extern void shp_nav(struct emp_qelem *, double *, double *, int *, natid);
extern int shp_sweep(struct emp_qelem *, int, int, natid);
extern enum d_navigation shp_check_nav(struct shpstr *, struct sctstr *);
extern enum shp_stuck shp_check_nav(struct shpstr *, struct sctstr *);
extern int sect_has_dock(struct sctstr *);
extern int shp_hardtarget(struct shpstr *);
extern int shp_nav_one_sector(struct emp_qelem *, int, natid, int);

View file

@ -27,7 +27,7 @@
* types.h: Empire types
*
* Known contributors to this file:
* Markus Armbruster, 2006-2013
* Markus Armbruster, 2006-2014
*/
#ifndef TYPES_H
@ -36,14 +36,6 @@
typedef unsigned char natid; /* NSC_NATID must match this */
typedef short coord;
enum d_navigation {
NAV_NONE, /* ships can't navigate */
NAVOK, /* ships can always navigate */
NAV_02, /* requires 2% effic to navigate */
NAV_CANAL, /* requires 2% effic to navigate and M_CANAL capability */
NAV_60 /* requires 60% effic to navigate */
};
struct bp;
struct emp_qelem;
struct empobj;