Merge tag 'gh-nh-NetHack-5.0' into m68k-wip · NetHack/NetHack@ebf7144 · GitHub
Skip to content

Commit ebf7144

Browse files
committed
Merge tag 'gh-nh-NetHack-5.0' into m68k-wip
2 parents c1be90f + baaab46 commit ebf7144

166 files changed

Lines changed: 47344 additions & 1196 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitignore‎

Lines changed: 2 additions & 1 deletion

‎.gitmodules‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
[submodule "submodules/lua"]
2-
path = submodules/lua
3-
url = https://github.com/lua/lua.git
41
[submodule "submodules/pdcurses"]
52
path = submodules/pdcurses
63
url = https://github.com/wmcbrine/PDCurses.git

‎Cross-compiling‎

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ Cross-compiler pre-built binary downloads:
479479
bash sys/msdos/fetch-cross-compiler.sh
480480

481481
That script won't install anything, it just does file fetches and stores
482-
them in subfolders of lib. The linux.500 and macOS.500 hints files are
482+
them in subfolders of lib. The linux.501 and macOS.501 hints files are
483483
configured to find the cross-compiler there if you add
484484
CROSS_TO_MSDOS=1
485485
on your make command line.
@@ -490,13 +490,11 @@ Cross-compiler pre-built binary downloads:
490490

491491
On your linux host:
492492

493-
cd sys/unix ; sh setup.sh hints/linux.500 ; cd ../..
494-
make fetch-lua
493+
cd sys/unix ; sh setup.sh hints/linux.501 ; cd ../..
495494

496495
On your macOS host:
497496

498-
cd sys/unix ; sh setup.sh hints/macOS.500 ; cd ../..
499-
make fetch-lua
497+
cd sys/unix ; sh setup.sh hints/macOS.501 ; cd ../..
500498

501499
The MSDOS cross-compile can then be carried out by specifying
502500
CROSS_TO_MSDOS=1 on the make command line:
@@ -579,21 +577,20 @@ Author of 5.0 support: Ingo Paschke
579577

580578
# Clone NetHack 5.0 source
581579
cd NetHack
582-
sys/unix/setup.sh sys/unix/hints/linux.500
583-
make fetch-lua
580+
sys/unix/setup.sh sys/unix/hints/linux.501
584581
make CROSS_TO_AMIGA=1 fetch-regex
585582
make CROSS_TO_AMIGA=1 all
586583
make CROSS_TO_AMIGA=1 package
587584

588-
The distribution ZIP is created at targets/amiga/NH500AMI.ZIP.
585+
The distribution ZIP is created at targets/amiga/NH501AMI.ZIP (or NH501AMIn.ZIP where
586+
n is a sequence number for the revision of the binary)..
589587

590588
On your macOS host, the Amiga cross-compile can be carried out by specifying
591589
CROSS_TO_AMIGA=1 on the make command line:
592590

593591
# Clone NetHack 5.0 source
594592
cd NetHack
595-
sys/unix/setup.sh sys/unix/hints/macOS.500
596-
make fetch-lua
593+
sys/unix/setup.sh sys/unix/hints/macOS.501
597594
make CROSS_TO_AMIGA=1 fetch-regex
598595
make CROSS_TO_AMIGA=1 all
599596
make CROSS_TO_AMIGA=1 package
@@ -665,13 +662,11 @@ Cross-compiler url: https://emscripten.org/docs/getting_started/downloads.html
665662

666663
On your linux host, prepare to cross-compile NetHack as follows:
667664

668-
cd sys/unix ; sh setup.sh hints/linux.500 ; cd ../..
669-
make fetch-lua
665+
cd sys/unix ; sh setup.sh hints/linux.501 ; cd ../..
670666

671667
On your macOS host, prepare to cross-compile NetHack as follows:
672668

673-
cd sys/unix ; sh setup.sh hints/macOS.500 ; cd ../..
674-
make fetch-lua
669+
cd sys/unix ; sh setup.sh hints/macOS.501 ; cd ../..
675670

676671
Then, cross-compile to targets/wasm as follows:
677672

@@ -693,7 +688,7 @@ Cross-compiler url: https://emscripten.org/docs/getting_started/downloads.html
693688

694689
The cross-compiler hints additions are enclosed inside ifdef sections
695690
and shouldn't interfere with the non-cross-compile builds using
696-
hints/linux.500 or hints/macOS.500.
691+
hints/linux.501 or hints/macOS.501.
697692

698693

699694
+--------------------------------+
@@ -713,8 +708,7 @@ Cross-compiler url:
713708
sudo apt install g++-mipsel-linux-gnu
714709

