Commit Graph

60 Commits

Author SHA1 Message Date
PatR
6459b5d301 black&white lava
Add MG_BW_LAVA to mapglyph() instead of hijacking MG_DETECT.  Used
to display lava in inverse video if color is disabled and lava is
using the same display character as water (which is the default).
(The use_inverse option must be enabled for tty to honor it.  X11's
text mode doesn't care.  Win32 does care but probably shouldn't--it's
not a case like tty where the hardware might not support it.)

This implements both MG_DETECT and MG_BW_LAVA for X11, but only if
the program is built with TEXTCOLOR enabled.  Those should work even
when color is not supported, but I suspect that configuration is
unlikely to ever be used so didn't want to spend the time to figure
out how to do it.  (The relevant data is overloaded on the color
data, so not available when TEXTCOLOR is disabled.)

The win32 revision is untested.
2016-05-28 00:51:54 -07:00
Alex Kompel
c4bf762ec1 win32_gui: mimic tty interface when "Nethack mode" is selected (remove window features) 2016-01-03 19:52:05 -08:00
nhmall
5df350d548 separate option to toggle hilite_pile
Beta tester report.

The use of use_inverse meant that you couldn't selectively
choose to hilite pets but not piles. Add its own option.
2015-06-22 15:51:43 -04:00
nhmall
32200de64c more pilemark 2015-06-20 08:38:11 -04:00
nhmall
385d4c4293 Pilemark support for windows
Changes to be committed:
	modified:   win/win32/mhmap.c
	modified:   win/win32/winMS.h
	modified:   win/win32/winhack.c
2015-06-20 08:33:49 -04:00
nhmall
07f6dec128 try to add pilemark support
Changes to be committed:
	modified:   Files
	modified:   sys/winnt/Makefile.msc
	modified:   win/win32/mhmap.c
	new file:   win/win32/pilemark.uu
	modified:   win/win32/resource.h
	modified:   win/win32/winMS.h
	modified:   win/win32/winhack.rc
2015-06-14 18:33:32 -04:00
Alex Kompel
6a04c7ff18 win32_gui: "no flickering" patch broke text mode 2015-06-10 23:33:22 -07:00
Alex Kompel
979cf90a0d win32_gui: correctly handle NO_GLYPH as backgroung glyph 2015-06-10 23:12:18 -07:00
Alex Kompel
ad654cdc61 win32_gui: flicker mitigation
- do not invalidate window area if tile has not actually changed
   - do not erase backround when invalidating the tile
   - use NO_GLYPH for uninitialized map areas (as opposed to -1)
2015-06-10 19:18:56 -07:00
Alex Kompel
afa0e95e66 win32_gui: implement background glyph rendering
try to use system TrasnparentBlt (or not)
2015-06-09 08:34:11 -07:00
Sean Hunt
1c081b1647 Remove stale version control lines. 2015-05-25 09:21:31 +09:00
Sean Hunt
97d6fade74 Reformat all C files.
I'll push a formatting guide at some point. There may still be
outstanding changes, but please feel free to resolve those as you arrive
a them.

To the best of my knowledge, there is no changes to the actual code
content, but the formatter does have the occasional bug. If you run into
an issue, please fix it!
2015-05-09 13:43:16 -04:00
nhmall
20069798d4 Merge branch 'master' into win32-x64-working 2015-05-07 04:52:30 -04:00
karnov
2a907f894e Version number increment 2015-05-06 22:04:27 -04:00
Dion Nicolaas
b6007ac59d BCC is more strict about not statements before parameter declarations 2015-05-02 13:48:44 +02:00
Alex Kompel
62617092b5 win32_gui: gettting x64 build to work 2015-04-14 08:54:44 -07:00
Alex Kompel
3c6f01f022 win32_gui: couple of perm_invent tweaks 2015-04-13 23:47:42 -07:00
Derek S. Ray
b4142b5894 Merge branch 'master' into win32-x64-working
* master: (354 commits)
  Add missing protos
  a warning bout lc_error
  Add S_poisoncloud to Guidebooks
  ...

