Commit Graph
100 Commits
Author SHA1 Message Date
nethack.allison 64618b9690 Borland bit 2003-05-20 10:23:52 +00:00
nethack.allison e827a395a1 MinGW and Borland Makefiles
Add build instructions for nhraykey (untested)
2003-05-18 18:53:13 +00:00
nethack.allison c6e4d7ac75 win32tty: The author field should not be left as devteam 2003-05-14 10:56:54 +00:00
nethack.allison 835c0ca499 Field is conditionally defined, code referring to it isn't 2003-05-12 04:49:20 +00:00
nethack.allison 792b684dcc Add <Someone> to dungeoneers list
Proposed by Michael Allison.
Seconded by Pat Rankin.
(it can always be withdrawn if there is a later objection)

-Author of Spanish NetHack
-Author of some NT keyboard internationalization fixes
-Author of "Hell patch"
2003-05-12 03:05:00 +00:00
nethack.allison a2249a4b0d Some altkeyhandler tweaking 2003-05-12 02:25:08 +00:00
nethack.allison c9d2b2e84a Add <Someone>'s comments to file 2003-05-11 23:42:25 +00:00
nethack.allison 6406ef5f93 Add <Someone>'s key handling as loadable handler 2003-05-11 23:25:08 +00:00
nethack.allison e5e417b528 current fixes files missing from ./Files 2003-05-11 15:13:42 +00:00
nethack.allison 0226b0f20d typo (mine not Ken's) 2003-05-11 15:09:24 +00:00
nethack.allison 9042e11f31 fixes30.0
On January 20, 2002 Ken Arromdee wrote:
>I dug this out of my files. (Well, it didn't take a lot of
>digging; I already copied the disk in question to my PC long ago.)
[...]
>I may or may not have another one of these but I'd actually
>have to go install a 5 1/4 inch drive to check.
2003-05-11 14:52:59 +00:00
nethack.allison 4d191334fc add some old fixes entries
some old patches from the same week that never got fixes34.0 entries
(fixes33.2 at the time)
2003-05-11 13:40:01 +00:00
nethack.allison 17ad4116b1 rollback one band
Rollback a band that shouldn't have been in recent patch at all.
2003-05-10 21:28:33 +00:00
nethack.allison b32a445a2c final qbuf patch
This is my final src mod to ensure that a qbuf does not overflow due to
a lengthy named object.  These recent patches, coupled with the core yn_function() patch earlier, should make it much rarer for a QBUFSZ
buffer overflow to occur in a window port routine (unless the window
port routine has its own bugs, but that isn't the core's fault).
2003-05-10 21:16:39 +00:00
nethack.allison 6f56da5261 final qbuf patch
This is my final src mod to ensure that a qbuf does not overflow due to
a lengthy named object.  These recent patches, coupled with the core yn_function() patch earlier, should make it much rarer for a QBUFSZ
buffer overflow to occur in a window port routine (unless the window
port routine has its own bugs, but that isn't the core's fault).
2003-05-10 21:11:16 +00:00
nethack.allison 0f7508090d safe_qbuf arguments
Pat's compiler triggered a warning because safe_qbuf
is declared as `char *' but might return `last_resort'
which is `const char *'.
2003-05-10 16:21:12 +00:00
nethack.allison f32ad24709 ensure safe_qbuf gets initialized buffer as 1st arg 2003-05-10 15:25:33 +00:00
nethack.allison 8f66986300 Pat Rankin wrote:
> The `prompt' buffer in tty_yn_function still only holds QBUFSZ
> characters. But fixing the tty incarnation wouldn't be good enough;
> all the other interfaces would need to handle it too.  I think it
> should be fixed in the core instead.  Prompt strings simply should
> not be allowed to become so lengthy.

Another step in the fight against prompt sting buffer overflows.
The goes after the ones that may not have been found yet.

This makes yn_function a real core function and removes
the #define yn_function macro.

The yn_function validates the prompt string buffer being
passed prior to calling (*windowprocs.win_yn_function)(),
and if necessary, truncating it and adding "...".

This won't help if the overflow occurs in the core in
a buffer that is still QBUFSZ in size, but it will help if
a BUFSZ buffer is being passed to one of the query
functions.
2003-05-10 14:11:42 +00:00
nethack.allison 9746d9404e next qbuf overflow
By naming the candelabrum as long a name as the game will allow, and by naming a candle the longest name also, a qbuf overflow and crash is
triggered when you attach the candle to the candelabrum.
2003-05-09 04:03:16 +00:00
nethack.allison 5353192bda next qbuf overflow
By naming the candelabrum as long a name as the game will allow, and by naming a candle the longest name also, a qbuf overflow and crash is
triggered when you attach the candle to the candelabrum.
2003-05-09 03:55:33 +00:00
nethack.allison bba4872447 yet more qbuf 2003-05-09 01:19:29 +00:00
nethack.allison 50467a60b7 more qbuf
Pat pointed out to me that there are other potential
qbuf overflows, so this adds a function to assist in
weeding them out.
2003-05-08 11:19:16 +00:00
nethack.allison f38ebb5a21 back out accidental fixes35.0 update 2003-05-08 02:27:10 +00:00
nethack.allison 24f9f56006 fix prompt string overflow in lift_object()
<email deleted> wrote:
> The game crashed badly when I made some experiments with items
> with very long names:
>
> You have much trouble lifting a blessed greased thoroughly rusty  >thoroughly corroded +3 plate mail named terribly long killer longer than my
>ong long-worm called long.  Continue? [ynq] (q)

  tty_yn_function(const char * 0x0012fa50,
      const char * 0x00572ddc _ynqchars, char 113) line 379 + 6 bytes
  lift_object(obj * 0x009e8970, obj * 0x00000000,
      long * 0x0012fcd0, char 0) line 1131 + 20 bytes
  pickup_object(obj * 0x009e8970, long 1, char 0) line 1258 + 19 bytes
  pickup(int 0) line 474 + 28 bytes
  dopickup() line 1853 + 11 bytes
  rhack(char * 0x005c0d50 in_line) line 1908 + 3 bytes
  moveloop() line 406 + 7 bytes
  main(int 3, char * * 0x009e2ac0) line 102
2003-05-08 02:25:19 +00:00
nethack.allison e1aa6d5148 GOLDOBJ compat (main trunk only)
This patch gives game and savefile compatibility
whether GOLDOBJ is defined or not.

You can build with GOLDOBJ defined or not, and
still load your saved games. Rebuild with the
opposite, and load the same game.

That way GOLDOBJ can be experimented with
more easily.

1. Leave the "you" struct and the "monst"
   struct the same under the hood between
   GOLDOBJ and !GOLDOBJ.

2. Always write out gold as an
   object on the player and monster
   inventory chains.

On a restore of the savefile with GOLDOBJ
not defined,  take the gold objects out of
the inventory chains and put it into u.ugold
or mtmp->mgold as appropriate.

On a restore of the savefile with GOLDOBJ
defined, nothing special is done.
2003-04-11 22:32:08 +00:00
nethack.allison 1a3fc6e6af patchlevel 3.4.2 update 2003-03-31 13:19:35 +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
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
nethack.allison 177b8afeb9 Borland Makefile (from Yitzhak) 2003-03-23 18:49:05 +00:00
nethack.allison 04713a0406 win32 clear registry
Clear the registry settings via
    nethack -clearreg
2003-03-18 10:23:10 +00:00
nethack.allison b85f492320 B20007 age of potion of oil from bones
First From a bug report.4.1 beta 20.
2003-03-17 01:25:48 +00:00
nethack.allison 96b149208f B20007 age of potion of oil from bones
First From a bug report.4.1 beta 20.
2003-03-17 01:20:41 +00:00
nethack.allison 74230f0db6 version number adjustment in trunk 2003-03-15 12:33:57 +00:00
nethack.allison e0b59d47a2 some release prep 2003-03-15 12:20:34 +00:00
nethack.allison 42e0b794dc win32 Makefile.gcc
It looks like someone's mailer ate the tabs out of the
patch and turned them into spaces.
2003-03-14 17:26:04 +00:00
nethack.allison c362b91422 another fixes35.0 catch up 2003-03-14 15:24:17 +00:00
nethack.allison 2932fe19f6 couple of fixes35.0 things 2003-03-14 15:21:03 +00:00
nethack.allison 7af78b2edb Guidebook updates
- altkeyhandler (win32)
- subkeyval (win32)
2003-03-14 13:50:58 +00:00
nethack.allison d560815b96 win32 Makefile.msc follow up bit 2003-03-13 20:31:19 +00:00
nethack.allison 5e273e0676 win32 Makefile.msc updates 2003-03-13 20:19:41 +00:00
nethack.allison f5a1d78fee MinGW (from <Someone>)
This patch fixes the MinGW Makefile:
- Adds support for the keystroke DLL.
  DLLs are interchangeable between gcc and msc builds.
- Gets the Makefile to work for Win95 and friends
- Adds the -mms-bitfields flag to ensure savefile compatibility between
  MinGW and MSC files
- Fixes various minor issues: layout, make spotless, and some duplicate
  commands that are now governed by a new tag ($(O)gamedir.tag).
2003-03-13 17:05:13 +00:00
nethack.allison db6fe9ec56 rndcolor()
> "A cloud of sangria gas billows from the chest.
> You stagger and your vision blurs."
> When I see the gas billowing from the chest, I'm not yet
> hallucinating. Shouldn't the gas have a normal colour, then?
> Only after my vision blurs should the gas assume a fake colour, I
> think.
>
2003-03-12 18:38:56 +00:00
nethack.allison e2d9e01e84 rndcolor()
> "A cloud of sangria gas billows from the chest.
> You stagger and your vision blurs."
> When I see the gas billowing from the chest, I'm not yet
> hallucinating. Shouldn't the gas have a normal colour, then?
> Only after my vision blurs should the gas assume a fake colour, I
> think.
>
2003-03-12 18:26:17 +00:00
nethack.allison 0a71d2c918 missing noun
Below is the result of your feedback form.  It was submitted by
<email deleted> on Tuesday, March 11, 2003 at 07:48:17
---------------------------------------------------------------------------

mailversion: 1.17

nhversion: 3.4.1

nhfrom: Our 3.4.1 source release, unmodified

hardware: i686 arch.

software: Debian woody, gcc 2.95.4


comments: When polymorphing to eg. horned devil, and wearing a helmet,
I get "Your pierce through your elven leather helm.". Likely
there is a broken variable there.
2003-03-11 16:14:06 +00:00
nethack.allison 176d31c980 buried punishment ball
Prevent burying a ball from ending your punishment.

When you bury the ball, internally NetHack Punishment
ceases, but a new trap type of TT_BURIEDBALL  immediately
kicks in (acting similar to TT_INFLOOR in some ways).
You can eventually work the ball free (or teleport, etc.),
but that will just return you back to normal Punishment.
2003-03-11 03:40:17 +00:00
nethack.allison 9fe995d2a3 class genocide by species name
Incorporate a mod submitted by <Someone> to implement the TODO in the
class genocide code by walking thru the species to find a class to genocide
if the user input does not match the class description.
2003-03-11 03:38:59 +00:00
nethack.allison 4e1c4a5f74 move fixes entries
Move the entries that match fixes34.2 entries into fixes34.2 on the trunk
rather than in fixes35.0 as per earlier discussion.
2003-03-10 15:17:13 +00:00
nethack.allison 956c9727b0 more golem stone-to-flesh
Since all golem statues are stone, make them all become flesh.
2003-03-09 22:24:19 +00:00
nethack.allison 30d81e9097 statue of stone golem animates as flesh golem 2003-03-09 18:39:26 +00:00
nethack.allison 56585d286f win32tty: dynamic keystroke handler with 3.4.0 behaviour 2003-03-09 18:36:24 +00:00
nethack.allison 662688508a fixes34.2 put back blank line I accidentally removed 2003-03-09 16:17:16 +00:00
nethack.allison e7d9a5901e fixes34.2 win32tty update 2003-03-09 16:14:56 +00:00
nethack.allison 5425e818a3 win32tty prototype followup 2003-03-09 15:58:47 +00:00
nethack.allison 78ce3749dc win32tty keystroke handling
- Move the code for keystroke handling into its own source file.
- Compile and link it as a dynamic link library.
- Dynamically load the keystroke handler at runtime
- Add support for specifying a different handler in defaults.nh
  so that internationalization issues can be dealt with without
  rebuilding nethack, just supply alternative handlers in HACKDIR.

The following exported functions need to be present in
the keystroke handler .dll:
ProcessKeystroke - returns an ascii value to NetHack
NHkbhit  - allows peeking to see if a key/mouse press is waiting
SourceWhere - returns location for souce code for a keystroke handler
SourceAuthor  - returns author information for a keystroke handler
KeyHandlerName  - returns the full or short name of the keystroke handling dll.
2003-03-09 15:44:50 +00:00
nethack.allison daed1ff394 win32tty distinguish between black/gray/white 2003-03-08 23:47:14 +00:00
nethack.allison 37f09d3bb0 MSDOS Makefile fix
prevent "dir /l /b" from getting modified to "dir \l \b"
2003-03-08 23:27:56 +00:00
nethack.allison 5122409416 Several things that break savefile compatibility
- Version change from 3.4.x
- timed_delay feature ignore in makedefs
- several flags from iflags to flags
- use offsets from mons array entries in save file rather than storing
  the ptr and calculating the distance from beginning of array
2003-03-05 04:39:47 +00:00
nethack.allison 14c53eb840 typo in <email deleted>
#ifdef HOLD_LOCKFILE_OPEN
"exlusive lock on level 0 file",
#endif
2003-03-05 02:45:21 +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 f566eb2b4e W341-2 Finnish and international keyboard arrangements 2003-03-02 13:45:56 +00:00
nethack.allison eab7064510 W341-2 Finnish and international keyboard arrangements 2003-03-02 12:58:29 +00:00
nethack.allison 4b36eda755 fixes34.2 2003-02-24 01:39:41 +00:00
nethack.allison 6fd9194698 more newlines at end of files 2003-02-23 14:34:12 +00:00
nethack.allison f12de871f5 newlines at end of files 2003-02-23 14:08:54 +00:00
nethack.allison 71c62ce21c Update contact info 2003-02-22 01:20:14 +00:00
nethack.allison a5d1a4c704 README updates for review 2003-02-21 23:55:21 +00:00
nethack.allison 77d3fdcc5b h/pc (from <Someone>)
Fixed output file name for H/PC Pro - SH3 configuration.
2003-02-21 11:06:47 +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 fc1ae80c9b Windows CE bits (from <Someone>) 2003-02-21 01:51:54 +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 e60b33d9fd get ready for tarball 2003-02-20 00:36:14 +00:00
nethack.allison ea4bfa168c more win32 Makefiles
update depend substitution instructions.
2003-02-19 14:20:47 +00:00
nethack.allison 5c2b773051 another win32 Makefile.gcc (from <Someone>)
another error in the makefile.gcc, not fatal, just a leftover
from the MS makefile. This patch includes both makefile fixes.
2003-02-19 14:01:35 +00:00
nethack.allison 788b94f2fa Makefile bcc (from Yitzhak)
1) Update documentation for using bison/flex
2) Fix use of $(CC).  In the makefile, it's supposed to be $(cc).
Otherwise it won't compile. [caused during recent dependency
updates]
2003-02-19 13:57:20 +00:00
nethack.allison 1332789fd6 building under MinGW (from <Someone>)
didn't work. Makefile.gcc had a space instead of a tab somewhere.
2003-02-19 13:53:08 +00:00
nethack.allison 0c4bd66545 runtime port identification
The CE ports use makedefs hosted on another platform,
so the version string generated at build time isn't really
appropriate.

