Commit Graph

6176 Commits

Author SHA1 Message Date
nhmall
379f8abb54 stop light penetration on sokoban, gehennom tiles
Changes to be committed:
	modified:   win/share/monsters.txt
	modified:   win/share/objects.txt
	modified:   win/share/other.txt
2015-06-11 07:27:08 -04:00
Alex Kompel
6a04c7ff18 win32_gui: "no flickering" patch broke text mode 2015-06-10 23:33:22 -07:00
Alex Kompel
979cf90a0d win32_gui: correctly handle NO_GLYPH as backgroung glyph 2015-06-10 23:12:18 -07:00
Alex Kompel
ad654cdc61 win32_gui: flicker mitigation
- do not invalidate window area if tile has not actually changed
   - do not erase backround when invalidating the tile
   - use NO_GLYPH for uninitialized map areas (as opposed to -1)
2015-06-10 19:18:56 -07:00
nhmall
3b158eaa4a Merge branch 'master' into win32-x64-working 2015-06-10 21:11:15 -04:00
nhmall
a3b1833ab9 menucolors
Error reported in display.c in current master code is gone,
but the menucolors stuff generated the following warnings when TEXTCOLOR wasn't defined.

..\win\tty\wintty.c(1688) : warning C4013: 'term_start_color' undefined; assuming extern returning int
..\win\tty\wintty.c(1711) : warning C4013: 'term_end_color' undefined; assuming extern returning int
2015-06-10 21:07:19 -04:00
nhmall
0fd193838a punctuation in dat/tribute 2015-06-10 20:52:03 -04:00
nhmall
00d25adab2 actual field is always around anyway
Changes to be committed:
	modified:   include/flag.h
2015-06-10 20:48:29 -04:00
nhmall
4c3abcbd11 more tribute quotes
Changes to be committed:
	modified:   dat/tribute
2015-06-10 20:36:17 -04:00
PatR
c9013bdc6a tribute passage 'summary'
When reading a passage from a tribute novel, put the final attribution
line "[$TITLE, by Terry Pratchett]" into message history, comparable to
the summary line for deliver-by-window quest messages.
2015-06-10 16:23:19 -07:00
nhmall
81d7d4ab22 Merge branch 'master' into win32-x64-working
Conflicts:
	src/display.c
2015-06-10 19:19:37 -04:00
nhmall
f446e1477c Files didn't match sys/unix/hints
Changes to be committed:
	modified:   Files
2015-06-10 19:15:36 -04:00
nhmall
cff16290af Merge branch 'macosx-build' 2015-06-10 18:57:23 -04:00
nhmall
18e7d6ff62 another punctuation bit 2015-06-10 08:10:56 -04:00
nhmall
8032eb111f punctuation bit 2015-06-10 08:09:03 -04:00
nhmall
4b79a03125 more quotes from books without quotes 2015-06-10 07:56:12 -04:00
nhmall
a0f769ae56 commit out NO_GLYPH return until win32 supports it
Changes to be committed:
	modified:   src/display.c
2015-06-10 04:35:05 -04:00
nhmall
b51b8d072d Merge branch 'background_tiles' into win32-x64-working
Conflicts:
	src/display.c
2015-06-10 04:18:44 -04:00
nhmall
a848660a38 more background tile work
- newsym() should always show glyph even if foreground glyph has not changed
- get_bk_glyph should operate on type of floor not on type of glyph.
2015-06-10 04:13:13 -04:00
PatR
1592cb3d10 tribute: The Last Hero
Flesh out _The_Last_Hero_.  Due to its publishing history (no ordinary
paperback, some lists of "other books by this author" miscategorize it
as being co-written by the illustrator) it's most likely not as widely
read as the other Discworld books.
2015-06-10 00:54:07 -07:00
nhmall
b9ab9aae2a use NO_GLYPH as an indicator to ignore background glyph
Changes to be committed:
	modified:   doc/window.doc
	modified:   src/display.c
2015-06-09 21:56:28 -04:00
nhmall
5e6d5a8766 Merge branch 'master' into win32-x64-working
Conflicts:
	src/display.c
2015-06-09 21:41:49 -04:00
nhmall
721a0796ea Merge branch 'master' into background_tiles
Conflicts:
	src/display.c
2015-06-09 21:38:21 -04:00
nhmall
b2f9ba5de3 default to original background
Changes to be committed:
	modified:   src/display.c

