Commit Graph

1708 Commits

Author SHA1 Message Date
nhmall
efd0911f89 Merge recent changes into NetHack-3.7 2020-01-27 16:49:31 -05:00
PatR
5146827307 Another VMS tweak
One of the new paragraphs inadvertently duplicated an existing one.
2020-01-27 12:14:19 -08:00
nhmall
bd83b6e194 one more missed inconsistency and README updates 2020-01-27 15:05:45 -05:00
PatR
858bd2f376 Readme tweaks
Replace a few tabs, remove a few trailing spaces, and shorten a few
long lines.

Readme still needs another fix:  if falsely claims to contain all bug
fixes since 3.6.4.  I wasn't sure how to reword that so didn't try.

Also, fix a couple of old typos in Install.vms.
2020-01-27 11:53:18 -08:00
nhmall
f4d100ea5f Merge branch 'NetHack-3.7-Jan2020' into NetHack-3.7 2020-01-27 13:24:15 -05:00
Pasi Kallinen
0500f54742 Use nh_getenv just in case 2020-01-27 18:03:42 +02:00
nhmall
86b045f80c Merge updates from 'NetHack-3.6' into NetHack-3.7-Jan2020 2020-01-27 09:02:05 -05:00
nhmall
033894d784 Merge branch 'NetHack-3.7' into NetHack-3.7-Jan2020 2020-01-27 08:52:17 -05:00
PatR
eb61690f34 Install.vms update 2020-01-27 02:20:47 -08:00
Pasi Kallinen
1783b9de3e Doc and sample config for MSDOS video resolution 2020-01-27 10:13:48 +02:00
Ray Chason
b52392a5bc Make background appear as a proper black 2020-01-27 09:54:59 +02:00
Ray Chason
b296196a4a Scale the font for large resolutions 2020-01-27 09:54:58 +02:00
Ray Chason
82a219c227 Lift restrictions on tilesets
Support full color tilesets with tiles of arbitrary size.
2020-01-27 09:54:58 +02:00
Ray Chason
aa3303cafc More bits for linear frame buffer 2020-01-27 09:54:58 +02:00
Ray Chason
8d9f31e91f Support the linear frame buffer if available
If the linear frame buffer is in use, the entire frame buffer is
visible all at once, and no calls to the window function are needed.
2020-01-27 09:54:58 +02:00
Ray Chason
ab6424b31c Call the window function directly if supported
Some BIOSes allow calling the window function directly, bypassing the
logic that distinguishes this call from other BIOS calls. Should be
faster on some systems.
2020-01-27 09:54:58 +02:00
Ray Chason
c0d1c4efb7 Use 8 bit mode if available
This was not previously done because the palette was not correctly set
up, and QEMU gave incorrect colors. The palette setup function now
falls back to the standard BIOS function if the VESA BIOS function
fails, which resolves the issue with QEMU. The mode selection logic now
favors 8 bit color if the tile set is compatible.

Using 8 bit mode means fewer writes to memory and fewer uses of the
BIOS window function.
2020-01-27 09:54:58 +02:00
nhmall
47b18d7bde Merge 'NetHack-3.6' changes into NetHack-3.7-Jan2020 2020-01-25 22:17:42 -05:00
Bart House
fd6ecbaa17 Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6 2020-01-25 17:07:59 -08:00
Bart House
05455f7baa Fall back to executable path if we have trouble converting known path. 2020-01-25 17:07:45 -08:00
PatR
2b5dc80278 unix 'make clean' update
Remove dat/gitinfo.txt which has been getting overlooked.
Hardly urgent, but useful if this is the last 3.5.x release.
2020-01-25 12:08:28 -08:00
nhmall
24f2e098c5 Xcode build fixes 2020-01-25 12:34:06 -05:00
nhmall
97b74e6f7b Merge branch 'NetHack-3.7' into NetHack-3.7-Jan2020 2020-01-24 17:27:48 -05:00
nhmall
36bb4334e8 Merge fixes from 'NetHack-3.6' into NetHack-3.7-Jan2020 2020-01-20 21:33:20 -05:00
nhmall
30fc4b9e05 windows vsprintf bit 2020-01-20 20:59:41 -05:00
nhmall
775519f851 more vsnprintf 2020-01-20 19:22:18 -05:00
PatR
f3def5c0b9 command line triggered buffer overruns
Prevent extremely long command line arguments from overflowing local
buffers in raw_printf or config_error_add.  The increased buffer
sizes they recently got to deal with long configuration file values
aren't sufficient to handle command line induced overflows.