Add a way to add information to the version string
at runtime for such ports.
2003-02-19 11:44:14 +00:00
nethack.allison 3d9d7f24b3 ensure that shade_aware is only set for shades. 2003-02-19 11:19:30 +00:00
nethack.allison 0e2630f817 wizkit fgets() buffer size
also ignore lines where we didn't read a newline within BUFSZ characters
2003-02-19 06:14:47 +00:00
nethack.allison 1284e86476 lint follow up
Janet wrote:
>There is one more new complaint that might cause problems:
>explode.c(545): warning: conversion from long may lose accuracy
2003-02-19 05:12:31 +00:00
nethack.allison 0f51c0174f undead turning of ghost on bones level
<email deleted>
Newsgroups: rec.games.roguelike.nethack
Subject: Re: Other ways to destroy the Amulet

<Someone> wrote:
>>> Zapped undead turning at his _corpse_, which brought the corpse
>>> back to life and also destroyed the ghost. The revived
>>> character was not carrying anything.
>>
>> Hmm, didn't the Amulet fall to the floor like when you genocide
>> something that's carrying something?
>
> Nope.
>
> That's because undead turning does mongone(ghost). The mongone
> function destroys the inventory of the monster:
> discard_minvent(mdef); /* release monster's inventory */
>
> Whereas genocided monsters are removed with mondead, which calls
> m_detach, which calls relobj, which drops the monster's inventory
> on the floor.
2003-02-19 04:31:46 +00:00
nethack.allison 39e11412b0 windows PORT_SUB_ID
allow PORT_SUB_ID to be defined in ntconf.h or ceconf.h
2003-02-19 03:14:21 +00:00
nethack.allison 86dd975ec6 fix warning without STEED defined 2003-02-18 12:28:35 +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 73d357a647 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-17 23:56:40 +00:00
nethack.allison 5e6bed70b8 CEmore prompt (from <Someone>)
Prevent "--more--" prompt from appearing when several
questions being asked in the same loop (like selling
something in the shop
2003-02-17 23:19:01 +00:00
nethack.allison 2a83f1b830 more MSDOS build 2003-02-17 02:55:46 +00:00
nethack.allison 3d96d214c6 OS/2 patch (from <Someone>) 2003-02-17 01:47:13 +00:00
nethack.allison f505101fa3 macro arrangement bit 2003-02-15 23:34:37 +00:00
nethack.allison a1a296aa8d win32 bits 2003-02-15 22:46:10 +00:00
nethack.allison 4cbcc056c3 win32 error message glitch noticed 2003-02-15 15:46:58 +00:00
nethack.allison 9ac4afe46e fixes update SELF_RECOVER on winCE 2003-02-15 13:53:24 +00:00
nethack.allison 18ea2f8aa5 fix djgpp Makefile 2003-02-15 13:18:39 +00:00
nethack.allison 58c504954d beta 20 2003-02-15 02:45:37 +00:00
nethack.allison 4b15bc3c0e typo fix on recent Makefile.gcc patch 2003-02-14 11:25:24 +00:00
nethack.allison 3376daf6f9 more CE (from <Someone>) 2003-02-14 03:42:52 +00:00
nethack.allison 2d99cb7ed7 win32 and DOS dependency update for 3.4.1 2003-02-14 03:38:50 +00:00