(nsc_cat) New category NSC_ID.
(nstr_comp): Resolve identifiers instead of relying on nstr_comp_val()
and nstr_coerce_val().
(valstr, nstr_coerce_val): Remove valstr member val_as_type.
(nstr_parse_val, nstr_match_ca, nstr_match_val, nstr_resolve_id)
(nstr_resolve_sel, nstr_mkselval): New.
(nstr_comp_val): Rewrite using the above.
flight path prompt now works.
(reco): Pass P_ESC to pln_arm() for consistency with call of pln_sel()
and similar code elsewhere. Believed not to make a difference.
(total_work): New parameter maxpop. Callers changed.
(newe, prod): Use total_work(). Old code failed to limit military
workers, thus didn't match the update.
(do_feed): Simplify.
large values. Remove column wkfc to make space, widen other columns.
Columns use2, use3 and max2, max3 lack separating space on the left
for large values, which don't occur in normal game configurations.
(max_pop): Use it. Don't support null argument anymore.
(nati, gen_power): Use max_population() instead of max_pop() with null
argument.
(show_sect_stats): Use max_population() to simplify the code.
(prod, upd_buildeff): Use max_population() to get correct new maximum
population for limiting work when tearing down a big city.
Previously, this was broken in upd_buildeff(). In prod(), it was
broken when the new designation had odd maximum population, which
should not occur.
(multifire): switch the random seeding with the current random
value to seeding with the current time. Seeding with the
current random value does not actually improve the randomness.
emp_config,gamedown,show_motd,match_user,typed_wu,
delete_old_announcements) [_WIN32]: switch the default file mode to
binary to match POSIX. Remove the now unneccessary ifdef for
the open/fopen. Add text mode for user files (econfig/auth).
collapse to shiplist function set (add,free,print,on). Fix bug where ship
uid was a unsigned char instead of short. Switch to head pointer instead
of head record with a linked list. Add a free().
Also reorganized to check for special characters then blank.
(info): Add length boundary check to filename variable.
Change WIN32 to use the same code.
(info) [_WIN32]: Fix check for invalid file attributes.
(apro): Ensure the user does not see the directory information on error.
See #1028552 for reference.
(apro): Ensure the directories, operating system files, and
hidden files are skipped.
(nullify_objects, do_desi): Simpify designate restrictions of options
NO_LCMS, NO_HCMS, NO_OIL.
(show_sect_build): Suppress printing of sectors only deity can
designate. This was broken in rev. 1.15.
defines, import these defines into plague.h, drop var.h and include
plague.h where appropriate.
Remove some 'register' keywords at the same time.
No functional changes.
error messages. Properly log all system errors and return RET_SYS.
Closes#1028552.
(info): Fix use of uninitialized variable when fopen() succeeds but
fstat() or the st_mode check fails.
(info) [_WIN32]: Fix '//' to be '\\'. Add file type check to prevent
opening hidden or operating system files.
integer. When 5 * sect.sct_mobil - 4 < nshot < 5 * sect.sct_mobil,
nshot was rounded up to the next multiple of 5. This could shoot more
people than present, resulting in negative population. Before
rev. 1.3, putvar() swept this error under the rug.