Commit Graph
4519 Commits
Author SHA1 Message Date
Pasi Kallinen 92a7962399 Add sortloot -patch
Adds the "sortloot" compound option, with possible values
of "none", "loot", or "full".  It controls the sorting of
item pickup lists for inventory and looting.
2015-04-09 18:23:54 +03:00
PatR 9072e80085 support pre-ansi varargs in new lev_comp
Remove the requirement for <stdarg.h> that was introduced to lev_comp.
USE_STDARG still works.  USE_OLDARGS required hackery but has been
tested and actually works, although I wouldn't trust it on platforms
where 'long' and 'char *' aren't the same size.  USE_VARARGS didn't
require any hackery--aside from the conversion to core's pline code--
but has not been tested:  <varargs.h> supplied with OSX won't compile,
with an #error directive that basically says "switch to <stdarg.h>".

I changed several printf formats of %i and %li to %d and %ld because
I'm not sure how widespread the 'i' variant was back in days of yore.
[TODO:  avoid use of snprintf since pre-ANSI systems won't have it.]
2015-04-09 03:09:00 -07:00
Pasi Kallinen 5cf86e0409 Add 2 new Medusa variants 2015-04-08 20:38:32 +03:00
Pasi Kallinen ea084680ac Add 10 new bigroom variants 2015-04-08 18:31:32 +03:00
keni 692292e46e Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-08 10:32:11 -04:00
keni ed631c51fa nhsub docs and fixes 2015-04-08 10:31:49 -04:00
Pasi Kallinen 3979e012f7 Renumber other.txt tiles 2015-04-07 21:34:57 +03:00
Pasi Kallinen c967dabc0b Clive Crous' Dark Room patch
This patch adds a new glyph that represents dark parts of room,
splitting the dual functionality of the "unexplored/dark area" glyph.
2015-04-07 21:01:21 +03:00
Pasi Kallinen 1c2f2af357 Indicator glyph for good target positions
Add a new glyph, S_goodpos, to indicate valid locations
instead of reusing the camera flash beam glyph.
2015-04-07 18:18:54 +03:00
PatR f5b71c5b8f tty fix for bad curs positioning (-1,n)
DEBUGFILES set to "wintty.c" reported a bad cursor positioning attempt
at the end of the RIP tombstone, and when set to "questpgr.c wintty.c"
reported a whole bunch right at the start of the game when enumerating
all the quest messages for the chosen role.  Both were triggered by
this x==0 call to tty_curs() near the end of process_text_window().
    if (i == cw->maxrow) {
        if(cw->type == NHW_TEXT){
            tty_curs(BASE_WINDOW, 0, (int)ttyDisplay->cury+1);
            cl_eos();
        }
    ...
The x value is always decremented in tty_curs, so passing in 0 yields
a bad value of -1.  The bad call returns without doing anything, and
when DEBUG is disabled, it does so silently.

No fixes entry; it was caused by a post-3.4.3 fix for something else.
2015-04-07 01:23:16 -07:00
keni 5cff7e59aa nhsub: handle some more cases 2015-04-06 17:48:48 -04:00
nhmall 13185adad2 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-06 16:18:44 -04:00
nhmall 3d6fabf730 nhclose
Changes to be committed:
	modified:   include/extern.h
	modified:   src/bones.c
	modified:   src/do.c
	modified:   src/files.c
	modified:   src/music.c
	modified:   src/restore.c
	modified:   src/save.c
	modified:   sys/share/pcmain.c
	modified:   sys/share/pcsys.c
	modified:   sys/share/pcunix.c

In order to get level file locking correctly again post 3.4.3
with the newer compilers for windows, I had to funnel close()
calls to an intercepting routine.

I had two choices:

1. Surround every close() in at least 9 source files with messy:
	#ifdef WIN32
		nhclose(fd);
	#else
		close(fd);
	#endif

OR

2. Replace every close() with nhclose() and
   deal with the special code in the nhclose()
   version for windows, while just calling
   close() for other platforms (in files.c).

   It is also possible, although not done in this commit,
   to
	#define nhclose(fd) close(fd)
   in a header file for non-windows, rather than funnel
   though a real nhclose() function in files.c.
2015-04-06 10:12:10 -04:00
keni a5d6c1dd7a Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-06 08:11:17 -04:00
Pasi Kallinen 3ab441b1a1 Quick band-aid to prevent PRNG prediction
This is originally Derek's change from Spork, but sniping it
so we can mark this done for now, and can move on with the
nextversion.

Better solution is to use something like the ISAAC PRNG, which
cannot be predicted.
2015-04-06 09:30:39 +03:00
keni 043c55a613 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-05 20:57:28 -04:00
nhmall b7ad4a8a2a Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-05 09:34:00 -04:00
Pasi Kallinen d8a65cd150 Add missing protos 2015-04-05 16:29:34 +03:00
nhmall 660534389e a warning bout lc_error
lev_comp.l(310) : warning C4013: 'lc_error' undefined; assuming extern returning int
2015-04-05 09:26:01 -04:00
Pasi Kallinen 2c8b088edf Add S_poisoncloud to Guidebooks 2015-04-05 15:15:49 +03:00
Pasi Kallinen 2643a5c311 Show stinking cloud valid positions 2015-04-05 13:51:30 +03:00
Pasi Kallinen 056565fe75 Make all elementals breathless
It makes no sense that air, fire and water elementals
would choke in stinking cloud.
2015-04-05 12:47:27 +03:00
Pasi Kallinen 71401a7db8 Add poison cloud glyph, fumaroles to fire plane.
When a gas cloud that deals damage is created, it uses
a poison cloud glyph instead of the cloud glyph.
(A bright green '#', or a bright-green recolor of the
cloud tile)

The plane of fire has random "stinking clouds", or
fumaroles, centered on lava pools.

Also make poison cloud glyph override lava, pool and
moat glyphs.
2015-04-05 12:31:55 +03:00
keni 89b0fd5ca7 nhsub bug fixes 2015-04-04 15:43:58 -04:00
Pasi Kallinen 68a39aeab4 Fix GCC warnings caused by new lev_comp 2015-04-03 17:40:54 +03:00
Pasi Kallinen fdc7e980ea Prevent segfaults, makemon can return null 2015-04-03 14:46:28 +03:00
Pasi Kallinen 30bce1ec6b Suggest only accessible positions for polearms and jumping 2015-04-03 12:29:58 +03:00
Pasi Kallinen 0344771b12 Silence warnings 2015-04-03 08:33:14 +03:00
Pasi Kallinen d0c3050d08 Update Guidebook with menucolor docs 2015-04-02 20:17:51 +03:00
Pasi Kallinen c8e781c418 Add menucolors
-Add a boolean option menucolors to toggle menu color
-Add MENUCOLOR -config file option

TODO:
-Better support for win32
-Support more windowports
-Update Guidebook
-Allow changing menucolor lines in-game
2015-04-02 20:16:25 +03:00
Pasi Kallinen 9f66b234ed Separate splev stack pops 2015-04-02 16:08:15 +03:00
Pasi Kallinen f150adf0ce Silence GCC warnings 2015-04-02 14:04:31 +03:00
Pasi Kallinen 884d9d4be5 Record in xlogfile if any bones were loaded 2015-04-02 13:06:45 +03:00
PatR 066e415c3e some lint cleanup
Mostly local variables using the same name as other things.
2015-04-01 17:29:26 -07:00
Pasi Kallinen 2a4affbf6f Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource into paxed-new_lev_comp 2015-04-01 23:03:04 +03:00
Pasi Kallinen d883da2353 Add doors correctly 2015-04-01 23:01:25 +03:00
keni bc6bd724ac Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-01 14:41:11 -04:00
keni 32236f7985 bug fixes for nhsub 2015-04-01 14:40:48 -04:00
Pasi Kallinen 5bbde14a39 Generate oracle monsters after subroom 2015-04-01 19:02:52 +03:00
Pasi Kallinen a883d3c78b Generate minetown guards after subrooms 2015-04-01 19:00:56 +03:00
Pasi Kallinen f3bbd833c0 Fix mazes not getting stocked 2015-04-01 18:30:35 +03:00
Pasi Kallinen 97fe3214c7 Remove unused code 2015-04-01 18:24:15 +03:00
Pasi Kallinen 7d94548951 Doors must be linked afterwards 2015-04-01 17:39:51 +03:00
Pasi Kallinen fa4dda377d Move isqrt into hacklib, other minor fixage 2015-04-01 16:38:56 +03:00
Pasi Kallinen 323b8b4038 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource into paxed-new_lev_comp
Conflicts:
	src/trap.c
	sys/winnt/Makefile.msc
2015-04-01 16:09:53 +03:00
PatR d3205d98d6 X11 menu hack for ':'
Same functionality as was recently implemented for tty.  If a
character like ':' is an explicit menu selector and the player
types it, select that menu entry rather than treating it as a
search request.  (Same for other menu commands like '>', but
offhand I can't think of anything besides container looting's
': - look inside' that uses any non-letter selectors other
than '$', which isn't used as a menu meta command.)
2015-04-01 02:47:04 -07:00
Pasi Kallinen 3f885ef583 Remove EXPLORERS from winnt sysconf
Stupidly added this to the winnt sysconf, when it should've
been *nix only.
2015-04-01 08:29:12 +03:00
nhmall 8fb23b4a41 non-Unix build was broken today
Changes to be committed:
	modified:   src/cmd.c

../src/cmd.c(515) : warning C4013: 'check_user_string' undefined; assuming extern returning int)
link error - cmd.o : error LNK2019:
unresolved external symbol _check_user_string referenced in function _enter_explore_mode
2015-03-31 19:07:25 -04:00
Pasi Kallinen 055cc1b4d5 Show legal jumping positions 2015-03-31 21:40:49 +03:00
keni 98b2c1bfc6 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-31 13:08:18 -04:00