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.
Jan 2002 The MPW compilers are now supported again. Note that the graphical MacOSX variant uses the Qt windowport and the UNIX build system. 26 Nov, 1999 NetHack 3.3.0 was built with Metrowerk's Pro 4 compiler on a PPC system. We are still compiling with 68K alignment because we know it works. No one has checked lately if the PPC alignment bug still exists. 23 May, 1996 NetHack 3.2.1 was built with Metrowerk's DR8 compiler on a PPC system. The official 68K and PPC versions were compiled with 68K Alignment to share files. The 3.2.0 versions were compiled with PPC alignment, but it was discovered that the Metrowerks 68K compiler has a bug with PPC alignment and structures that can be aligned to a single byte. This bug _may_ be fixed in DR10, it is not fixed in DR9. Why bother with PPC alignment at all? Because the space saving from 68K alignment is small and the PowerPC version will run better. The 68K version was compiled with 4 byte ints using the far model. Only the Metrowerks compiler has been used to compile the code in a long time. It is _very_ likely that the other compilers, Think C and MPW C, will no longer be able to compile NetHack out of the box. They and their files have been moved to the "old" directory until such time that someone can compile with them.