Commit Graph

337 Commits

Author SHA1 Message Date
nethack.allison
253a9d388b win32gui: prevent male valkyrie (from <Someone>)
>Steps to reproduce problem:
>1) make sure you don't have race, role, gender specified in your
>   defaults.h, then add
>   OPTIONS=role:Valkyrie,race:Human,gender:male,align:lawful
>2) start a new nethackw.exe game
>3) Uncheck "Random" from gender box, now you can select from male
>   or female, not only female.
>4) Select male and click OK.
>5) When game begins press shift+O (Options) and look to gender.
>   Your valkyrie is male.

defaults.nh values were not used the dialog initialization. That's
why both male/female options were available for Valkyries. This is
now fixed.

Also added: checking for consistency of the initial settings and
resetting all incompatible values to ROLE_NONE.
2003-05-26 09:58:15 +00:00
cohrs
07a3dabab1 more U429 - tile bits
> While looking at the tiles.bmp file, I've found some more mistakes like
> this : the Wizard of Yendor's shadow is touching Croesus' tile, and one
> of Orcus' wing is touching Yeenoghu's tile.
2003-05-17 21:46:45 +00:00
cohrs
18ee5accfb X11 install doc update
In some X11R6 configurations, .Xresources is the name for the .Xdefaults
file.  My older Linux system uses _both_, depending on which window
manager you run.
2003-04-24 15:42:53 +00:00
cohrs
8cb8d6cf54 U429 - high priest tile
Fix a couple bad pixels in the high priest tile that are actually shadows
from the previous tile that spilled over.
2003-04-22 23:51:30 +00:00
warwick
cb71f71b53 The POSIX function yn() is sometimes a macro (eg. GCC 3.2, Linux),
so undefine it (we don't need either here).
2003-04-22 06:57:27 +00:00
warwick
ccb0973a23 Another key fix for MacOSX. 2003-04-02 07:04:16 +00:00
warwick
d5f40ec222 Show true key sequences (essential on MacOSX). 2003-03-28 01:41:38 +00:00
nethack.allison
debd89444c (from <Someone>)
What's in it:
some MessageBox tidbits:
- Let all MessageBoxes display an icon
- Introduced NHMessageBox to have messageboxes display a consistent title
- Change icon in mswin_display_file from MB_ICONERROR to MB_ICONEXCLAMATION
  for non-fatal error
And to solve #U355: NetHackW won't run on Win2K OS:
- Avoid a crash when closing the main window while the splash screen is
  displayed.
- Make sure NetHack starts normal when closed minimized
- Center the splash screen on the screen, not on the parent window
  (which may be off-screen)

What's new in it:
- Show copyright banner in textbox in splash screen instead of over the picture
- Show news in splash screen only if iflags.news (solves W341-6)
- show complete version information in splash screen when it is used as about box)

[Also reverse the numkey patch in main trunk]
2003-03-27 00:23:24 +00:00
nethack.allison
39befe07fd To summarise:
- My "various Windows refinements" patch from yesterday went into 3.4.x correctly
- My "NumberPad" patch went into 3.4.x, but should be backed out
- My "various Windows refinements" patch from last week was for 3.5.0, but is incomplete; you can safely ignore that.
- I'll make a new "various Windows refinements" patch for 3.5.0 tonight.
2003-03-26 00:02:09 +00:00
cohrs
1783623cb4 more gnome compilation problems
a typo kept gnstatus.c from compiling w/GOLDOBJ defined
2003-03-24 22:12:32 +00:00
nethack.allison
adfaae0677 numkey (from <Someone>)
mapping the 5 and 0 to '5' and '0' respectively
when NumLock is off, to make entering numbers easier. The core will map '5' and
'0' to 'g' and 'i' respectively. This solves W341-5.

Note: I changed nhdefkey.c and mhmain.c, so both the tty and the windows
interface will show new behaviour. I deliberately did not change nh340key.dll.

Note: Maybe the same change should be made to the MSDOS port.

