Commit graph

1387 commits

Author SHA1 Message Date
b316861e9d Autoconfigure whether char is unsigned. 2005-12-28 23:10:26 +00:00
c9589a89fb Fix the previous revision. 2005-12-28 23:07:24 +00:00
01624e9316 Fix rev. 1.29. 2005-12-28 23:06:14 +00:00
aff6cfcafe src/lib/commands/sona.c rev. 1.6 changed first argument of
line_of_sight() to char *.  The changeset failed to change callers.
Fix.
2005-12-28 22:43:39 +00:00
686eadad37 (att_mode, xyas, ownxy, prbuf): Get rid of s_char. Users changed.
(ATTRIBUTE): Don't disable use of gcc __attribute__ when s_char is
signed char.  All format strings are now char *.
2005-12-28 22:30:52 +00:00
24a07cd249 player.h rev. 1.9 changed struct player member argp to char *. The
changeset failed to adapt some s_char * operands.  Fix.
2005-12-28 22:21:42 +00:00
6fdbf215d0 Remove superflous includes. 2005-12-28 21:26:30 +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
3b90d0cb81 (PP_MAIN, PP_UPDATE, PP_SHUTDOWN, PP_SCHED, PP_TIMESTAMP, PP_PLAYER)
(PP_ACCEPT, PP_KILLIDLE): Move from player.h to empthread.h and turn
into enumeration constants.
2005-12-28 21:21:15 +00:00
8b0eae7594 Quiet the noise about files created and removed. 2005-12-28 19:36:17 +00:00
0dc0b29a92 Update for 4.3.0. 2005-12-28 19:21:09 +00:00
0772d47546 (login): Fix error messages. 2005-12-28 19:03:29 +00:00
19d88af312 Support for IPv6:
(tcp_listen, player_addrlen): New.  IPv4-only code factored out of
player_init().
(player_init): Use them.
(player_accept): Address family independence.
(tcp_connect): New.
(main): Use it.
(hostaddr, hostconnect, hostport): Internal linkage.
2005-12-28 18:50:08 +00:00
75a511a749 (main, intr) [!_WIN32]: signal() is a portability headache. Switch to
sigaction().
2005-12-28 16:59:20 +00:00
1ec32d97c4 Fix the previous revision. 2005-12-28 16:38:19 +00:00
87ace6afe4 (handleintr): Move to main.c. Internal linkage. Remove empty
handle.c
(interrupt): Internal linkage.

(interrupt): Use proper type for access from signal handler.
(intr): Don't increment to set, it's unobvious and it could overflow.
2005-12-28 16:16:41 +00:00
5c02a0aefc (UCONTEXT): Move to config.h. 2005-12-28 15:01:42 +00:00
69150d10fc (EMPTH_LWP, EMPTH_POSIX, EMPTH_W32): Define in config.h instead of
compiler command line.  Don't bother to conditionalize code in .c
files that are only compiled when their thread package is used.

(_EMPTH_LWP, EMPTH_LWP, _EMPTH_POSIX, EMPTH_POSIX, _EMPTH_WIN32)
(EMPTH_W32): Identifiers beginning with an underscore and an uppercase
letter are reserved for any use.  Rename.
2005-12-28 14:27:15 +00:00
b921d3c262 (MAXNOC): Move to config.h. Remove empty options.h. 2005-12-28 13:08:26 +00:00
083f0ea350 (lwpInitSelect): The code to query the system's limit on file
descriptors was not portable.  Simply use FD_SETSIZE instead.  The
lower of the two applies, so this wastes storage if the system's limit
is significantly below FD_SETSIZE.  Not an issue, as FD_SETSIZE is
fairly small.
(lwpSleepFd): Return if fd is too large.  Returning isn't nice,
but better than the buffer overruns in the old code.
(lwpSelect): Member nfile unused, remove.
2005-12-27 19:22:07 +00:00
3aebb68ee7 Include config.h. 2005-12-27 18:04:19 +00:00
ea820f3b99 Fix missing include. 2005-12-27 17:56:57 +00:00
Ron Koenderink
233181c50d (player_new, player_accept, update_wait, market_update) [_WIN32]:
Move assignment of hostaddr and hostname from player_new() to
player_accept().  This solves the necessary of adding the socket include
file to prototypes.h for player_new().  The socket include file creates
a namespace conflict for WIN32.
2005-12-26 03:53:21 +00:00
Ron Koenderink
9dfbf74785 [_WIN32]: Add #ifndef __GNUC__ around the pragma as pragma is not
supported by gcc.
2005-12-26 02:53:23 +00:00
ae24898e50 (opt_ALL_BLEED, opt_BIG_CITY, opt_BLITZ, opt_BRIDGETOWERS)
(opt_DEFENSE_INFRA, opt_DEMANDUPDATE, opt_DRNUKE, opt_EASY_BRIDGES)
(opt_FALLOUT, opt_FUEL, opt_GODNEWS, opt_GO_RENEW, opt_GUINEA_PIGS)
(opt_HIDDEN, opt_INTERDICT_ATT, opt_LANDSPIES, opt_LOANS)
(opt_LOSE_CONTACT, opt_MARKET, opt_MOB_ACCESS, opt_NOFOOD)
(opt_NOMOBCOST, opt_NO_FORT_FIRE, opt_NO_PLAGUE, opt_PINPOINTMISSILE)
(opt_RES_POP, opt_SAIL, opt_SHOWPLANE, opt_SLOW_WAR, opt_SUPER_BARS)
(opt_TECH_POP, opt_TRADESHIPS, opt_TREATIES, opt_UPDATESCHED):
Remove conditional initialization.  Values unchanged.
(ALL_BLEED, BIG_CITY, BLITZ, BRIDGETOWERS, DEFENSE_INFRA)
(DEMANDUPDATE, DRNUKE, EASY_BRIDGES, FALLOUT, FUEL, GODNEWS, GO_RENEW)
(GUINEA_PIGS, HIDDEN, INTERDICT_ATT, LANDSPIES, LOANS, LOSE_CONTACT)
(MARKET, MOB_ACCESS, NOFOOD, NOMOBCOST, NO_FORT_FIRE, NO_PLAGUE)
(PINPOINTMISSILE, RES_POP, SAIL, SHOWPLANE, SLOW_WAR, SUPER_BARS)
(TECH_POP, TRADESHIPS, TREATIES, UPDATESCHED): Unused, remove.
2005-12-25 14:53:29 +00:00
ade510f787 Turn options into ordinary econfig keys:
(configkeys): Add options.
(KM_OPTION): New.
(vers): Find options in configkeys[] instead of Options[].
(xdump): Remove xdump opt syntax.
(xdopt): Remove.
(emp_config, print_config): Remove option special case.
(option_list, Options, setoption): Remove.
2005-12-25 10:32:50 +00:00
Ron Koenderink
373a08a0e0 (min, max) [_WIN32]: Change WIN32 to use windef.h.
It is present in both MSVC and MinGW environments.

