Commit Graph

2824 Commits

Author SHA1 Message Date
Pasi Kallinen
460538b618 Fix dark room glyphs when searching
Searching while blind showed room glyphs as lit even when
dark_room option was on.
2015-04-19 10:47:05 +03:00
PatR
7ba63a868a fix "bad fruit #0"
When minimal_xname() set up a dummy object containing as few details
as possible, it wasn't setting up the fruit id field, so xname()
couldn't figure out what type of fruit it had and issued a warning.

I haven't managed a test case that uses minimal_xname so testing of
the fix is less than comprehensive.  [Pasi got it through dopay, but
that only resorts to minimal_xname if the formatted name is really
long and would otherwise cause the shopkeeper's prompt to overflow.
Long fruit name combined with long individual object name wasn't
long enough to trigger that.  Maybe uncursed, greased, rustproof
the like, or possibly just a longer shopkeeper name than I had?]
2015-04-18 20:18:43 -07:00
PatR
8246c1b7c7 revisit the forcefight crash fix
The previous fix prevents the crash from 'the()' when NO_GLYPH was
used as an index into the defsyms array, but it resulted in giving
feedback of "you attack thin air" regardless of what was at the
target location, reverting to the situation that the buggy code was
attempting to address in the first place.  Handle that differently
by removing the unseen monster glyph sooner.  Also, the underwater
handling wasn't working as intended.

