Commit graph

1419 commits

Author SHA1 Message Date
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
d6a2519342 Can't use gcc function attribute `format' when s_char is not plain
char; gcc chokes on it.
2004-03-22 08:51:10 +00:00
8454e6f54e (configkeys): Rev 1.5 failed to update member km_func for keys s_p_etu
and adj_update.  From Marc Olzheim.
2004-03-20 21:33:19 +00:00
abed385878 Fix RES_POP maximum population formula. 2004-03-20 21:23:26 +00:00
cae5cfbfab Document all undocumented capabilities and stats. Clarify meaning of
land unit capability `light'.  Closes #781116.

Document submarine's ability to carry landspies.  Closes #907978.
2004-03-20 21:21:32 +00:00
18e460f3c7 Said `enemy civilians', but code happily lets you shoot your own
civilians.  Fix.  Closes #905200.

Claimed security troops shoot more than you asked for.  This is
wrong.  They save you mobility.  Fix.  Closes #781117.
2004-03-20 21:13:38 +00:00
908e094a36 Delete lie about Steve still heading Wolfpack. Closes #902831. 2004-03-20 21:02:25 +00:00
2d2a57fc0f Update for 4.2.14. 2004-03-17 07:29:39 +00:00
382162fb0a Fix 4.2.10's release date to match doc/CHANGES4.X. 2004-03-17 07:24:40 +00:00
e5919ac353 (lwpStackCheckUsed): Fix confusing output. 2004-03-17 07:12:31 +00:00
82bd722ec8 Should have been removed along with the commands. 2004-03-17 07:06:45 +00:00
38a81836e1 Command has been commented out for ages. Remove until it isn't. 2004-03-17 07:06:45 +00:00
fe3e648e4c Regenerated. 2004-03-17 07:04:15 +00:00
07dd220699 (main, write_newcap_script): Don't warn when resources were added,
that's expected nowadays.  Warn when resources were not added.  Don't
mention the ore program, as it doesn't work and we no longer
distribute it.
2004-03-17 06:53:57 +00:00
b387ed3b6c (gen_power): Force mtime update under Windows. From Ron Koenderink. 2004-03-17 06:40:44 +00:00
1dc9f35b06 Update to match code. There's currently no command that allows trade
and commodity selectors; comment them out.
2004-03-16 21:24:30 +00:00
16da32fd2e (loan_ca): Remove selector "sell". 2004-03-16 21:19:54 +00:00
a031aaa65c Talks about files that were removed. Remove. 2004-03-16 20:15:12 +00:00
1b30679f05 (growfood): Simplify. Rev. 1.6 made it less robust against overflow;
fix that.
2004-03-16 19:45:38 +00:00
02d380d74f (produce): Fix consumed materials when production hits the 999 limit.
This can't happen currently, because produce() never gets called with
work>999.

(produce): Fix rounding of consumed materials on production backlog.
Broken by the previous revision.
2004-03-16 19:25:13 +00:00
9b7a65b865 (buy, move, prod, dodistribute, produce): Obey ITEM_MAX. Previous
change to move() was incomplete.
2004-03-16 18:56:14 +00:00
913774e53e (play_list): Cast time_t to long for printing. 2004-03-12 06:14:52 +00:00
98e72b6fa7 (sell): Simplify. 2004-03-11 22:12:49 +00:00
fa09979e36 Fix plague formula. Fix markup. 2004-03-11 22:10:58 +00:00
91cc2ddc42 Remove unused variables and such. No functional changes. 2004-03-11 22:10:19 +00:00
245b5a21e2 (getvec, putvec): No longer used, remove. 2004-03-11 22:08:16 +00:00
b62aca0ecd (produce_sect): Unless player->simulation, work directly on item
arrays instead of copies made by getvec().  This is safe, because the
old code made single copies and always flushed them back into the unit
structures.  Else make copies by hand, not with getvec.
(starv_sects): Replace getvec() by direct, read-only item access.
(upd_buildeff, enlist, materials_charge, materials_cost, produce,
grow_people, growfood, trunc_people, do_feed, feed_people): Change
argument type to match uncopied item arrays.
(growfood): Obey ITEM_MAX.
2004-03-11 22:00:58 +00:00
61d57719c2 (feed_people): Simplify. No functional changes. 2004-03-11 20:20:35 +00:00
eb94c88806 (do_fallout, meltitems): Work directly on item arrays instead of
copies made by getvec().  This is safe, because the old code made
single copies and always flushed them back into the unit structures.

(meltitems): Don't claim more items were lost than existed.
2004-03-11 18:36:43 +00:00
c922b571db (upd_ship, upd_land, do_plague): Work directly on item arrays instead
of copies made by getvec().  This is safe, because the new code
changes the item array precisely when the old code writes back a
changed copy.
(starv_ships, starv_units): Replace getvec() by direct, read-only item
access.
(feed_ship, feed_land): Remove parameter vec, work with sp->shp_item[]
and lp->lnd_item[] instead.
(plague_people): Change argument type to match uncopied item arrays.
2004-03-11 18:10:25 +00:00
979f74709b (infect_people): Remove parameters vec, eff, mobil and work with
sp->sct_item, sp->sct_effic, sp->sct_mobil instead.  This is safe,
because the only caller passed a copy of sp->sct_item created with
getvec(), and infect_people() doesn't change it.  Caller changed.
(infect_people): Rewrite plague risk computation for clarity.
2004-03-11 17:18:05 +00:00
abaf9e06ec (feed_land): Simplify. Amount of food taken from ship could be off by
one due to rounding, fix.  However, the fixed code is currently
unreachable, as caller runs resupply_commod() before feed_land().
(feed_ship): Simplify.  No functional changes.
2004-03-11 15:27:59 +00:00
0652930d67 (upd_ship, upd_land): Simplify. No functional changes. 2004-03-11 13:31:28 +00:00
c7d3a8ffa8 (shiprepair): Remove parameter vec, work with ship->shp_item[]
instead.  This is safe, because the only caller passed a copy of the
latter created with getvec(), and shiprepair() doesn't change it.
Caller changed.
2004-03-11 13:15:02 +00:00
902a1c9f17 (feed_ship): Work directly on land item arrays instead of copies made
by getvec().  This is safe, because the new code changes the item
array precisely when the old code writes back a changed copy.
2004-03-11 13:04:58 +00:00
0716438b5b (landrepair): Remove unused parameter `vec'. Caller changed. 2004-03-11 12:57:33 +00:00