Commit Graph

30 Commits

Author SHA1 Message Date
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
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
nethack.allison
ffb22245a9 (from <Someone>) 2002-09-17 03:32:07 +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
nethack.allison
d493eb8d90 (from <Someone>)
The pet image was garbled because it was reduced to the size of the pet mark
bitmap
in the function that draws pet mark transparently over the pet tile (32x32
image was reduced to 16x16 and then stretched again)

Also added: use Windows-provided TransparentBlt where available.
2002-04-18 22:11:34 +00:00
nethack.allison
20779fba75 #R675: bug in win32 GUI (division by zero)
(from <Someone>)

>The tile size is actually set just once in mhmap.c so validation can be done
>in one place. The patch is attached.
>
><email deleted>
on Sunday, March 24, 2002 at 16:15:50
---------------------------------------------------------------------------

mailversion: 1.10

nhversion: 3.4.0

nhfrom: 3.4.0 Official binary release for Windows 95/98/NT/2000/Me/XP
(nh340win.zip)

hardware: 1 Ghz AMD Athlon, 512 MB RAM etc. etc.
I don't think that the hardware is related to the problem because I found it.

software: I used Win 98 (1st edition) and MS VC++ 6.0 to find/fix the bug in
Nethack 3.4.0.

comments: steps to crash: start nethackw.exe - start a game - select "fit to
sreen" in the map menue - rezize the map until it is very very small -> crash
2002-03-24 23:53:28 +00:00
nethack.allison
4ac38da4d9 (from Yitzhak)
-Yitzhak provided this prior to release
 but it never made it in.
2002-03-23 20:17:18 +00:00
nethack.allison
d936f1a1bf (from Yitzhak) 2002-03-11 23:38:59 +00:00
nethack.allison
300b7b7495 (from <Someone>)
Fix crash.
WIN_MAP was used without before initialization in mswin_select_map_mode
2002-03-11 04:36:54 +00:00
nethack.allison
c2d1eb267f various things
- a couple of README updates
- some color changes for windowcolors
- prevent crash From a bug report, but better than a crash. It
probably renders the map_mode:fit_to_screen ignored in defaults.nh.
2002-03-11 02:29:42 +00:00
nethack.allison
db2bdaadcb (from Yitzhak) part2
part 2 touches only port files

Makes Borland happy with current sources.
Fixes bug in WM_PAINT handling in rip/splash code.
Fixes getline() bug (H0009)
Tidies up source.
Fixes up copyright notices.
Adds TODO docs for Borland. (Removes "TODO" note)
Small changes to defaults formatting.
Fixes ALT key on Graphical Port non NetHack mode.
Hilites pet in Graphical Port text mode.

Also Implements windowcolors for status and message window in graphical port.
On graphical port,
tested to see it actually works.

Tested on platforms Makefile MSC/BCC Graphical/Console, MSC IDE for
compile and run and performing hilite pet in graphical text, not
displaying rawio, alt key.
2002-03-10 17:41:11 +00:00
nethack.allison
eea83e29ea - added ALT-keys support (except ALT-f and ALT-m which are menu
accelerators).
[...]

- added F4/F5 functionality - same as in MSDOS port
F4 toggles between fitting the tiled display to the screen
and full size (compresses the tiles to fit / uncompresses).
F5 alternates between ascii and tiles.

- added support for wc_vary_msgcount
2002-02-21 12:57:56 +00:00
nethack.allison
6d18eb3f0d From <Someone>
Fixed the map scrolling problem that Yitzhak reported.
2002-02-14 05:15:51 +00:00
nethack.allison
02e2c671ed Fixes from <Someone>
- added support for new options
- fixed couple of typos in options.c
- added sunken edge around message window
- added capability to replace font in the font table (if we will want to
  change font sizes dynamically later)
2002-02-06 00:15:47 +00:00
nethack.allison
7d1e6f7d57 from Yitzhak
Add absent prototypes to some core routines.
Also add some port function() to function(void) in some win32 routines.
Also updates the Borland C Makefile for win32.
2002-02-05 13:21:43 +00:00
nethack.allison
ab9bfc0489 <email deleted>
bugfix: map position was calculated incorrectly when switching into
fit-to-screen mode.
2002-01-31 00:16:32 +00:00
nethack.allison
ad2e81c296 Fixes:
- B1026  [confirmed] win32: setting multiple options
- bugfix: menu: set focus to the item and make it visible when it is
selected  with accelerator key.
- increased menu font size by 1 point
- layout the main window on WM_MOVE message so the menu windows stays with
the main window  (it was not changing the location before)
- got rid of WinCE specific define (ARM)
- handle all keyboard input via WM_KEYDOWN instead WM_CHAR