The work for getting this working fully is now moving to the background_tiles branch.
In master, we just return the standard lit room tile for now, no change in behavior.
No ports utilize the new parameter as yet.
2015-06-09 21:33:08 -04:00
Pasi Kallinen
b4cc349a46 X11: Hilight piles of objects 2015-06-09 19:59:38 +03:00
Alex Kompel
403f6e3081 win32_gui: improve logDebug performance 2015-06-09 08:53:21 -07:00
Alex Kompel
afa0e95e66 win32_gui: implement background glyph rendering
try to use system TrasnparentBlt (or not)
2015-06-09 08:34:11 -07:00
Pasi Kallinen
e15f7be909 Add the mapglyph special flags to window doc 2015-06-09 17:46:30 +03:00
Pasi Kallinen
174e6f47b3 TTY: Hilight piles of objects
Add MG_OBJPILE flag, which windowports can use to check if a location
has more than one object stack. If use_inverse is on, TTY will use
inverse to show such piles.  If a boulder is the topmost item on a pile,
then the object pile flag is not used; mainly because boulders are "solid",
boulders dropped by monsters are nearly always over other objects, and so
that special levels such a Sokoban can "hide" items under the boulders.

TODO: a "pilemark", analogous to "petmark", perhaps a green plus sign,
which can be used by windowports with tiles.
2015-06-09 16:54:48 +03:00
nhmall
580d98b473 many contributors to this please
Changes to be committed:
	modified:   doc/Guidebook.mn
	modified:   doc/Guidebook.tex
2015-06-09 05:29:25 -04:00
nhmall
2601583121 more refinement of background glyph
Changes to be committed:
	modified:   src/display.c
2015-06-09 04:54:19 -04:00
nhmall
cdfbba20bd be more discerning on the backgrounds presented
Changes to be committed:
	modified:   src/display.c
2015-06-09 04:35:05 -04:00
nhmall
d5631bc448 Merge branch 'master' into AlexK-misc 2015-06-08 21:11:54 -04:00
nhmall
85e80f1e3e provide bkglyphs
Changes to be committed:
	modified:   src/display.c
2015-06-08 20:10:43 -04:00
nhmall
c3a77914a9 Modify the window interface for print_glyph
Changes to be committed:
	modified:   doc/window.doc
	modified:   include/qt_win.h
	modified:   include/trampoli.h
	modified:   include/winX.h
	modified:   include/wingem.h
	modified:   include/winprocs.h
	modified:   include/wintty.h
	modified:   src/display.c
	modified:   src/windows.c
	modified:   sys/amiga/winami.p
	modified:   sys/amiga/winfuncs.c
	modified:   sys/amiga/winproto.h
	modified:   sys/wince/mswproc.c
	modified:   sys/wince/winMS.h
	modified:   win/Qt/qt_win.cpp
	modified:   win/X11/winmap.c
	modified:   win/chain/wc_chainin.c
	modified:   win/chain/wc_chainout.c
	modified:   win/chain/wc_trace.c
	modified:   win/gem/wingem.c
	modified:   win/gem/wingem1.c
	modified:   win/gnome/gnbind.c
	modified:   win/tty/wintty.c
	modified:   win/win32/mswproc.c
	modified:   win/win32/winMS.h

print_glyph now takes a second parameter.

Tiles on tiled ports always looked odd on places like the plane of air
where the background color of the tile didn't match the general background
of the surrounding area.

3.6 made that even worse and more glaringly noticeable with the introduction
of darkened room tiles.

The code to actually send something useful through the new parameter
for window ports to take advantage if they want will follow.
2015-06-08 19:37:26 -04:00
Pasi Kallinen
9070d129de Use MAKE variable instead of hardcoding make 2015-06-06 20:25:32 +03:00
Alex Kompel
6d8a591fc1 Chatting with priest converted to minion crashes the game (few code paths in priest_talk() assumed the priest has an altar) 2015-06-06 08:16:30 -07:00
PatR
4453ecac64 lookat again
Remove second 'alt_i' initialization, which was first in implementation.
Superseded by the preceding line, which came later.  Works either way,
but the conditional initalization avoids the two extra loop iterations
when they're not useful.
2015-06-05 23:37:02 -07:00
PatR
7218f2bfbd lookat issues for unknown/solid rock/dark room
Fix two things with the ';' and '/' commands, both for looking at blank
space.  The list of possibilies included "a dark part of a room or the
dark part of a room" even though the code involved goes out of its way
to avoid redundant clauses.  S_stone let dark part be prefixed by 'a',
S_room and S_darkroom forced it to be 'the' which is better phrasing
but outsmarted the redundancy check.  Make S_stone's use of "dark part
of a room" force 'the' too.

