missing bits:
(budg, calc_all, update_main): Use SCT_TYPE_MAX instead of SCT_MAXDEF
to size tables.
(map_char): Update sanity check; use CANT_HAPPEN().
(show_sect_build, show_sect_stats, show_sect_capab): Use the sentinel
instead of SCT_MAXDEF.
- long p_sect[SCT_MAXDEF+2][2];
+ long p_sect[SCT_TYPE_MAX+2][2];
int taxes, Ncivs, Nuws, bars, Nbars, mil;
int ships, sbuild, nsbuild, smaint;
int units, lbuild, nlbuild, lmaint;
int taxes, Ncivs, Nuws, bars, Nbars, mil;
int ships, sbuild, nsbuild, smaint;
int units, lbuild, nlbuild, lmaint;
income = taxes + bars;
expenses = 0;
pr("Sector Type\t\t\tProduction\t\t\t Cost\n");
income = taxes + bars;
expenses = 0;
pr("Sector Type\t\t\tProduction\t\t\t Cost\n");
- for (i = 0; i <= SCT_MAXDEF; i++) {
+ for (i = 0; i <= SCT_TYPE_MAX; i++) {
if (!p_sect[i][1] || i == SCT_CAPIT)
continue;
pr("%-17s\t\t", dchr[i].d_name);
if (!p_sect[i][1] || i == SCT_CAPIT)
continue;
pr("%-17s\t\t", dchr[i].d_name);
int etu = etu_per_update;
mil_dbl_pay = 0;
int etu = etu_per_update;
mil_dbl_pay = 0;
- memset(p_sect, 0, sizeof(**p_sect) * (SCT_MAXDEF+2) * 2);
+ memset(p_sect, 0, sizeof(**p_sect) * (SCT_TYPE_MAX+2) * 2);
*taxes = *Ncivs = *Nuws = *bars = *Nbars = *mil = 0;
*ships = *sbuild = *nsbuild = *smaint = 0;
*units = *lbuild = *nlbuild = *lmaint = 0;
*taxes = *Ncivs = *Nuws = *bars = *Nbars = *mil = 0;
*ships = *sbuild = *nsbuild = *smaint = 0;
*units = *lbuild = *nlbuild = *lmaint = 0;
static char
map_char(unsigned char type, natid own, int owner_or_god)
{
static char
map_char(unsigned char type, natid own, int owner_or_god)
{
- if (type > SCT_MAXDEF) {
- logerror("bad sector type %d\n", type);
+ if (CANT_HAPPEN(type > SCT_TYPE_MAX || !dchr[type].d_mnem))
if (owner_or_god
|| type == SCT_WATER || type == SCT_MOUNT || type == SCT_WASTE
|| (!own && (type == SCT_RURAL || type == SCT_PLAINS)))
if (owner_or_god
|| type == SCT_WATER || type == SCT_MOUNT || type == SCT_WASTE
|| (!own && (type == SCT_RURAL || type == SCT_PLAINS)))
* Jeff Bailey, 1990
* Steve McClure, 1996
* Ron Koenderink, 2005
* Jeff Bailey, 1990
* Steve McClure, 1996
* Ron Koenderink, 2005
+ * Markus Armbruster, 2006
- for (x = 0; x <= SCT_MAXDEF; x++) {
+ for (x = 0; dchr[x].d_name; x++) {
if (dchr[x].d_mnem == 0)
continue;
if (dchr[x].d_cost < 0)
if (dchr[x].d_mnem == 0)
continue;
if (dchr[x].d_cost < 0)
struct natstr *natp;
natp = getnatp(player->cnum);
struct natstr *natp;
natp = getnatp(player->cnum);
- for (x = 0; x <= SCT_MAXDEF; x++) {
+ for (x = 0; dchr[x].d_name; x++) {
if (dchr[x].d_mnem == 0)
continue;
if (first) {
if (dchr[x].d_mnem == 0)
continue;
if (first) {
int x, first = 1, i, j;
char *tmpstr;
int x, first = 1, i, j;
char *tmpstr;
- for (x = 0; x <= SCT_MAXDEF; x++) {
+ for (x = 0; dchr[x].d_name; x++) {
if (dchr[x].d_mnem == 0 || dchr[x].d_prd < 0)
continue;
if (first) {
if (dchr[x].d_mnem == 0 || dchr[x].d_prd < 0)
continue;
if (first) {
logerror("done preparing sectors.");
logerror("producing for countries...");
for (x = 0; x < MAXNOC; x++) {
logerror("done preparing sectors.");
logerror("producing for countries...");
for (x = 0; x < MAXNOC; x++) {
- long p_sect[SCT_MAXDEF+2][2];
+ long p_sect[SCT_TYPE_MAX+2][2];
memset(p_sect, 0, sizeof(p_sect));
mil_dbl_pay = 0;
memset(p_sect, 0, sizeof(p_sect));
mil_dbl_pay = 0;