choose_windows(core): copy and truncate the window_type argument in
case it gets passed to config_error_add().

process_options(unix): report bad values with "%.60s" so that vsprintf
will implicitly truncate when formatted by raw_printf().
2020-01-20 16:08:59 -05:00
nhmall
57e0e30d10 travis-ci bits: try to avoid failure-flagging on transient connectivity issues
Attempt to test whether Lua fetch succeeded (and pdcurses for windows
and msdos as well)

If those prerequisite fetches and untars didn't work, just exit without
marking the travis-ci build as a failure so that the development team
isn't notified about something transient that they don't need to fix
in the code.
2020-01-20 11:10:16 -05:00
nhmall
d5174323eb Merge 'NetHack-3.6' updates into NetHack-3.7-Jan2020 2020-01-14 22:09:29 -05:00
nhmall
a6c46bbd85 housekeeping items for 3.6.5 - first pass 2020-01-14 11:35:06 -05:00
nhmall
d7e3331129 remove a few obsolete notes 2019-12-28 16:35:26 -05:00
nhmall
4e904d01e8 msdos cross-compile bits 2019-12-27 12:13:41 -05:00
Ray Chason
6f9e7b6b97 Fixes to build NetHack 3.7.0 on FreeDOS 2019-12-23 18:03:26 -05:00
nhmall
308943aea4 groundwork for window port interface change to add_menu
groundwork only - window port interface change

This changes the last parameter for add_menu() from a boolean
to an unsigned int, to allow additional itemflags in future
beyond just the "preselected" that the original boolean offered.

There shouldn't be any functionality changes with this groundwork-only
change, and if there are it is unintentional and should be reported.
2019-12-22 18:28:24 -05:00
PatR
9b9925828a Unix Makefile.utl
Build feedback filtered by a script which filters out -Dthis -Wthat:
gcc -g -I../include -I../lib/lua-/src -c ../win/share/tilemap.c

The second -I is obsolete or else its bogus value would have caused
build failure.  When removing it, I noticed that there was still quite
a bit of obsolete yacc and lex stuff in there.  Remove that too.
2019-12-21 16:57:53 -08:00
nhmall
bdb8edff11 attempt to get all 3.7.0 builds working in travis successfully
multiple flavours of unix including bionic and xenial
multiple Windows builds including visual studio and mingw
msdos cross-compile on unix
2019-12-21 14:22:24 -05:00
nhmall
98976b3141 Merge branch 'NetHack-3.6' 2019-12-18 07:38:59 -05:00
nhmall
5f0d06fb80 update and simplify the windows portable_device_paths sysconf option
Requires a sysconf file in the windows executable directory in order to work
2019-12-17 23:16:44 -05:00
nhmall
089b241010 Windows portable_device support: skip the "illegal folder" check for now 2019-12-17 15:32:10 -05:00
nhmall
17feb01d8f Merge branch 'NetHack-3.6' 2019-12-17 14:39:15 -05:00
nhmall
74a5339a5e housekeeping updates for 3.6.4
typos

README update
2019-12-17 14:11:52 -05:00
nhmall
5d4208cd15 Merge branch 'NetHack-3.6' 2019-12-17 12:01:49 -05:00
nhmall
05df5dfbf2 buffer bit 2019-12-17 01:17:49 -05:00
nhmall
ac6e13fd7a allow run-from-removable-device configuration on Windows
Allow a way to configure NetHack to run entirely from a USB stick
or other removable device in a way that allows everything to
reside entirely on the USB stick, and nothing on the computer's
hard drive. That could be done in versions prior to 3.6.3.

Sample:

i: is a USB stick

i:\nhdist contains the NetHack Windows distribution and a sysconf
file dropped into that distribution with the following entry in it:
	portable_device_top = nethack

