New option RAILWAYS

With RAILWAYS, highway-like sectors double as rail.  They need to be
at least 5% efficient to be operational, and then they additionally
extend rail into adjacent sectors that are at least 60% efficient.

New opt_RAILWAYS, SCT_HAS_RAIL(), sct_rail_track().  Update
sector_mcost(), bp_neighbors(), lnd_mar_one_sector() for RAILWAYS
mobility rules.  Update sinfra(), spyline(), satdisp_sect() to show
rail track instead of rail infrastructure for RAILWAYS.

New virtual sector selector track, implemented by nsc_sct_track().
This commit is contained in:
Markus Armbruster 2008-10-26 13:24:41 -04:00
parent cacc393c53
commit b27298d4c5
13 changed files with 93 additions and 7 deletions

View file

@ -183,6 +183,11 @@ extern struct dchrstr bigcity_dchr;
#define FORTEFF 5 /* forts must be 5% efficient to fire. */
/* Can trains enter sector SP? */
#define SCT_HAS_RAIL(sp) \
(opt_RAILWAYS ? sct_rail_track((sp)) != 0 \
: intrchr[INT_RAIL].in_enable && (sp)->sct_rail != 0)
#define MOB_MOVE 0
#define MOB_MARCH 1
#define MOB_RAIL 2
@ -218,5 +223,6 @@ struct sctintrins {
extern struct sctintrins intrchr[INT_DEF + 2];
extern int fort_fire(struct sctstr *);
extern int sct_rail_track(struct sctstr *);
#endif