Commit Graph

167 Commits

Author SHA1 Message Date
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
nethack.allison
7f7c1ff26b FIXES:
- added counting to the menu window. I changed the way it works in the TTY
port though  ("you hear the rumble of distant thunder..." :)  The count
applies to the currently selected item instead of being aplied to the item
to be selected  (in other words a12 instead of 12a). It works better this
way in the graphical port since there is a notion of current menu item.
 I also notes that the count is ignored for PICK_ONE menu - is this by
design?

- somebode mention that text is not scrollable by default - this is fixed.

- fixed player selection dialog to use initXXXX options

-----------------------
B1028 [reported] win32: popup window is too short
The text in the popup window's top line "What do you want to
call the ..." is cut off. Could the window be bigger, so you
can read the entire line?

Fixed.

---------------------
B1027 [reported] win32: select via traditional class char
In a shop (and perhaps elsewhere), I can autoselect a class of
items to drop: a for all types, b for coins, c for weapons, ...,
A for every item, B for blessed items, ... I like the new
possibilities, but I would like to be able to use the old way of
using ! for potions, ) for weapons, etc., as well.

Fixed.

---------------------
B1026 [reported] win32: setting multiple options

I want to set packorder and pickup_types. The first comes up
first, and I type in the order. Then comes the second, without
any hint what is asked of me. A little explanation here would
be appropriate, like "pick up what things automatically?" or
somesuch. When more than one option is set where extra input
is required, some explanation is useful.

Looking into. Apparently something  end_menu() call is ignored by nethackw.

---------------------
B1025 [reported] win32: menu navigation
I press O. Now, when I press "a" to turn on "autodig", not only
is the mark set at "a", but there also appears a dotted
rectangle around option "A" (capitalized). Shouldn't this
rectangle also appear at "a"? Pressing "a" repeatedly toggles
the checkmark, but the rectangle switches between "A" and "a".
My CAPS LOCK is not set. The same goes for B, C, D, ... N,
by the way. Pressing "A" works the other way around: the first
press checks "A" and "rectangles" "a", the next unchecks "A"
and rectangles "A" as well.

Fixed.

---------------------
B1024 [reported] win32: no text in final window
After I clicked away the last screen with information
(challenges, I believe it was), I got an empty text screen, as
big as my screen, without any content. It looked like the text
screens that appear on the right, only it was larger and had
only a large OK button over the full width of the window, and
no cancel button. Why this window?

Fixed. The program did not set window text for RIP window.

---------------------
B1010 [known issue] win32: cosmetic
When I get my list of spells, the columns aren't properly
aligned: if the spell name is longer, the rest of the line
shifts right.

Fixed. Fixed-pitch font is used for menu window.

---------------------
B1004 [reported] win32: numeric keyboard Del/.-key
The Del/.-key on my numeric keyboard doesn't make me rest a turn

Fixed. Added rest on Del.

---------------------
B1003 [reported] win32: focus
When the window has the focus, the window bar isn't highlighted.

This is by design. Menu and text widnows are popup and the main
window is disabled when they are up.
2002-01-25 07:19:21 +00:00
nethack.allison
7406ad3855 Windows Me and Windows XP. 2002-01-25 01:54:44 +00:00
nethack.allison
f9fd221e5f Remove extraneous line from petmark.uu 2002-01-24 23:55:45 +00:00
nethack.allison
6f45c9c5ff Fix some Guidebook mistakes (tex dungeoneer table for one)
Also shorten up levcomp.dsp lines
2002-01-23 04:35:39 +00:00
nethack.allison
9d0a5acab1 Extraneous file removed as I head out the door of the office. 2002-01-23 01:21:54 +00:00