Commit Graph
100 Commits
Author SHA1 Message Date
Pasi Kallinen f9f1236f26 Fix some buffer underflows 2018-11-08 21:02:24 +02:00
Pasi Kallinen afd793e9b7 Fix memory leak in makedefs 2018-11-08 17:38:36 +02:00
Pasi Kallinen 0bb6754998 Fuzz testing debug tool
Add code to run a fuzz tester, simulating (more-or-less) random
keyboard mashing. There's no option to turn it on, you need to
set iflags.debug_fuzzer on via a debugger or something along
those lines.
2018-11-08 15:55:49 +02:00
Pasi Kallinen 75f6001afc Report insanities via impossible 2018-11-07 18:50:09 +02:00
Pasi Kallinen c6ade9c715 Prevent out of array index 2018-11-07 18:39:00 +02:00
Pasi Kallinen e8eadac3c8 Feedback on trying to pick up stairs or altar 2018-11-05 18:35:20 +02:00
Pasi Kallinen d7c042eb80 Make Mjollnir lightning noisy 2018-11-02 20:49:11 +02:00
Pasi Kallinen 312f7ccc10 X11: Fix msghistory restore segfault 2018-10-30 17:40:22 +02:00
Pasi Kallinen fd60e11d8d X11: Remove leftover file display stuff 2018-10-27 20:47:27 +03:00
Pasi Kallinen 6d70997869 X11: Reuse menu code to display files
Previously the code used the ASCII Text Athena widgets for displaying
file contents. Unfortunately, the widget made it impossible to control
scrolling or pretty much anything else.

Use the menu code instead, making the file display window behave properly.
2018-10-27 13:58:59 +03:00
Pasi Kallinen 742ec3dd49 X11: Don't hilite the help ext menu entry
Both the "help" button at top and the "help" extended menu command
were hilighted by the X resources. Make the top buttons have
"btn_" prefix, so they're easily distinguished in the resources.
2018-10-25 15:58:22 +03:00
Pasi Kallinen ef4f56242c X11: Make TTY status obey hilite_status 2018-10-24 20:04:28 +03:00
Pasi Kallinen 45ecbb84d6 X11: Move color and font structs
... so that other window types can also use them.
2018-10-23 20:30:48 +03:00
Pasi Kallinen 6381c32a39 X11: Adjust some colors to differentiate them 2018-10-23 17:48:54 +03:00
Pasi Kallinen 0470065b47 X11: TTY-style status lines
Set X resource NetHack*fancy_status: False to enable the TTY-style
status lines. Default is the fancy status.

This patch is somewhat unfinished - even though the TTY-style status
allow for status hilites, the colors don't work correctly yet.
Also changes the fancy status to use the windowport notification code.
2018-10-22 21:26:56 +03:00
Pasi Kallinen b653d0d137 X11: Mouse wheel scrolling for message window 2018-10-21 19:30:05 +03:00
Pasi Kallinen d648f4c371 X11: save and load message history 2018-10-21 17:26:24 +03:00
Pasi Kallinen 7ed01793b4 X11: Fix couple issues from recent changes
Segfault due to arg array overflow, and a theoretical fix for
a hang on a Mac during player selection if -@ parameter was given
on the command line.
2018-10-20 11:17:41 +03:00
Pasi Kallinen 3f94cee340 X11: Add key and mouse scrolling to extended command menu 2018-10-18 21:33:17 +03:00
Pasi Kallinen d454855c54 X11: Handle the -@ parameter 2018-10-18 19:29:42 +03:00
Pasi Kallinen fa5e5ac4b4 X11: Obey menu movement keys 2018-10-18 18:39:27 +03:00
Pasi Kallinen c687bb7cd8 X11: Revert finding scrollbars in same window
Apparently this doesn't work, for some reason every widget reports
a different window, even when they are in the same window ...
Maybe widgets inside and outside a viewport are technically
in different windows?
2018-10-18 17:19:42 +03:00
Pasi Kallinen 4db9a06c6c X11: Find scrollbars in same window
Adding scroll() translations to a window with no scrollbars
scrolled the main window message area.
2018-10-16 20:44:56 +03:00
Pasi Kallinen 24674e10e5 X11: Add geometry handler on perm_invent win only 2018-10-16 19:21:46 +03:00
Pasi Kallinen 8c17825afd X11: Remember perm_invent window geometry
Instead of remembering the geometry at window closing time,
remember it immediately when it changes.
2018-10-16 19:08:49 +03:00
Pasi Kallinen b3c8acfeeb X11: Allow toggling mouse_support off
Prevents accidental mouse clicks on the map.
2018-10-16 18:09:54 +03:00
Pasi Kallinen ddf6d13fd1 X11: Don't reuse perm_invent window for picking an object
The core wants to reuse the permanent inventory window for choosing
an object from inventory, but the perm_invent window could be
hard to focus - it could even be on another display!

