Commit Graph

1494 Commits

Author SHA1 Message Date
nhmall
878823ad8a another mswproc bit - remove enum values from comments 2018-09-03 08:52:16 -04:00
nhmall
ec2258ae70 mswproc.c bit 2018-09-03 08:49:47 -04:00
nhmall
a417d67572 status_update distinguish new BL_RESET from BL_FLUSH
This adds BL_RESET to status_update to send a flag to a window
port that every field should be updated because something has
happened in the core to make current values shown to be
untrustworthy or potentially obliterated.

That is now distinguished from BL_FLUSH, which now has no
bearing on whether every field needs to be redone, and instead
can be used by a window port indicator that it is time to render
any buffered status field changes to the display.

tty port now sets WC2_FLUSH_STATUS indicator for BL_FLUSH support
and now does one rendering per bot() call, instead of up to 22.

Side note: The tty hitpoint bar code was relying on the old
behavior of redrawing everything upon BL_FLUSH apparently, so it
initially had some color change lag issues, corrected by marking
BL_STATUS as dirty (in need of updating) in tty_status_update()
whenever BL_HP was marked as dirty.
2018-09-03 08:18:18 -04:00
nhmall
1462f69f54 reports on windows of partial status lines after level change
tty: turn off an optimization that is the suspected cause of Windows reported
	partial status lines following level changes. It was turned on for
        non-unix platforms only
2018-09-01 14:52:47 -04:00
nhmall
6311985d57 don't highlight the leading space before gold field on the status line 2018-05-21 09:35:38 -04:00
nhmall
2b66b5ecd1 bump version ID values 2018-05-16 23:06:44 -04:00
PatR
fa0a136b06 tty/wintty.c w/o TEXTCOLOR
With TEXTCOLOR disabled, compiler warnings about term_start_color()
and term_end_color() not being declared were followed by link failure
because they weren't available.

This tries to simplify color handling in the tty status code without
resorting to #if TEXTCOLOR (the proper fix, but somewhat intrusive).
For the usual case where TEXTCOLOR is defined, there were instances
of
  if (color != NO_COLOR && color != CLR_MAX)
    term_start_color();
  ...
  if (color != NO_COLOR)
    term_end_color();
and also of
  if (color != NO_COLOR)
    term_start_color();
  ...
  if (color != NO_COLOR)
    term_end_color();
I've changed both types to be
  if (color != NO_COLOR && color != CLR_MAX)
    term_start_color();
  ...
  if (color != NO_COLOR && color != CLR_MAX)
    term_end_color();
so that start/end pairing will always be consistent.

Also, ((color_and_attr & 0xFF00) >> 8) might not work as intended if
using 16-bit int and color_and_attr happened to have its sign bit set.
Change to ((color_and_attr >> 8) & 0x00FF) to ensure just the desired
bits.

Also also, a couple more formatting bits.
2018-05-15 17:09:47 -07:00
PatR
d752a4ad93 X11/winX.c w/o TEXTCOLOR
Avoid warnings when TEXTCOLOR isn't enabled.
2018-05-15 17:08:40 -07:00
nhmall
c2103b84db fix a couple of status items, gold highlighting and a boundary check
typo
gold highlighting
boundary check on tty_curs()
2018-05-15 09:03:35 -04:00
PatR
5586cca8b9 tty status
Started by removing two or three unused variables, ended up cleaning
up a lot of formatting (tabs, trailing spaces, indentation, a few
wide lines, 'if (test) return' on same line).  Marked some static
functions as static in their definitions instead of leaving it hidden
in their prototypes.  Moved a pair of short-circuit checks to skip
several initializations.
2018-05-15 04:16:40 -07:00
nhmall
80218a7855 boundary bit 2018-05-15 01:29:36 -04:00
nhmall
589bdb4e2d Merge branch 'win-tty-status' into win-minor 2018-05-15 00:26:26 -04:00
nhmall
26654ef079 a few cut-and-paste errors 2018-05-14 22:25:25 -04:00
nhmall
2e8b69d5ff some tty per field rendering and optimization 2018-05-14 21:13:37 -04:00
nhmall
860b9c35c1 testing build with STATUS_HILITES 2018-05-13 21:24:14 -04:00
Bart House
0afd2570cb Removing temporary debugging code and fixing compiler warnings. 2018-05-13 13:29:13 -07:00
nhmall
0d23e7b44d Merge branch 'tty-status' into win-tty-status 2018-05-13 15:21:46 -04:00
nhmall
3b2f7e86e0 more status updates
- prevent an overflow
- add make_things_fit()
2018-05-13 15:19:39 -04:00
Bart House
650d5230ec Fix memory leak. See bug 1169. 2018-05-12 19:45:16 -07:00
Bart House
1d31a49661 Some nttty.c clean-up. 2018-05-12 15:58:44 -07:00
nhmall
99474c864f Merge branch 'tty-status' into win-tty-status 2018-05-12 14:44:12 -04:00
nhmall
149fc5a4dd empty field suppression caught condition values unintentionally 2018-05-12 14:42:19 -04:00
nhmall
3598fcc929 more status handling updates
Suppress unneeded spaces from a couple of fields
	BL_LEVELDESC	- trailing spaces.
	BL_CAP		- it only contains a space
