X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Fupdate.h;h=a81684e33a4cfb536434df2437d6aeac89df8b5a;hp=97982430dd30986ff7b61f99cebd3533fa822d90;hb=4a714a37d;hpb=893093f99941fd62377a2c06615d1a9e35255af9 diff --git a/include/update.h b/include/update.h index 97982430d..a81684e33 100644 --- a/include/update.h +++ b/include/update.h @@ -36,16 +36,42 @@ #include "sect.h" -#define SCT_EFFIC (SCT_TYPE_MAX + 1) -#define SCT_MAINT (SCT_TYPE_MAX + 2) -#define SCT_BUDG_MAX SCT_MAINT +#define IMPORT 0 +#define EXPORT 1 + +enum { + BUDG_SHP_BUILD, + BUDG_SHP_MAINT, + BUDG_PLN_BUILD, + BUDG_PLN_MAINT, + BUDG_LND_BUILD, + BUDG_LND_MAINT, + BUDG_SCT_BUILD, + BUDG_SCT_MAINT, + BUDG_BLD_MAX = BUDG_SCT_MAINT +}; + +struct budg_item { + double money; /* money delta */ + int count; /* #things making/consuming the money */ +}; + +/* A nation's budget for an update */ +struct budget { + /* production by sector type */ + struct budg_item prod[SCT_TYPE_MAX + 1]; + /* building and maintenance */ + struct budg_item bm[BUDG_BLD_MAX + 1]; + /* population, taxes, military payroll, bank interest */ + struct budg_item civ, mil, uw, bars; + /* treasury */ + int start_money; /* at beginning of update */ + double money; /* current */ +}; /* main.c */ -extern int money[MAXNOC]; +extern struct budget nat_budget[MAXNOC]; extern int pops[MAXNOC]; -extern int sea_money[MAXNOC]; -extern int lnd_money[MAXNOC]; -extern int air_money[MAXNOC]; extern int tpops[MAXNOC]; /* nat.c */ extern float levels[MAXNOC][4]; @@ -71,7 +97,7 @@ extern int feed_people(short *, int); extern double food_needed(short *, int); extern int famine_victims(short *, int); /* land.c */ -extern int prod_land(int, int, struct bp *, int); +extern void prod_land(int, int, struct bp *, int); /* main.c */ /* in server.h */ /* material.c */ @@ -95,19 +121,21 @@ extern void prod_nat(int); extern void do_plague(struct sctstr *, int); extern int plague_people(struct natstr *, short *, int *, int *, int); /* plane.c */ -extern int prod_plane(int, int, struct bp *, int); +extern void prod_plane(int, int, struct bp *, int); /* populace.c */ extern void populace(struct sctstr *, int); extern int total_work(int, int, int, int, int, int); /* prepare.c */ -extern void tax(struct sctstr *, int, int *, int *, int *, int *); -extern int upd_slmilcosts(natid, int); extern void prepare_sects(int); -extern int bank_income(struct sctstr *, int); +extern void tax(struct sctstr *, int, int *); +extern void upd_slmilcosts(int, natid); +extern void bank_income(struct sctstr *, int); +extern void pay_reserve(struct natstr *, int); /* produce.c */ -extern int produce(struct natstr *, struct sctstr *, int *); -extern int prod_materials_cost(struct pchrstr *, short[], int *); -extern int prod_resource_limit(struct pchrstr *, unsigned char *); +extern void produce(struct natstr *, struct sctstr *); +extern double prod_output(struct sctstr *, double); +extern double prod_materials_cost(struct pchrstr *, short[], int *); +extern double prod_resource_limit(struct pchrstr *, unsigned char *); extern double prod_eff(int, float); /* removewants.c */ extern int update_removewants(void); @@ -119,8 +147,8 @@ extern double buildeff(struct sctstr *); extern void do_fallout(struct sctstr *, int); extern void spread_fallout(struct sctstr *, int); extern void decay_fallout(struct sctstr *, int); -extern void produce_sect(struct natstr *, int, struct bp *, int[][2]); +extern void produce_sect(struct natstr *, int, struct bp *); /* ship.c */ -extern int prod_ship(int, int, struct bp *, int); +extern void prod_ship(int, int, struct bp *, int); #endif