Anyway here's what needs to be changed. In <blah>\win\win32\winMS.h there
is a definition of the number of windows it can use:
#define MAXWINDOWS 15
Simply change this to something bigger, e.g.
#define MAXWINDOWS 128
Now the game will crash after 120 or so popup text windows instead of 12.
It's not a particular elegant fix, but it does the job.
If you are not into the whole compile your own thing, there is a work around.
While on a quest you should save and quit periodically. This should reset
the number of windows nethack has used. Basically don't try and do the
quest all in one session.
<snip>
This is how to fix it "for good":
remove the following condition at win/win32/mswproc.c:867
( in mswin_destroy_nhwindow(...) ):
if (GetNHApp()->windowlist[wid].type == NHW_TEXT) {
/* this type takes care of themself */
return;
}
The whole statement.
***************
*** 864,874 ****
return;
}
- if (GetNHApp()->windowlist[wid].type == NHW_TEXT) {
- /* this type takes care of themself */
- return;
- }
-
if (wid != -1) {
if( !GetNHApp()->windowlist[wid].dead &&
GetNHApp()->windowlist[wid].win != NULL )
--- 864,869 ----