Files affected: config1.h mhmsg.h mhmain.c mhmenu.c mswproc.c resource.h
winhack.rc

Notes:
 That overrides Yitzhak's mhmenu patch - I don't like the menu prompt on the
title bar since it can be null and in most cases it is. It looks much better
as a header column in the list and is displayed only if present.

I moved ARM-related (processor) defines to wceconf.h  You cannot undef ARM
before windows.h is processed - ARM version won't compile.

.rc files are generated by IDE - you cannot edit them directly or your
changes will be gone next time the file is saved. If anything needs to be
added to winhack.rc file manually it has to be marked by the following
defines or via menu option View->Resource Includes:
#define APSTUDIO_READONLY_SYMBOLS
...
#undef APSTUDIO_READONLY_SYMBOLS
2002-01-27 23:28:02 +00:00
nethack.allison
179932310b invisible things due to black colour
Patch to fix invisible orcish helmets, orcish daggers,
mimic (]), ants etc.
2002-01-27 21:02:28 +00:00
nethack.allison
7d06212990 Fix B2001
B2001	<Someone>	[reported]	win32?: giant ant is black square

	Where is the open doorway with the giant ant standing in it?
	There used to be a closed door there, if I recall correctly.
	[now there is just a black square]
	I'm saving the level files at this point, and I will be saving
	the game after I did that, in case you're interested in any save
	files.
2002-01-27 14:14:14 +00:00
nethack.allison
359957ddbc One of the beta testers asked if the win32 scrolling
offset could be configured.  This allows it to be
set from the config file using:
	win32_map_cliparound_margin.
2002-01-27 04:36:39 +00:00
nethack.allison
0ca15b16c0 another follow-up for mhmap.c
Oops, it should have been VERSION_MAJOR < 4,
VERSION_MINOR < 4 and PATCHLEVEL < 2
2002-01-27 03:29:11 +00:00
nethack.allison
fc0e365c2f follow-up for mhmap.c 2002-01-27 03:11:12 +00:00
nethack.allison
775b022819 Change mhmap to use mapglyph() 2002-01-27 02:52:33 +00:00
nethack.allison
2d5361e389 From <Someone>,
Fixes:
- menu shortcuts implemented
- most windows close on space (except for menus with
  PICK_ANY style)
- "hilite_pet" option is implemented
- map scrolling is improved somewhat (it now scrolls if
  the char is within 5 spaces from the edge of the map -
  configurable by #define CLIPAROUND_MARGIN)
- added 3  winhack-specific options:

 win32_map_mode:[tiles|ascii4x6|ascii6x8|ascii8x8
                 |ascii16x8|ascii7x12|ascii8x12|ascii15x12
                 |ascii12x16|ascii10x18|fit_to_screen]=20
 win32_align_status:[left|top|right|bottom]
 win32_align_message:[left|top|right|bottom]

Note: aligning status window to left or right edge of the screen does
not look good.
2002-01-22 00:30:58 +00:00
nethack.allison
fb2f6753d6 From <Someone>
This was caused by  character set incompatibility between message and map
windows. Apparently, Nethack is using  IBM character set (CP 437) but fonts
were create for Windows ANSI codepage. I fixed most of it by changing
character set of the fonts except for the Rogue level. I had to make changes
to src/drawing.c for Rogue level since most of Windows fonts are not capable
of displaying control characters (char. code<0x20)
And of course, disabling IBMGraphics option fixes it all.
2002-01-18 19:14:13 +00:00
nethack.allison
35b46238fc From <Someone>: a couple of improvements to the user interface:
- fixed charset value for fonts
- wrap long lines in the message window (there is a #define to switch it on and off)
- multiple display modes for map
2002-01-18 00:42:04 +00:00
nethack.allison
59b7cb4be4 Michael Allison wrote:
> There has been some feedback from others on the development team
> around the tiles:
>   "The Rogue Level should ideally be text-mode. It freaks out the
>    tiled-version-only players when they first get there, but that
>    makes it a good reminder of NetHack's roots."
>
> The other supported tiled ports work this way too.  They display
> regular ASCII characters on the Rogue level, just like Rogue did.

-Adds Rogue-level ascii support.
-Also removes unicode support.

Some other build script tweaks as well.

M. Allison
2002-01-14 12:36:09 +00:00
nethack.allison
b79441dc5d Add WinHack source files to distribution 2002-01-13 05:27:55 +00:00