Commit graph

145 commits

Author SHA1 Message Date
cd668a99a6 (age_levels): Simplify country status check for leaking tech. Don't
leak to countries in state STAT_NEW.
2006-01-07 09:26:49 +00:00
8e5d576fff (nxtitemp): Use void * for generic pointer function value. 2006-01-06 16:55:17 +00:00
3e400c018c Update copyright notice. 2006-01-05 13:36:57 +00:00
8b16c31223 Change nation status from bits to a simple enum:
(nat_status, STAT_UNUSED, STAT_VIS, STAT_ACTIVE): New.
(STAT_NEW, STAT_SANCT, STAT_GOD): Change into nat_status members.
(STAT_INUSE, STAT_NORM): Remove.
(natstr): Use new nat_status for nat_stat.
    New value       Old value
    STAT_UNUSED     0
    STAT_NEW        STAT_INUSE | STAT_NEW
    STAT_VIS        STAT_INUSE
    STAT_SANCT      STAT_INUSE | STAT_SANCT
    STAT_ACTIVE     STAT_INUSE | STAT_NORM
    STAT_GOD        STAT_INUSE | STAT_NORM | STAT_GOD
Users changed.
2006-01-04 22:49:42 +00:00
2e64ebbb3a (update_removewants): Clearing WUPD_WANT trashed all the other bits.
They are currently unused.
2006-01-04 18:28:50 +00:00
0d267e0b24 There's no reason to include <time.h> in empio.h, except it's missing
in a couple of other files.  Include it where it's needed.
2005-12-28 21:25:39 +00:00
3aebb68ee7 Include config.h. 2005-12-27 18:04:19 +00:00
a98626df2d Replace the build process. The new one requires GNU Make, Autoconf
and Autoconf macros that come with Automake.  It supports multiple
separate builds of the same source tree, and updates dependencies
automatically.  Targets info, html, install, install-html, uninstall
and dist are not yet implemented.

System configuration is now automatic.  Previously, you had to choose
one of several canned system configurations, defined in Make.sysdefs.
Currently, system configuration always uses UCONTEXT for LWP, and
chooses LWP only if its requirements are met.

Feature configuration changed: instead of editing build.conf (further
processed by doconfig), you pass arguments to configure.  Note that
build.conf settings that can be overridden in econfig have no
configure equivalent; just edit econfig instead.

Because generated headers complicate makefiles, fold gamesdef.h into
its users: path.c and ipglob.c become path.c.in and ipglob.c.in,
constants.c, vers.c, options.h simply hardcode defaults (most of them
are run-time configurable).

Call the client empire instead of emp_client.  This matches what the
old standalone build did.
2005-12-20 20:25:35 +00:00
e29f288289 Remove silly superflous parenthesis. 2005-12-03 21:14:26 +00:00
Ron Koenderink
ac25058b50 (prod_nat): Remove non-functional aging code for nat_contact.
Remove nat_contact debugging from server log.

