Commit graph

404 commits

Author SHA1 Message Date
1639c26424 (multifire): After charging ship mobility (option NOMOBCOST off), the
code sometimes failed to call putship().  Firing at ships was usually
free.
2004-05-10 19:48:42 +00:00
d7e697b1f9 (M_TORP_SHELLS): New.
(perform_mission, torp, fire_torp, quiet_bigdef, use_ammo): Use it.
Closes #917459.
2004-05-09 20:55:30 +00:00
a6bd408323 (do_desi): Don't complain unless FOR_REAL. Closes #923105. 2004-05-09 20:19:54 +00:00
6611a5c595 (stre): Always report mines to deities. Closes #917911. 2004-05-09 19:57:28 +00:00
07f5489977 (opt_SHIP_DECAY, Options, shiprepair): Remove option SHIP_DECAY. 2004-05-09 19:06:48 +00:00
cca6abf934 (do_desi): Zap efficiency only when sct_type really changes. Closes
#935750.
2004-05-09 17:00:16 +00:00
c6678f3899 (line_of_sight): Normalize coordinates before indexing. Closes
#950514.

(line_of_sight): There's just one straight line between two points on
a plane, but on a torus there are four.  Code assumed plane, and thus
could screw up near the origin.  Pick a shortest line of the four.
Partial fix for #950510.
2004-05-09 15:54:00 +00:00
e4d1c38c96 (nstr_exec, nstr_comp_val, nstr_exec_val): Values of type NSTR aren't
implemented and thus cannot occur.  Document this more clearly.

(nstr_comp_val): More logical order.  No functional changes.
2004-05-09 15:44:54 +00:00
b845997df3 Remove superflous include. 2004-05-09 15:22:17 +00:00
60541ccfaf (flash, wall): Long arguments could smash the stack; fix insufficient
buffers.  Closes #940792.

(wall): Don't strip first word from message.  Closes #940790.
2004-04-25 13:09:41 +00:00
Marc Olzheim
40c88d77d8 Don't try to let patch read from unreadable or nonexisting files. 2004-04-14 23:25:31 +00:00
ca80c373bf (comstr, buy, check_market, display_mark, reset, sell): Change comstr
member com_type from mnemo character to item type.
(whichitem): Unused, remove.

(check_market): Use full item name instead of mnemo in telegrams.

(display_mark): Separate arguments for item type and cheapest only.
Cheapest only of specific item type is not implemented.

(rese): Guard against bad com_type.  Delete some code that had no
effect.
2004-04-10 18:48:30 +00:00
988f9a8be7 (commfil, comminit, make): Unused, remove. 2004-04-10 17:07:43 +00:00
60bbb6b0c0 (buy, mark, display_mark): Move argument evaluation from
display_mark() to callers.  buy() no longer accepts "all".  It used to
display all lots, but didn't let you buy any.  Similar nonsense
happened for "" if buy() prompted for it.

(display_mark): Fix size of cheapest_items[].

(player_coms): Document mark accepting "all".
2004-04-10 08:43:19 +00:00
b0627a97cb (i_packing): New. Use where appropriate.
(NPKG, WPKG, UPKG, BPKG, NUMPKG): Turn macros into enumeration
constants.
(NPKG, WPKG, UPKG, BPKG): Move from sect.h to item.h.
2004-04-09 06:30:21 +00:00
d12359938b (iop, iop_t): Unused, remove. 2004-04-08 19:53:17 +00:00
70a87bb3b4 Remove types that no longer exist. 2004-04-08 19:47:51 +00:00
647ca5cec2 (player_coms): Fix move and test syntax. 2004-04-08 19:30:12 +00:00
a8a6f5649f (item_by_name): New, factored out of whatitem(). Use it to simplify
some uses of whatitem().
2004-04-08 19:26:55 +00:00
e42f7e8210 (build_ship, orde, qorde, nav_loadship, load_it, unload_it): Store
item types instead of mnemo characters in shpstr members shp_tstart[]
and shp_tend[].
(com_num): No longer used, remove.

(orde): Simplify swap code.

(prhold): New, factored out of qorde().
2004-04-08 19:14:09 +00:00
7b42409c9a (I_NONE): New. To be used as item type error value and such. 2004-04-08 19:05:42 +00:00
48175e9beb (getstring, getstarg): Use plain char * instead of s_char *. 2004-04-08 17:56:12 +00:00
8f007f7095 (ac_doflak, ac_shipflak): Simplify, no functional changes. 2004-04-08 16:42:19 +00:00
b985192f6f (prod, upd_buildeff): Truncated work to even before sector building.
Fix.
2004-04-08 16:31:31 +00:00
Ron Koenderink
5a0216893f (prod): The production limit due to work was rounded incorrectly. 2004-04-07 22:06:48 +00:00
83478bd79e (OFFSET): Remove, use standard offsetof().
(SETOFF): Unused, remove.
2004-04-07 17:38:43 +00:00
5d302eaad5 (strtox, strtoy): New. Use it instead of inputxy() to avoid the
double-remainder problem: x-coordinate SHRT_MAX+1 is truncated to 0 by
cast to coord, then converted by xabs().  This is wrong unless WORLD_X
divides SHRT_MAX+1.
(sarg_xy, sarg_getrange, sarg_range): Use them.
(inputxy): No longer used, remove.

(sarg_type): Use NS_UNDEF instead of 0.

(sarg_list): Change confusing loop control.  Properly diagnose
overlong lists; used to silently ignore list tail and return MAX+1,
which made a later snxtitem_list() fail.

(atoip): No longer used, remove.  Parsing was broken anyway.