No device is included in the portable_device_top entry, the device
is always the device that the nethack exe resides on. If you try
to specify a device in the portable_device_top path, the device
portion will be ignored.

portable_device_top specifies the folder on the device that is writable
by NetHack and as such it cannot be the same folder that the executable
resides in.

i:\nhdist\nethack --showpaths
Variable playground locations:
    [hackdir   ]="i:\nethack\"
    [leveldir  ]="i:\nethack\"
    [savedir   ]="i:\nethack\"
    [bonesdir  ]="i:\nethack\"
    [datadir   ]="i:\nhdist\"
    [scoredir  ]="i:\nethack\"
    [lockdir   ]="i:\nethack\"
    [sysconfdir]="i:\nhdist\"
    [configdir ]="i:\nethack\"
    [troubledir]="i:\nethack\"
NetHack's system configuration file (in sysconfdir):
    "i:\nhdist\sysconf"
The loadable symbols file (in sysconfdir):
    "i:\nhdist\symbols"
Basic data files (in datadir) are collected inside:
    "i:\nhdist\nhdat363"
No end-of-game disclosure file (disabled).
Writable folder for portable device config (sysconf portable_device_top):
    "i:\nethack\"
Your personal configuration file (in configdir):
    "i:\nethack\.nethackrc"

Without that sysconf file in the NetHack distribution folder on the
USB stick with the 'portable_device_top = '  entry, the paths
return to the default locations for 3.6.3 on Windows:

i:\nhdist\nethack --showpaths
Variable playground locations:
    [hackdir   ]="C:\Users\JaneDoe\NetHack\3.6\"
    [leveldir  ]="C:\Users\JaneDoe\AppData\Local\NetHack\3.6\"
    [savedir   ]="C:\Users\JaneDoe\AppData\Local\NetHack\3.6\"
    [bonesdir  ]="C:\ProgramData\NetHack\3.6\"
    [datadir   ]="i:\nhdist\"
    [scoredir  ]="C:\ProgramData\NetHack\3.6\"
    [lockdir   ]="C:\ProgramData\NetHack\3.6\"
    [sysconfdir]="C:\ProgramData\NetHack\3.6\"
    [configdir ]="C:\Users\JaneDoe\NetHack\"
    [troubledir]="C:\Users\JaneDoe\NetHack\3.6\"
NetHack's system configuration file (in sysconfdir):
    "C:\ProgramData\NetHack\3.6\sysconf"
The loadable symbols file (in sysconfdir):
    "C:\ProgramData\NetHack\3.6\symbols"
Basic data files (in datadir) are collected inside:
    "i:\nhdist\nhdat363"
No end-of-game disclosure file (disabled).
Your personal configuration file (in configdir):
    "C:\Users\JaneDoe\NetHack\.nethackrc"
2019-12-17 00:41:55 -05:00
nhmall
d952eea4eb Merge branch 'NetHack-3.6' 2019-12-15 14:55:53 -05:00
Patric Mueller
9085093338 Fix compilation on platforms that split the ncurses and tinfo libraries
Some platforms compile ncurses in such a way that the tinfo library needs to
be separately linked in (e.g. Gentoo).

The tinfo library is a low-level library being used by and bundled with
ncurses.

Adding '-ltinfo' to WINTTYLIB in the hint files was considered the most robust
solution to this problem.  This still works on systems with ncurses 5.9.
Using pkg-config was ruled out as the default build of ncurses doesn't install
the necessary files.
2019-12-15 20:38:44 +01:00
nhmall
0569f2b24a dependency in an old amiga file picked the wrong file
however, the file with the dependency no longer exists in the repo anyway
so there's a lot more that would be in need of repair
2019-12-14 17:28:31 -05:00
nhmall
5cdc5a0007 Windows Makefile bit 2019-12-14 17:21:10 -05:00
nhmall
480c3eb6e0 include/lev.h is an empty header file so just get rid of it 2019-12-14 17:18:48 -05:00
nhmall
f4720edfbf include/qtext.h is an empty header so just get rid of it 2019-12-14 12:31:29 -05:00