2018-05-12 14:10:52 -04:00
nhmall
9a87064cca some build fixes for compile issues reported 2018-05-12 06:57:34 -04:00
nhmall
ba057ef3de condition shrinkage when required 2018-05-12 02:18:42 -04:00
nhmall
a3ba46d732 remove some debug code 2018-05-12 01:10:43 -04:00
nhmall
dd04f5fcb5 more tty-status updates 2018-05-12 01:04:57 -04:00
nhmall
8c2dc7bb1c add some logging to debug 2018-05-10 18:48:02 -04:00
nhmall
1a19e449c7 Revert "some cross platform testing"
This reverts commit 3d1e086648.
2018-05-09 18:51:49 -04:00
nhmall
4dd535cbd2 cross platform testing 2018-05-09 18:47:19 -04:00
nhmall
3d1e086648 some cross platform testing 2018-05-09 18:31:18 -04:00
nhmall
778c8a56ab remove a commented out code line 2018-05-09 13:25:46 -04:00
nhmall
9bca6ecb8e tty status updates
some status code cleanup

It should be ready to merge tty-status changes into NetHack-3.6.0.
2018-05-09 13:12:11 -04:00
Bart House
f7e665be98 Fix for bug H7132.
In nethackw, there can be conflicts between menu accelerators and an extra
choice accelerator.  For example, when engraving the using fingers options
conflicts with the unselect all menu accelerator.  The extra choice
accelerator should take precedence.
2018-05-08 07:25:24 -07:00
nhmall
b524c26da5 intermediate update to wintty.c as work continues 2018-05-07 18:52:50 -04:00
nhmall
71bead4e39 do some performance optimizations on highlighting of tty status 2018-05-05 19:43:10 -04:00
nhmall
d4ebae12f1 default to using latest SDK available on build machine
From Bart...
Modified build configuration to use latest SDK available by default.
This change will eliminate the need for us to hard code an SDK
version into our configuration file and will eliminate the need
for developers to set the SDK version when they do not have the
matching SDK version installed. Updated the Install.nt file removing
the mention of having to set the SDK version.
2018-04-26 23:02:17 -04:00
Alex Kompel
bcd6b3dbcd win32-gui: fix message window text display
text dimension calculations were inconsistent across multiple functions.
this resulted in occassional text display oddities.
2018-04-26 08:19:32 -07:00
keni
0f58af6f37 add missing copyright info 2018-04-25 16:54:50 -04:00
keni
09502df9f1 force expand unexpanded substitution variables 2018-04-25 15:36:11 -04:00
keni
d8c49ec9d1 Add updated copyright lines, part 1. 2018-04-25 15:00:13 -04:00
keni
11f1983253 update .gitattributes files for substitution and copyright headers 2018-04-25 14:52:43 -04:00
nhmall
93e0cb5235 nethackw clear after getlin
Alex wrote: in nethackw, getlin clears message
window, so any unread messages are scrolled off the screen without
"--more--" prompt. If vary_msgcount is set to 1 and "potion shatters", it
is not easy to see the effect to name the potion correctly.
2018-04-24 08:15:36 -04:00
PatR
77da2fdc65 tty EDIT_GETLIN fix for wrapped prompt
When a getlin() response is being typed, it wraps to second line if
the cursor tries to go past COLNO-1, but if a previous response is
treated as part of the prompt, using pline() to write prompt+space+text
wraps at a whole word boundary.  tty's getlin() assumes that the screen
position can be derived from that prompt+space+text_so_far but that
doesn't match if wrapping at a word boundary leaves blank space at end
of the top line.

When a prompt is accompanied by default answer, output the answer
separately instead of pretending it is part of the prompt.  Line-wrap
should occur at same point as when it was originally typed and avoid
the confusion about how far to back up when deleting characters.

This hasn't been exhaustively tested but it seems to work correctly
for ordinary input, input erased one character at a time, and input
killed all at once.  One thing which definitely hasn't been tested is
having the prompt itself be so long that it needs to wrap.
2018-04-13 04:32:05 -07:00
PatR
ac2634b603 EDIT_GETLIN fix for tty
After about the third time typing '#' and getting a prompt of "# K", I
decided that it wasn't clumsy typing.  The call chain for get_ext_cmd()
was passing an uninitialized output buffer to [hooked_tty_]getlin()
which treated random junk as the previous result to be used as current
default.  Other interfaces may need a similar fix.
2018-04-03 16:05:08 -07:00
Pasi Kallinen
2548d68dd3 Fix some warnings
Remove an unused variable, add missing FALLTHRUs, and use the same
FALLTHRU wording where it wasn't recognized by gcc
2018-03-30 19:42:50 +03:00
Pasi Kallinen
a2f6a7bec9 Support EDIT_GETLIN for win32
... but only without popup_dialog
2018-03-27 20:24:05 +03:00
Pasi Kallinen
94ad7512a6 Compile-time option to allow some prompts remember the input
Define EDIT_GETLIN to make the tty, X11, and Qt4 windowports to
remember the input strings for wishing and annotation.
2018-03-26 23:04:53 +03:00
Alex Kompel
d6e43a32ec win32-gui: fix truncated status fields call to get dimensions of the text bounding rectangle needs to be made after the font is set in order to get the accurate reading 2018-03-18 23:00:23 -07:00
Alex Kompel
60454b4f92 win32-gui: Do not auto-assign non-alphabet accelerator characters to menu items. Picking up pile that contains gold forces accelerators to start with $ so the next one becomes %, ... 2018-03-18 23:00:16 -07:00