(sarg_type, sarg_xy, sarg_area, sarg_range, sarg_list, sarg_getrange):
Use plain char * instead of s_char *.
2004-04-07 17:13:47 +00:00
543b0cba4f (NS_UNDEF, NS_LIST, NS_DIST, NS_AREA, NS_ALL, NS_XY, NS_GROUP): Turn
macros into enumeration constants.
(ns_seltype): New.  Use where appropriate.
2004-04-06 21:37:52 +00:00
276c188655 (snxtitem): Assigning NS_UNDEF to NP->type is an application domain
type error not reflected in C.  The former is a selection type, the
latter is a file type.  Harmless, as the variable is overwritten on
all paths to successful return.
2004-04-06 18:47:54 +00:00
392ad15567 Use CANT_HAPPEN() rather than logerror() for some internal errors. 2004-04-06 18:33:40 +00:00
acdee1e3b6 (weekday, daytime, daytime_range): New; replace kw_parse(). Parsing
is somewhat stricter.
(is_wday_allowed, is_daytime_allowed, is_daytime_nar,
min_to_next_daytime): New.
(demand_update_time, scheduled_update_time, next_scheduled_time,
update_time, gamehours): Use them to replace kw_parse().
(kw_parse): No longer used, remove.
2004-04-04 15:52:26 +00:00
ded3daf70d (gamehours): All callers ignore the value assigned to hour[]. Remove
parameter.  Remove calls without effect.  Other callers changed.
2004-04-04 14:20:30 +00:00
2df3f002e1 (getminleft): Parameter hours unused since the previous rev., remove.
Change parameter mpd from int * to int, because its only use is *mpd
as r-value.  Callers changed.
2004-04-04 14:07:51 +00:00
05acaece48 (kw_read, kw_find, kwtab, kw_list): Were used to evaluate the hours
file until 4.2.7.  Since then kw_read() is unused, and kw_find()
always returns NULL.  Remove.  kw_find() callers changed.
2004-04-04 13:54:30 +00:00
5dec30d66c (player_coms): Fix survey syntax. 2004-04-04 11:13:43 +00:00
5dbcb08904 Incomplete, inadequate, rewrite. 2004-04-04 11:12:18 +00:00
4366c5ac6e Selector rewrite: values other than long, interpret identifiers
according to context, to make `lstat * ?type#spy&spy>1' work.  Closes
bug#825363, #905809, #905814 and #922968.
(nsc_type, packed_nsc_type, nsc_cat, packed_nsc_cat, nsc_flags): New.
(valstr): New.  Old code encoded values in type long, which was
somewhat hard to read and could only support signed integer values.
(nscstr): Redesign.  Use valstr.  Typed operator.
(castr): Split ca_code into ca_type, ca_flags, ca_off.  Tables
changed.
(nstr_comp, nstr_exec): Redesign and rewrite.  Callers changed.  They
used the old design incorrectly, which let players smash the stack
by supplying more than NCOND conditions.
(encode, nstr_comp_val, decode, nstr_exec_val): Rename, redesign, and
rewrite.  Callers changed.
(nstr_coerce_val): New.
(var_ca, sect_ca, ship_ca, land_ca): Checking both var_ca[] and the
object's ca complicates proper recognition of unique abbreviations.
Copy contents of var_ca[] into the ca of objects, remove var_ca[].

(surv): Reject values with category other than NSC_OFF and types that
can't be coerced to NSC_LONG.  Old code happily passed values with
category NSC_VAL to code_char().  The previous version interpreted
them correctly, but earlier versions interpreted them as NSC_OFF, then
logged `bad type in decode: 0' and evaluated them into zero.

(code_char): Used to test category NSC_VAR to decide whether to
display tens or hundreds.  NSC_VAR no longer exists.  Test type
instead.  Makes more sense anyway.
2004-04-02 19:02:12 +00:00
47c8a32ae3 (debug): New.
(main): Set it on -d.
(oops, CANT_HAPPEN): New.
2004-04-02 15:40:43 +00:00
Marc Olzheim
f1edf905e9 Firing from fortresses needs 5 mil, not 2. Closes bug#923723. 2004-04-01 08:12:14 +00:00
Marc Olzheim
1617ba7d4f Remove CVS keywords Source and Id. No functional change. 2004-03-23 19:08:38 +00:00
Marc Olzheim
4a4923f951 A sandbox system to automate the building of the source tree and
reporting differences in compiler output with the output of the
previous build.
2004-03-23 16:32:45 +00:00
Marc Olzheim
8ed9644253 Don't shadow existing variables. No functional changes. 2004-03-23 16:02:41 +00:00
16761c8c29 (qprint): Change it into a printf()-like function. Simplify callers.
No functional changes.  From Marc Olzheim.
2004-03-23 15:20:17 +00:00
0608bff5b4 (RANDOM, SRANDOM): New, to allow overriding the PRNG on the compiler
command line for reproducible automated tests.  This is expected to be
a temporary solution until we get more capable system configuration.
Callers of random(), srandom() changed.  From Marc Olzheim.
2004-03-23 15:05:20 +00:00
43c511e8ad (rnd_seed, main, parse_args, allocate_memory): New option -R to set
the PRNG seed.  Print the seed.  From Marc Olzheim.
2004-03-23 14:54:48 +00:00
0c47be1cb5 Use .ig to comment out stuff, it doesn't produce empty lines. 2004-03-22 10:40:15 +00:00
333f106137 Implement request ig, except for argument. 2004-03-22 10:34:49 +00:00
d5ef02c34f Fix markup. 2004-03-22 10:12:28 +00:00
4ed5eed9c3 The previous revision screwed up intentation. 2004-03-22 09:54:58 +00:00
16264e6ebe 4.2.14 last minute changes. 2004-03-22 09:21:24 +00:00