Commit graph

1465 commits

Author SHA1 Message Date
10096cbf98 (xundump): Rev. 1.44 broke ef_load(). Fix. 2006-02-09 18:34:57 +00:00
Ron Koenderink
524fe1aa50 (lchr_ca[]): Change the name for l_rnd from "rad" to "rmax".
This removes a conflict between rad items and reaction radius.
Now the name matches the equivalent name in land_ca[].
2006-02-09 13:31:05 +00:00
66669be655 (xundump, xundump1): Fix treatment of empty lines. 2006-02-09 07:10:18 +00:00
Ron Koenderink
f76a128f5c (mtsymset, xutrailer, xundump1): Remove unused variables. 2006-02-09 00:28:28 +00:00
f5621c5a49 Accept fields out of order in human-readable syntax (indexes must
still be in order), support abbreviated field names:
(nxt_sel, nxt_idx, nxtfld, ca4fld): Remove.
(nflds, fldca, fldidx, caflds, getfld): New.
(xundump): Initialize and finalize them.
(xundump1): New, factored out of xundump().
(deffld): Match names, record field order in fldca[], fldidx[] for
getfld().  Use caflds[] to detect duplicates.
(xufldname): Catch negative index.  Used to pass it to deffld(), which
now interprets it as no index.
(setnum, setstr, setsym, mtsymset, add2symset): Use getfld().

(xufld): Improve error message.

(setstr): Fix for NULL strings.

(xuheader): Catch null ef_cadef().

(xuheader): Don't oops when an unexpected table can't be undumped.
2006-02-08 23:23:48 +00:00
28787caa95 Improve error messages. 2006-02-08 22:44:22 +00:00
b11aa718ce The separation between parsing and semantic actions is awkward and
leaks memory; rework it:
(deffld): New; semantic action for field headers.
(xufldname): Use it instead of storing a value for xucolumnheader().
(xucolumnheader): Remove, use xuflds() directly instead.
(setnum, setstr, setsym): New; semantic actions for field values.
(xufld): Use it instead of storing a value for xuloadrow().
(xuloadrow): Remove.  Was incomplete.
(xufldname, xufld, xuflds): Remove parameter values.  Callers
changed.
(cur_type, cur_obj, nxt_sel, nxt_idx, nxtfld, ca4fld, getsymtab): New
helpers.
(xundump): Initialize them.
(enum_value, value, freeflds, xunsymbol): Remove.

(mtsymset, add2symset): New.
(xufld): Use them to build a symbol set along the parse.

(xufldname, xufld, xuheader, xutrailer, xundump): Increment lineno
when and only when a linefeed is consumed, to make sure it is correct.
Move some semantic checks so that errors get reported for the correct
line.

(xundump): Use compare filenames as pointers, not strings, when
checking whether to reset lineno.

(xundump): Keep empfile[type] consistent during parse, to make
ef_ptr() usable.

(xundump): Don't call ep->init() on sentinels.
(xuinitrow): Unused, remove.
2006-02-08 22:32:53 +00:00
054d59b323 (xundump): Precise value for need_sentinel. 2006-02-08 22:02:13 +00:00
d329c4f8e6 (xutrailer): Fix parsing of /config. Change human-readable syntax not
to accept number of records.  Don't skip empty lines after trailer.
2006-02-08 21:53:04 +00:00
72127c838f (xuheader): Check for unexpected table before oopsing on !EFF_MEM. 2006-02-08 21:41:48 +00:00
8a6438b4e0 (xufldname, xufld): New, factored out of xuflds and specialized for
headers and for body lines, respectively.
(xflds): Call them through new parameter parse.  Callers changed.
2006-02-08 20:56:39 +00:00
361e33d70f (xucolumnheader): Don't gripe when xuflds() fails, because that one
already griped.
2006-02-08 20:49:47 +00:00
25c9f2c66f (nation_status): Lacked sentinel. 2006-02-06 20:12:42 +00:00
973da267eb (verify_row): Check all values against symbol tables, not just
non-negative ones.

(verify_row): Fix off by one in non-symbol table index check.
2006-02-06 07:57:04 +00:00
8ae71216d4 (verify_row): Check table references regardless of target table. Also
fixes the previous revision.
2006-02-06 07:53:42 +00:00
7261d6a3e0 (level): Add value -1. 2006-02-06 07:41:55 +00:00
3879ab9643 (meta_type): Fix NSC_TYPE entry to match specification. 2006-02-05 20:20:46 +00:00
e71509b32f (verify_row): Check uid. 2006-02-05 19:59:08 +00:00
b121b58e91 (verify_row): NSC_BITS implies symbol_ca. Oops if violated. 2006-02-05 19:57:10 +00:00
afd93afbd3 (verify_row): Simplify control structure. No functional change. 2006-02-05 19:55:05 +00:00
2258ec7703 Document uid selector convention. 2006-02-05 19:30:20 +00:00
Ron Koenderink
b677413cfd (zdon): Display current number of missed updates and number of
missed updates before vetoing begins.
2006-02-05 19:19:00 +00:00
1feb0c433d (verify_row): Fix for flags that don't fit into int. 2006-02-05 19:16:37 +00:00
1e17cc77cb (verify_row): if/else with negated condition is confusing. Negate
condition, swap conditional statements.
2006-02-05 19:13:58 +00:00
b11b81da8f (verify_row): Plug memory leak. 2006-02-05 19:08:49 +00:00
8add5fbb86 (realm_ca): Remove selector uid. It's not useful for players, and not
needed for xdump, because it doesn't occur as ca_table.

(lost_ca): Remove selector uid.  Reasons as for realm_ca.  The value
is incorrect in unused records, which is semantically tolerable, but
needlessly complicated to check in ef_verify.c.

