Commit Graph

83 Commits

Author SHA1 Message Date
Pasi Kallinen
7cbd2fd592 Remove last mention of EXP_ON_BOTL 2015-03-01 10:26:24 +02:00
Sean Hunt
ac108cd365 Make GOLDOBJ unconditional. 2015-02-27 19:33:40 -05:00
Sean Hunt
1edadd1d48 Make REINCARNATION unconditional.
There is a lot of code affected by this, and Pat Rankin correctly
observes that it would be better to store roguelike as a level flag
rather than just using Is_rogue_level. A note for the future.
2015-02-27 19:33:16 -05:00
Sean Hunt
260f7ea860 Make TOURIST unconditional. 2015-02-27 19:33:12 -05:00
keni
0109f9715b A batch of manual header var additions. 2015-02-26 17:10:11 -05:00
keni
03140969ee Bulk recovery of file CVS headers and addition of NHDT- headers. 2015-02-26 09:19:03 -05:00
nethack.rankin
a871ad06e9 outrip() updating (trunk only)
Part II of the bones tracking patch.  Change umpteen different outrip()
routines to handle its new time_t argument, and use formatkiller() instead
of directly accessing killer.{format,name} and killed_by_prefix[].  The
latter is now static within formatkiller().

     The many sys/* and win/* changes are untested....
2012-01-24 04:26:33 +00:00
keni
4036a6727c Add RCS version lines 2009-05-06 10:55:43 +00:00
nethack.rankin
054a74d378 yn_function (trunk only)
Explicitly truncate the query prompt string to QBUFSZ-1 characters.
For tty and Amiga, no longer include the choices and default within that
length limit; use a bigger buffer to hold them along with the prompt.
[See cvs log for doc/window.doc for more details.]
2006-10-22 05:59:26 +00:00
nethack.allison
8fc01eb6b1 window port change - putmixed() (trunk only)
Add putmixed() to the window port. It allows map symbols to
be included in the string by encoding them in a unique fashion.
This was done because Unicode symbols, for instance, could be
longer than the size of a char.

The encoding of the map symbols in this patch is done by
prefixing a glyph value with \GXXXX, where XXXX is a
random value for the current game. The reason for the random
prefix is to minimize the possibility that a player can trigger
the escape sequence processing within text under their control
(dog names, etc.) the way they could if the sequence was fixed
in the source code. The random prefix remains the same throughout
the lifetime of a game because message window strings are
saved in the save file.

(There was actually a bug present because of the embedded
character even before the recent symbol changes, because if
someone was using a  different set of characters between games,
the saved messages would reflect the original characters, rather
than the current. That bug was introduced with the ability to
save messages to the savefile.)

A window port does not have to supply an XXX_putmixed() routine,
it can use genl_putmixed() which uses the old behavior of
embedding the sequence as a character within the string
and calling putstr(). genl_putmixed() takes care of the decoding
of the escape sequence.

This also #ifdef's out code in pager.c for converting a glyph
to a character, and uses mapglyph() to do that instead. Does
anyone see a problem with doing that through mapglyph instead
of repeating similar code within pager.c?
2006-10-17 23:06:31 +00:00
nethack.allison
374e9fbbb4 more symbol stuff (trunk only)
- reduce the number of symbol tables for each graphics
set {PRIMARY, ROGUESET} from three {map, oc, mon}
tables for each of the display symbols, the loadable symbols,
and the rogue symbols, to one continguous table for
each:
showsyms: the current display symbols
l_syms: the loaded, alterable symbols
r_syms: the rogue symbols

- Modify mapglyph so that the index into the symbolt table is
available as a return value (it was a void function), rather than
just the char converted from the glyph.
- That makes it possible for a window port to use the same
index value to extract from another table (perhaps a unicode
table) for a different set of display symbols. The  index
is much more useful than trying to convert the character
into another type of symbol, as some contributed patches
have done.
- It is much easier to load a single alternative flat table to
make substitutions, since the corresponding value just
has to get placed into the same index offset in the
alternative table.

This also fixes a bug I found in botl.c, where you could
go to the rogue level, and the bottom line gold symbol
was not being updated with the new character as it should.
The reason was because the gold value had not changed,
only the field symbol used had changed.

This updates multiple ports to place a (void) cast on
the mapglyph call, now that it returns a value, so this
is going to generate a lot of diff e-mails.
2006-10-01 19:30:08 +00:00
nethack.rankin
ea61a13add number_pad:3,4,-1 (trunk only)
[See the cvs log from flag.h for comments pertaining to iflags.num_pad
and Cmd.num_pad, Cmd.commands[], Cmd.serialno.]
2005-11-26 02:34:23 +00:00
nethack.allison
e9b022d579 housekeeping: mark trunk sources 3.5 (misc) 2005-01-02 17:21:18 +00:00
warwick
5d72e0be52 Make "black" characters visible.
Stop RIP window maximizing (C syntax!).
Make Cancel button more sensible.
2004-07-01 18:21:51 +00:00
nethack.allison
10480f4397 core support for status field highlighting (trunk only)
This provides the core support needed for status field highlighting.
This patch doesn't actually perform status field highlighting for any port,
but provides the core hooks for doing so.

The syntax is:
OPTIONS=hilite_status:{fieldname}/{threshold}/{below}/{above}
where {fieldname} is the name of a status field.
           {threshold} is the value used as the threshold to trigger a display
                             change.  It can also be set to "updown" to trigger
                             a display change whenever it rises or whenever it falls.
                             If you end the threshold value with %, then it signifies
                             that you want to trigger the display change based on the
                             percentage of maximum.
         {below}, {above}
                        are the color or display attribute that you want to use when
                        the field value is underneath the threshold. Supported display
                        fields are:  normal, inverse, bold, black, red, green,
                                         brown, blue, magenta, cyan, gray, orange,
                                         bright-green, yellow, bright-blue, bright-magenta,
                                         bright-cyan, or white.
Valid field names are:
        alignment, armor-class, carrying-capacity,
        charisma, condition, constitution, dexterity,
        dungeon-level, experience-level, experience,
        gold, HD, hitpoints-max, hitpoints, hunger,
        intelligence, power-max, power, score,
        strength, time, title, wisdom

Refer to window.doc for details. Guidebook updates to come later.
2003-11-30 05:51:53 +00:00
nethack.allison
586a805c8f status display - port modules (trunk only)
Introduction of a new set of window port status display
routines.  The new routines are conditional on
	STATUS_VIA_WINDOWPORT
being defined in config.h. See the experimental section,
where the #define resides for the time being.
2003-11-23 06:47:13 +00:00
cohrs
bf98bc9fe8 qt gcc warnings
cosmetic changes to allow qt_win.cpp to compile cleanly using gcc -Wall.
This corresponds to a debian report that doesn't mention a debian bug ID.
The changes are not identical to the suggested debian patch.
2003-10-13 21:17:12 +00:00
nethack.allison
f6f6c1f0d5 saving message history (trunk only)
On September 11, 2003 "<Someone>" wrote:
> When we're going to have a different save file format, could
> the last messages in the message history be saved as well, so
> ^P would work the same before and after saving (possibly
> including a few less messages to make room for the startup
> messages?).

This seemed like a reasonable request. This patch:
- adds the core support required.
- adds the tty supporting routines.
2003-10-05 13:43:16 +00:00
cohrs
559be58c21 conflicting delayed killers
Introduce a new set of functions to manage delayed killers in the trunk, used
in addressing the various reports of delayed killer confusion.  Since existing
delayed killers are related to player properties, the delayed killers are
keyed by uprop indexes.  I did this to avoid adding yet another set of
similar identifiers.
- the new delayed_killer() is used for stoning, sliming, sickness, and
delayed self-genocide while polymorphed.  Some other timed events don't
use it (and didn't use the old delayed_killer variable) because they
use a fixed message when the timeout occurs.
- A new data structure, struct kinfo, is used to track both delayed and
immediate killers.  This encapsulates all the info involved with
identifying a killer.  The structure contains a buffer, which subsumes the
old killer_buf and several other buffers that didn't/couldn't use killer_buf.
- the killer list is saved and restored as part of the game state.
- the special case of usick_cause was removed and a delayed killer list
entry is now used in its place
- common code dealing with (un)sliming is moved to a new make_slimed function
- attempted to update all make dependencies for new end.c -> lev.h
dependency, sorry if I messed any up
2003-09-29 19:24:20 +00:00
cohrs
22fe9838f3 SAFERHANGUP support for win/Qt.
Now all the current Unix window-ports support it.
2003-09-19 04:08:37 +00:00
warwick
9d83d474f4 Solve a number of MacOSX problems. 2003-09-11 04:25:52 +00:00
kmhugo
1c17e4087a Qt/MacOS X tidbit
The Info.plist file contains vital information about a given
application package.  Rename the file from .pli to .plist (note
that other files in this directory use long extensions).
Also correct and add to some of the information in this file.
2003-09-03 00:16:51 +00:00
nethack.allison
99bcdf6a4e expand wincap options to second field
<Someone> wishes to add a couple of new options to the wince port ("run fullscreen" and "do not use CE software keyboard").

The wincap field was full, so this adds a second field for
additional options.
2003-07-17 01:35:31 +00:00
warwick
cb71f71b53 The POSIX function yn() is sometimes a macro (eg. GCC 3.2, Linux),
so undefine it (we don't need either here).
2003-04-22 06:57:27 +00:00
warwick
ccb0973a23 Another key fix for MacOSX. 2003-04-02 07:04:16 +00:00
warwick
d5f40ec222 Show true key sequences (essential on MacOSX). 2003-03-28 01:41:38 +00:00
warwick
8bc452fe31 Fix random character selection, as From a bug report. 2003-03-10 06:48:53 +00:00
warwick
04554e7729 Work on more UNIX systems. 2003-02-26 07:25:54 +00:00
warwick
876fb8aca1 <email deleted>
If race is set to random and role is set to something
specific, the Qt interface sometimes hangs trying to
determine an appropriate race/role.

This patch that fixes the problem, and makes 'random'
work more appropriately.
2002-11-27 04:37:12 +00:00
warwick
b07484b572 Remove test code (font was wrong). 2002-10-14 05:39:39 +00:00
warwick
21dd13c294 Unhide the "click-to-the-left-to-set-count" feature, since it's a FAQ. 2002-08-22 05:10:29 +00:00
warwick
ab63d7830e IPKG control file - specifies the packaging of files
for a ".ipk" binary package for handheld Linux (eg. Qtopia).
2002-08-20 07:35:05 +00:00
warwick
bd0d0f4f3d Information about compiling for Qtopia. 2002-08-20 07:31:48 +00:00
warwick
f75de289f8 Default to compact mode on embedded builds.
(one less FAQ to answer)
2002-08-20 07:26:22 +00:00
warwick
22e65c3e9e Support for 2 tile sizes ("zooming"). Still needs rc file support.
Make non-rest-on-space space and Enter do the sam as clicking on
current location. On handhelds, this is the button on thumbpad.
2002-08-14 06:12:37 +00:00
warwick
8285ca28c6 Allow arrowkeys to move player, including diagonals by pressing multiple
keys before releasing. Works well on handheld's thumbpad, perhaps less
useful on a fullsize keyboard.
Also some Qtopia-only fixes for Qt windowport.
2002-08-14 05:01:56 +00:00
warwick
fb4f19662b Honour more WINCAP flags. 2002-07-29 05:19:49 +00:00
warwick
b5847aea11 Honour wc_tile_width, wc_tile_height, and wc_tile_file. 2002-07-24 06:28:18 +00:00
warwick
16b7d4a099 Store plname in save files (and restore it).
Move get_saved_games() functionality to files.c
Use moved get_saved_games() functionality in Qt windowport.
[also some non-enabled perminv code in Qt windowport]
2002-07-22 06:25:52 +00:00
warwick
7dd72e4ac2 Turn "_" into " ", since "Brave_Sir_Robin" looks yucky.
Proper fix is to store name in file.
2002-07-04 06:26:15 +00:00
warwick
a495cf38ad Fix focus order for playerselection. 2002-07-01 05:06:56 +00:00
warwick
6fc29fb400 Avoid some key handling problems on Mac.
(will also be fixed another way in Qt/Mac, but I like to
be thorough :-)
2002-07-01 05:05:04 +00:00
warwick
7ca75f5806 Screens are getting bigger... make 64x64 the maximum scaled tile size. 2002-04-03 08:09:47 +00:00
cohrs
2031835cb0 One leftover height use in Qt tile support 2002-03-18 00:02:51 +00:00
cohrs
b6189efe2a X11 wide tilemap support
- support X11 tile files (with or without XPM) that are 40 tiles wide
- rearrange some X11 code to share more code between XPM & non-XPM options
- clean out some deprecated X11/winmap.c #ifdefs
- update Qt code minimally to handle such an XPM file
2002-03-17 20:02:47 +00:00
warwick
be7145d1a5 Workaround bug in SHARP SL5500 ROM.
(not essential for 3.4.0, since the SL5500 port still needs more work anyway)
2002-03-13 06:04:53 +00:00
warwick
afae7f931c Sometimes there is no main widget. 2002-03-11 08:18:47 +00:00
jwalz
c7325ee019 Run 'make depend', after fixing up output. 2002-03-09 03:13:18 +00:00
nethack.allison
742e1e8c90 3.3.2 to 3.4.0 2002-02-04 16:11:00 +00:00
warwick
6549930ee2 Qt: Fix default dialog button
In Qt 3, default button is always set to something... it was set to "Cancel"
in this case - not a good thing when you are granted a wish :-(
2002-02-04 10:23:30 +00:00