If we try to load a game and it bombs, keep prompting for another one,
because if we try to continue with a half-loaded game we'll probably
end up in trouble.
The card deck data is now compiled in. (And it always should have been,
even back when memory usage counted. It's small.)
This changes the save format slightly. (I am riding the previous
breakage an hour ago and not providing compat. There should be no
further breakage.)
Fold monop.ext (which was extern data decls) into monop.h and deck.h.
Fold monop.def (which had definitions for the extern data) into monop.c.
Fold brd.dat/mon.dat/prop.dat (which were array initializers for some of
the data) into monop.c.
Rearrange includes accordingly. No functional change.
code in OpenBSD.
Note: this breaks compatibility with old save files. However, the old
save files were missing critical information, had a completely insane
format, and didn't work anyway.
I will be riding this breakage with another breakage within a day or
two when I fix the insanity in the card deck handling.
With the advent of elf and mmaping malloc, assumptions that the code made
before about location and contents of the data segment broke. We supplied
an sbrk() only malloc, and recorded the break point at the beginning of
the program, so now save and restore works, in the traditional monop style.
This merges in all such remaining changes from the Linux port of the
NetBSD games, except in hunt (where substantial changes from OpenBSD
need to be looked at).
Some such changes were previously covered in PRs bin/6041, bin/6146,
bin/6148, bin/6150, bin/6151, bin/6580, bin/6660, bin/7993, bin/7994,
bin/8039, bin/8057 and bin/8093.