715710
On your linux host, prepare to cross-compile NetHack as follows:
716-
cd sys/unix ; sh setup.sh hints/linux.500 ; cd ../..
717-
make fetch-lua
711+
cd sys/unix ; sh setup.sh hints/linux.501 ; cd ../..
718712

719713
Then, cross-compile to targets/mips as follows:
720714
make CROSS_TO_MIPS=1 fetch-ncurses
@@ -726,7 +720,7 @@ Cross-compiler url:
726720

727721
The cross-compiler hints additions are enclosed inside ifdef sections
728722
and shouldn't interfere with the non-cross-compile builds using
729-
hints/linux.500 or hints/macOS.500.
723+
hints/linux.501 or hints/macOS.501.
730724

731725

732726
---

‎Files‎

Lines changed: 50 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -96,19 +96,47 @@ flag.h fnamesiz.h func_tab.h global.h hack.h
9696
hacklib.h integer.h isaac64.h lint.h mail.h
9797
mcastu.h mextra.h mfndpos.h micro.h mkroom.h
9898
monattk.h mondata.h monflag.h monst.h monsters.h
99-
nhmd4.h nhregex.h obj.h objclass.h objects.h
100-
optlist.h patchlevel.h pcconf.h permonst.h prop.h
101-
quest.h rect.h region.h revision.h rm.h
102-
savefile.h seffects.h selvar.h sfmacros.h sfprocs.h
103-
skills.h sndprocs.h sp_lev.h spell.h stairs.h
104-
sym.h sys.h tcap.h tileset.h timeout.h
105-
tradstdc.h trap.h unixconf.h vision.h vmsconf.h
106-
warnings.h weight.h winami.h wincurs.h windconf.h
107-
winprocs.h wintype.h you.h youprop.h
99+
nhlua.h nhmd4.h nhregex.h obj.h objclass.h
100+
objects.h optlist.h patchlevel.h pcconf.h permonst.h
101+
prop.h quest.h rect.h region.h revision.h
102+
rm.h savefile.h seffects.h selvar.h sfmacros.h
103+
sfprocs.h skills.h sndprocs.h sp_lev.h spell.h
104+
stairs.h sym.h sys.h tcap.h tileset.h
105+
timeout.h tradstdc.h trap.h unixconf.h vision.h
106+
vmsconf.h warnings.h weight.h winami.h wincurs.h
107+
windconf.h winprocs.h wintype.h you.h youprop.h
108108

109109
(file for tty versions)
110110
wintty.h
111111

112+
nhlua:
113+
(files in top directory)
114+
README_NHLUA nhlua-update.sh
115+
116+
nhlua/lua:
117+
(files in top directory)
118+
Makefile README
119+
120+
nhlua/lua/doc:
121+
(files in top directory)
122+
OSIApproved.png contents.html index.css logo.png
123+
lua.1 lua.css luac.1 manual.css
124+
manual.html readme.html
125+
126+
nhlua/lua/src:
127+
(files in top directory)
128+
Makefile lapi.c lapi.h lauxlib.c lauxlib.h lbaselib.c
129+
lcode.c lcode.h lcorolib.c lctype.c lctype.h ldblib.c
130+
ldebug.c ldebug.h ldo.c ldo.h ldump.c lfunc.c
131+
lfunc.h lgc.c lgc.h linit.c liolib.c ljumptab.h
132+
llex.c llex.h llimits.h lmathlib.c lmem.c lmem.h
133+
loadlib.c lobject.c lobject.h lopcodes.c lopcodes.h lopnames.h
134+
loslib.c lparser.c lparser.h lprefix.h lstate.c lstate.h
135+
lstring.c lstring.h lstrlib.c ltable.c ltable.h ltablib.c
136+
ltm.c ltm.h lua.c lua.h lua.hpp luac.c
137+
luaconf.h lualib.h lundump.c lundump.h lutf8lib.c lvm.c
138+
lvm.h lzio.c lzio.h
139+
112140
outdated:
113141
(files that are no longer maintained for current game code)
114142
.travis.yml
@@ -164,10 +192,12 @@ README.linux cross-amiga.sh
164192

165193
outdated/sys/unix/hints:
166194
(files that are no longer maintained for current game code)
167-
cross-amiga linux linux-chroot linux-qt4
168-
linux-qt5 linux-x11 macosx macosx10.5
169-
macosx10.7 macosx10.8 macosx10.10 macosx10.10-qt
170-
macosx10.14
195+
cross-amiga linux linux-chroot
196+
linux-qt4 linux-qt5 linux-x11
197+
macosx macosx10.5 macosx10.7
198+
macosx10.8 macosx10.10 macosx10.10-qt
199+
macosx10.14 solaris solaris-playground
200+
unix
171201

172202
outdated/sys/unix/hints/include:
173203
(files that are no longer maintained for current game code)
@@ -300,7 +330,7 @@ wizcmds.c worm.c worn.c write.c zap.c
300330

