Commit Graph

72 Commits

Author SHA1 Message Date
nethack.allison
388a35a8b3 (from <Someone>)
- fixed tab-stop order for player selection dialog
- minor changes to the dialog layout
2002-03-09 02:32:35 +00:00
nethack.allison
f4a23fa572 bit 2002-03-09 00:56:39 +00:00
nethack.allison
422e8b22ae winhack.c mods
- change sprintf -> Sprintf macro
- fix sprintf syntax
- point to a www.nethack.org URL, rather than a Microsoft one
2002-03-09 00:43:14 +00:00
nethack.allison
c58e5d7afd (from <Someone>)
This patch implements Michael's idea to have a "NetHack mode" for
keypresses. It only does the Alt-keys now, but it should be easy
to extend to pressing space in dialogs; I left that out as we still
have to agree on a new dialog look.

The setting that you choose from the menu is stored in the registry.
Reading and writing the registry is done on init_nhwindows and
exit_nhwindows; there also is a menu item to delete the registry
settings (which makes sure they are not stored again this session.)
This provides a framework for future registry settings.

Also,
Alt-tab should show the app title when a menu or text window is up.

I left the app title as it was, although I still favour "Graphical
Version" or "With Graphics"; Anyway, that's only one resource string.
2002-03-08 22:23:04 +00:00
nethack.allison
9940848030 follow-up to <Someone>'s patch.
I left a couple of prepanic() calls in there accidentally
when modifying the patch.

Michael
2002-03-07 23:24:11 +00:00
nethack.allison
8a984ed35e (from <Someone>)
Here's a patch that checks whether the common control
library is available and up-to-date

[slightly modified from <Someone>'s version to reduce
 indentation one level, and to fix wrap-around
 in the patch]
2002-03-07 23:09:59 +00:00
nethack.allison
53d5dcf83a Something <Someone> reported. Ensure that an early panic() doesn't
cause an access violation in win32 graphical port.
2002-03-07 21:50:20 +00:00
nethack.allison
7214e1f05c Ensure that each win/win32 source file has a copyright statement
and mentions the NetHack license.
2002-03-06 16:18:27 +00:00
nethack.allison
5037e538df (from Yitzhak)
Addresses <Someone>'s point that ALT-F4 in game-over, still brings up the
save/quit/cancel dialog box.  This makes ALT-F4 equivalent to quitting
without any further disclosure/windows, but makes sure the game exits
properly so it will save the bones and the record file.  I also cleaned
up the mhrip.c to use macros for all magic numbers.
2002-03-06 05:16:17 +00:00
nethack.allison
3e582e40da (from <Someone>)
- added support for iflags.randomall (-@)
- echo yn_function selection to the message window (as From a bug report
2002-03-06 02:56:46 +00:00
nethack.allison
4ec0588d33 remove win/win32/mhcmd.* from distribution 2002-03-05 01:47:31 +00:00
nethack.allison
a8df5bc522 win32gui: more splash screen integration
auto-uudecode the file.
2002-03-04 23:01:10 +00:00
nethack.allison
4494593c30 (from Yitzhak)
win32gui: more splash screen integration

The Makefile have rip.uu/splash.uu added to them.  However, this won't
work if you don't have splash.uu.  Instead, just copy rip.uu or another
.uu and name it splash.uu.  Make expects to have splash.uu present (at
least Borland's make).   It doesn't add splash.uu decoding to the IDE
framework.  It does a bit in winhack.rc and Makefile.bcc to bring
winhack.rc up to sync with Borland's compiler.  If you don't like the
splash screen, then I'll have to redo that part of the patch apart from
the others.
2002-03-04 22:55:45 +00:00
nethack.allison
5911621d9f win32gui: adds a splash screen
The splash screen uses the VERSION_MAJOR,
VERSION_MINOR, and PATCHLEVEL macros, but there is no room in case one
of these goes into two digits.  That seems like a safe assumption to
make.

The Makefile have rip.uu/splash.uu added to them.  However, this won't
work if you don't have splash.uu.  Instead, just copy rip.uu or another
.uu and name it splash.uu.  Make expects to have splash.uu present (at
least Borland's make).   It doesn't add splash.uu decoding to the IDE
framework.  It does a bit in winhack.rc and Makefile.bcc to bring
winhack.rc up to sync with Borland's compiler.  If you don't like the
splash screen, then I'll have to redo that part of the patch apart from
the others.
2002-03-04 22:40:01 +00:00
nethack.allison
3dd82542fb OPTIONS_FILE port changes
- set OPTIONS_FILE in ntconf.h so makedefs will use it
- it gets set to either "ttyoptions" or "guioptions" depending on window port
 being built
- dlb nhdat creation stuffs both into the dlb file
2002-03-04 03:26:55 +00:00
nethack.allison
2671ec5ccb get rid of some unused variables. 2002-03-03 17:15:40 +00:00
nethack.allison
7e6f03e6ee new RIP integration 2002-03-03 16:51:46 +00:00
nethack.allison
c0f875710b (from Yitzhak)
Support for a graphical RIP.

-verified for successful source compile and display
of tombstone upon death only.
2002-03-03 16:46:40 +00:00
nethack.allison
ccb67fe926 fix a cut-and-paste error 2002-03-03 02:32:14 +00:00
nethack.allison
58c1d99bb8 win32 uses included uudecode utility 2002-03-01 05:06:48 +00:00
nethack.allison
0763523fba win32: Allow 32x32 tile builder to be built. 2002-02-25 03:38:05 +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
a62d0a25bc Includes:
1) Removal of bmp placement in binary directory in NT
2) No use of "intrinsic function" optimization in dsp
3) Compilation of resource file for NT Console