(news_ca): Remove selector uid.  Reasons as for realm_ca, plus the
value is incorrect, because nws_uid is not used.
2006-02-05 19:01:41 +00:00
6ece883b87 Fix bad line breaks. 2006-02-05 17:58:16 +00:00
Ron Koenderink
9f5aa41084 (vers): Add collateral damage matrix to version report.
Add unit_damage and collateral_dam to the collateral damage matrix.
Move people_damage into matrix.
2006-02-05 17:37:58 +00:00
Ron Koenderink
d7dab3ddd1 (vers): Add the following the configuration values to the version report:
torpedo_damage, flakscale, people_damage, assault_penalty,
decay_per_etu, fallout_spread, fuel_mult, max_btus and max_idle.
2006-02-05 15:52:26 +00:00
Ron Koenderink
3db7e6201f (powe_cost): Remove powe_cost and replace with a fixed cost of 10. 2006-02-04 19:36:51 +00:00
Ron Koenderink
62e57635ea (vers): Add the following econfig values to version report:
MARK_DELAY, TRADE_DELAY, mission_mob_cost ,
money_ship, money_plane, money_land,
fort_max_interdiction_range, ship_max_interdiction_range,
land_max_interdiction_range, combat_mob and
sect_mob_neg_factor.
2006-02-02 13:20:14 +00:00
Ron Koenderink
1283f79db5 (lcarg, lcargo.t): Fix the header to match the info page.
Update the info page for the change to add civ, mil and uw.

(carg, cargo.t): Add the civ, mil and uw to cargo display.
Make the same as lcargo.  Update the info page.
2006-02-01 23:52:42 +00:00
Ron Koenderink
c500f4adc3 (lcarg, ldump): Display civ, mil, and uw cargo for land units.
Remove full name from lcarg() to make room.  Closes #889646.
2006-01-31 17:32:33 +00:00
Ron Koenderink
7b9fdf8b95 (show_news, news, empfile[], page_headings[], page_headings_symbols[]):
Change page_headings[] to struct symbol and removed
page_headings_symbols[].
2006-01-30 22:26:48 +00:00
Ron Koenderink
426eece569 Properly parse and validate column headers:
(enum_value, value, xuflds, freeflds): Parse additional syntax:
numeric and symbolic index.
(xucolumnheader): Use it to parse column header line.  Check names
and indexes match meta-data.  Symbolic indexes not yet implemented.
(xuloadrow): Reject the additional syntax.
2006-01-30 22:23:43 +00:00
Ron Koenderink
aaea73a595 Update comment to indicate page_headings[] is done. 2006-01-29 19:29:10 +00:00
Ron Koenderink
79f672969b (xuheader): Remove values[], not used. 2006-01-29 19:12:52 +00:00
Ron Koenderink
f438b74e85 (EF_PAGE_HEADINGS, page_headings_symbols, M_NOTUSED): New.
(empfile): Add it.
(rpt_ca): Use it.
2006-01-29 18:40:11 +00:00
Ron Koenderink
1bca66c061 (show_news): New.
(show): Use it to implement show news.
2006-01-29 17:44:29 +00:00
297ee5eab0 (news): Fix rev. 1.13: fail command before printing headlines. 2006-01-29 17:13:25 +00:00
Ron Koenderink
c686c5648b (ac_dog): Do not use 'ap' as a pointer to get the owner
for the call to ac_planedamage() use att_own instead.
'ap' may have been already freed in the previous call
to ac_planedamage().  This can create an invalid
news item and crash the server.
2006-01-29 13:56:35 +00:00
b659a16f03 (player_coms): Sort by element member c_form. 2006-01-29 13:51:47 +00:00
b4a76e04a3 (xdver): Dump version string. 2006-01-28 17:26:05 +00:00
c9d35a6d0a (guerrilla): Tell sector owner when partisans take over. But don't
disclose che casualties then.
2006-01-27 19:53:24 +00:00
5109a30910 (vers): Don't report KSU distribution (1.04 in all known versions),
Chainsaw version (4.00 since Empire 2, ca. 1995) and Wolfpack version
(used to be the version number after the first dot).
(KSU_DIST, CHAINSAW_DIST, WOLFPACK_DIST): Unused, remove.

(version): New.
(EMP_VERS_MAJOR, EMP_VERS_MINOR, EMP_VERS_PATCH): Remove.  Users
changed to use version[] instead.  version[] is slightly easier to
initialize from configure.ac.
(check-version): No longer needed, remove.

(legal): New.
(vers, main): Show it.
2006-01-27 17:59:06 +00:00
Ron Koenderink
fee6c50b1a (show, show_item): Resurrect show item. 2006-01-22 18:57:14 +00:00
Ron Koenderink
8900dfaa3d (xuflds): Terminated the value list when a bad separator is found. 2006-01-22 17:37:05 +00:00
Ron Koenderink
69851a554e Add generated file path.c. 2006-01-21 21:26:38 +00:00
Ron Koenderink
74e4e2810a (fuel, load, shp_check_nav, retreat_ship1, shp_nav_one_sector)
(shp_check_nav, sail_nav_fleet, bigcity_dchr[], sector_navigation[])
(d_navigation): Add a NEW d_navigation enum NAV_CANAL to
indicate that a sector has canal capability. Add canal determination
logic to shp_check_nav(). Update sector_navigation[] with new
canal navigation enum.  Use shp_check_nav() to determine the
sector can be navigated.
2006-01-21 20:56:50 +00:00
82df8cfe0c (pchr_ca): Provide proper ca_table for selector nlndx. 2006-01-21 20:11:36 +00:00