Commit Graph

40 Commits

Author SHA1 Message Date
PatR
19d737951e curses: change from malloc() to nethack's alloc()
There was no provision for malloc() potentially returning Null and it
wasn't integrated with nethack's MONITOR_HEAP.  'heaputil' shows that
the curses interface is leaking like a sieve.  If some things are
actually being allocated separately and then freed from within curses,
those need to be thoroughly documented and maybe switched back to
malloc().
2019-02-07 16:48:37 -08:00
PatR
b1de94f922 custompline(SUPPRESS_HISTORY,...) for curses
The curses interface already has a hack to keep 'Count: 12', 'Count:
123' intermediate multi-digit counts out of its message recall history
for ^P, but it was flushing real messages when getpos()'s 'autodescribe'
reported what the cursor moved over.  Overload the count hack to support
 putstr(WIN_MESSAGE, ATR_NOHISTORY, text)
(which is what custompline(SUPPRESS_HISTORY, ...) eventually calls).

The conditional logic for when to create the 'count_window' was pretty
convoluted.  This simplification has the same semantics but I don't
have PDCURSES to actually verify that.
2019-02-07 16:04:24 -08:00
PatR
37e5a9cad2 randrole() fix
Give all the calls to randrole() its new argument.
2019-01-29 17:14:55 -08:00
PatR
d418008b31 curses splash/copyright screen, role prompt
Back out '#include "date.h"' so that cursinit.c won't be recompiled
every time any other file(s) need to be compiled.  It doesn't need
patchlevel.h either.  There is already a straightforward way to fetch
the copyright banner lines from version.c.

The splash screen (ascii art spelling "NetHack" preceding the normal
copyright lines) was invisible when showing white text on white-ish
background.  Make it honor !guicolor.

"Shall I pick a character's role, race, gender and alignment for you?
 [ynaq] (y) " was too wide to accept the answer on the same line on
an 80-column display so "(y) " was placed on the second line.  That's
constructed in the core; change the construction to omit " a" when
using "character" rather than a role name.  (tty shortens it by omitting
the default " (y)"; with " a" gone, it could revert to normal prompt.)

Also a bit of lint cleanup and some reformatting of cursinit.c....
2018-12-29 18:38:30 -08:00
Pasi Kallinen
45e06d638f Curses: Remove useless inventory label
The inventory window used a line to say "Inventory:", which is pretty
useless, and that was the only window showing such a label.

Also don't duplicate the "Not carrying anything" text from core.
2018-12-29 13:16:51 +02:00
nhmall
a5f154d925 a couple of source spelling consistencies for /*FALLTHRU*/ 2018-12-28 10:08:56 -05:00
Tangles
9fd28fb852 curses - fix count selection not working for PICK_ONE menus.
eg: d2b would drop 2 of item b, but using d* to pick from a menu
and then selecting 2b would ignore the count and just drop the
whole stack.
2018-12-28 15:42:32 +01:00
Pasi Kallinen
ca336bbf4b curses: include date.h
This way the curses port will show the version and compile date
on the startup banner, just like tty does.
2018-12-28 11:34:01 +02:00
PatR
ceb446eaea curses lint 2018-12-26 01:45:17 -08:00
nhmall
16cda0882c fix up PDCurses cursor placement for prompts 2018-12-14 23:08:41 -05:00
nhmall
1baa20dfc5 header update on cursstat.c 2018-12-05 23:43:59 -05:00
nhmall
c4930c6782 update header on curswins 2018-12-05 17:45:40 -05:00
nhmall
9c873712b6 update header on cursstat 2018-12-05 17:45:15 -05:00
nhmall
2458281d42 update header on cursmisc 2018-12-05 17:44:08 -05:00
nhmall
c260911f38 update header on cursmesg 2018-12-05 17:43:33 -05:00
nhmall
661ffb0133 update header on cursmain 2018-12-05 17:42:49 -05:00
nhmall
86281c5555 update header on cursinvt 2018-12-05 17:42:11 -05:00
nhmall
14335ea90c update header on cursinit 2018-12-05 17:41:30 -05:00
nhmall
c258f9c3f8 update header on cursdial 2018-12-05 17:40:33 -05:00
nhmall
6fe706f274 'curses_display_nhmenu' should return a value
Caught by automated build test