301331
submodules:
302332
(files in top directory)
303-
CHKSUMS lua pdcurses pdcursesmod
333+
pdcurses pdcursesmod
304334

305335
sys/amiga:
306336
(files for Amiga versions)
@@ -401,20 +431,18 @@ NetHack.xcscheme makedefs.xcscheme recover.xcscheme
401431

402432
sys/unix/hints:
403433
(files for configuring UNIX NetHack versions)
404-
bsd.500 linux-minimal linux.500
405-
macOS.500 macosx.sh solaris
406-
solaris-playground unix
434+
bsd.501 linux-minimal linux.501 macOS.501 macosx.sh
407435

408436
sys/unix/hints/include:
409437
(files for configuring UNIX NetHack versions)
410-
compiler.500 cross-post.500 cross-pre1.500 cross-pre2.500
411-
dirs-perms.500 gbdates-post.500 gbdates-pre.500 linuxdistro.500
412-
misc.500 multisnd-post.500 multisnd1-pre.500 multisnd2-pre.500
413-
multiw-1.500 multiw-2.500 response.500 whichbsd.500
438+
compiler.501 cross-post.501 cross-pre1.501 cross-pre2.501
439+
dirs-perms.501 gbdates-post.501 gbdates-pre.501 linuxdistro.501
440+
misc.501 multisnd-post.501 multisnd1-pre.501 multisnd2-pre.501
441+
multiw-1.501 multiw-2.501 response.501 whichbsd.501
414442

415443
sys/vms:
416444
(files for VMS version)
417-
Install.vms Install370.vms Makefile.dat Makefile.doc
445+
Install.vms Install501.vms Makefile.dat Makefile.doc
418446
Makefile.src Makefile.top Makefile.utl Makefile_dat.vms
419447
Makefile_doc.vms Makefile_src.vms Makefile_top.vms Makefile_utl.vms
420448
install.com nethack.com oldcrtl.c spec_lev.com
@@ -540,10 +568,6 @@ sys/windows/vs/makedefs:
540568
(files for Visual Studio Community builds)
541569
aftermakedefs.proj makedefs.vcxproj
542570

543-
sys/windows/vs/nhlua_h:
544-
(file for Visual Studio Community builds)
545-
nhlua_h.vcxproj
546-
547571
sys/windows/vs/package:
548572
(files for Visual Studio Community builds)
549573
package.nmake package.vcxproj

‎README‎

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
1-
NetHack 5.0.0 -- General information
1+
NetHack 5.0.1 -- General information
2+
23

34
NetHack 5.0 is an enhancement to the dungeon exploration game NetHack,
45
which is a distant descendent of Rogue and Hack, and a direct descendent
56
of NetHack 3.6.
67

7-
NetHack 5.0.0 is a release of NetHack. As a .0 version, there may be some
8-
bugs encountered. Constructive suggestions, GitHub pull requests, and bug
9-
reports are all welcome and encouraged.
8+
NetHack 5.0.1 work-in-progress is not a release of NetHack. It consists
9+
primarily of bug fixes for 5.0.0 for an upcoming 5.0.1 release.
10+
11+
The file doc/fixes5-0-1.txt in the source distribution is being updated with
12+
a list of fixes as they are committed.
13+
14+
Because 5.0.1 work-in-progress is not a release, there are likely to still
15+
be bugs. Please don't treat NetHack-5.0.1 work-in-progress as released code.
16+
Use the most recent NetHack 5.0.0 release if stability is paramount.
1017

11-
The file doc/fixes5-0-0.txt in the source distribution contains a full list
12-
of fixes and changes as they were committed. The text in there was written
13-
for the development team's own use and is provided "as is", so please do
14-
not ask us to further explain the entries in that file. Some entries might
15-
be considered "spoilers", particularly in the "new features" section.
18+
We're making the 5.0.1 work-in-progress available ahead of its release so
19+
that you can observe, test out, and contribute to its continuing development.
20+
Constructive suggestions, GitHub pull requests, and bug reports are all
21+
welcome and encouraged.
1622

17-
Along with the game improvements and bug fixes, NetHack 5.0 strives to make
18-
some general architectural improvements to the game or to its building
19-
process. Among them, 5.0 has:
23+
24+
NetHack 5.0 has made some general architectural improvements to the game or
25+
to its building process. Among them, 5.0 has:
2026

2127
* The source code is compliant with the C99 standard.
2228

@@ -31,13 +37,6 @@ process. Among them, 5.0 has:
3137
previously done by NetHack's "makedefs" utility, have been replaced with
3238
Lua text alternatives that are loaded and processed by the game during play.
3339

