Support definition of additional sector types in sector.config,
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.
This commit is contained in:
parent
063aabb893
commit
9e8f74d239
4 changed files with 9 additions and 10 deletions
|
@ -64,7 +64,7 @@ int
|
||||||
budg(void)
|
budg(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
long p_sect[SCT_MAXDEF+2][2];
|
long p_sect[SCT_TYPE_MAX+2][2];
|
||||||
int taxes, Ncivs, Nuws, bars, Nbars, mil;
|
int taxes, Ncivs, Nuws, bars, Nbars, mil;
|
||||||
int ships, sbuild, nsbuild, smaint;
|
int ships, sbuild, nsbuild, smaint;
|
||||||
int units, lbuild, nlbuild, lmaint;
|
int units, lbuild, nlbuild, lmaint;
|
||||||
|
@ -90,7 +90,7 @@ budg(void)
|
||||||
income = taxes + bars;
|
income = taxes + bars;
|
||||||
expenses = 0;
|
expenses = 0;
|
||||||
pr("Sector Type\t\t\tProduction\t\t\t Cost\n");
|
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)
|
if (!p_sect[i][1] || i == SCT_CAPIT)
|
||||||
continue;
|
continue;
|
||||||
pr("%-17s\t\t", dchr[i].d_name);
|
pr("%-17s\t\t", dchr[i].d_name);
|
||||||
|
@ -198,7 +198,7 @@ calc_all(long p_sect[][2],
|
||||||
int etu = etu_per_update;
|
int etu = etu_per_update;
|
||||||
|
|
||||||
mil_dbl_pay = 0;
|
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;
|
*taxes = *Ncivs = *Nuws = *bars = *Nbars = *mil = 0;
|
||||||
*ships = *sbuild = *nsbuild = *smaint = 0;
|
*ships = *sbuild = *nsbuild = *smaint = 0;
|
||||||
*units = *lbuild = *nlbuild = *lmaint = 0;
|
*units = *lbuild = *nlbuild = *lmaint = 0;
|
||||||
|
|
|
@ -290,10 +290,8 @@ bmnxtsct(struct nstr_sect *np)
|
||||||
static char
|
static char
|
||||||
map_char(unsigned char type, natid own, int owner_or_god)
|
map_char(unsigned char type, natid own, int owner_or_god)
|
||||||
{
|
{
|
||||||
if (type > SCT_MAXDEF) {
|
if (CANT_HAPPEN(type > SCT_TYPE_MAX || !dchr[type].d_mnem))
|
||||||
logerror("bad sector type %d\n", type);
|
|
||||||
return '?';
|
return '?';
|
||||||
}
|
|
||||||
if (owner_or_god
|
if (owner_or_god
|
||||||
|| type == SCT_WATER || type == SCT_MOUNT || type == SCT_WASTE
|
|| type == SCT_WATER || type == SCT_MOUNT || type == SCT_WASTE
|
||||||
|| (!own && (type == SCT_RURAL || type == SCT_PLAINS)))
|
|| (!own && (type == SCT_RURAL || type == SCT_PLAINS)))
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
* Jeff Bailey, 1990
|
* Jeff Bailey, 1990
|
||||||
* Steve McClure, 1996
|
* Steve McClure, 1996
|
||||||
* Ron Koenderink, 2005
|
* Ron Koenderink, 2005
|
||||||
|
* Markus Armbruster, 2006
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@ -499,7 +500,7 @@ show_sect_build(int foo)
|
||||||
int x, first;
|
int x, first;
|
||||||
|
|
||||||
first = 1;
|
first = 1;
|
||||||
for (x = 0; x <= SCT_MAXDEF; x++) {
|
for (x = 0; dchr[x].d_name; x++) {
|
||||||
if (dchr[x].d_mnem == 0)
|
if (dchr[x].d_mnem == 0)
|
||||||
continue;
|
continue;
|
||||||
if (dchr[x].d_cost < 0)
|
if (dchr[x].d_cost < 0)
|
||||||
|
@ -537,7 +538,7 @@ show_sect_stats(int foo)
|
||||||
struct natstr *natp;
|
struct natstr *natp;
|
||||||
|
|
||||||
natp = getnatp(player->cnum);
|
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)
|
if (dchr[x].d_mnem == 0)
|
||||||
continue;
|
continue;
|
||||||
if (first) {
|
if (first) {
|
||||||
|
@ -567,7 +568,7 @@ show_sect_capab(int foo)
|
||||||
int x, first = 1, i, j;
|
int x, first = 1, i, j;
|
||||||
char *tmpstr;
|
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)
|
if (dchr[x].d_mnem == 0 || dchr[x].d_prd < 0)
|
||||||
continue;
|
continue;
|
||||||
if (first) {
|
if (first) {
|
||||||
|
|
|
@ -112,7 +112,7 @@ update_main(void *unused)
|
||||||
logerror("done preparing sectors.");
|
logerror("done preparing sectors.");
|
||||||
logerror("producing for countries...");
|
logerror("producing for countries...");
|
||||||
for (x = 0; x < MAXNOC; x++) {
|
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));
|
memset(p_sect, 0, sizeof(p_sect));
|
||||||
mil_dbl_pay = 0;
|
mil_dbl_pay = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue