Commit graph

2686 commits

Author SHA1 Message Date
bd0d5c10b6 (execute): Prompted for a missing argument, but then passed a null
pointer to prexec() instead.  Some systems (GNU, Windows) deal
gracefully with printing null strings, others crash.
2007-11-15 19:03:27 +00:00
a877480082 If the directory already exists, the failing script cleans it up.
Oops.  Create it before setting the cleanup trap.
2007-11-15 07:15:05 +00:00
535c8a06a7 (tarball): Fix missing -e required by shell script. 2007-11-15 07:11:15 +00:00
Ron Koenderink
acfc17b05a Fix the test scripts for the players for the new world -R 1 for fairland
and for -R 1 for the server.  Cleanup the shell selection for the current builds
and the push the shell fixes to the config files.  Add PATCH and
CVSROOT environment variables to add flexibility.  Add the changes for
the new autoconf build and remove build.conf and makedepend.
Swiitch All patch to use the source code All patches.
Fix the spelling of sandbox.
2007-11-12 20:08:15 +00:00
6992bcfe9a (carriersatxy): Remove parameters wantflags, nowantflags, and use
carrier_planes() instead, ignoring carriers that can only operate
x-light planes.  No functional change.
(carrier_planes): External linkage.
2007-11-04 16:05:06 +00:00
d5afd757a9 (carrier_planes): New.
(pln_onewaymission): Use it.  No functional change.
(pln_airbase_ok): Use it to enforce capabilities.  Before, a plane
could fly once it got on the ship.  Because ships can load only planes
that can fly from them, this has no effect other than make that sanity
check redundant; remove it.

(pln_airbase_ok): Update land unit case to keep it similar to the ship
case.
2007-11-04 15:07:43 +00:00
4ced91fe3f (pln_airbase_ok): New parameter noisy to allow suppressing messages.
Check player->cnum only when noisy.  Update existing caller to pass 1.
No functional change.

(mission_pln_airbase_ok): Remove, use pln_airbase_ok() instead.  No
functional change.
2007-11-03 09:29:45 +00:00
6110e08772 Comment and white-space cleanup. 2007-11-03 08:57:05 +00:00
5d41e56aee (pln_airbase_ok): Check pp->pln_own instead of player->cnum, in
preparation of replacing mission_pln_airbase_ok().  No functional
change.
2007-11-03 08:53:21 +00:00
26721aa9d1 (pln_airbase_ok): Plug information leak: carrier owner was checked
last, so when it was (no longer) allied, attempting to fly off it let
you test the conditions checked before that.  Check owner first.
(mission_pln_airbase_ok): Matching change, to avoid diverging from
pln_airbase_ok().
2007-11-03 08:20:54 +00:00
446f19913d (pln_airbase_ok, mission_pln_airbase_ok): Oops when plane's carrier is
bad.  Before, the plane was destroyed, and the player got a message.

(pln_airbase_ok, mission_pln_airbase_ok): Oops when plane's base
sector is bad.

(pln_airbase_ok): Oops when the player doesn't own the plane.  Before,
this was checked only for planes on carriers, and the plane was
destroyed, and the player got a misleading message.
2007-11-03 08:09:38 +00:00
79c2a10b30 (pln_airbase_ok, mission_pln_airbase_ok): Simplify conditional. Don't
check a land carrier when the plane is already on a ship.
2007-11-03 07:52:50 +00:00
a873eb1b4f (mission_pln_airbase_ok): New, factored out of mission_pln_sel(). No
functional change.
2007-11-02 19:39:26 +00:00
e8efc3e1a0 (pln_airbase_ok): New, factored out of pln_sel(). No functional
change.
2007-11-02 19:39:06 +00:00
4d663ddbd6 (pln_wanted, pln_capable): Rename. 2007-11-02 19:13:10 +00:00
98105c9561 (mission_pln_wanted): Broken like its cousin pln_wanted() was, only
more so: additionally, any of P_E, P_K, P_L satisfied any subset of
P_E, P_K, P_L.  Chainsaw fixed this one in plnsub.c, but not here.
Remove, use the fixed pln_wanted() instead.
(pln_wanted): External linkage.
2007-11-01 19:50:37 +00:00
684bac5b1d (pln_wanted): Rewrite. Old version was incomprehensible, slow and
buggy: any P_E, P_L, P_K in wantflags were ignored when the plane
lacked P_ESC.  The bug bit only when non-escort interceptors escorted
a one-way mission to a carrier.  pln_oneway_to_carrier_ok() then could
not fit the plane on the carrier, and the command failed complaining
about lack of room on the carrier.  Broken since Chainsaw added
escorts, abusable before 4.2.17 catched it.  Also change behavior when
only one of P_F and P_ESC is in wantflags: new version requires that
flag, while old version treats it as if both flags were in wantflags:
a plane having either is okay.  Current code never passes such
wantflags.
2007-11-01 19:16:29 +00:00
b982f284cf (mission_pln_wanted): New, factored out of mission_pln_sel(). No
functional change.
2007-11-01 16:59:02 +00:00
213cf19ec5 (pln_wanted): New, factored out of pln_sel(). No functional change. 2007-11-01 16:54:02 +00:00
041ad4ced9 (fit_plane_on_ship, fit_plane_off_ship): Change how planes are fit on
ships, so that order of loading no longer matters: choppers can use
chopper or plane slots, x-lights can use x-light or plane slots, light
planes can use plane slots.  However, plane slots require M_FLY or
M_MSL to hold missiles or x-lights, and M_FLY to hold anything else.
Choppers and x-lights can now use plane slots even when not light.
X-light choppers, which don't exist in the stock game, can no longer
use x-light slots.
2007-11-01 11:59:28 +00:00
32bd205362 (could_be_on_ship): Fix rev. 1.61. 2007-11-01 10:15:54 +00:00
44a9130bf3 (load_plane_ship): Use load limits instead of flags to test whether a
ship type can load planes.
2007-11-01 07:29:38 +00:00
55df03f4ff (fit_plane_on_ship, fit_plane_off_ship): Don't require M_CHOPPER for
use of chopper slot.  Same for M_XLIGHT and x-light slot.  No
functional change, because presence of slots implies the flags (see
init_mchr()).
2007-11-01 07:25:21 +00:00
9c98b7b14b (could_be_on_ship): Not consistent with fit_plane_on_ship(). Fix by
using that.  Less efficient, but that doesn't really matter here.
2007-11-01 06:35:50 +00:00
d3fcc89f56 (can_be_on_ship, could_be_on_ship): Take pointer rather than UID
arguments.  Rename.  Callers changed.
2007-10-31 06:39:37 +00:00
51165cf3fc Collect the test whether a plane fits on a carrier in one place:
(fit_plane_on_ship, fit_plane_on_land): New.
(pln_oneway_to_carrier_ok, put_plane_on_ship, count_planes)
(put_plane_on_land, count_land_planes): Use them.  No functional
change.
(fit_plane_off_ship, fit_plane_off_land): New.
(take_plane_off_ship, take_plane_off_land): Use them.  This oopses
when the carriers plane counter underflows.

(take_plane_off_ship): Document that carrier's plane counters may be
screwed up.

(take_plane_off_ship, take_plane_off_land): Oops when the plane isn't
on the carrier.

(take_plane_off_ship, take_plane_off_land): Don't fail when the plane
to be taken off can't go on this type of carrier, just take it off.
No error condition left, so return void.  Callers couldn't do anything
useful with the status anyway, and most didn't bother.  Change those
that did.
2007-10-30 07:09:31 +00:00
Ron Koenderink
ac20e65930 (__set_errno): Switch to _MSC_VER define instead of HAVE__SET_ERRNO
define.

(int32_t) [_WIN32]: Remove commented define..
2007-10-29 13:25:05 +00:00
136a313334 (show_bridge, show_tower, show_ship_stats): Simplify, no functional
change.
2007-10-28 07:41:39 +00:00
9868e1b76f (ef_init_srv): Rev. 1.27 set NSC_CONST in all nat_ca[] instead of
cou_ca[] as before.  Fix by not setting it at all.
2007-10-27 17:07:09 +00:00
f2542fcf7e (recvline): Simplify parsing out output ids. Also tighten sanity
check some.
2007-10-27 16:21:26 +00:00
041c71de80 (load): Fix misleading message that assumed that only SCT_CAPIT
sectors can be canals.
2007-10-27 16:13:50 +00:00
588c5b12d5 (dispatch): Oops on bad command return value. Log RET_SYS more
clearly.
2007-10-27 16:06:06 +00:00
9c94a23709 Keep log open, rotate it just like the journal:
(logfd, logopen): New.
(loginit): Set logfd, return success.
(logerror): Use logfd.
(logreopen): New.
(relo, main): Use it.
2007-10-27 15:49:45 +00:00
88b44bffd3 (typed_wu) [_WIN32]: Remove special case, just use writev(). 2007-10-27 14:40:10 +00:00
Ron Koenderink
f1a39e676b (__set_errno) [_WIN32]: Remove CR. 2007-10-25 03:13:18 +00:00
Ron Koenderink
a05649a660 (__set_errno) [_WIN32]: Add macro for __set_errno() for MinGW as it
does not have a _set_errno().
2007-10-25 01:45:51 +00:00
Ron Koenderink
e051b2fea7 (__setstate) [_WIN32]: Make the function prototype match the
function declaration.
2007-10-23 03:10:55 +00:00
Ron Koenderink
ec484e17a7 (main, init_server, emp_server.6): Add -R command line option to set
a seed for the random function.

(nightlybuild.sh): Add the -R 1 for the server.
(nightlybuild.sh): Switch to -R 1 for the fairland as 1 is safer.
Some systems might generate lousy randomness from a
zero seed.

(prng.patch): Not required anymore, -R 1 is used instead.

(main, emp_server.6): Rename -r and -R to -u and -U.  "-R" is now used for random seed.
2007-10-23 03:05:56 +00:00
Ron Koenderink
c115ed1327 (random, srandom) [_WIN32]: Provide random and srandom
POSIX equivalents instead of using the WIN32 rand/srand functions.
The files were derived from GNU libc source.

(empth_threadMain) [_WIN32]: Remove the srandom() as the
POSIX equivalent are not thread specific as the WIN32 functions were.
2007-10-21 15:34:27 +00:00
Ron Koenderink
7241773f60 Update patch for pr.c:1.41 2007-10-21 15:12:49 +00:00
Ron Koenderink
26ef6e5ec0 Update patch for constants.c:1.40 2007-10-21 15:12:25 +00:00
Ron Koenderink
0627deae05 (empth_sleep) [_WIN32]: Remove a change to the random seeding
that accidently got committed in rev 1.65.  Was incorrect in rev 1.66.

(empth_sleep) [_WIN32]: Switch srand() to srandom() to be consistent
with the rest of the empire code.
2007-10-20 12:59:49 +00:00
Ron Koenderink
f449c3f8a4 (empth_sleep) [_WIN32]: Remove a change to the random seeding
that accidently got committed in rev 1.65.
2007-10-20 12:15:45 +00:00
Ron Koenderink
274c3d3a36 (empth_sleep) [_WIN32]: Ensure the thread does not waking up early.
It has been seen which caused an update to be missed.
2007-10-20 11:51:50 +00:00
Ron Koenderink
dbf7f554b1 (empth_sleep) [_WIN32]: Change if to while to ensure the time has
actually been reached.  There has been examples where the time
expired early by one second probably due a resolution error.  This
caused a scheduled update to be missed.  Broken in rev. 1.56.
2007-09-30 15:39:48 +00:00
Ron Koenderink
e218d6b841 (upda): Add linefeed to the 'Please use "show updates".' line. 2007-09-30 15:31:05 +00:00
Ron Koenderink
5cb735f3a7 Fix how tech is factored into power. Broken in 1.31 and almost fixed
in 1.33.
2007-09-20 02:48:52 +00:00
ea80c43573 (distclean): Remove config.h and ipglob.c. 2007-09-09 10:56:46 +00:00
137d327cba Bump version to 4.3.11. 2007-09-09 10:16:59 +00:00
ecb2e7e303 (datarootdir): New; Autoconf 2.60 wants it. 2007-09-06 18:16:45 +00:00