Commit Graph

4894 Commits

Author SHA1 Message Date
PatR
beaab1b974 Make the #terrain command work as intended if used while the map is
suppressed when the hero is engulfed.  No fixes entry.
2015-05-12 16:07:18 -07:00
nhmall
6de8aa3446 some pre-Beta updates
Changes to be committed:
	modified:   README
	modified:   doc/fixes35.0
2015-05-10 06:27:07 -04:00
Derek S. Ray
b55f6f30ba ...don't forget to include the prebuilt headers
derp.
2015-05-09 20:50:07 -04:00
PatR
91f444b867 code_style for emacs 2015-05-09 17:05:36 -07:00
PatR
2dc2091626 display.h cleanup
I started out just to replace the weird partial expression in the
maybe_display_usteed macro but ended up cleaning up some other stuff
such as line wrapping.

There are still tabs present.
2015-05-09 16:54:05 -07:00
Derek S. Ray
42e7c050c2 catch this up on new features/changes 2015-05-09 15:25:37 -04:00
Derek S. Ray
c429dc8722 Add token Visual Studio section 2015-05-09 15:13:00 -04:00
Derek S. Ray
6d232df8ab update pre-built versions of these 2015-05-09 14:47:46 -04:00
Sean Hunt
dc08561ddb Replace tabs with spaces. 2015-05-09 14:45:43 -04:00
Sean Hunt
82ea1472f4 Add a coding style document.
I've put my best approximation of what the style should be in here. I
don't intend for this to be prescriptive, except as the DevTeam has
agreed, so I do encourage discussion on the mailing list. I would also
appreciate if people with other editors could include the appropriate
configuration recipes.
2015-05-09 14:45:01 -04:00
Derek S. Ray
1770591189 fix duplicated header lines 2015-05-09 14:35:12 -04:00
Derek S. Ray
a3b260f390 Merge branch 'AlexK-misc'
* AlexK-misc:
  erosion is not being removed after reading non-cursed scroll of enchant weapon
2015-05-09 14:34:16 -04:00
Derek S. Ray
a8f95494a1 fix whitespace errors from simultaneous commit 2015-05-09 14:20:36 -04:00
Derek S. Ray
e124a61362 reorder onscary() logic to be in right order 2015-05-09 14:16:47 -04: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
Sean Hunt
167800afdf Fix type compatibility warning. 2015-05-09 13:07:49 -04:00
Derek S. Ray
d0fb68795d Merge branch 'derek-elbereth'
* derek-elbereth:
  ensure that the 'safe' objects remain safe
  finish up the changes to trigger erosion on use
  initial pass for toning down Elbereth

Conflicts:
	dat/castle.des
	dat/sokoban.des
	include/extern.h
	src/engrave.c
	src/mklev.c
	src/monmove.c
	src/zap.c
2015-05-09 11:58:36 -04:00
nhmall
222b4c0023 don't break other ports use of tilemap.c
The modifications made for supporting monster-looking tiles
may not be supported on platforms other than windows yet.
2015-05-09 10:59:10 -04:00
nhmall
9d54b5e43e Merge branch 'win32-x64-working' 2015-05-09 08:02:19 -04:00
Alex Kompel
6a66408964 erosion is not being removed after reading non-cursed scroll of enchant weapon 2015-05-08 00:12:36 -07:00
Pasi Kallinen
29ea460446 Used invent letters didn't destroy the window 2015-05-07 18:04:40 +03:00
nhmall
5011459c7e Merge branch 'master' into win32-x64-working 2015-05-07 05:00:36 -04:00
nhmall
b901acc7d6 make internal numbering match updated headers 2015-05-07 04:58:59 -04:00
nhmall
2eed004d5a more header update
Changes to be committed:
	modified:   sys/winnt/nttty.c
	modified:   sys/winnt/winnt.c
2015-05-07 04:55:05 -04:00
nhmall
20069798d4 Merge branch 'master' into win32-x64-working 2015-05-07 04:52:30 -04:00
Sean Hunt
8c0c587fd7 Restore lost executable bits. 2015-05-06 23:23:48 -04:00
karnov
2a907f894e Version number increment 2015-05-06 22:04:27 -04:00
PatR
39fcd6459c couple bits omitted from lint.h patch
* list lint.h in Files
* add dependency to win/X11/dialogs.o since dialogs.c includes lint.h
  directly rather than via hack.h
2015-05-06 17:33:48 -07:00
nhmall
8a620c3dec makefile updates 2015-05-06 20:22:03 -04:00
nhmall
fc102a860b updates forced from master
Changes to be committed:
	modified:   sys/winnt/Makefile.bcc
	modified:   sys/winnt/Makefile.gcc
	modified:   sys/winnt/Makefile.msc
2015-05-06 20:07:18 -04:00
nhmall
8a3a92d2e2 put back Derek's _MSC_VER changes into the lint.h version 2015-05-06 19:58:31 -04:00
nhmall
1ef94c890f Merge branch 'master' into win32-x64-working
Conflicts:
	include/hack.h
	win/X11/winmenu.c
	win/X11/winstat.c