Instead, create a temporary new window from which the user can
pick an inventory item.
2018-10-16 17:39:45 +03:00
Pasi Kallinen 011dfee945 X11: Allocate menu translation tables only once
Also force free the menu entry widgets when non-perm-invent
window is popped down.
2018-10-15 18:38:41 +03:00
Pasi Kallinen b2d2521289 X11: Handle X errors via panic
This leaves a usable backtrace for debugging.
2018-10-13 15:07:27 +03:00
Pasi Kallinen d19a4ac590 Fix segfault in X11 perm_invent if it was partially obscured 2018-10-13 00:37:15 +03:00
Pasi Kallinen 9f2f232d99 X11: Allow bold attribute for menucolors 2018-10-12 20:46:19 +03:00
Pasi Kallinen 62234b871f X11: Remember perm_invent window geometry 2018-10-11 20:18:07 +03:00
Pasi Kallinen c09260d8f7 X11: Handle paged menu control keys
X11 doesn't do menu paging, so handle the select page, invert page,
and unselect page like selecting, inverting or unselecting all.
2018-10-11 18:07:56 +03:00
Pasi Kallinen bf81a981e3 X11: Mouse wheel scrolling in menus 2018-10-11 17:59:20 +03:00
Pasi Kallinen e48c61c06f X11: Menucolors
Replace the XawList with our own lists of labels and command widgets
to allow for menucolors. Supports only inverse line attribute for now.

Allow key translations to work with menus on Linux.
2018-10-10 21:50:23 +03:00
Pasi Kallinen 39d10d96df Prevent leash showing unseen monster as "it" 2018-09-22 15:55:26 +03:00
Pasi Kallinen e031800880 Use is_hole macro to check for trapdoors and holes 2018-09-15 17:57:57 +03:00
Pasi Kallinen adf070eb04 Use is_pit macro to check for (spiked) pit 2018-09-15 17:19:26 +03:00
Pasi Kallinen bd23a56f29 Update commented out perm_invent stuff 2018-09-15 11:29:13 +03:00
Pasi Kallinen e37087e999 Handle monsters inside the invocation area 2018-09-14 21:49:02 +03:00
Pasi Kallinen 97b2ba2e54 Mimics created by #wizgenesis blocked vision incorrectly 2018-09-14 21:07:08 +03:00
Pasi Kallinen b33b66aa29 Qt: Remember the tile and font size
The QT_TILEWIDTH and QT_TILEHEIGHT read from NetHack config file
override the remembered settings.
Also set the smallest tile size to 6x6
2018-09-12 18:43:10 +03:00
Pasi Kallinen c7c21c264e Remove unnecessary spaces from couple messages 2018-09-11 15:39:13 +03:00
Pasi Kallinen 8210f81618 fixes update 2018-09-10 21:33:41 +03:00
Pasi Kallinen 2ef07ad178 Qt4: Fix compile warning 2018-09-10 21:09:58 +03:00
Pasi Kallinen 249494c8ee Qt4 moc is moc-qt4
At least on my Debian, the Qt4 MOC is now called moc-qt4,
when it used to be just moc - probably due to Qt5 being moc-qt5
2018-09-10 21:06:37 +03:00
Pasi Kallinen 2122506ebe Spiders will occasionally spin webs
Idea and code inspired by aosdict
2018-09-07 20:26:18 +03:00
Pasi Kallinen 27d7f216c7 Split pickup checks out of dopickup 2018-09-01 20:45:51 +03:00
Pasi Kallinen 9e35a94097 Fix pickup awful hack
If pickup has been bound to some other key than ',', the awful hack
did not work correctly. Testing, I couldn't notice the difference,
but probably just not doing the right thing...
2018-09-01 20:15:19 +03:00
Pasi Kallinen d2eba695c8 Use DEADMONSTER instead of checking mhp 2018-08-30 20:05:18 +03:00
Pasi Kallinen 9457fde9fc Document windowcolors option 2018-08-29 19:39:30 +03:00
Pasi Kallinen 987516cedb Split string parsing and monster creation out of create_particular 2018-08-28 20:16:11 +03:00
Pasi Kallinen 599edde94d Fix monsters not wielding digging implements
My change to unify the pet and monster digging weapon choosing
made monsters not actually wield the chosen weapon, even though
they could still dig as if they did. Pets behaved properly.