Untested on Borland yet.  Tested on console/graphical/ide Microsoft C 6.0
2002-02-15 13:26:27 +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
dafae59205 from <Someone>
( #enhance screen is still broken though). I attached a small
patch with minor adjustments.
2002-02-14 00:55:17 +00:00
nethack.allison
4565a1d0bd - added map scrolling:
Ctrl-left_arrow    - scroll left
  Ctrl-right_arrow  - scroll right
  Ctrl-up_arrow    - scroll up
  Ctrl-down_arrow    - scroll down
  Ctrl-home    - scroll to upper left corner
  Ctrl-end    - scroll to lower right corner
  Ctrl-PgUp    - scroll one page up (vertical)
  Ctrl-PgDown    - scroll one page down (vertical)

- F3/F4 keys switch between tiles / fit-to-screen ASCII mode (Yitzhak's
suggestion)
2002-02-13 20:09:52 +00:00
nethack.allison
3d185eeb87 from <Someone>
Combine the 32x32 icon and the 16x16 icon into a single file.
Clean up the command line argument processing a little.
2002-02-12 23:00:27 +00:00
nethack.allison
5a8cf1c4c1 Some win32 updates from <Someone>;
also corrects a cut-and-paste error that I made in options.c

The following options can be set in the game now:

  WC_HILITE_PET
  WC_ALIGN_MESSAGE
  WC_ALIGN_STATUS
  WC_SCROLL_MARGIN
  WC_MAP_MODE
  WC_FONT_MESSAGE
  WC_FONT_STATUS
  WC_FONT_MENU
  WC_FONT_TEXT
  WC_FONTSIZ_MESSAGE
  WC_FONTSIZ_STATUS
  WC_FONTSIZ_MENU
  WC_FONTSIZ_TEXT
2002-02-08 11:32:56 +00:00
nethack.allison
80a0fbd62b win32 argc fix
fix a problem when NetHack directory contains spaces.
2002-02-08 02:37:08 +00:00
nethack.allison
9da90d302d rename follow-up
This patch assumes that the file rename of
sys/winnt/winnt.cnf to sys/winnt/defaults.nh has been done.
2002-02-07 06:33:27 +00:00
nethack.allison
562d7855a7 (from <Someone>)
The patch that deals with tabs is attached. I also fixed bug when the
program won't quit if Quit option is selected in the player selection
dialog.
2002-02-07 05:42:31 +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
5bd29d05f6 Fixes (from <Someone>)
- visual feedback after a prompt: append an empty line to the message
  window when clear_nhwindow(WIN_MESSAGE) is called. Filter
  out empty lines in the buffer except for the active slot.

- append ellipses to the status line text if the text is truncated

- get rid of message boxes at the end of the game (ignore empty lines in
  raw_print as Yitzhak suggested)
2002-02-05 19:04:35 +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
742e1e8c90 3.3.2 to 3.4.0 2002-02-04 16:11:00 +00:00
nethack.allison
baa752d5f9 <email deleted>
The following fixes several bugs:
1) Mismatch between docs and game in definition of what '+' resolved in
favor of docs...
2) When game needs to be recovered a message box is shown.  This is a very
deprecated fix.  It pretty much answers just the conditions that require
this (a yn question to an erroneous winid), and is not useful for other
purposes.
3) The score file is written.
2002-02-03 17:51:54 +00:00
nethack.allison
cb6a93641b Adjust window-port related option processing
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.
2002-02-03 05:31:47 +00:00
nethack.allison
ab03144d1c dead key fix
Apparently, " is part of an accented character in US(international) keyboard
layout (additional character specific to the language of an origin - for
example, left and right double quotation marks). The code did not handle it
too well since it maps to 2 ASCII characters instead of one (one of them is
so called "dead" character). We can ignore the dead character as a
workaround for this problem. The patch is attached.

<Someone>.
2002-02-01 06:43:22 +00:00
nethack.allison
1c562198f5 fix crash during Drop unpaid
The patch is attached. Array bounds went unchecked in
the menu page operations (, \ ~)  This resulted in
memory corruption.

The actual crash depends on your luck actually. It will
only crash if  heap headers are corrupted, otherwise it
can go unnoticed.  When you do "Du," the list page size
is 18 (on my screen) with only 2 items in the menu. The
program assigned count of -1 to 18 items in the array
of 2. Ka-boom.  I put bounds checking code in several
places.  The window size does not have anything to do
with it.

<Someone>.
2002-02-01 00:36:54 +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
6e173ddf5f win32gui patches (from Yitzhak)
[...]
One of them deals with the patch you just sent, that changes the name but
does so more extensively, particularly, also in the Save dialog in
mhmain.c.  Another is one of the changes to winhack.rc to make it compile
under Borland.

This also (beyond patches I sent): fixes no Options prompt bug, and fixes
up the menu bar (which I broke in one of my patches).

Tested on msc/bcc tty/win makefiles and vc ide.
2002-01-27 21:37:31 +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
f571601bc2 Change title to prevent Beta tester complaint. 2002-01-27 20:21:20 +00:00
nethack.allison
2457431a71 found another popd command. 2002-01-27 15:19:36 +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