Note: The behaviour of getobj is a little bit strange: It doesn't use
yn_question's  facility for returning a number, but handles that itself. The
net effect of this is that if you type d55$ (to drop 55 zorkmids,) only the
first '5' is shown
2003-03-23 19:20:22 +00:00
nethack.allison
34272b3249 More (from <Someone>) 2003-03-23 19:16:54 +00:00
nethack.allison
5311cce717 From Yitzhak
(2 troublesome bands removed
and will follow later)
Here's the new patch with the Windows improvements; this should apply to the
3.4.2 tree. Note the changed filename in the diff lines.
What's in it:
> some MessageBox tidbits:
> - Let all MessageBoxes display an icon
> - Introduced NHMessageBox to have messageboxes display a consistent title
> - Change icon in mswin_display_file from MB_ICONERROR to MB_ICONEXCLAMATION
> for non-fatal error
>
> And to solve #U355: NetHackW won't run on Win2K OS:
> - Avoid a crash when closing the main window while the splash screen is
> displayed.
> - Make sure NetHack starts normal when closed minimized
> - Center the splash screen on the screen, not on the parent window (which may
> be off-screen)
What's new in it:
- Show copyright banner in textbox in splash screen instead of over the picture
- Show news in splash screen only if iflags.news (solves W341-6)
- show complete version information in splash screen when it is used as about
box
2003-03-23 19:03:08 +00:00
warwick
8bc452fe31 Fix random character selection, as From a bug report. 2003-03-10 06:48:53 +00:00
nethack.allison
27977b7c15 win32 stuff held until after bugfix release (from <Someone>)
-better handling of "more" prompt for messages that would have      scrolled off the window
-support perm_invent
-menu option to add/remove windows captions
2003-03-03 23:31:36 +00:00
warwick
04554e7729 Work on more UNIX systems. 2003-02-26 07:25:54 +00:00
cohrs
ee99c8e848 even more missing newlines 2003-02-23 16:49:18 +00:00
nethack.allison
7d0a10f3fd more win32 more (from <Someone>)
<Someone> and <Someone> both agreed that this was:
- useful
- unlikely to break anything.
2003-02-21 01:55:26 +00:00
nethack.allison
2875a46833 Roll back the last-minute patch after <Someone> found problems with it 2003-02-20 10:51:40 +00:00
nethack.allison
ed1fddc0b1 win32 "more" handling (from <Someone>)
> There is a slight problem with "--more--" prompt being handled in
> WM_PAINT. WM_PAINT can be sent while you're inside
> mswin_nhgetch(). This causes some weirdness if window is resized
> while waiting for --more-- prompt.
2003-02-20 03:42:46 +00:00
nethack.allison
fc2acbb130 win32 and msdos recover
Since the ports have SELF_RECOVER defined,
remove the build of recover.exe from the default steps.
You must explicitly use 'make recover' now.
2003-02-18 00:21:19 +00:00
nethack.allison
a1a296aa8d win32 bits 2003-02-15 22:46:10 +00:00
cohrs
6e954a9c51 B14005 followup - X11 rip font
Steve VanDevender noticed that fixing the default text window font
caused the rip window to use this font as well, due to intricacies
of X11 resource relationships.
2003-01-04 02:54:45 +00:00
cohrs
06f928aa78 B14005 - fixed width font for X11 text windows
Change the default font for X11 text windows to be fixed by uncommenting
the existing spec in the app defaults file.
2003-01-02 21:23:40 +00:00
nethack.allison
676df2da62 more beta
BETA_INFO was being used in win32 code but
it is only defined in version.c
2002-12-26 17:14:34 +00:00
nethack.allison
03456ea341 MSDOS autocompletion fix 2002-12-24 02:20:50 +00:00
nethack.allison
335aeb4c9e win32 port update (from <Someone>)
Implemented doprev_message in windows port: scroll message
window up one line.
2002-12-23 12:59:06 +00:00
nethack.allison
70b4129ef3 Borland updates (from Yitzhak) 2002-12-23 12:51:57 +00:00
nethack.allison
5127800475 autocomplete fix for win32
The problem with the new autocomplete was tracked down to
be the result of differences between different implementations
of backsp().  The differences go all the way back to the
early MSDOS port by the look of it, and the win32,
and Mac tty ports all seemed to pattern themselves after the
MSDOS port for that routine.  Apparently, it didn't cause any
harm until now.

The problem is that backsp() sends a character sequence
of 0x08, 0x20, 0x08 on at least those ports, where the Unix
tty code only sends 0x08.  So the characters in the new
autocomplete were all being erased from the screen.