Also add an explicit check for IS_STWALL so they won't keep
switching away from their current weapon until needed.
2018-08-28 18:15:46 +03:00
Pasi Kallinen bf10a70de0 Make it clear when a leprechaun dodges your attack
It was not obvious what was happening when a leprechaun dodged
your attack. Add a message to explicitly spell it out.
Code by aosdict.
2018-08-26 18:43:25 +03:00
Pasi Kallinen 43dc3bdf5f Hallu YAFM for stumbling onto an undetected monster
Pokemon reference. Based on an idea by aosdict.
2018-08-26 17:55:16 +03:00
Pasi Kallinen 6b79355494 Make wish prompts not remember the input
With EDIT_GETLIN, the wish prompt remembered the previous input,
but this isn't actually useful.
2018-08-26 12:18:16 +03:00
Pasi Kallinen f4057c2450 Allow defining file creation mask in hints file 2018-04-24 19:04:42 +03:00
Pasi Kallinen d5a0d846bf Mention boulder blocking path when traveling
...if mention_walls is on
2018-04-23 19:49:34 +03:00
Pasi Kallinen d0e2194036 Redraw screen after #wizintrinsics
Gaining monster detection requires redraw, possibly some others.
2018-04-21 13:28:27 +03:00
Pasi Kallinen 4a5115b417 Prevent hp-full or pw-full interrupt when running
The "You are in full health" and "You feel full of energy"
should only happen when repeating a command, not when running.
2018-04-20 23:35:59 +03:00
Pasi Kallinen d26fa16e5c Reorder #droptype menu and add some separators 2018-04-19 09:10:06 +03:00
Pasi Kallinen 22cc37ed61 How to create single-page Guidebook.txt 2018-04-10 18:19:45 +03:00
Pasi Kallinen 056a544f5a Missing word 2018-04-06 17:58:11 +03:00
Pasi Kallinen b87dfdbecd Guidebook: Just list the extended command
... the same way the extra key binds are listed just above.
2018-04-06 08:50:35 +03:00
Pasi Kallinen 095a00e0fc Guidebook: Move ladders into stairs section 2018-04-06 08:46:08 +03:00
Pasi Kallinen 57cadfd387 Capitalize NetHack correctly 2018-04-06 08:00:50 +03:00
Pasi Kallinen 4318aa8c04 Guidebook fix, 4 column dungeoneers 2018-04-03 20:41:53 +03:00
Pasi Kallinen c15546585a Update opthelp 2018-04-03 18:42:04 +03:00
Pasi Kallinen 98b0c8d4f0 More and more enums 2018-03-31 12:34:41 +03:00
Pasi Kallinen ebde14a6f9 Still more enums 2018-03-31 11:43:38 +03:00
Pasi Kallinen 9b7e146807 Use more enums 2018-03-31 08:57:22 +03:00
Pasi Kallinen fa89d84fa3 Silence yet another warning 2018-03-31 07:47:41 +03:00
Pasi Kallinen 4eab7b140c Don't store int into unsigned 2018-03-30 20:34:19 +03: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
Pasi Kallinen 2ee6412a2f Fix X11 segfault when quitting without dumplogfile defined
Guard dumplog-specific output by checking we actually are putting
the output into the dumplog.