../win/curses/cursdial.c:598:9: error: non-void function 'curses_display_nhmenu' should return a value [-Wreturn-type]
        return;
        ^
../win/curses/cursdial.c:605:9: error: non-void function 'curses_display_nhmenu' should return a value [-Wreturn-type]
        return;
2018-12-02 18:47:23 -05:00
nhmall
a9ff2a296a remove slipped-in partial bits from another feature
Some bits from another feature by Tangles had
slipped into our merge of curses a while back.

Remove the partial bits as feature bits should
be complete or not at all, unless foundational
for something to come.
2018-12-02 11:54:42 -05:00
Tangles
7c025fc344 curses - reinstate guicolors 2018-12-02 11:22:54 -05:00
Tangles
c3ecb5c43d curses - don't use popup for count selection.
There are issues with dismissing the popup afterwards.  These
were not really investigated as a count-selection doesn't really
warrant a popup anyway.
2018-12-02 11:20:46 -05:00
Tangles
2af7a74b7d curses - fix hero turning into # when selecting a count of items.
Why was that line in there anyway?
2018-12-02 11:20:21 -05:00
Tangles
69d9a7a51b curses - don't autocomplete wiz cmds except in wizmode 2018-12-02 11:19:56 -05:00
Tangles
1f94456e46 curses - change some panics to impossibles. 2018-12-02 11:19:35 -05:00
nhmall
8a9f98f179 curses follow-up bits
Move the curses global variable defininitions to cursmain.c.

Make the references to those global variables extern in
include/wincurs.h

Get rid of a warning:
../win/curses/cursmesg.c:379:9: warning: declaration shadows a
variable in the global scope [-Wshadow] int orig_cursor = curs_set(0);

Kludge for Visual Studio compiler: Add a stub- file for use
in Windows curses port builds to ensure that a needed #pragma
is invoked prior to compiling the file pdcscrn.c in the
PDCurses source distribution. All command line options and
compile of the file. It is unreasonable to expect a NetHack
builder to have to tinker with the PDCurses source files in
order to build NetHack. This kludge means the NetHack builder
doesn't have to.
The file stub-pdcscrn.c contains only two lines:
	#pragma warning(disable : 4996)
	#include "pdcscrn.c"
Some day, if the PDCurses sources corrects the issue, this
can go away.
2018-11-30 16:00:24 -05:00
nhmall
bf4bb47518 Update header at the top of the curses files
Place the copyright notice within the win/curses files as confirmed
by the original curses port author on November 28, 2018.
2018-11-28 20:00:20 -05:00
Bart House
520b130a5c Added initialization of locals to quite compiler warnings. 2018-11-20 10:47:12 -08:00
Bart House
d177b5e705 Addressed compiler warnings.
Fixed declarations of draw_classic, draw_vertical and draw_horizontal.
Moved definitions of locals before code.  Added initialization of
locals.  Changed comments to c-style.
2018-11-20 10:46:45 -08:00
Bart House
e66a8c4c73 Changed comments to c-style. 2018-11-20 10:45:04 -08:00
Bart House
347c45b420 Addressed compiler warnings.
Changed to c-style comments.  Placed locals before code.  Added
initialization of local value ret in curses_block.
2018-11-20 10:44:44 -08:00
Bart House
fcb28cd2e5 Addressed compiler warnings.
Moved local declarations before code. Changed comments to c-style.
2018-11-20 10:43:35 -08:00
Bart House
616e946393 Scoped existing code in a new block to quite compiler warnings. 2018-11-20 10:42:13 -08:00
Bart House
0b1e975b07 Addressed compiler warnings.
Moved locals before code.  Changed comment type.
2018-11-20 10:35:25 -08:00
nhmall
816a7dd871 Revert "curses port: accept return on Windows platform"
This reverts commit ac367ef4cc.
2018-11-17 21:30:01 -05:00
nhmall
2829e3f780 Revert "more CR on windows"
This reverts commit 83fb79b775.
2018-11-17 21:29:41 -05:00
nhmall
83fb79b775 more CR on windows 2018-11-17 21:17:43 -05:00
nhmall
ac367ef4cc curses port: accept return on Windows platform 2018-11-17 20:27:21 -05:00
nhmall
748280d5dc curses new file additions 2018-11-16 20:53:38 -05:00