This patch only fixes the win32 tty port, so I've left the
conditional code in getline.c for DOS and Mac. I
2002-12-23 12:49:56 +00:00
nethack.allison
f48ee27d5e make recent autocomplete changes conditional
- there are problems with the changes on
at least the win32 tty port.
2002-12-22 02:46:08 +00:00
cohrs
ed39497b21 tty autocomplete
Change tty extended command autocomplete, based loosely on <Someone>'s
patch, to allow you to type autocompleted characters.  That is, you can type
characters the autocompleter inserted without invalidating the command.
I haven't looked closely, but at least some other windowport extended
command readers seem to already behave similarly.
2002-12-12 06:16:39 +00:00
nethack.allison
46f4a4e5c5 win32 IDE fix
A recent change described as:
"changed the IDE files to build NetHackW.exe instead of
nethackw.exe. This is only cosmetic, but consistent with the
other executable."

was not just cosmetic. The changes prevented the
executable from being copied to the target binary
directory at all, due to the removal of the necessary
trailing tab.
2002-12-11 03:52:06 +00:00
nethack.allison
bea789ea2d win32 updates (from <Someone>)
- restructured Install.nt quite a bit. It now contains instructions
to build a graphical nethack using NMAKE, too. I merged
the instructions for command line builds, and separated the IDE
build; that made more sense to me. It is shorter, too.
- added some lines to all Makefiles so they now build
NetHackW.exe when GRAPHICAL is "Y", and NetHack.exe
otherwise. I espacially did not test this on Borland.
Previously, the makefiles would always build NetHack.exe.
- changed the IDE files to build NetHackW.exe instead of
nethackw.exe. This is only cosmetic, but consistent with the
other executable.
- made a small change to pcmain.c, as the MinGW linker
cannot decide between main() and WinMain() when both are
present, as explained in <Someone>'s original
message. (I used a #ifndef instead of comments ;-)
The MinGW graphical build indeed seems to work.
2002-12-09 03:12:47 +00:00
warwick
876fb8aca1 <email deleted>
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.
2002-11-27 04:37:12 +00:00
nethack.allison
fded4ca778 B08003 (from <Someone>) 2002-11-04 03:26:59 +00:00
nethack.allison
04f845f87b splash screen patches (from <Someone>)
- Show splash on "Help - About" with all version information
- Show splash with news on startup (if show_splash is on of course).
I made another small patch to the splash screen. Because the greenish background colour always seemed a little odd to me, I decided
to make it transparent. Doing that, I found the following:
- The splash picture was a 24-bit bitmap, although it had less than 256 colours. That makes the size of the final executable about
200K larger than necessary. I changed it to a 256-colour bitmap. I also changed the background colour to the default tile background
colour, for consistency. The new bitmap is attached here. My excuses if the large file means a problem to anyone.
- In Microsoft's documentation (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_2y9g.asp) is is
stated that on Windows 95/98 "TransparentBlt contains a memory leak that can exhaust system resources." It is recommended to use
different code to draw transparent bitmaps, to be precise: the alternative code that is already in nhapply_image_transparent(). I'm
almost convinced that this is the cause for Betabug B08008 reported bij <Someone>. Can anyone confirm he is using 95/98? I decided
for the easy way out and removed the code that uses TransparentBlt completely. I see not much reason to use it if it is a) buggy and
b) we have an alternative that works perfectly. This is attached as trans.patch.
- The rest of the patch only changes the BitBlt() in mhsplash.c to a nhapply_image_transparent().
2002-11-03 15:26:41 +00:00
nethack.allison
2b31ea2c96 NH 3.4.0 fonts on Win2K / Japanese (from <Someone>)
Here is one more patch (see attachment). It does TranslateCharsetInfo
to map codepage to a character set. I am not sure if it will help though.
Japanese Windows is using codepage 932 and I don't think IBMgraphics
will work too well in this codepage.
AFAIK, there is no way in win32 to force arbitrary codepage for a font
(CP 437  in case of Nethack). That means IBMgraphics is unlikely to work
if the system locale is set to something other than US or Western Europe
(CP 437 & 850).

-<Someone>
2002-11-03 15:16:22 +00:00
warwick
b07484b572 Remove test code (font was wrong). 2002-10-14 05:39:39 +00:00
nethack.rankin
329ce86056 different extended command bit (tty)
I've found myself adding a trailing space to various extend
commands from time to time, and the program fails to recognize then
when that happens.  It might be less likely once none of them has
any embedded spaces, but this wouldn't hurt anything if that becomes
the case.
2002-10-10 23:16:02 +00:00
nethack.rankin
737294a517 build fix 2002-09-28 09:35:22 +00:00
nethack.allison
b9a3376fc5 stray files (from <Someone>)
winhack.h is not being used anywhere now and can safely be deleted.
There 2 instances of this file:

sys\wince\winhack.h
win\win32\winhack.h

The patch is also attached that adjusts for this.
2002-09-19 00:16:10 +00:00
nethack.allison
ffb22245a9 (from <Someone>) 2002-09-17 03:32:07 +00:00
nethack.allison
6bebdbb135 win32 USER_SOUNDS
This uses pmatch() as a default pattern matcher,
and #defines USER_SOUNDS_REGEX for Qt
to enable the code for regular expressions.

This is enabled for win32tty and win32gui.
2002-09-02 23:28:54 +00:00
nethack.allison
71eb636e14 win32 (from <Someone>)
This patch is an improvement for menu/text dialogs.
This is a code carried over from Windows CE port. It changes
text and menu windows from "system popup" to plain "child"
windows of the main nethack window. Nethack main window can
now be resized/moved/minimized when menu/text window is up.
Menu/text windows will always stay inside the main window and
move along with it.

<Someone>
2002-08-28 04:53:50 +00:00
nethack.allison
ea31aa03dc (from <Someone>)
> Questions are being appended in the message window, some showing
> up on the same line. This is really noticeable with the
> end-of-game disclosure questions. Questions should always be
> presented on a new line.

At end of game is probably the only place, since then more than one
question is asked in the same turn. Anyhow, here's the patch, in
mswproc.c  [...]

- No checkboxes in menu if menu is PICK_NONE. mhmenu.c

- About box changed to splash screen. This last thing is open
for discussion, as the splash screen currently does not give
exactly the ame information as the about box (or the v command).
Maybe the splash should be enhanced? Anyway, it looks better than
the About-box. I didn't remove the About-box code and resource yet
until this discussion is had. mhmain.c

<Someone>
2002-08-25 12:29:35 +00:00
nethack.allison
706f95ca7d misc bits: options, also win32 follow-up from <Someone>
(from <Someone>):
I guess that this:
      mcam += iflags.wc_scroll_amount;
should be his:
      mcam += iflags.wc_scroll_amount - 1;
In words: If scroll amount is 1, the behaviour should be as it was
before the option existed, which means: no addition to mcam.
2002-08-24 15:33:00 +00:00
nethack.allison
2ce6152d63 B08021 scroll_amount wincap option
> - I'd like to see another option added: scroll_amount. In
>   combination with scroll_margin, this would control the amount
>   of squares the screen is scrolled when the scroll_margin is
>   reached (currently, this amount is 1, but if I recall
>   correctly, it used to be more). For example, if both were 5,
>   when you came within 5 spaces of the left screen border, the
>   screen would shift 5 spaces to the right).
2002-08-23 01:03:59 +00:00
warwick
21dd13c294 Unhide the "click-to-the-left-to-set-count" feature, since it's a FAQ. 2002-08-22 05:10:29 +00:00
nethack.allison
b3417655da B08002 - win32gui: message window sizing (from <Someone>)
>>>  - When I set font and font size of the message window, the
>>>  message window size doesn't calculate correctly to show the
>>>  number of message lines specified. For example, I set the font
>>>  size to 6, and the number of messages to display to 8. Now
>>>  there is whitespace at the top of my message window. When I
>>>  set the font size to 14 now, I see only 5.5 message lines.
>>>  This is unintuitive: the interface should recalculate the
>>>  window size needed to display the correct number of lines.
>>>
>>  I agree, especially since the message window size is
>>  recalculated correctly if you save and restore. An easy way out
>>  would be to set those options to DISP_IN_GAME.
>
>  That seems like a good work-around until the proper fix is done.

The patch is attached. I moved the code that was computing the font
size to mswin_message_window_size(). This will cause the message
window to resize properly if the message font size changes. There
are also 2 minor bits in mswproc.c to invalidate the message window
when the font changes.
2002-08-21 23:14:27 +00:00
cohrs
a78e08d0c5 B08020 - partial fix for D<count>$ behavior
When GOLDOBJ is defined, dropping partial amounts of gold using the D
command would not work because gold currently has the same inventory letter
as the coin group accelerator.  In this case, the group accelerator should
not be used, since it confuses counts.  tty and X11 ports are fixed.  The
tty change should fix the Windows console version as well (untested).
2002-08-21 16:57:21 +00:00