Conflicts:
	.gitattributes
	dat/.gitattributes
	doc/.gitattributes
	doc/Guidebook.mn
	include/config.h
	include/decl.h
	include/extern.h
	include/flag.h
	include/hack.h
	include/ntconf.h
	include/sys.h
	include/wceconf.h
	src/apply.c
	src/attrib.c
	src/bones.c
	src/botl.c
	src/dbridge.c
	src/dig.c
	src/do.c
	src/do_name.c
	src/dog.c
	src/dungeon.c
	src/eat.c
	src/end.c
	src/files.c
	src/fountain.c
	src/hack.c
	src/invent.c
	src/light.c
	src/makemon.c
	src/mhitu.c
	src/mklev.c
	src/mkmaze.c
	src/mkobj.c
	src/mkroom.c
	src/mon.c
	src/objnam.c
	src/options.c
	src/pager.c
	src/pickup.c
	src/potion.c
	src/pray.c
	src/questpgr.c
	src/read.c
	src/restore.c
	src/rnd.c
	src/role.c
	src/rumors.c
	src/save.c
	src/shk.c
	src/sit.c
	src/sp_lev.c
	src/sys.c
	src/teleport.c
	src/trap.c
	src/u_init.c
	src/uhitm.c
	src/wield.c
	src/worn.c
	src/zap.c
	sys/amiga/.gitattributes
	sys/mac/.gitattributes
	sys/msdos/.gitattributes
	sys/msdos/pctiles.c
	sys/msdos/vidvga.c
	sys/os2/.gitattributes
	sys/share/.gitattributes
	sys/share/pcmain.c
	sys/unix/.gitattributes
	sys/unix/hints/.gitattributes
	sys/unix/sysconf
	sys/unix/unixmain.c
	sys/vms/.gitattributes
	sys/wince/.gitattributes
	sys/wince/mhstatus.c
	sys/winnt/.gitattributes
	sys/winnt/Makefile.msc
	sys/winnt/nhsetup.bat
	util/lev_comp.l
	util/makedefs.c
	win/X11/winmenu.c
	win/X11/winstat.c
	win/gnome/gnstatus.c
	win/share/tilemap.c
	win/tty/termcap.c
	win/tty/topl.c
	win/tty/wintty.c
2015-04-05 23:42:15 -04:00
Pasi Kallinen
c8e781c418 Add menucolors
-Add a boolean option menucolors to toggle menu color
-Add MENUCOLOR -config file option

TODO:
-Better support for win32
-Support more windowports
-Update Guidebook
-Allow changing menucolor lines in-game
2015-04-02 20:16:25 +03:00
Sean Hunt
ffd201495c Make REINCARNATION unconditional.
There is a lot of code affected by this, and Pat Rankin correctly
observes that it would be better to store roguelike as a level flag
rather than just using Is_rogue_level. A note for the future.
2015-03-17 18:46:08 +02:00
keni
25cd007c48 Bulk recovery of file CVS headers and addition of NHDT- headers. 2015-03-17 18:45:12 +02:00
Derek S. Ray
b1a7bbbbdb pull in the recent unconditionals merge from master 2015-02-27 21:25:00 -05:00
nhmall
e1dfe9c48a Roll back the win/win32 tree to the way it was before x64 attempt 2015-02-26 22:09:31 -05:00
nethack.allison
593181421d More clean up of the Windows x64 build (trunk only) 2012-01-11 01:45:02 +00:00
nethack.allison
783413bb57 Start trying to clean up the Windows x64 build (trunk only) 2012-01-11 01:15:37 +00:00
keni
665dedc3de Add RCS version lines 2009-05-06 11:00:43 +00:00
nethack.allison
374e9fbbb4 more symbol stuff (trunk only)
- reduce the number of symbol tables for each graphics
set {PRIMARY, ROGUESET} from three {map, oc, mon}
tables for each of the display symbols, the loadable symbols,
and the rogue symbols, to one continguous table for
each:
showsyms: the current display symbols
l_syms: the loaded, alterable symbols
r_syms: the rogue symbols

- Modify mapglyph so that the index into the symbolt table is
available as a return value (it was a void function), rather than
just the char converted from the glyph.
- That makes it possible for a window port to use the same
index value to extract from another table (perhaps a unicode
table) for a different set of display symbols. The  index
is much more useful than trying to convert the character
into another type of symbol, as some contributed patches
have done.
- It is much easier to load a single alternative flat table to
make substitutions, since the corresponding value just
has to get placed into the same index offset in the
alternative table.

This also fixes a bug I found in botl.c, where you could
go to the rogue level, and the bottom line gold symbol
was not being updated with the new character as it should.
The reason was because the gold value had not changed,
only the field symbol used had changed.

This updates multiple ports to place a (void) cast on
the mapglyph call, now that it returns a value, so this
is going to generate a lot of diff e-mails.
2006-10-01 19:30:08 +00:00
nethack.allison
75e9a06719 clicklook on win32
Make clicklook option a little safer/easier on win32 by letting
right-mouse button work as expected.
2005-03-29 04:26:58 +00:00
nethack.allison
6177f4b871 win32 and wince
Remove the email address which is no longer valid from
several NetHack source files.
2005-01-23 19:39:01 +00:00
nethack.allison
21eaf22be4 win32gui message history; also clipboard support (from <Someone>)
- added 2 menu options: Copy ASCII Screenshot To Clipboard, Save
  ASCII Screenshot To File
- implemented saving message history
2003-10-13 14:48:13 +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
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