That's trivial; this is more complicated:  the new maze variations
exposed/aggravated an issue that's been there all along.  In a non-
WALLIFIED maze, doing look-at on the solid stone in-place-of-wall
next to you reported "dark part of a room" which is clearly wrong when
you can tell it's not a room.  (The same thing happens in any ordinary
corridor, but players rarely try to identify blank space next to them
it that circumstance so it hasn't mattered very much.)  This change
results in look-at listing "unexplored" and "stone" as additional
possibilities when looking at blank spots.  Final description will be
"unexplored" instead of dark room if you haven't seen the spot, "stone"
if you have and that's what it is, or "dark part of a room" otherwise.
2015-06-05 20:19:18 -07:00
PatR
c890269947 remove use of __FUNCTION__
The special level loader has been using __FUNCTION__ in error messages
for a few months now, but that is a gcc extension (evidently picked up
by other compilers since only Borland had an issue so far).  The
standard way to do the same thing is with __func__, but that's C99 so
we should avoid it.  (__FUNCTION__ came earlier; gcc supports both.)

This switches to convential C code to achieve the same effect, using
the name 'nhFunc' rather than __FUNCTION__:
  void foo()
  {
    static const char nhFunc[] = "foo";
    ... code that might report problem in nhFunc ...
    return;
  }
This has only been added to the functions which actually reference it,
not a blanket intrusion into every routine.  In special level loader's
case, the reference is hidden in the opvar_free() macro which is used
quite a lot.

At first I used a macro:
  void foo()
  {
  #define nhFunc "foo"
    ... code that might report problem in nhFunc ...
    return;
  #undef nhFunc
  }
but using an actual variable avoids duplicate copies of the function
name string when used more than once inside a given function, and it
can't accidentally carry over into the next function due to missing or
misspelled #undef.

If we someday switch alloc() to give more specific information than
__FILE__, the macro variation would be better since the function name
won't be used most of the time (ie, when MONITOR_HEAP isn't defined).
2015-06-05 18:18:19 -07:00
Haoyang Wang
d72e0d0fde hint file for macosx10.10 2015-06-05 15:57:56 -07:00
Haoyang Wang
ca27c0b543 add /usr/X11R6/include to the include paths 2015-06-05 15:43:18 -07:00
Pasi Kallinen
04783f1c8a Remove extraneous line from linux-X11 hints file 2015-06-05 20:42:00 +03:00
Pasi Kallinen
bb3ed07f0a Prevent rays from bouncing off Plane of Air edges 2015-06-05 16:54:33 +03:00
nhmall
dd6c12bba6 more dat/tribute updates
Changes to be committed:
	modified:   dat/tribute
2015-06-05 08:02:23 -04:00
nhmall
7a3a7fb6ba Merge branch 'master' into win32-x64-working 2015-06-05 06:39:39 -04:00
nhmall
159b29a85b ensure dummy obj owornmask is clear (from Alex)
Another minor oddity (did not have time to trace it). Charges for damaged
weapon refer to it as "weapon in hand":

--
As you read the scroll, it disappears.  Being confused, you mispronounce
the magic words...  Demirci's long sword is covered by a mottled purple
glow!  "You degrade that long sword, you pay for it!"
Call a scroll labeled VERR YED HORRE:
What do you want to wield? [- ajrw or ?*] j
j - a rustproof athame named Magicbane (weapon in hand) (10 aum).
What do you want to drop? [$a-df-rtwxM or ?*] r
You drop a long sword (40 aum).
Demirci offers 8 gold pieces for your long sword.  Sell it? [ynaq] (y) y
You sold a long sword (40 aum) for 8 gold pieces.
You see here a scale mail (250 aum).
You see here a ring mail (250 aum).
A rustproof long sword (weapon in hand) (40 aum) for 15 zorkmids.  Pay?
[yn] (n)
You paid for a rustproof long sword (weapon in hand) (40 aum) at a cost of
15 gold pieces.  "Thank you for shopping in Demirci's used armor
dealership!"
--
2015-06-05 06:36:00 -04:00
Alex Kompel
d4bcf5f628 win32_gui: use menu keys (<, >, ^, |) to scroll text windows 2015-06-04 21:18:19 -07:00
PatR
def2549592 shapeshifting on rogue level
Limit vampire shapeshifting on rogue level to vampire bats (only
choice represented by uppercase letter) and have other shapeshifting
try for uppercase.  The latter isn't rigorous because shapeshifters
(chameleon=':', doppelganger='@', sandestin='&') aren't uppercase
themselves, so won't be created there under ordinary circumstances.
It applies to the "summon nasties" monster spell and post-invocation/
post-Wizard's-death harassment effect too.
2015-06-04 15:31:25 -07:00
Pasi Kallinen
2de17b059c Make priest door opening check match dog_move 2015-06-04 21:27:36 +03:00