(update_main, prod_nat): Move aging code for nat_contact
from update_main to prod_nat.
2005-11-18 23:23:04 +00:00
Ron Koenderink
a2798857cf (fuel, load, prod, max_population, shp_nav_one_sector,
nav_loadship, upd_buildeff): Identify BIG_CITY
(IS_BIG_CITY) by using packing type of UPKG instead of
opt_BIG_CITY and sector type of SCT_CAPITAL.
2005-11-14 13:52:12 +00:00
f2e6d6b232 (ef_ptr): Change return type to void *.
(ef_ptr): Use CANT_HAPPEN() to ensure EFF_MEM; check it before less
serious index out of range failure.
2005-10-24 21:43:47 +00:00
19d1830bc4 (babies): Err, the maxpop case wasn't an optimization... Without
that, we get negative babies, which leads to negative avail and baby
food (cannibalism?) in grow_people().  Restore it.
2005-10-11 20:10:15 +00:00
30a4437714 (babies): Factored out of grow_people(). Identical, except it doesn't
bother to `optimize' the maxpop case, and it drops the weird food
limit computation for opt_NOFOOD, which didn't limited for any
reasonable game parameters.
2005-10-02 19:10:16 +00:00
ad84132688 Remove some redundant parenthesis; no functional change. 2005-10-02 10:16:19 +00:00
745bdf7fd1 (prod_land, prod_ship): Simplify. 2005-10-02 10:15:59 +00:00
c9dbe828bc (do_feed): Simplify.
(starvation): Pointless.  Inline into do_feed() and remove.

(growfood): Doc clarification.
2005-10-01 18:44:25 +00:00
09b0b83971 (IO_CONN, io_conn, IOQ_BUFSIZE, MAXIOV, LND_NOTANY, plur)
(techfactfire, reltech, P_DISTING, PLN_MAXDEF, filetruncate, sct_init)
(nxtsctp, AN_SAILDIR, UDTIMES_MAX, BLITZTIME): Unused, remove.
2005-09-30 19:51:32 +00:00
dfa56cb0ef (diridx): New. Use instead of chkdir() where direction characters
must be valid.  Oopses on bad direction characters.
(pathtoxy, ac_encounter): Bad direction characters used to lead to bad
array subscript and potential disaster.
(pathrange, path): Stop on DIR_STOP as well as on bad direction
characters.  This is just for consistency with other code; DIR_STOP
should occur only last in a path here.
(sail_nav_fleet, nav_ship): No change except for the oops.
2005-09-25 09:49:36 +00:00
3e01ab0a1d (upd_ship): Limit oil production to what's actually in the ground. 2005-09-18 12:17:18 +00:00
Ron Koenderink
a7fa7dee30 (io_output_all,update_main,update_wait): Do not block on writing when
aborting commands for an update.  Move update_pending to the start of
the update sequence where the commands are aborted.
2005-08-21 17:17:38 +00:00
591c82bf7c (checksect, give_back_cap, guerrilla): No longer change capital to
agribusiness.  That was done when the occupier abandons the old-owners
capital or it revolts, to prevent players from sacking the same
capital many timers.  The server has a much better way to prevent that
since 4.2.7, so this weird hack is no longer useful.  Thanks to Pat
Loney for pointing this out.
2005-07-31 13:55:50 +00:00
Ron Koenderink
fd81bf86eb (meltitems): Remove unnecessary checks. 2005-07-25 13:12:22 +00:00
Ron Koenderink
7920252986 (meltitems): Move melt_item_denom into the ichr structure. 2005-07-24 22:20:05 +00:00
380b063f9c Remove some redundant parenthesis; no functional change. 2005-07-23 19:48:35 +00:00
c41c45be61 Delete some code that has been disabled out for ages and looks
useless or wrong.
2005-07-23 18:35:07 +00:00
e15b7e2b9a (trade_desc, get_materials): Use i_type variable instead of int for
iterating over item types.
2005-07-23 16:53:06 +00:00
bf83673bb5 (deliver): Do not deliver friendly civilians into occupied sectors. 2005-06-26 13:32:15 +00:00
2f847f874d Document use of UTF-8. 2005-06-13 19:07:00 +00:00
8585ec930f Remove some redundant casts. 2005-06-12 08:17:13 +00:00
4f59fc9967 Remove a bunch of redundant casts. 2005-06-12 06:31:48 +00:00
63769b0342 (prod_plane): Remove redundant initialization. 2005-05-30 15:07:34 +00:00
1ec5767d5f Doc & formatting fixes. 2005-05-30 15:03:24 +00:00
9b28594b5b (nxtitemp): Remove last parameter. Non-zero argument doesn't make
sense and is never passed.  Callers changed.
2005-05-28 08:22:42 +00:00
Ron Koenderink
9f27f5b02a (ship_grow_scale, plane_grow_scale, land_grow_scale): Change from int
to float.  This allows more control of the max. efficiency gain, and
makes it similiar to ship_mob_scale etc.  Closes #1025600.
2005-04-05 03:00:35 +00:00
db0773145d Fix the previous rev. 2005-03-19 17:04:20 +00:00
17f8ffee1b (produce): When player->simulation, level production executed item
production code for item I_NONE.  This tries to put products into
vec[I_NONE].  Until item.h rev. 1.12, vec[I_NONE] was unused and zero,
so it worked.  Since then, it's a subscript out of bounds, clobbering
two bytes of stack.  The (unpredictable) stack contents could make the
code believe that there's not enough space for the `products', which
then reduced predicted production, typically to zero.
2005-03-19 16:50:22 +00:00
ab509c22ef (guerrilla): Fix saturation of civilians (new in rev. 1.9). It
created anti-uw, which made the next checksect() oops.
2005-03-19 15:57:41 +00:00
345ad3dfe0 Update copyright notice. 2005-03-16 22:03:16 +00:00
Marc Olzheim
a0fca37ce1 Get rid of "s_char". No functional changes. 2005-03-15 18:59:24 +00:00
590cfe674a [GODZILLA]: Incomplete, unused, remove. 2005-03-12 13:27:13 +00:00
Ron Koenderink
0b172c6553 (NS_ALL) [_WIN32]: Change NS_EVERYTHING back to NS_ALL, #undef NS_ALL to prevent conflict with winsock2.h 2005-03-08 00:04:43 +00:00
Ron Koenderink
3d3d6755aa (nreport, filereport, ncache, addfree, findfree, delete_old_news)
(init_nreport, update_main, start_server): Switch news to be sorted
list with all new news items added at the end of the list.  The
removal of expired news items is done at update time.  Closes #766755.
2005-03-02 23:53:10 +00:00
Ron Koenderink
55e6aca9e0 (wrmakesrc,wripglob,wrgamesdef,info,apro,mobupdate,rea,turn
upda,ef_open,logerror,emp_config,match_user,show_motd,gamedown,
typed_wu,delete_old_announcements,mobility_check,mobility_init,
allocate_memory,write_newcap_script,main,files,fairland,doconfig,)
[_WIN32]: Switchback to default mode of text.
"t" (text) is not included the ISO/ANSI C standard but "b" (binary)
is included.
2005-03-02 12:47:15 +00:00
7e402f062c Fix bad line break / whitespace. No functional changes. 2005-02-23 15:41:22 +00:00
5ba8cab9b5 (total_work): Remove redundant conversion to int.
(total_work): New parameter maxpop.  Callers changed.
(newe, prod): Use total_work().  Old code failed to limit military
workers, thus didn't match the update.
(do_feed): Simplify.
2005-02-20 19:36:41 +00:00
67ebeb674f (upd_ship): Fix the previous rev. 2005-02-20 01:46:17 +00:00
e5804f8dd8 (prod, produce, upd_ship): struct pchrstr p_nrndx refers to u_char,
not s_char.  Fix types.

(upd_ship): Catch resource underflow (should not happen).
2005-02-19 17:28:30 +00:00
ff67d93711 (max_population): New, factored out of max_pop().
(max_pop): Use it.  Don't support null argument anymore.
(nati, gen_power): Use max_population() instead of max_pop() with null
argument.
(show_sect_stats): Use max_population() to simplify the code.
(prod, upd_buildeff): Use max_population() to get correct new maximum
population for limiting work when tearing down a big city.
Previously, this was broken in upd_buildeff().  In prod(), it was
broken when the new designation had odd maximum population, which
should not occur.
2005-02-17 21:04:08 +00:00
Ron Koenderink
c99a5b4f43 (tend_nxtitem,nxtitem,sarg_type,snxtitem,snxtitem_all,snxtsct,nxtitemp):
change NS_ALL to NS_EVERYTHING in ns_seltype because of a
conflict with winsock2.h which is used in the WIN32 build.
2004-12-31 20:14:10 +00:00