2015-05-06 19:53:26 -04:00
Sean Hunt
b7c5b33173 Add a funny message for when a burrower eats food. 2015-05-06 19:25:23 -04:00
Derek S. Ray
f0bf652df8 update fixes with a few things 2015-05-06 17:55:53 -04:00
Derek S. Ray
be98bca06d cherry-pick the YACC/LEX upgrades from elsewhere 2015-05-06 17:55:50 -04:00
Derek S. Ray
9c19f55403 jonadab's patch for engraving on the drawbridge
Should be splinters, not gravel.
Addendum to C343-239
2015-05-06 17:51:18 -04:00
Pasi Kallinen
b8e0394a2e Hidden holes made by breaking a wand of digging
Holes created via applying a wand of digging were not
shown on the map, because holes are always marked as seen,
and seetrap/feeltrap then do nothing.
2015-05-06 18:02:15 +03:00
PatR
9de8b03c03 X11 lint suppression
Suppress close to 400 warnings generated by gcc on the win/X11/*.c code,
most due to -Wwrite-strings which makes string literals implicitly have
the 'const' attribute.  (Since modifying a string literal results in
undefined behavior, that is an appropriate check to have enabled, but
it can be troublesome since string literals have type 'char *' and code
that uses them that way is correct provided it avoids modifying them.)

 113  warning: initialization discards qualifiers from pointer target type
 127  warning: assignment discards qualifiers from pointer target type
  29  warning: passing argument discards qualifiers from pointer target type
 109  warning: unused parameter
  12  warning: comparison between signed and unsigned

The nhStr() hack casts to 'char *', explicitly removing 'const', for
situations where it isn't feasible to make code directly honor const.
The vast marjority of uses are for the second parameter to XtSetArg(),
which is a macro that actually performs an assignment with the second
argument rather than passing it in a function.  It takes values like
'XtNtop', which doesn't need to be altered (although in many places I
changed that to nhStr(XtNtop) for uniformity with the surrounding code,
and 'XtNbottom', which does need to have the extra const stripping to
avoid a warning.  Go figure.

The nhUse() hack actually uses its argument in a meaningless way if the
code is compiled with FORCE_ARG_USAGE defined.  When GCC_WARN is defined,
FORCE_ARG_USAGE will be enabled if it hasn't been already.  Example:

 /*ARGUSED*/
 int foo(arg)
   int arg;  /* not used */
 {
+  nhUse(arg);
   return 0;
 }

The extra line will expand to ';' when FORCE_ARG_USAGE is not defined
or too
   nhUse_dummy += (unsigned)arg;
when it is.  I figured direct assignment might lead to a different
warning by some compilers in a situation like
   nhUse(arg);
   nhUse(otherarg);
where the first assignment would be clobbered by the second, and using
bitwise operations or safer '+= (arg != 0)' would most likely generate
more non-useful code.  Some tweaking might turn out to be necessary.
2015-05-06 00:59:15 -07:00
PatR
e72246f1d1 new file: include/lint.h
modified files: include/hack.h, src/decl.c, sys/unix/Makefile.src

Groundwork for cleaning up the X11 sources, where gcc with the option
settings specified in the OSX hints file currently generates close to
400 warnings for win/X11/*.c.

lint.h is included by hack.h, and I've moved the debugpline stuff from
the latter to the former to hide it better.  (By rights it belongs in
debug.h or something of the sort, but I didn't want to go that far.)
Makefile and project dependencies need to catch up.

nhStr() hides a cast to char *, and is intended to by used on string
literals where it isn't feasible to maintain the 'const' attribute.
(A pernicious problem with X11 code, where the include situation can
become very convoluted, and many, MANY string literals are hidden
behind macros to look like keyword-type tokens.)

nhUse() can be used to force a fake usage on something which triggers
an unused parameter warning.  There are a 6 or 8 or 10 places in the
core code where that applies, but so far I have't touched any of them.
There's a tradeoff since it will result in some worthless code being
generated and executed, but is much simpler than tacking on compiler-
specific workarounds like '#pragma unused' or gcc's __attribute__ hack.
2015-05-06 00:38:16 -07:00
Pasi Kallinen
2a4bf5efa7 Comment for the pudding glob order 2015-05-06 09:54:28 +03:00
PatR
7b75da924e another pass at "gold wield inconsistency"
Handle !fixinv by forcing gold to have slot '$' all the time; that
particular type of object is 'fixed' regardless of user preference.
Also add a couple of checks for non-'$' gold when selecting from
inventory, just in case the issue of multiple gold stacks reappears.
2015-05-05 16:25:49 -07:00
Pasi Kallinen
fd8127dcf4 Fix impossible when quivered gold was stolen from you 2015-05-05 21:29:24 +03:00
Pasi Kallinen
0dd715da11 Revert previous, with a comment in code 2015-05-05 06:55:56 +03:00
nhmall
f692db8581 Merge branch 'master' into win32-x64-working 2015-05-04 17:56:35 -04:00
Pasi Kallinen
766d874a47 Melded pudding object may be gone 2015-05-04 22:19:32 +03:00
PatR
e2e269504c more "deleting worn obj"
Lit candles and burning potions of oil can be on the migrating objects
list and get deleted before arrival, so they need the same cleanup as
rotting corpses to prevent obfree from complaining that they're worn.
2015-05-04 08:49:21 -07:00
karnov
47ea9f7ec0 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource
Pull to resync.
2015-05-03 22:08:07 -04:00
karnov
490092d3ef Made sysconf define contiditional to ensure no double inclusion. 2015-05-03 22:03:09 -04:00
nhmall
636edf2b08 Merge branch 'master' into win32-x64-working
Conflicts:
	src/dig.c
	src/mkobj.c

 Changes to be committed:
	modified:   src/dig.c
	modified:   src/mkobj.c
2015-05-03 20:53:04 -04:00
PatR
3fa8ff9d62 owornmask sanity_check fix and enhancement
Thinko fix:  sanity checking for owornmask was mis-treating
OBJ_MIGRATING as OBJ_MINVENT of migrating monsters rather than as
unattended objects and would have had problems similar to obfree's
inappropriate impossible check.

Sanity checking for objects worn in invalid slots (amulet worn in
a ring slot and so forth) is extended to items worn by monsters.
Also add a check for wielded coins since the loophole that let them
become wielded has been closed.
2015-05-03 16:57:09 -07:00