Commit Graph

5356 Commits

Author SHA1 Message Date
Pasi Kallinen
fad2eab749 Fix infinite looping when bound digging on solid map 2015-11-11 21:47:51 +02:00
nhmall
ecd277cec2 unused parameter warning and an invalid index
Changes to be committed:
	modified:   win/tty/wintty.c
2015-11-11 09:57:05 -05:00
nhmall
38080e921f Windows 10 2015-11-11 09:20:19 -05:00
nhmall
c634164ac1 Windows 10
Changes to be committed:
	modified:   README

 Changes not staged for commit:
modified:   sys/winnt/Install.nt
2015-11-11 09:19:06 -05:00
PatR
f97c3dec0a tty memory management at program termination
Release some dynamically allocated memory prior to exit.  These were
previously left alone due to assumed complexity (at least by me...),
but dealing with them turned out to be straightforward.

|#if FREE_ALL_MEMORY
 free BASE_WINDOW  -- tty-specific; other windows are drawn on top of it
 free ttyDisplay   -- tty's basic data structure
|#endif
 free nh_HI, nh_HE -- termcap values handled differently from the rest

These are the last things that 'heaputil' always reported as not freed
for the basic Unix+tty configuration.  (I've observed other things not
being freed; those are post-3.4.3 bugs that need to be found and fixed.)
2015-11-11 01:43:03 -08:00
PatR
cbeb562d20 doset() -> special_handling() -> free(NULL)
This isn't urgent, but I figure that until the mac build stuff gets
merged in, the core is still fair game....

'O' command's autopickup_exceptions was freeing a menu pick-list even
when it hadn't been allocated (for the list case, and for the remove
case if nothing was chosen for removal).  That code was evidently used
as the model for msgtype and menucolors; they had the same situation.

I think ANSI and ISO sanction free(NULL) as a no-op, but pre-ANSI free
implementations don't necessarily handle that benignly.  Even if they
all do, freeing something--even if that 'something' is nothing--which
hasn't been allocated is a bug on our end.
2015-11-11 01:28:04 -08:00
keni
b31033b7a0 add Windows info 2015-11-10 13:27:32 -05:00
keni
98de663083 Add the DEVEL tree to Files. 2015-11-10 09:44:21 -05:00
PatR
aa729ca956 README and dat/history update
README - add VMS back as a tested platform; thanks KevinS!
dat/history - add VMS update, remove trailing whitespace, two spaces;
  instead of just one (recently added stuff) for sentence separation;
sys/vms/Install.vms - minimal update;
Files - reformat the win32 project section to fit within 80 columns.
2015-11-10 01:49:21 -08:00
PatR
2e3ef24762 options.c cleanup
Replace several 'foo = alloc(strlen(bar)+1), strcpy(foo,bar)' sequences
  with 'foo = dupstr(bar)' calls.
Change 'free(foo)' into 'free((genericptr_t) foo)' to possibly pacify
  'lint' and/or really old compilers.
Add braces around 'if something;' when 'else { otherwise; }' has braces.
Simplify option value formatting for 'sortloot'.
2015-11-09 19:20:19 -08:00
PatR
85b234e1fc tiny symset memory leak
Symbol set names weren't being freed upon exit.
2015-11-09 19:11:41 -08:00
PatR
8f0252c5d8 update util/.gitignore
Tell git to ignore the presence of the heaputil program in util/.
(It lives in NHinternal/devteam/util/heaputil.c but working with it
from there is inconvenient.)
2015-11-09 18:37:00 -08:00
PatR
010859bcca SYSCF tiny memory leak
Free sysopt.shellers and sysopt.explorers when releasing the memory used
for other sysopt fields.

Also some formatting stuff since sys.c was previously untouched.
2015-11-09 17:21:20 -08:00
Pasi Kallinen
2c0f24896f Unify blind feel_location or newsym info single func 2015-11-09 21:37:28 +02:00
Pasi Kallinen
7132f56901 Unwrap t-shirt and apron texts, and add one t-shirt msg 2015-11-09 13:24:40 +02:00
Pasi Kallinen
d195052796 Remove trailing whitespaces 2015-11-09 13:06:19 +02:00
PatR
9f19b60147 fix makedefs
If makedefs.c is compiled with MONITOR_HEAP defined, attempted calls to
free() resulted in link failure.  Since makedefs doesn't use alloc(),
call free() directly instead of redirecting to nhfree().