34-
Here are some other general notes on the changes in NetHack 5.0 that were not
35-
considered spoilers:
36-
- automatic annotation "gateway to Moloch's Sanctum" for vibrating square
37-
level once that square's location becomes known (found or magic
38-
mapped); goes away once sanctum temple is found (entered or high altar
39-
mapped)
40-
4140
- - - - - - - - - - -
4241

4342
Please read items (1), (2) and (3) BEFORE doing anything with your new code.

‎azure-pipelines.yml‎

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,10 @@ steps:
116116
- bash: |
117117
export ADD_LUA=Y
118118
export WANT_LUAC=N
119-
export LUATOP=../submodules/lua
120-
export LUASRC=../submodules/lua
119+
export LUATOP=../nhlua/lua
120+
export LUASRC=../nhlua/lua
121121
export ADD_CURSES=Y
122122
export PDCURSES_TOP=../submodules/pdcursesmod
123-
export LUA_VERSION=5.4.8
124123
#
125124
# 64-bit
126125
#export CURLSRC=https://github.com/brechtsanders/winlibs_mingw/releases/download/14.2.0posix-19.1.1-12.0.0-ucrt-r2/winlibs-x86_64-posix-seh-gcc-14.2.0-llvm-19.1.1-mingw-w64ucrt-12.0.0-r2.zip
@@ -148,9 +147,9 @@ steps:
148147
cd ../src
149148
pwd
150149
cp ../sys/windows/GNUmakefile* .
151-
mingw32-make -f GNUmakefile CI_COMPILER=1 GIT=1 MSYSTEM=$MSYSTEM LUA_VERSION=$LUA_VERSION clean
152-
mingw32-make -f GNUmakefile CI_COMPILER=1 GIT=1 MSYSTEM=$MSYSTEM LUA_VERSION=$LUA_VERSION depend
153-
mingw32-make -f GNUmakefile CI_COMPILER=1 GIT=1 MSYSTEM=$MSYSTEM LUA_VERSION=$LUA_VERSION
150+
mingw32-make -f GNUmakefile CI_COMPILER=1 GIT=1 MSYSTEM=$MSYSTEM clean
151+
mingw32-make -f GNUmakefile CI_COMPILER=1 GIT=1 MSYSTEM=$MSYSTEM depend
152+
mingw32-make -f GNUmakefile CI_COMPILER=1 GIT=1 MSYSTEM=$MSYSTEM
154153
condition: eq( variables.toolchain, 'mingw' )
155154
workingDirectory: $(Agent.BuildDirectory)/$(netHackPath)/src
156155
displayName: 'MinGW Build'
@@ -165,9 +164,8 @@ steps:
165164

166165
- bash: |
167166
cd sys/unix
168-
sh setup.sh hints/linux.500
167+
sh setup.sh hints/linux.501
169168
cd ../..
170-
make fetch-lua
171169
make WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc all
172170
condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.buildTarget, 'all'))
173171
workingDirectory: $(Agent.BuildDirectory)/$(netHackPath)
@@ -198,7 +196,6 @@ steps:
198196
sed -i '/^#[ ]*define MAIL/d' include/unixconf.h
199197
sed -i '/^#[ ]*define SHELL/d' include/unixconf.h
200198
sed -i '/^#[ ]*define SUSPEND/d' include/unixconf.h
201-
make fetch-lua
202199
make WANT_WIN_ALL=1 NOCRASHREPORT=1 all
203200
condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.buildTarget, 'minimal'))
204201
displayName: 'Building linux minimal build'
@@ -207,9 +204,8 @@ steps:
207204
- bash: |
208205
brew install groff
209206
cd sys/unix
210-
sh setup.sh hints/macos.500
207+
sh setup.sh hints/macos.501
211208
cd ../..
212-
make fetch-lua
213209
make WANT_MACSOUND=1 all
214210
condition: eq( variables['Agent.OS'], 'Darwin' )
215211
workingDirectory: $(Agent.BuildDirectory)/$(netHackPath)
@@ -220,13 +216,12 @@ steps:
220216
export GCCVER=gcc1220
221217
export IN_CI=SKIP_FONTS_IN_CI=1
222218
cd sys/unix
223-
sh setup.sh hints/linux.500
219+
sh setup.sh hints/linux.501
224220
cd ../..
225-
make fetch-lua
226221
sys/msdos/fetch-cross-compiler.sh
227222
retVal=$?
228223
if [ $retVal -eq 0 ]; then
229-
make LUA_VERSION=5.4.8 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 $IN_CI package
224+
make WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 $IN_CI package
230225
fi
231226
condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.toolchain, 'cross'))
232227
workingDirectory: $(Agent.BuildDirectory)/$(netHackPath)

‎doc/Guidebook.mn‎

Lines changed: 2 additions & 2 deletions

0 commit comments

Comments
 (0)