(F_OK, W_OK, R_OK) [_WIN32]: Add #ifndef to allow
to operation in both MSVC and MinGW environments.
2005-12-25 00:59:57 +00:00
Ron Koenderink
8b934d615b (hStdIn) [_WIN32]: Add extern to declaration. 2005-12-25 00:51:55 +00:00
a626ecc888 Fix rev. 1.4. 2005-12-24 14:36:41 +00:00
cc0c3e4f3f (drop): A mining mission targeting land called pln_dropoff() instead
of pln_mine().  pln_dropoff() happens to do pretty much the right
thing, but...
(pln_mine): Refuse to mine land.
2005-12-23 19:37:52 +00:00
eb1134541a (CPPFLAGS): Add -I., to find config.h. Remove -Iinclude, it's unused. 2005-12-23 18:47:41 +00:00
90def7cb85 (install, install-html): Implement. Closes #913154.
(installdirs): New.
2005-12-23 17:58:19 +00:00
1bf21d048a (info): TOP was missing. 2005-12-23 17:53:28 +00:00
ee1a17a402 Belatedly remove NUKEFAILDETONATE, NONUKES, NEUTRON, ORBIT, NO_LCMS,
NO_HCMS, NO_OIL.

Don't claim BLITZ implies NOFOOD.
2005-12-23 13:24:45 +00:00
3bbc91876f (START_CASH, start_cash): Replace START_CASH by new econfig key
start_cash.
2005-12-23 11:16:23 +00:00
8e16ae9e43 Remove superflous #include "options.h". 2005-12-23 11:04:56 +00:00
874bb3348a Fix rev. 1.1 for how_to_dep = depcomp. 2005-12-23 09:06:29 +00:00
Ron Koenderink
9b3e820d3a (nat_cap, status): Use the new function influx() to determine
if a valid capital is present or not.
2005-12-23 01:10:07 +00:00
7b507bd1d5 Fix the previous revision. 2005-12-22 21:28:37 +00:00
ea93842927 (pln_equip): New mission argument 'm' for mining. 'd' is now for
cargo drops only.  Callers changed.
2005-12-22 19:48:33 +00:00
8e12bb8574 Previous rev. assumes would_abandon() returns 0 or 1. Correct, but
unmodular.  Don't.
2005-12-22 19:27:26 +00:00
91be114d9b Avoid compiler warnings in rev. 1.23 code. 2005-12-22 17:57:16 +00:00
Ron Koenderink
233fce87cd (nat_cap): Scale BTU production by capital's work.
Closes #101189.
2005-12-22 17:26:54 +00:00
2162e37f43 Chapters Introduction and Server are also subjects, and all pages in
those chapters should refer to their chapter-subject.  Check & fix.
2005-12-22 12:23:38 +00:00
4ea4a01fd5 (info, html): Implement.
(all): Depend on info.

Flatten info directory.  This undoes the move to one subdirectory per
chapter, which was done during Empire 2.  The structure doesn't buy us
much, as the info name space is flat, and it complicates makefiles.

Overhaul info.pl:
- It now wants to run in the root of the build tree.
- Information on source files and subjects is now stored in makefiles,
  thus info.pl no longer picks up random junk from the file system.
- Clean up Perl anachronisms, in particular use subroutine arguments and
  results rather than global variables where convenient.
- Change format of diagnostics to the common format used by GNU tools,
  so that Emacs and the like can parse it.
- Catch missing .SA.
- When creating a new subject file, cowardly refuse to overwrite an
  existing file.
- Subject files contain topics sorted by chapter, then by name.  The
  order of chapters used to depend on how Perl sorts hash keys.  Fix
  it.
2005-12-22 10:09:17 +00:00
641879abc7 Should have been removed in yesterday's build process commit. 2005-12-22 08:44:27 +00:00
c0d7c27443 Provide and document means to set up a fresh source tree from CVS. 2005-12-21 09:19:33 +00:00
Ron Koenderink
b0fa9a8ee2 (nat_cap): Remove redundant max_btus checks.
Remove deities and opt_BLITZ calculations
as dispatch() will not let you run out of BTU's.
2005-12-20 22:50:06 +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
Ron Koenderink
cdfb94dc1f (nati, player_coms): Add ability for deities to request a nation report for any country.
Closes #1083167.
2005-12-20 17:06:47 +00:00