Also some assorted reformatting....
2015-11-09 01:47:18 -08:00
PatR
26b6bff3d2 tribute: A Hat Full of Sky 2015-11-08 17:58:49 -08:00
Pasi Kallinen
df101a5eda Add quote for cream pie 2015-11-08 15:28:19 +02:00
PatR
dd633a9eaa last of the reformatting...
This one has a couple of code changes included, but they shouldn't
produce any change in game play.  If anyone adds a new shirt or shield
they'll have to update the corresponding foo_on() and foo_off() routines
to avoid an 'impossible' when putting on or taking off the new item(s),
the same situation as already happens for other subclasses of armor.
2015-11-08 01:41:43 -08:00
PatR
62193be46a more formatting
Mostly tab replacement, plus the last of the cast spacing.
2015-11-08 01:37:55 -08:00
Pasi Kallinen
47938fc339 Add quote for blue jelly 2015-11-08 11:13:14 +02:00
PatR
c09fe294dd formatting: more casts 2015-11-07 20:02:04 -08:00
Pasi Kallinen
3b83b2bd50 Add a quote for bullwhip 2015-11-07 23:50:40 +02:00
Pasi Kallinen
86de7f4a19 Add boomerang quote 2015-11-07 21:56:18 +02:00
PatR
eaec3fee75 formatting: more (typedef) (expression) 2015-11-07 02:35:22 -08:00
Pasi Kallinen
bf6a61ddf5 Make status hilites show none instead of empty in options 2015-11-07 11:55:12 +02:00
PatR
e5ff572891 formatting: casts involving typedefs
The automated reformatting put a space in casts of the form
'(type)(expression)', yielding '(type) (expression)', but it didn't
do that for '(typedef)(expression)'.  There are lots of instances of
'(boolean)(expression)'; (uchar) and (xchar) also occur.  I haven't
noticed other types, but I haven't looked in very many files yet.
2015-11-07 01:12:30 -08:00
Pasi Kallinen
8bfa1579e7 Remove stray character 2015-11-07 10:59:43 +02:00
PatR
7ddcf113f2 rn2()/rnd() debugging
Finding bad calls to rn2(0) or rnd(0) should not be dependent upon
having DEBUGFILES=rnd.c, so switch from debugpline() to impossible().
2015-11-07 00:12:09 -08:00
Pasi Kallinen
464bb3a1f4 Rephrase version number in comment 2015-11-07 09:06:13 +02:00
PatR
e322623210 yet more src reformatting
Last of the suspicious block comments, plus the usual miscellaneous
stuff in files that hadn't been subjected to it before.
2015-11-06 18:03:13 -08:00
PatR
a975287467 couple of string concatenations in win/tty/
Plus a modest amount (really!) of reformatting.

Also got rid of 'copy_of()' since dupstr() does the same thing [except
for the 'treat Null as ""' part; when needed, that can be done in the
call:  dupstr(!str ? "" : str)].
2015-11-06 16:39:29 -08:00
PatR
449084fa6c eliminate implicit concatenation of strings
Explicitly combine adjacent string literals so that pre-ANSI compilers
still have a chance to compile the code.  I thought these had already
been dealt with, but I kept stumbling across them while reformatting,
so am trying to get them all out of the way now.
2015-11-06 15:57:23 -08:00
Pasi Kallinen
99925ff155 Update version numbers in source comments 2015-11-06 16:05:36 +02:00
Pasi Kallinen
e37e89edcd Fix one version number in the Guidebooks 2015-11-06 15:56:47 +02:00
Pasi Kallinen
a159226a9f Remove a leftover ifdef REINCARNATION 2015-11-06 15:49:29 +02:00
Pasi Kallinen
2104bc63d6 Clean fixes file and lev_comp docs tiny bit 2015-11-06 15:42:36 +02:00
Pasi Kallinen
aa1646a75d Update the linux README 2015-11-06 15:35:38 +02:00
PatR
915dd89270 more src reformatting
Fixing up mis-indented block comments, but hit some files that hadn't
had the earlier mixture of tab replacement, etc, so it's bigger than I
expected.  If I get to it, they'll be another round of this tomorrow.
2015-11-06 03:14:50 -08:00
PatR
102e427ca7 fix scroll of charging
The intended change was that you'd get an increase to max energy if
current was sufficiently close to max rather than only when it was
already at max.  It wasn't intended that you'd fail to have current
boosted all the way to max in the case where it wasn't sufficiently
close.  That's fixed here.
2015-11-05 18:39:02 -08:00
Pasi Kallinen
8f3d91785d Free allocated temporary lregion 2015-11-05 21:03:57 +02:00
PatR
ea8afe7e24 formatting - last of the trailing continuations
Last few && or || followed by end-of-line comments, plus tab replacement
and 'return' parentheses.  Not as many of those; some of these files had
already had that done.