I blamed Derek's pudding farming patch for introducing the problem,
but all that did was replace the offending line(s) with different
indentation.  The older post-3.4.3 patch which produced the problem
was mine.  Sorry, Derek.
2015-04-18 20:02:40 -07:00
PatR
ce05d14e74 revert unneeded lookat() change
The enclosing switch statement is only reached when `glyph_is_cmap' is
known to be true, so remove the redundant extra test.
2015-04-18 18:50:38 -07:00
nhmall
0fdcea70c6 suggested booktribute mods
Changes to be committed:
	modified:   include/extern.h
	modified:   src/files.c
	modified:   src/objects.c
	modified:   src/spell.c

- charge a little more.
- no free read in the bookstore.
2015-04-18 17:45:27 -04:00
nhmall
78b012a680 prevent a couple of reported array index segfaults
Changes to be committed:
	modified:   src/hack.c
	modified:   src/pager.c

Don't use glyph_to_cmap as an array index into
the defsyms[] array unless it really is a cmap.

Recent situation: glyph_to_cmap will return
NO_GLYPH for the unknown monster glyph 'I', which
is not a valid index for the defsyms[] array.
2015-04-18 15:29:37 -04:00
Pasi Kallinen
323b7bba2c Allow wishing for polearm or hammer
which gives a random weapon with the matching skill,
so a random polearm, or a war hammer, respectively.
2015-04-18 17:25:56 +03:00
Pasi Kallinen
8c41a962a7 Fix saving xlogfile realtime 2015-04-17 10:35:05 +03:00
nhmall
e1155aca6f add an initializer 2015-04-17 00:46:54 -04:00
nhmall
f6bf9f9999 protect against bad dates
A recent fault on mingw32 revealed that faulty
code which passes a bad or out-of-range date
value could have game-fatal consequences.
Add some protection.
2015-04-17 00:31:22 -04:00
nhmall
d52c6a208d date verification 2015-04-17 00:12:53 -04:00
Pasi Kallinen
38bdb175cc Prevent divide by zero in newman
...which happened when your max power was 0
2015-04-15 21:05:46 +03:00
Pasi Kallinen
5a08671fc0 Prevent illegal positions for tmp_at
It seems like m_throw() can call tmp_at() with !isok coordinates,
so prevent those in both functions
2015-04-15 20:35:52 +03:00
Pasi Kallinen
97f6834730 Prevent infinite loop
...if the map is filled with monsters, and for some reason
the drowning just won't kill you.

Infinite looping cannot currently happen, because no-one who
can drown can keep surviving the drowning once their amulet
of life saving is used up.
2015-04-15 20:13:30 +03:00
Pasi Kallinen
35e0027328 Prevent out-of-bounds coords when closing a door 2015-04-15 19:43:53 +03:00
Pasi Kallinen
e77ea2ae61 Prevent segfault when looking around inside monster
A recent change by me introduced a segfault when
counting swallowed hero as a monster inventory item.
2015-04-15 17:06:44 +03:00
Pasi Kallinen
647a072b62 Move triplicate defines into single place 2015-04-14 20:33:30 +03:00
Pasi Kallinen
dc7d8eb244 YAFM for magic flute 2015-04-14 20:04:46 +03:00
Pasi Kallinen
cd3b0efe5d Unify description of hero's visage into single function 2015-04-14 19:41:44 +03:00
Pasi Kallinen
9b2c298fec Sinks may be teleported or polymorphed by rings
Original patches by Leon Arnott and me.
2015-04-14 19:21:37 +03:00
Pasi Kallinen
f1a5de16d9 Guard against merge segfaults
Trying to throw a quivered object resulted in a segfault, when
the code tried to merge the quivered object into itself.
2015-04-14 08:55:47 +03:00
Pasi Kallinen
31eed002c3 YAFM for dragon sitting on gold 2015-04-14 08:45:29 +03:00
PatR
615b25f5fc lint bits 2015-04-13 17:50:17 -07:00
Pasi Kallinen
879f6d55c2 Add Auto open doors -patch 2015-04-13 21:11:44 +03:00
Pasi Kallinen
1dd43be266 Inaccessible niches occasionally have iron bars 2015-04-13 19:55:10 +03:00
Pasi Kallinen
1c970b171e Some monsters can eat through iron bars
Any monster with rusting or corrosion attack can eat through
the bars. This includes rust monsters, grey oozes, and black puddings.

Original patch by Malcolm Ryan
2015-04-13 19:41:51 +03:00
Pasi Kallinen
6209d458f9 A camera may contain a picture-painting demon
Original patch by Leon Arnott
2015-04-13 18:54:24 +03:00
Pasi Kallinen
eba5bf7d5e Add litmus test
Original patch by Dylan O'Donnell
2015-04-13 18:30:53 +03:00
Pasi Kallinen
0b0c769a05 Use our dupstr instead of strdup 2015-04-13 10:07:12 +03:00
Sean Hunt
80aa109855 Use extern.h for regexes.
I was planning to do this anyway, but it created an include loop that
was breaking it on Windows.
2015-04-12 11:46:54 -04:00
Sean Hunt
b86ad06d6b Implement a new system-based matching harness.
The intent is to look for platform-specific facilities for regex
matching, to provide portable MENUCOLORS configuration files.

This is a prototype implementation being committed to see if Windows can
use the POSIX regex implementation provided with the C++11 standard
library. If this works, I will write a harness for POSIX regexes and for
pmatch(), and those can be linked in by platforms as appropriate.

pmatch() should be used only as a very last resort, because it breaks
compatibility between platforms.
2015-04-12 11:46:26 -04:00
nhmall
7da3ed32e1 tribute post-merge smoothing
Changes to be committed:
	modified:   src/mon.c
	modified:   win/share/objects.txt
2015-04-12 10:31:26 -04:00
nhmall
11560933cc Merge branch 'master' into nhmall-booktribute
Conflicts:
	doc/fixes35.0
	include/extern.h
	src/mkobj.c
	src/mon.c
	src/objnam.c
	win/share/objects.txt
2015-04-12 10:02:17 -04:00
PatR
5974ae5700 new pmatch variations
Add pmatchi() to perform case-insensitive wildcard matching, and
pmatchz() which is also case-insensitive and ignores spaces, dashes,
and underscores like the type of matching done during wish parsing.
At the moment, neither is being used, although DEBUGFILES handling
uses pmatch and needs to be taught to distinguish between case-
sensitive and case-insensitive filenames so will eventually use
pmatchi when appropriate.
2015-04-11 19:39:59 -07:00
PatR
cd9e67a12a color of mithril armor
From a bug report two years ago, mithril armor should have color
HI_SILVER rather than HI_METAL.  Tolkien describes mithril as "like
silver which never tarnishes".  (The bug report had a more precise
quote, and a github URL for a patch which I've ignored.)  The Amulet
of Yendor has material set to MITHRIL but I haven't changed its color.
All amulets are HI_METAL, so if any modification is needed for it,
change the material rather than the color.

Mithril-coats are displayed as cyan both before and after this patch,
so it's hard to tell whether any change actually happened.
2015-04-11 18:51:03 -07:00
Pasi Kallinen
eb77c57a6c Allow disabling savefile UID checking in sysconf 2015-04-11 21:07:57 +03:00
Pasi Kallinen
4771ce5499 Fix comment typo 2015-04-11 20:45:37 +03:00
PatR
91fc8dc69c obj_nexto_xy lint 2015-04-10 18:31:11 -07:00
Derek S. Ray
5c919d6930 restore accidentally consumed tmp_config 2015-04-10 18:18:05 -04:00
Derek S. Ray
8398e30dd1 turn off annoying warnings in Visual Studio 2015-04-10 17:14:41 -04:00
Derek S. Ray
32619fa8cc Merge branch 'master' into derek-farming
Reverse merge before final reintegration.

* master: (40 commits)
  Fix magic mapped dark room symbols
  Disclose extinct species alongside genocided ones
  ...

Conflicts:
	doc/fixes35.0
	src/do.c
	src/files.c
	src/invent.c
	src/objnam.c
	sys/share/pcmain.c
2015-04-10 16:56:30 -04:00
Pasi Kallinen
04dd85e138 Fix magic mapped dark room symbols 2015-04-10 22:43:13 +03:00
Pasi Kallinen
dc63af1396 Disclose extinct species alongside genocided ones 2015-04-10 22:00:33 +03:00
Pasi Kallinen
cc1b5de2a8 Fix warnings, unused and shadowed variables 2015-04-10 20:55:24 +03:00
Pasi Kallinen
ddd7c9b690 Cast time_t into unsigned long 2015-04-10 19:47:17 +03:00
nhmall
7e098c0c4e Merge branch 'master' into nhmall-booktribute 2015-04-10 12:15:14 -04:00
Sean Hunt
6a116ee59c Restore the insect legs on Baalzebub's level. 2015-04-10 09:14:23 -04:00
Sean Hunt
f523055746 Make WALLIFIED_MAZE into a level flag.
It should now be randomly disabled for a 3rd of Gehennom, to make things
a tad more interesting there. It's also disabled in Baalzebub's lair,
to make things a little more interesting.

Still don't know why the beetle is disappearing.
2015-04-09 13:27:44 -04:00
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
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