* Thomas Ruschak, 1992
* Ken Stevens, 1995
* Steve McClure, 1998
- * Markus Armbruster, 2004-2016
+ * Markus Armbruster, 2004-2020
*/
#ifndef LAND_H
#include "retreat.h"
#include "types.h"
-#define LND_TYPE_MAX 30
#define LAND_MINEFF 10
#define LAND_MINFIREEFF 40 /* arty must be this effic to fire */
#define putland(n, p) ef_write(EF_LAND, (n), (p))
#define getlandp(n) ((struct lndstr *)ef_ptr(EF_LAND, (n)))
-extern struct lchrstr lchr[LND_TYPE_MAX + 2];
+extern struct lchrstr lchr[32];
enum {
LND_AIROPS_EFF = 50 /* min. efficiency for air ops */
*
* Known contributors to this file:
* Dave Pare, 1986
- * Markus Armbruster, 2004-2016
+ * Markus Armbruster, 2004-2020
*/
#ifndef NUKE_H
#include "item.h"
#include "types.h"
-#define N_MAXNUKE 20
#define MIN_DRNUKE_CONST 0.001
struct nukstr {
#define putnuke(n, p) ef_write(EF_NUKE, (n), (p))
#define getnukep(n) ((struct nukstr *)ef_ptr(EF_NUKE, (n)))
-extern struct nchrstr nchr[N_MAXNUKE + 1];
+extern struct nchrstr nchr[21];
/* src/lib/common/cargo.c */
extern void nuk_carrier_change(struct nukstr *, int, int, int);
* Dave Pare, 1986
* Ken Stevens, 1995
* Steve McClure, 1998
- * Markus Armbruster, 2004-2016
+ * Markus Armbruster, 2004-2020
*/
#ifndef PLANE_H
#include "queue.h"
#include "types.h"
-#define PLN_TYPE_MAX 46
#define PLANE_MINEFF 10
struct plnstr {
#define putplane(n, p) ef_write(EF_PLANE, (n), (p))
#define getplanep(n) ((struct plnstr *)ef_ptr(EF_PLANE, (n)))
-extern struct plchrstr plchr[PLN_TYPE_MAX + 2];
+extern struct plchrstr plchr[48];
struct shiplist {
int uid;
char *p_sname; /* short (7 char or less) name of product */
};
-#define P_MAX 22
-
-extern struct pchrstr pchr[P_MAX + 2];
+extern struct pchrstr pchr[24];
#endif
* Dave Pare
* Ken Stevens, 1995
* Steve McClure, 1998
- * Markus Armbruster, 2004-2016
+ * Markus Armbruster, 2004-2020
*/
#define SCT_PLAINS 32 /* plains sector */
#define SCT_BTOWER 33 /* Bridge tower */
-#define SCT_TYPE_MAX 38
-
#define getsect(x, y, p) ef_read(EF_SECTOR, sctoff((x), (y)), (p))
#define putsect(p) ef_write(EF_SECTOR, (p)->sct_uid, (p))
#define getsectp(x, y) ((struct sctstr *)ef_ptr(EF_SECTOR, sctoff((x), (y))))
#define getsectid(id) ((struct sctstr *)ef_ptr(EF_SECTOR, (id)))
-extern struct dchrstr dchr[SCT_TYPE_MAX + 2];
+extern struct dchrstr dchr[40];
#define IS_BIG_CITY(type) (dchr[(type)].d_pkg == UPKG)
/* Minimal efficiency of sectors that can be knocked down (bridges) */
* Thomas Ruschak, 1992
* Ken Stevens, 1995
* Steve McClure, 1998
- * Markus Armbruster, 2004-2016
+ * Markus Armbruster, 2004-2020
*/
#ifndef SHIP_H
#include "retreat.h"
#include "types.h"
-#define SHP_TYPE_MAX 46
#define SHIP_MINEFF 20
#define MAXSHPNAMLEN 24
#define putship(n, p) ef_write(EF_SHIP, (n), (p))
#define getshipp(n) ((struct shpstr *)ef_ptr(EF_SHIP, (n)))
-extern struct mchrstr mchr[SHP_TYPE_MAX + 2];
+extern struct mchrstr mchr[48];
enum {
SHP_AIROPS_EFF = 50, /* min. efficiency for air ops */
* Initialized on startup from land.config and deity custom config (if any).
* Terminated by a sentinel with null l_name.
*/
-struct lchrstr lchr[LND_TYPE_MAX + 2];
+struct lchrstr lchr[];
#define logx(a, b) (log((a)) / log((b)))
#define LND_ATTDEF(b, t) (((b) * (1.0 + ((sqrt((t)) / 100.0) * 4.0))) \
* Table of nuke types
* Initialized on startup from nuke.config and deity custom config (if any).
*/
-struct nchrstr nchr[N_MAXNUKE + 1];
+struct nchrstr nchr[];
* Initialized on startup from plane.config and deity custom config (if any).
* Terminated by a sentinel with null pl_name.
*/
-struct plchrstr plchr[PLN_TYPE_MAX + 2];
+struct plchrstr plchr[];
#define logx(a, b) (log((a)) / log((b)))
#define PLN_ATTDEF(b, t) (b + ((b?1:0) * ((t/20)>10?10:(t/20))))
* Table of product types
* Initialized on startup from product.config and deity custom config (if any).
*/
-struct pchrstr pchr[P_MAX + 2];
+struct pchrstr pchr[];
* Initialized on startup from sect.config and deity custom config (if any).
* Terminated by a sentinel with null d_name.
*/
-struct dchrstr dchr[SCT_TYPE_MAX + 2];
+struct dchrstr dchr[];
/*
* Table of infrastructure types
* Initialized on startup from ship.config and deity custom config (if any).
* Terminated by a sentinel with null m_name.
*/
-struct mchrstr mchr[SHP_TYPE_MAX + 2];
+struct mchrstr mchr[];
#define logx(a, b) (log((a)) / log((b)))
#define SHP_DEF(b, t) (t ? (b * (logx(t, 40.0) < 1.0 ? 1.0 : \