Also, tweaked non-cursed scroll of charging read while confused to be a
tiny bit more effective.

To do:  find and fix block comments that immediately follow a line with
an end-of-line comment and got misindented to line up with that comment.
2015-11-05 00:54:13 -08:00
Pasi Kallinen
2ee06dda5a Allow some variance in corridors and reduce predictability
The corridors used to head towards the goal using the straightest
possible line, often making a zig-zag beeline. Allow some slight variance,
sometimes going straight instead of turning, reducing the predictability,
and making those monotonously turning corridors less likely.
2015-11-04 21:13:39 +02:00
PatR
145ff80ec5 multishot throwing/shooting feedback
While the topic of strprepend() is current, make good use of it.
Simplify code which inserts "the Nth " in front of "<arrow,&c>".

I'm pretty sure there are one or two other places where I assumed that
the outpuf of xname() was a char array which is BUFSZ in length rather
than BUFSZ-PREFIX, and reused the buffer, but I don't know where they
occur.  (BUFSZ-PREFIX is still big enough to hold most things, so it
might not lead to trouble.)
2015-11-04 02:57:40 -08:00
PatR
c48e1732d8 spellcasting bug fix: confusion duration
Fix the reported bug that attempting to cast an expired spell, which
causes confusion and/or stun, was replacing the duration of any existing
confusion or stun with the new amount rather than increasing it by that
amount.

Attempting to cast any spell while stunned will now fail immediately,
and casting an expired spell while confused will increase confusion
duration (and/or set stun duration) rather than override it.
2015-11-04 02:27:59 -08:00
PatR
2ddc361adf another batch of formatting
Same sort of stuff as before:  some continuation lines with operator
followed by end of line comment (only a few files with those still to
go...), plus tab replaced by spaces in comments, excess parenthesis
removal for return statements, and force function name to be in column
one in function definitions:
  type name(args) /* comment */
  argtype args;
  {
to
  /* comment */
  type
  name(args)
  argtype args;
  {
I've been spotting those by eye rather than rexexp, so probably missed
some.
2015-11-03 18:28:53 -08:00
PatR
37771f779e potions of gain energy
When doing some more reformatting I came across something I've been
meaning to tweak for a long time, and since the change is only a couple
of lines I'm putting it in now instead of waiting.  Make potions of
gain energy more useful for actually regaining energy so they might not
be relegated to alchemy all the time.  The adjustment is probably too
low to really achieve that, but I didn't want to risk going too high.

Increase to max energy is only a little higher (average 10.5 vs 9 for
blessed, 7 vs 4 for uncursed) but to current energy is noticeably higher
(31.5 vs 9 for blessed, 21 vs 4 for uncursed; capped by max energy so
bigger increase only matters if current is below max when quaffing).
2015-11-03 18:13:00 -08:00
PatR
69b13d574d releasing inventory window(s)
This should address the issue that the problem patch to display_pickinv()
was trying to deal with:  releasing the inventory window before exiting
the program so Pasi's memory checker doesn't think it's a memory leak.

Not related, but in the same file:
The older qsort comparison routines are tagged with CFDECLSPEC to deal
with some C vs C++ interaction issue.  I added that to the relatively
recently added 'sortloot' qsort compare callback.

I also changed worn_wield_only(), although it isn't actually called.
(display_minventory() has provisions to call it, but both of the latter's
callers pass in MINV_ALL so allow_all() gets used instead.)
2015-11-02 18:14:57 -08:00
Pasi Kallinen
91369e7a76 Revert the created inventory nhwindow destruction
At least perm_invent (and other stuff?) causes problems with this.
2015-11-02 22:23:18 +02:00