This is a post-3.6.0 bug.
2018-03-20 17:37:56 +02:00
Pasi Kallinen b85b7b93f0 Typofix 2018-03-19 08:22:14 +02:00
Pasi Kallinen aac0a21a7e Make graves white
Making them easy to distinguish from walls.
2018-03-15 18:42:25 +02:00
Pasi Kallinen a785663c58 Attempting to open down or at yourself is same as #loot
Trying to open at the same location as you did nothing,
make it loot instead. Apparently #looting is also annoying
when using vi-keys.

Based on code by aosdict
2018-03-14 20:15:21 +02:00
Pasi Kallinen cbf6f83a8b Fix the filename in qt4 hints file 2018-03-14 19:02:07 +02:00
Pasi Kallinen b331d4643b Update Files
I don't know how the automatic Files update should work,
so adding the Qt4 files manually.
2018-03-14 18:44:28 +02:00
Pasi Kallinen 4f459a9532 Fix WINCHAIN compilation 2018-03-10 21:48:22 +02:00
Pasi Kallinen b416564f39 Fix garbage value warning 2018-03-05 21:09:15 +02:00
Pasi Kallinen 09554c2b96 Make spotless should remove qt4 specific files 2018-03-03 16:58:07 +02:00
Pasi Kallinen 68523fe88c Add catch-all database entry for the polearms 2018-03-03 16:15:20 +02:00
Pasi Kallinen d136ffbba6 fixes typo bit, pt3 2018-03-02 16:56:18 +02:00
Pasi Kallinen fc74b77c94 fixes typo bit, pt2 2018-03-02 16:38:52 +02:00
Pasi Kallinen a7df3ce4c7 fixes typo bit 2018-03-02 16:32:29 +02:00
Pasi Kallinen a9b6b6a4eb Fix Cleaving giving dmonsfree warning
Due to inverted logic, hitting a blue jelly with the Cleaver could cause
a dmonsfree warning - the jelly would die, but then come back to life
via the passive attack.  This is a post-3.6.0 bug
2018-03-02 15:52:27 +02:00
Pasi Kallinen ee64ef5482 Fix comment typo 2018-02-28 09:17:06 +02:00
Pasi Kallinen a3d713d98b Tiny Guidebook fixes 2017-11-24 11:09:16 +02:00
Pasi Kallinen 18aab1ab12 Make shopkeepers bill hero for burying merchandise 2017-11-14 19:32:31 +02:00
Pasi Kallinen 59d4ac02f7 TTY: Treat carriage return as newline
Before this change, more-prompts and input text -prompts could not
be accepted with carriage return. Now, just like in menus, carriage
return is treated the same as a newline.

To test, use 'stty -icrnl'
2017-11-14 16:14:06 +02:00
Pasi Kallinen c2f767e1fe Fix a warning 2017-11-06 15:28:13 +02:00
Pasi Kallinen 81b1461600 Explicitly ignore the return value
Fixes scan-build complaint about dead assignment
2017-11-05 17:11:41 +02:00
Pasi Kallinen b87db2dd3f Init variables to random 2017-11-05 14:17:22 +02:00
Pasi Kallinen 647ea55b1a Fix compile of tile2x11
I was too zealous changing fprintf to the Fprintf macro, which
ignores the return value.
2017-11-02 23:41:55 +02:00
Pasi Kallinen f3814417e9 Use enums for properties 2017-11-02 13:37:53 +02:00
Pasi Kallinen f2765c573f Document therecmdmenu 2017-11-01 16:13:51 +02:00