If race is set to random and role is set to something
specific, the Qt interface sometimes hangs trying to
determine an appropriate race/role.
This patch that fixes the problem, and makes 'random'
work more appropriately.
Move get_saved_games() functionality to files.c
Use moved get_saved_games() functionality in Qt windowport.
[also some non-enabled perminv code in Qt windowport]
- support X11 tile files (with or without XPM) that are 40 tiles wide
- rearrange some X11 code to share more code between XPM & non-XPM options
- clean out some deprecated X11/winmap.c #ifdefs
- update Qt code minimally to handle such an XPM file
to allow common parsing in the core, and direct access to the
results by the window port.
Notes:
o Adds a new field, wincap, to the window_procs
structure for setting bits related to the preference
features that the window port supports. This allows
run-time determination of whether a particular option
setting is applicable to the running window port. A
window-port is free to support as many, or as few,
of the available options as it wants. Ensure that
only the ones supported have their corresponding bit
set in window_proc.wincap. [see chart in
doc/window.doc for help with that.]
o The settings I stuck into wincap for each window
port are almost certainly not accurate, so each port
team should review them. You should only include
the ones that you will actually react to and make
adjustments for if the user changes that option.
Without the setting in wincap, the option won't even
show up in the 'O'ptions menu.
o preference_update() added to the window-port
interface, so that the window-port can be notified
if an option of interest (an option with its
corresponding bit set in wincap field) is
changed.
o provided a genl_preference_update() routine in
windows.c and used it for all the existing
window ports since they don't have a functional
one of their own yet.
o this messes around heavily with iflags and the options
arrays in options.c
o I hope I didn't break any port's existing code. I
tried not to. The Mac however, in particular, should
be looked at because it suffered a namespace collision
with what I was working on around fontname. It had
Mac specific font stuff in options.c. Please test
the Mac.
These changes clean up build warnings and allow the resulting "NetHack"
Application icons to be dragged around freely in the Finder, as is expected
for Mac apps.
Often, the yn_function "choices" parameter is not set, so for a non-keyboard
GUI (compact mode is for handheld computers with a stylus), the windowport
has to parse the prompt to find out the posible input choices. I got the
parsing wrong.
Fix the Qt code so it compiles wth Qt 2.1 again (Install.Qt still claims
the code works on Qt 2.0 and above). One or more of the changes made this
week broke compilation on my RedHat Linux 6.2 system. Qt 2.1 is still the
most recent Qt shipped by RedHat for this version.
- "Saved game" dialog (could be useful in other ports - plain C code used)
- "splash screen"
- compact mode cleanup for 240x320 displays
- messages-on-map overlay display
- allows online reading of Guidebook in HTML format (coming soon)