summaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2020-09-30 08:07:56 +0000
committernia <nia@pkgsrc.org>2020-09-30 08:07:56 +0000
commitcc1dd1075846e793ec79a5adc0171d4332df24f3 (patch)
tree409976267920c91ddc72b0bfc58e73f2d50deb21 /games
parent9dce196bd94853e4d26fdc060be9b14356d997e2 (diff)
downloadpkgsrc-cc1dd1075846e793ec79a5adc0171d4332df24f3.tar.gz
games: Add nxengine-evo
Cave Story (Doukutsu Monogatari) is a classic freeware metroidvania platform-adventure video game by Daisuke "Pixel" Amaya. This is a somewhat upgraded/refactored version of NXEngine, a complete open-source clone/rewrite of Cave Story.
Diffstat (limited to 'games')
-rw-r--r--games/Makefile3
-rw-r--r--games/nxengine-evo/DESCR5
-rw-r--r--games/nxengine-evo/Makefile57
-rw-r--r--games/nxengine-evo/PLIST673
-rw-r--r--games/nxengine-evo/distinfo12
-rw-r--r--games/nxengine-evo/files/nxengine-evo.desktop9
-rw-r--r--games/nxengine-evo/files/nxengine-evo.sh.in8
-rw-r--r--games/nxengine-evo/patches/patch-src_pause_dialog.cpp21
-rw-r--r--games/nxengine-evo/patches/patch-src_sound_Pixtone.cpp39
9 files changed, 826 insertions, 1 deletions
diff --git a/games/Makefile b/games/Makefile
index 832f0744c78..23b85d858cf 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.493 2020/09/12 22:14:15 wiz Exp $
+# $NetBSD: Makefile,v 1.494 2020/09/30 08:07:56 nia Exp $
#
COMMENT= Games
@@ -300,6 +300,7 @@ SUBDIR+= ninvaders
SUBDIR+= not_pacman
SUBDIR+= not_tetris
SUBDIR+= nudoku
+SUBDIR+= nxengine-evo
SUBDIR+= omega
SUBDIR+= onscripter
SUBDIR+= openhexagon
diff --git a/games/nxengine-evo/DESCR b/games/nxengine-evo/DESCR
new file mode 100644
index 00000000000..73878f8229a
--- /dev/null
+++ b/games/nxengine-evo/DESCR
@@ -0,0 +1,5 @@
+Cave Story (Doukutsu Monogatari) is a classic freeware metroidvania
+platform-adventure video game by Daisuke "Pixel" Amaya.
+
+This is a somewhat upgraded/refactored version of NXEngine, a complete
+open-source clone/rewrite of Cave Story.
diff --git a/games/nxengine-evo/Makefile b/games/nxengine-evo/Makefile
new file mode 100644
index 00000000000..10137b44f6d
--- /dev/null
+++ b/games/nxengine-evo/Makefile
@@ -0,0 +1,57 @@
+# $NetBSD: Makefile,v 1.1 2020/09/30 08:07:56 nia Exp $
+
+PKGNAME= nxengine-evo-2.6.4
+CATEGORIES= games
+GITHUB_TAG= v${PKGVERSION_NOREV}
+DIST_SUBDIR= ${PKGNAME_NOREV}
+DISTFILES+= nxengine-evo.tar.gz
+DISTFILES+= cavestoryen.zip
+SITES.nxengine-evo.tar.gz= \
+ -https://github.com/nxengine/nxengine-evo/archive/v${PKGVERSION_NOREV}.tar.gz
+SITES.cavestoryen.zip= \
+ -https://www.cavestory.org/downloads/cavestoryen.zip
+
+MAINTAINER= nia@NetBSD.org
+HOMEPAGE= https://github.com/nxengine/nxengine-evo
+COMMENT= Complete rewrite of the platform-adventure game Cave Story
+LICENSE= gnu-gpl-v3
+
+USE_CMAKE= yes
+USE_TOOLS+= pax
+USE_LANGUAGES= c c++
+
+CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release"
+
+INSTALLATION_DIRS+= bin
+INSTALLATION_DIRS+= libexec
+INSTALLATION_DIRS+= share/applications
+INSTALLATION_DIRS+= share/icons/hicolor/128x128/apps
+INSTALLATION_DIRS+= share/nxengine-evo/data
+
+pre-configure:
+ ${SED} -e 's,@PREFIX@,${PREFIX},g' \
+ < ${FILESDIR}/nxengine-evo.sh.in > \
+ ${WRKDIR}/nxengine-evo.sh
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/nx \
+ ${DESTDIR}${PREFIX}/share/nxengine-evo/nxengine-evo
+ ${INSTALL_SCRIPT} ${WRKDIR}/nxengine-evo.sh \
+ ${DESTDIR}${PREFIX}/bin/nxengine-evo
+ ${INSTALL_DATA} ${WRKSRC}/vita/sce_sys/icon0.png \
+ ${DESTDIR}${PREFIX}/share/icons/hicolor/128x128/apps/nxengine-evo.png
+ ${INSTALL_DATA} ${FILESDIR}/nxengine-evo.desktop \
+ ${DESTDIR}${PREFIX}/share/applications
+ cd ${WRKDIR}/CaveStory && ${PAX} -rw -pp . \
+ ${DESTDIR}${PREFIX}/share/nxengine-evo
+ cd ${WRKSRC}/data && ${PAX} -rw -pp . \
+ ${DESTDIR}${PREFIX}/share/nxengine-evo/data
+ cd ${DESTDIR}${PREFIX}/share/nxengine-evo && ${WRKSRC}/bin/extract
+
+.include "../../audio/SDL2_mixer/buildlink3.mk"
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/games/nxengine-evo/PLIST b/games/nxengine-evo/PLIST
new file mode 100644
index 00000000000..1904200ee14
--- /dev/null
+++ b/games/nxengine-evo/PLIST
@@ -0,0 +1,673 @@
+@comment $NetBSD: PLIST,v 1.1 2020/09/30 08:07:56 nia Exp $
+bin/nxengine-evo
+share/applications/nxengine-evo.desktop
+share/icons/hicolor/128x128/apps/nxengine-evo.png
+share/nxengine-evo/Config.dat
+share/nxengine-evo/DoConfig.exe
+share/nxengine-evo/Doukutsu.exe
+share/nxengine-evo/Manual.html
+share/nxengine-evo/Manual/Display.html
+share/nxengine-evo/Manual/Ditch.html
+share/nxengine-evo/Manual/Ditch.png
+share/nxengine-evo/Manual/DoukutsuL.html
+share/nxengine-evo/Manual/Dummy.html
+share/nxengine-evo/Manual/Enemy.png
+share/nxengine-evo/Manual/Intro.html
+share/nxengine-evo/Manual/Item.html
+share/nxengine-evo/Manual/KeyControl.html
+share/nxengine-evo/Manual/MyChar.png
+share/nxengine-evo/Manual/Status.png
+share/nxengine-evo/Manual/Thumbs.db
+share/nxengine-evo/Manual/Title.png
+share/nxengine-evo/Manual/Troubleshooting.html
+share/nxengine-evo/Manual/itemBox.png
+share/nxengine-evo/Manual/itemDisk.png
+share/nxengine-evo/Manual/itemEnergy.png
+share/nxengine-evo/Manual/itemHeart.png
+share/nxengine-evo/Manual/itemMax.png
+share/nxengine-evo/Manual/itemMissile.png
+share/nxengine-evo/Manual/itemServer.png
+share/nxengine-evo/Manual/mochiKey.png
+share/nxengine-evo/Manual/mochiMap.png
+share/nxengine-evo/Manual/mochiRocket.png
+share/nxengine-evo/Manual/naoku_curly.png
+share/nxengine-evo/Manual/snapAction.png
+share/nxengine-evo/Manual/snapDisplay.png
+share/nxengine-evo/Manual/snapEscape.png
+share/nxengine-evo/Manual/snapMochi.png
+share/nxengine-evo/Manual/snapSave.png
+share/nxengine-evo/Manual/snapTalk.png
+share/nxengine-evo/Manual/snapTitle.png
+share/nxengine-evo/OrgView.exe
+share/nxengine-evo/Readme.txt
+share/nxengine-evo/data/Arms.pbm
+share/nxengine-evo/data/ArmsImage.pbm
+share/nxengine-evo/data/ArmsItem.tsc
+share/nxengine-evo/data/Bullet.pbm
+share/nxengine-evo/data/Caret.pbm
+share/nxengine-evo/data/Credit.tsc
+share/nxengine-evo/data/Face.pbm
+share/nxengine-evo/data/Face_0.pbm
+share/nxengine-evo/data/Face_1.pbm
+share/nxengine-evo/data/Face_2.pbm
+share/nxengine-evo/data/Fade.pbm
+share/nxengine-evo/data/Head.tsc
+share/nxengine-evo/data/ItemImage.pbm
+share/nxengine-evo/data/Loading.pbm
+share/nxengine-evo/data/MyChar.pbm
+share/nxengine-evo/data/Npc/Npc0.pbm
+share/nxengine-evo/data/Npc/NpcAlmo1.pbm
+share/nxengine-evo/data/Npc/NpcAlmo2.pbm
+share/nxengine-evo/data/Npc/NpcBallos.pbm
+share/nxengine-evo/data/Npc/NpcBllg.pbm
+share/nxengine-evo/data/Npc/NpcCemet.pbm
+share/nxengine-evo/data/Npc/NpcCent.pbm
+share/nxengine-evo/data/Npc/NpcCurly.pbm
+share/nxengine-evo/data/Npc/NpcDark.pbm
+share/nxengine-evo/data/Npc/NpcDr.pbm
+share/nxengine-evo/data/Npc/NpcEggs1.pbm
+share/nxengine-evo/data/Npc/NpcEggs2.pbm
+share/nxengine-evo/data/Npc/NpcFrog.pbm
+share/nxengine-evo/data/Npc/NpcGuest.pbm
+share/nxengine-evo/data/Npc/NpcHell.pbm
+share/nxengine-evo/data/Npc/NpcHeri.pbm
+share/nxengine-evo/data/Npc/NpcIronH.pbm
+share/nxengine-evo/data/Npc/NpcIsland.pbm
+share/nxengine-evo/data/Npc/NpcKings.pbm
+share/nxengine-evo/data/Npc/NpcMaze.pbm
+share/nxengine-evo/data/Npc/NpcMiza.pbm
+share/nxengine-evo/data/Npc/NpcMoon.pbm
+share/nxengine-evo/data/Npc/NpcOmg.pbm
+share/nxengine-evo/data/Npc/NpcPlant.pbm
+share/nxengine-evo/data/Npc/NpcPress.pbm
+share/nxengine-evo/data/Npc/NpcPriest.pbm
+share/nxengine-evo/data/Npc/NpcRavil.pbm
+share/nxengine-evo/data/Npc/NpcRed.pbm
+share/nxengine-evo/data/Npc/NpcRegu.pbm
+share/nxengine-evo/data/Npc/NpcSand.pbm
+share/nxengine-evo/data/Npc/NpcStream.pbm
+share/nxengine-evo/data/Npc/NpcSym.pbm
+share/nxengine-evo/data/Npc/NpcToro.pbm
+share/nxengine-evo/data/Npc/NpcTwinD.pbm
+share/nxengine-evo/data/Npc/NpcWeed.pbm
+share/nxengine-evo/data/Npc/NpcX.pbm
+share/nxengine-evo/data/Stage/0.pxa
+share/nxengine-evo/data/Stage/0.pxe
+share/nxengine-evo/data/Stage/0.pxm
+share/nxengine-evo/data/Stage/0.tsc
+share/nxengine-evo/data/Stage/555.pxe
+share/nxengine-evo/data/Stage/Almond.pxa
+share/nxengine-evo/data/Stage/Almond.pxe
+share/nxengine-evo/data/Stage/Almond.pxm
+share/nxengine-evo/data/Stage/Almond.tsc
+share/nxengine-evo/data/Stage/Ballo1.pxe
+share/nxengine-evo/data/Stage/Ballo1.pxm
+share/nxengine-evo/data/Stage/Ballo1.tsc
+share/nxengine-evo/data/Stage/Ballo2.pxe
+share/nxengine-evo/data/Stage/Ballo2.pxm
+share/nxengine-evo/data/Stage/Ballo2.tsc
+share/nxengine-evo/data/Stage/Barr.pxa
+share/nxengine-evo/data/Stage/Barr.pxe
+share/nxengine-evo/data/Stage/Barr.pxm
+share/nxengine-evo/data/Stage/Barr.tsc
+share/nxengine-evo/data/Stage/Blcny1.pxe
+share/nxengine-evo/data/Stage/Blcny1.pxm
+share/nxengine-evo/data/Stage/Blcny1.tsc
+share/nxengine-evo/data/Stage/Blcny2.pxe
+share/nxengine-evo/data/Stage/Blcny2.pxm
+share/nxengine-evo/data/Stage/Blcny2.tsc
+share/nxengine-evo/data/Stage/Cave.pxa
+share/nxengine-evo/data/Stage/Cave.pxe
+share/nxengine-evo/data/Stage/Cave.pxm
+share/nxengine-evo/data/Stage/Cave.tsc
+share/nxengine-evo/data/Stage/Cemet.pxe
+share/nxengine-evo/data/Stage/Cemet.pxm
+share/nxengine-evo/data/Stage/Cemet.tsc
+share/nxengine-evo/data/Stage/Cent.pxa
+share/nxengine-evo/data/Stage/Cent.pxe
+share/nxengine-evo/data/Stage/Cent.pxm
+share/nxengine-evo/data/Stage/Cent.tsc
+share/nxengine-evo/data/Stage/CentW.pxe
+share/nxengine-evo/data/Stage/CentW.pxm
+share/nxengine-evo/data/Stage/CentW.tsc
+share/nxengine-evo/data/Stage/Chako.pxe
+share/nxengine-evo/data/Stage/Chako.pxm
+share/nxengine-evo/data/Stage/Chako.tsc
+share/nxengine-evo/data/Stage/Clock.pxe
+share/nxengine-evo/data/Stage/Clock.pxm
+share/nxengine-evo/data/Stage/Clock.tsc
+share/nxengine-evo/data/Stage/Comu.pxe
+share/nxengine-evo/data/Stage/Comu.pxm
+share/nxengine-evo/data/Stage/Comu.tsc
+share/nxengine-evo/data/Stage/Cook.pxm
+share/nxengine-evo/data/Stage/Cthu.pxe
+share/nxengine-evo/data/Stage/Cthu.pxm
+share/nxengine-evo/data/Stage/Cthu.tsc
+share/nxengine-evo/data/Stage/Cthu2.pxe
+share/nxengine-evo/data/Stage/Cthu2.pxm
+share/nxengine-evo/data/Stage/Cthu2.tsc
+share/nxengine-evo/data/Stage/Curly.pxe
+share/nxengine-evo/data/Stage/Curly.pxm
+share/nxengine-evo/data/Stage/Curly.tsc
+share/nxengine-evo/data/Stage/CurlyS.pxe
+share/nxengine-evo/data/Stage/CurlyS.pxm
+share/nxengine-evo/data/Stage/CurlyS.tsc
+share/nxengine-evo/data/Stage/Dark.pxe
+share/nxengine-evo/data/Stage/Dark.pxm
+share/nxengine-evo/data/Stage/Dark.tsc
+share/nxengine-evo/data/Stage/Drain.pxe
+share/nxengine-evo/data/Stage/Drain.pxm
+share/nxengine-evo/data/Stage/Drain.tsc
+share/nxengine-evo/data/Stage/EgEnd1.pxe
+share/nxengine-evo/data/Stage/EgEnd1.pxm
+share/nxengine-evo/data/Stage/EgEnd1.tsc
+share/nxengine-evo/data/Stage/EgEnd2.pxe
+share/nxengine-evo/data/Stage/EgEnd2.pxm
+share/nxengine-evo/data/Stage/EgEnd2.tsc
+share/nxengine-evo/data/Stage/Egg1.pxe
+share/nxengine-evo/data/Stage/Egg1.pxm
+share/nxengine-evo/data/Stage/Egg1.tsc
+share/nxengine-evo/data/Stage/Egg6.pxe
+share/nxengine-evo/data/Stage/Egg6.pxm
+share/nxengine-evo/data/Stage/Egg6.tsc
+share/nxengine-evo/data/Stage/EggIn.pxa
+share/nxengine-evo/data/Stage/EggR.pxe
+share/nxengine-evo/data/Stage/EggR.pxm
+share/nxengine-evo/data/Stage/EggR.tsc
+share/nxengine-evo/data/Stage/EggR2.pxe
+share/nxengine-evo/data/Stage/EggR2.pxm
+share/nxengine-evo/data/Stage/EggR2.tsc
+share/nxengine-evo/data/Stage/EggX.pxa
+share/nxengine-evo/data/Stage/EggX.pxe
+share/nxengine-evo/data/Stage/EggX.pxm
+share/nxengine-evo/data/Stage/EggX.tsc
+share/nxengine-evo/data/Stage/EggX2.pxe
+share/nxengine-evo/data/Stage/EggX2.pxm
+share/nxengine-evo/data/Stage/EggX2.tsc
+share/nxengine-evo/data/Stage/Eggs.pxa
+share/nxengine-evo/data/Stage/Eggs.pxe
+share/nxengine-evo/data/Stage/Eggs.pxm
+share/nxengine-evo/data/Stage/Eggs.tsc
+share/nxengine-evo/data/Stage/Eggs2.pxe
+share/nxengine-evo/data/Stage/Eggs2.pxm
+share/nxengine-evo/data/Stage/Eggs2.tsc
+share/nxengine-evo/data/Stage/Fall.pxa
+share/nxengine-evo/data/Stage/Fall.pxe
+share/nxengine-evo/data/Stage/Fall.pxm
+share/nxengine-evo/data/Stage/Fall.tsc
+share/nxengine-evo/data/Stage/Frog.pxe
+share/nxengine-evo/data/Stage/Frog.pxm
+share/nxengine-evo/data/Stage/Frog.tsc
+share/nxengine-evo/data/Stage/Gard.pxa
+share/nxengine-evo/data/Stage/Gard.pxe
+share/nxengine-evo/data/Stage/Gard.pxm
+share/nxengine-evo/data/Stage/Gard.tsc
+share/nxengine-evo/data/Stage/Hell.pxa
+share/nxengine-evo/data/Stage/Hell1.pxe
+share/nxengine-evo/data/Stage/Hell1.pxm
+share/nxengine-evo/data/Stage/Hell1.tsc
+share/nxengine-evo/data/Stage/Hell2.pxe
+share/nxengine-evo/data/Stage/Hell2.pxm
+share/nxengine-evo/data/Stage/Hell2.tsc
+share/nxengine-evo/data/Stage/Hell3.pxe
+share/nxengine-evo/data/Stage/Hell3.pxm
+share/nxengine-evo/data/Stage/Hell3.tsc
+share/nxengine-evo/data/Stage/Hell4.pxe
+share/nxengine-evo/data/Stage/Hell4.pxm
+share/nxengine-evo/data/Stage/Hell4.tsc
+share/nxengine-evo/data/Stage/Hell42.pxe
+share/nxengine-evo/data/Stage/Hell42.pxm
+share/nxengine-evo/data/Stage/Hell42.tsc
+share/nxengine-evo/data/Stage/Island.pxe
+share/nxengine-evo/data/Stage/Island.pxm
+share/nxengine-evo/data/Stage/Island.tsc
+share/nxengine-evo/data/Stage/Itoh.pxe
+share/nxengine-evo/data/Stage/Itoh.pxm
+share/nxengine-evo/data/Stage/Itoh.tsc
+share/nxengine-evo/data/Stage/Jail.pxa
+share/nxengine-evo/data/Stage/Jail1.pxe
+share/nxengine-evo/data/Stage/Jail1.pxm
+share/nxengine-evo/data/Stage/Jail1.tsc
+share/nxengine-evo/data/Stage/Jail2.pxe
+share/nxengine-evo/data/Stage/Jail2.pxm
+share/nxengine-evo/data/Stage/Jail2.tsc
+share/nxengine-evo/data/Stage/Jenka1.pxe
+share/nxengine-evo/data/Stage/Jenka1.pxm
+share/nxengine-evo/data/Stage/Jenka1.tsc
+share/nxengine-evo/data/Stage/Jenka2.pxe
+share/nxengine-evo/data/Stage/Jenka2.pxm
+share/nxengine-evo/data/Stage/Jenka2.tsc
+share/nxengine-evo/data/Stage/Kings.pxe
+share/nxengine-evo/data/Stage/Kings.pxm
+share/nxengine-evo/data/Stage/Kings.tsc
+share/nxengine-evo/data/Stage/Labo.pxa
+share/nxengine-evo/data/Stage/Little.pxe
+share/nxengine-evo/data/Stage/Little.pxm
+share/nxengine-evo/data/Stage/Little.tsc
+share/nxengine-evo/data/Stage/Lounge.pxe
+share/nxengine-evo/data/Stage/Lounge.pxm
+share/nxengine-evo/data/Stage/Lounge.tsc
+share/nxengine-evo/data/Stage/Malco.pxe
+share/nxengine-evo/data/Stage/Malco.pxm
+share/nxengine-evo/data/Stage/Malco.tsc
+share/nxengine-evo/data/Stage/Mapi.pxe
+share/nxengine-evo/data/Stage/Mapi.pxm
+share/nxengine-evo/data/Stage/Mapi.tsc
+share/nxengine-evo/data/Stage/Maze.pxa
+share/nxengine-evo/data/Stage/MazeA.pxe
+share/nxengine-evo/data/Stage/MazeA.pxm
+share/nxengine-evo/data/Stage/MazeA.tsc
+share/nxengine-evo/data/Stage/MazeB.pxe
+share/nxengine-evo/data/Stage/MazeB.pxm
+share/nxengine-evo/data/Stage/MazeB.tsc
+share/nxengine-evo/data/Stage/MazeD.pxe
+share/nxengine-evo/data/Stage/MazeD.pxm
+share/nxengine-evo/data/Stage/MazeD.tsc
+share/nxengine-evo/data/Stage/MazeH.pxe
+share/nxengine-evo/data/Stage/MazeH.pxm
+share/nxengine-evo/data/Stage/MazeH.tsc
+share/nxengine-evo/data/Stage/MazeI.pxe
+share/nxengine-evo/data/Stage/MazeI.pxm
+share/nxengine-evo/data/Stage/MazeI.tsc
+share/nxengine-evo/data/Stage/MazeM.pxe
+share/nxengine-evo/data/Stage/MazeM.pxm
+share/nxengine-evo/data/Stage/MazeM.tsc
+share/nxengine-evo/data/Stage/MazeO.pxe
+share/nxengine-evo/data/Stage/MazeO.pxm
+share/nxengine-evo/data/Stage/MazeO.tsc
+share/nxengine-evo/data/Stage/MazeS.pxe
+share/nxengine-evo/data/Stage/MazeS.pxm
+share/nxengine-evo/data/Stage/MazeS.tsc
+share/nxengine-evo/data/Stage/MazeW.pxe
+share/nxengine-evo/data/Stage/MazeW.pxm
+share/nxengine-evo/data/Stage/MazeW.tsc
+share/nxengine-evo/data/Stage/MiBox.pxe
+share/nxengine-evo/data/Stage/MiBox.pxm
+share/nxengine-evo/data/Stage/MiBox.tsc
+share/nxengine-evo/data/Stage/Mimi.pxa
+share/nxengine-evo/data/Stage/Mimi.pxe
+share/nxengine-evo/data/Stage/Mimi.pxm
+share/nxengine-evo/data/Stage/Mimi.tsc
+share/nxengine-evo/data/Stage/Momo.pxe
+share/nxengine-evo/data/Stage/Momo.pxm
+share/nxengine-evo/data/Stage/Momo.tsc
+share/nxengine-evo/data/Stage/New.pxe
+share/nxengine-evo/data/Stage/Oside.pxa
+share/nxengine-evo/data/Stage/Oside.pxe
+share/nxengine-evo/data/Stage/Oside.pxm
+share/nxengine-evo/data/Stage/Oside.tsc
+share/nxengine-evo/data/Stage/Ostep.pxe
+share/nxengine-evo/data/Stage/Ostep.pxm
+share/nxengine-evo/data/Stage/Ostep.tsc
+share/nxengine-evo/data/Stage/Pens.pxa
+share/nxengine-evo/data/Stage/Pens1.pxe
+share/nxengine-evo/data/Stage/Pens1.pxm
+share/nxengine-evo/data/Stage/Pens1.tsc
+share/nxengine-evo/data/Stage/Pens2.pxe
+share/nxengine-evo/data/Stage/Pens2.pxm
+share/nxengine-evo/data/Stage/Pens2.tsc
+share/nxengine-evo/data/Stage/Pixel.pxe
+share/nxengine-evo/data/Stage/Pixel.pxm
+share/nxengine-evo/data/Stage/Pixel.tsc
+share/nxengine-evo/data/Stage/Plant.pxe
+share/nxengine-evo/data/Stage/Plant.pxm
+share/nxengine-evo/data/Stage/Plant.tsc
+share/nxengine-evo/data/Stage/Pole.pxe
+share/nxengine-evo/data/Stage/Pole.pxm
+share/nxengine-evo/data/Stage/Pole.tsc
+share/nxengine-evo/data/Stage/Pool.pxe
+share/nxengine-evo/data/Stage/Pool.pxm
+share/nxengine-evo/data/Stage/Pool.tsc
+share/nxengine-evo/data/Stage/Prefa1.pxe
+share/nxengine-evo/data/Stage/Prefa1.pxm
+share/nxengine-evo/data/Stage/Prefa1.tsc
+share/nxengine-evo/data/Stage/Prefa2.pxe
+share/nxengine-evo/data/Stage/Prefa2.pxm
+share/nxengine-evo/data/Stage/Prefa2.tsc
+share/nxengine-evo/data/Stage/Priso1.pxe
+share/nxengine-evo/data/Stage/Priso1.pxm
+share/nxengine-evo/data/Stage/Priso1.tsc
+share/nxengine-evo/data/Stage/Priso2.pxe
+share/nxengine-evo/data/Stage/Priso2.pxm
+share/nxengine-evo/data/Stage/Priso2.tsc
+share/nxengine-evo/data/Stage/Prt0.pbm
+share/nxengine-evo/data/Stage/PrtAlmond.pbm
+share/nxengine-evo/data/Stage/PrtBarr.pbm
+share/nxengine-evo/data/Stage/PrtCave.pbm
+share/nxengine-evo/data/Stage/PrtCent.pbm
+share/nxengine-evo/data/Stage/PrtEggIn.pbm
+share/nxengine-evo/data/Stage/PrtEggX.pbm
+share/nxengine-evo/data/Stage/PrtEggs.pbm
+share/nxengine-evo/data/Stage/PrtFall.pbm
+share/nxengine-evo/data/Stage/PrtGard.pbm
+share/nxengine-evo/data/Stage/PrtHell.pbm
+share/nxengine-evo/data/Stage/PrtJail.pbm
+share/nxengine-evo/data/Stage/PrtLabo.pbm
+share/nxengine-evo/data/Stage/PrtMaze.pbm
+share/nxengine-evo/data/Stage/PrtMimi.pbm
+share/nxengine-evo/data/Stage/PrtOside.pbm
+share/nxengine-evo/data/Stage/PrtPens.pbm
+share/nxengine-evo/data/Stage/PrtRiver.pbm
+share/nxengine-evo/data/Stage/PrtSand.pbm
+share/nxengine-evo/data/Stage/PrtStore.pbm
+share/nxengine-evo/data/Stage/PrtWeed.pbm
+share/nxengine-evo/data/Stage/PrtWhite.pbm
+share/nxengine-evo/data/Stage/Ring1.pxe
+share/nxengine-evo/data/Stage/Ring1.pxm
+share/nxengine-evo/data/Stage/Ring1.tsc
+share/nxengine-evo/data/Stage/Ring2.pxe
+share/nxengine-evo/data/Stage/Ring2.pxm
+share/nxengine-evo/data/Stage/Ring2.tsc
+share/nxengine-evo/data/Stage/Ring3.pxe
+share/nxengine-evo/data/Stage/Ring3.pxm
+share/nxengine-evo/data/Stage/Ring3.tsc
+share/nxengine-evo/data/Stage/River.pxa
+share/nxengine-evo/data/Stage/River.pxe
+share/nxengine-evo/data/Stage/River.pxm
+share/nxengine-evo/data/Stage/River.tsc
+share/nxengine-evo/data/Stage/Sand.pxa
+share/nxengine-evo/data/Stage/Sand.pxe
+share/nxengine-evo/data/Stage/Sand.pxm
+share/nxengine-evo/data/Stage/Sand.tsc
+share/nxengine-evo/data/Stage/SandE.pxe
+share/nxengine-evo/data/Stage/SandE.pxm
+share/nxengine-evo/data/Stage/SandE.tsc
+share/nxengine-evo/data/Stage/Santa.pxe
+share/nxengine-evo/data/Stage/Santa.pxm
+share/nxengine-evo/data/Stage/Santa.tsc
+share/nxengine-evo/data/Stage/Shelt.pxa
+share/nxengine-evo/data/Stage/Shelt.pxe
+share/nxengine-evo/data/Stage/Shelt.pxm
+share/nxengine-evo/data/Stage/Shelt.tsc
+share/nxengine-evo/data/Stage/Start.pxe
+share/nxengine-evo/data/Stage/Start.pxm
+share/nxengine-evo/data/Stage/Start.tsc
+share/nxengine-evo/data/Stage/Statue.pxe
+share/nxengine-evo/data/Stage/Statue.pxm
+share/nxengine-evo/data/Stage/Statue.tsc
+share/nxengine-evo/data/Stage/Store.pxa
+share/nxengine-evo/data/Stage/Stream.pxe
+share/nxengine-evo/data/Stage/Stream.pxm
+share/nxengine-evo/data/Stage/Stream.tsc
+share/nxengine-evo/data/Stage/Weed.pxa
+share/nxengine-evo/data/Stage/Weed.pxe
+share/nxengine-evo/data/Stage/Weed.pxm
+share/nxengine-evo/data/Stage/Weed.tsc
+share/nxengine-evo/data/Stage/WeedB.pxe
+share/nxengine-evo/data/Stage/WeedB.pxm
+share/nxengine-evo/data/Stage/WeedB.tsc
+share/nxengine-evo/data/Stage/WeedD.pxe
+share/nxengine-evo/data/Stage/WeedD.pxm
+share/nxengine-evo/data/Stage/WeedD.tsc
+share/nxengine-evo/data/Stage/WeedS.pxe
+share/nxengine-evo/data/Stage/WeedS.pxm
+share/nxengine-evo/data/Stage/WeedS.tsc
+share/nxengine-evo/data/Stage/White.pxa
+share/nxengine-evo/data/Stage/e_Blcn.pxe
+share/nxengine-evo/data/Stage/e_Blcn.pxm
+share/nxengine-evo/data/Stage/e_Blcn.tsc
+share/nxengine-evo/data/Stage/e_Ceme.pxe
+share/nxengine-evo/data/Stage/e_Ceme.pxm
+share/nxengine-evo/data/Stage/e_Ceme.tsc
+share/nxengine-evo/data/Stage/e_Jenk.pxe
+share/nxengine-evo/data/Stage/e_Jenk.pxm
+share/nxengine-evo/data/Stage/e_Jenk.tsc
+share/nxengine-evo/data/Stage/e_Labo.pxe
+share/nxengine-evo/data/Stage/e_Labo.pxm
+share/nxengine-evo/data/Stage/e_Labo.tsc
+share/nxengine-evo/data/Stage/e_Malc.pxe
+share/nxengine-evo/data/Stage/e_Malc.pxm
+share/nxengine-evo/data/Stage/e_Malc.tsc
+share/nxengine-evo/data/Stage/e_Maze.pxe
+share/nxengine-evo/data/Stage/e_Maze.pxm
+share/nxengine-evo/data/Stage/e_Maze.tsc
+share/nxengine-evo/data/Stage/e_Sky.pxe
+share/nxengine-evo/data/Stage/e_Sky.pxm
+share/nxengine-evo/data/Stage/e_Sky.tsc
+share/nxengine-evo/data/StageImage.pbm
+share/nxengine-evo/data/StageMeta/Ballo2.json
+share/nxengine-evo/data/StageMeta/CentW.json
+share/nxengine-evo/data/StageMeta/Chako.json
+share/nxengine-evo/data/StageMeta/Clock.json
+share/nxengine-evo/data/StageMeta/Comu.json
+share/nxengine-evo/data/StageMeta/Cthu.json
+share/nxengine-evo/data/StageMeta/Cthu2.json
+share/nxengine-evo/data/StageMeta/Curly.json
+share/nxengine-evo/data/StageMeta/CurlyS.json
+share/nxengine-evo/data/StageMeta/Dark.json
+share/nxengine-evo/data/StageMeta/Drain.json
+share/nxengine-evo/data/StageMeta/EgEnd1.json
+share/nxengine-evo/data/StageMeta/EgEnd2.json
+share/nxengine-evo/data/StageMeta/EggR.json
+share/nxengine-evo/data/StageMeta/EggR2.json
+share/nxengine-evo/data/StageMeta/EggX.json
+share/nxengine-evo/data/StageMeta/EggX2.json
+share/nxengine-evo/data/StageMeta/Frog.json
+share/nxengine-evo/data/StageMeta/Gard.json
+share/nxengine-evo/data/StageMeta/Hell1.json
+share/nxengine-evo/data/StageMeta/Hell4.json
+share/nxengine-evo/data/StageMeta/Hell42.json
+share/nxengine-evo/data/StageMeta/Itoh.json
+share/nxengine-evo/data/StageMeta/Jail1.json
+share/nxengine-evo/data/StageMeta/Jail2.json
+share/nxengine-evo/data/StageMeta/Jenka1.json
+share/nxengine-evo/data/StageMeta/Jenka2.json
+share/nxengine-evo/data/StageMeta/Little.json
+share/nxengine-evo/data/StageMeta/Lounge.json
+share/nxengine-evo/data/StageMeta/Malco.json
+share/nxengine-evo/data/StageMeta/Mapi.json
+share/nxengine-evo/data/StageMeta/MazeA.json
+share/nxengine-evo/data/StageMeta/MazeB.json
+share/nxengine-evo/data/StageMeta/MazeD.json
+share/nxengine-evo/data/StageMeta/MazeH.json
+share/nxengine-evo/data/StageMeta/MazeI.json
+share/nxengine-evo/data/StageMeta/MazeO.json
+share/nxengine-evo/data/StageMeta/MazeS.json
+share/nxengine-evo/data/StageMeta/Momo.json
+share/nxengine-evo/data/StageMeta/Pens1.json
+share/nxengine-evo/data/StageMeta/Pens2.json
+share/nxengine-evo/data/StageMeta/Pixel.json
+share/nxengine-evo/data/StageMeta/Plant.json
+share/nxengine-evo/data/StageMeta/Pole.json
+share/nxengine-evo/data/StageMeta/Prefa1.json
+share/nxengine-evo/data/StageMeta/Prefa2.json
+share/nxengine-evo/data/StageMeta/Shelt.json
+share/nxengine-evo/data/StageMeta/Start.json
+share/nxengine-evo/data/StageMeta/Statue.json
+share/nxengine-evo/data/StageMeta/WeedD.json
+share/nxengine-evo/data/StageMeta/WeedS.json
+share/nxengine-evo/data/StageMeta/e_Malc.json
+share/nxengine-evo/data/StageMeta/e_Maze.json
+share/nxengine-evo/data/StageSelect.tsc
+share/nxengine-evo/data/TextBox.pbm
+share/nxengine-evo/data/Title.pbm
+share/nxengine-evo/data/bk0.pbm
+share/nxengine-evo/data/bkBlack.pbm
+share/nxengine-evo/data/bkBlue.pbm
+share/nxengine-evo/data/bkFall.pbm
+share/nxengine-evo/data/bkFog.pbm
+share/nxengine-evo/data/bkFog480fix.pbm
+share/nxengine-evo/data/bkGard.pbm
+share/nxengine-evo/data/bkGray.pbm
+share/nxengine-evo/data/bkGreen.pbm
+share/nxengine-evo/data/bkHellish.pbm
+share/nxengine-evo/data/bkHellish480fix.pbm
+share/nxengine-evo/data/bkLight.pbm
+share/nxengine-evo/data/bkLight480fix.pbm
+share/nxengine-evo/data/bkMaze.pbm
+share/nxengine-evo/data/bkMoon.pbm
+share/nxengine-evo/data/bkMoon480fix.pbm
+share/nxengine-evo/data/bkRed.pbm
+share/nxengine-evo/data/bkSunset.pbm
+share/nxengine-evo/data/bkSunset480fix.pbm
+share/nxengine-evo/data/bkWater.pbm
+share/nxengine-evo/data/casts.pbm
+share/nxengine-evo/data/endpic/credit01.bmp
+share/nxengine-evo/data/endpic/credit01m.bmp
+share/nxengine-evo/data/endpic/credit02.bmp
+share/nxengine-evo/data/endpic/credit02m.bmp
+share/nxengine-evo/data/endpic/credit03.bmp
+share/nxengine-evo/data/endpic/credit03m.bmp
+share/nxengine-evo/data/endpic/credit04.bmp
+share/nxengine-evo/data/endpic/credit05.bmp
+share/nxengine-evo/data/endpic/credit06.bmp
+share/nxengine-evo/data/endpic/credit07.bmp
+share/nxengine-evo/data/endpic/credit08.bmp
+share/nxengine-evo/data/endpic/credit09.bmp
+share/nxengine-evo/data/endpic/credit10.bmp
+share/nxengine-evo/data/endpic/credit11.bmp
+share/nxengine-evo/data/endpic/credit12.bmp
+share/nxengine-evo/data/endpic/credit14.bmp
+share/nxengine-evo/data/endpic/credit15.bmp
+share/nxengine-evo/data/endpic/credit16.bmp
+share/nxengine-evo/data/endpic/credit17.bmp
+share/nxengine-evo/data/endpic/credit18.bmp
+share/nxengine-evo/data/endpic/pixel.bmp
+share/nxengine-evo/data/font_1.fnt
+share/nxengine-evo/data/font_1_0.png
+share/nxengine-evo/data/font_2.fnt
+share/nxengine-evo/data/font_2_0.png
+share/nxengine-evo/data/font_3.fnt
+share/nxengine-evo/data/font_3_0.png
+share/nxengine-evo/data/font_3_1.png
+share/nxengine-evo/data/font_4.fnt
+share/nxengine-evo/data/font_4_0.png
+share/nxengine-evo/data/font_5.fnt
+share/nxengine-evo/data/font_5_0.png
+share/nxengine-evo/data/music.json
+share/nxengine-evo/data/music_dirs.json
+share/nxengine-evo/data/npc.tbl
+share/nxengine-evo/data/org/access.org
+share/nxengine-evo/data/org/anzen.org
+share/nxengine-evo/data/org/balcony.org
+share/nxengine-evo/data/org/ballos.org
+share/nxengine-evo/data/org/bdown.org
+share/nxengine-evo/data/org/cemetery.org
+share/nxengine-evo/data/org/curly.org
+share/nxengine-evo/data/org/dr.org
+share/nxengine-evo/data/org/ending.org
+share/nxengine-evo/data/org/escape.org
+share/nxengine-evo/data/org/fanfale1.org
+share/nxengine-evo/data/org/fanfale2.org
+share/nxengine-evo/data/org/fanfale3.org
+share/nxengine-evo/data/org/fireeye.org
+share/nxengine-evo/data/org/gameover.org
+share/nxengine-evo/data/org/ginsuke.org
+share/nxengine-evo/data/org/grand.org
+share/nxengine-evo/data/org/gravity.org
+share/nxengine-evo/data/org/hell.org
+share/nxengine-evo/data/org/ironh.org
+share/nxengine-evo/data/org/jenka.org
+share/nxengine-evo/data/org/jenka2.org
+share/nxengine-evo/data/org/kodou.org
+share/nxengine-evo/data/org/lastbt3.org
+share/nxengine-evo/data/org/lastbtl.org
+share/nxengine-evo/data/org/lastcave.org
+share/nxengine-evo/data/org/marine.org
+share/nxengine-evo/data/org/maze.org
+share/nxengine-evo/data/org/mdown2.org
+share/nxengine-evo/data/org/mura.org
+share/nxengine-evo/data/org/oside.org
+share/nxengine-evo/data/org/plant.org
+share/nxengine-evo/data/org/quiet.org
+share/nxengine-evo/data/org/requiem.org
+share/nxengine-evo/data/org/toroko.org
+share/nxengine-evo/data/org/vivi.org
+share/nxengine-evo/data/org/wanpak2.org
+share/nxengine-evo/data/org/wanpaku.org
+share/nxengine-evo/data/org/weed.org
+share/nxengine-evo/data/org/white.org
+share/nxengine-evo/data/org/zonbie.org
+share/nxengine-evo/data/pxt/fx01.pxt
+share/nxengine-evo/data/pxt/fx02.pxt
+share/nxengine-evo/data/pxt/fx03.pxt
+share/nxengine-evo/data/pxt/fx04.pxt
+share/nxengine-evo/data/pxt/fx05.pxt
+share/nxengine-evo/data/pxt/fx06.pxt
+share/nxengine-evo/data/pxt/fx07.pxt
+share/nxengine-evo/data/pxt/fx0b.pxt
+share/nxengine-evo/data/pxt/fx0c.pxt
+share/nxengine-evo/data/pxt/fx0e.pxt
+share/nxengine-evo/data/pxt/fx0f.pxt
+share/nxengine-evo/data/pxt/fx10.pxt
+share/nxengine-evo/data/pxt/fx11.pxt
+share/nxengine-evo/data/pxt/fx12.pxt
+share/nxengine-evo/data/pxt/fx14.pxt
+share/nxengine-evo/data/pxt/fx15.pxt
+share/nxengine-evo/data/pxt/fx16.pxt
+share/nxengine-evo/data/pxt/fx17.pxt
+share/nxengine-evo/data/pxt/fx18.pxt
+share/nxengine-evo/data/pxt/fx19.pxt
+share/nxengine-evo/data/pxt/fx1a.pxt
+share/nxengine-evo/data/pxt/fx1b.pxt
+share/nxengine-evo/data/pxt/fx1c.pxt
+share/nxengine-evo/data/pxt/fx1d.pxt
+share/nxengine-evo/data/pxt/fx1e.pxt
+share/nxengine-evo/data/pxt/fx1f.pxt
+share/nxengine-evo/data/pxt/fx20.pxt
+share/nxengine-evo/data/pxt/fx21.pxt
+share/nxengine-evo/data/pxt/fx22.pxt
+share/nxengine-evo/data/pxt/fx23.pxt
+share/nxengine-evo/data/pxt/fx25.pxt
+share/nxengine-evo/data/pxt/fx26.pxt
+share/nxengine-evo/data/pxt/fx27.pxt
+share/nxengine-evo/data/pxt/fx28.pxt
+share/nxengine-evo/data/pxt/fx29.pxt
+share/nxengine-evo/data/pxt/fx2a.pxt
+share/nxengine-evo/data/pxt/fx2b.pxt
+share/nxengine-evo/data/pxt/fx2c.pxt
+share/nxengine-evo/data/pxt/fx2d.pxt
+share/nxengine-evo/data/pxt/fx2e.pxt
+share/nxengine-evo/data/pxt/fx2f.pxt
+share/nxengine-evo/data/pxt/fx30.pxt
+share/nxengine-evo/data/pxt/fx31.pxt
+share/nxengine-evo/data/pxt/fx32.pxt
+share/nxengine-evo/data/pxt/fx33.pxt
+share/nxengine-evo/data/pxt/fx34.pxt
+share/nxengine-evo/data/pxt/fx35.pxt
+share/nxengine-evo/data/pxt/fx36.pxt
+share/nxengine-evo/data/pxt/fx37.pxt
+share/nxengine-evo/data/pxt/fx38.pxt
+share/nxengine-evo/data/pxt/fx39.pxt
+share/nxengine-evo/data/pxt/fx3a.pxt
+share/nxengine-evo/data/pxt/fx3b.pxt
+share/nxengine-evo/data/pxt/fx3c.pxt
+share/nxengine-evo/data/pxt/fx3d.pxt
+share/nxengine-evo/data/pxt/fx3e.pxt
+share/nxengine-evo/data/pxt/fx3f.pxt
+share/nxengine-evo/data/pxt/fx40.pxt
+share/nxengine-evo/data/pxt/fx41.pxt
+share/nxengine-evo/data/pxt/fx46.pxt
+share/nxengine-evo/data/pxt/fx47.pxt
+share/nxengine-evo/data/pxt/fx48.pxt
+share/nxengine-evo/data/pxt/fx64.pxt
+share/nxengine-evo/data/pxt/fx65.pxt
+share/nxengine-evo/data/pxt/fx66.pxt
+share/nxengine-evo/data/pxt/fx67.pxt
+share/nxengine-evo/data/pxt/fx68.pxt
+share/nxengine-evo/data/pxt/fx69.pxt
+share/nxengine-evo/data/pxt/fx6a.pxt
+share/nxengine-evo/data/pxt/fx6b.pxt
+share/nxengine-evo/data/pxt/fx6c.pxt
+share/nxengine-evo/data/pxt/fx6d.pxt
+share/nxengine-evo/data/pxt/fx6e.pxt
+share/nxengine-evo/data/pxt/fx6f.pxt
+share/nxengine-evo/data/pxt/fx70.pxt
+share/nxengine-evo/data/pxt/fx71.pxt
+share/nxengine-evo/data/pxt/fx72.pxt
+share/nxengine-evo/data/pxt/fx73.pxt
+share/nxengine-evo/data/pxt/fx74.pxt
+share/nxengine-evo/data/pxt/fx75.pxt
+share/nxengine-evo/data/pxt/fx96.pxt
+share/nxengine-evo/data/pxt/fx97.pxt
+share/nxengine-evo/data/pxt/fx98.pxt
+share/nxengine-evo/data/pxt/fx99.pxt
+share/nxengine-evo/data/pxt/fx9a.pxt
+share/nxengine-evo/data/pxt/fx9b.pxt
+share/nxengine-evo/data/sprites.sif
+share/nxengine-evo/data/stage.dat
+share/nxengine-evo/data/system.json
+share/nxengine-evo/data/tilekey.dat
+share/nxengine-evo/data/wavetable.dat
+share/nxengine-evo/nxengine-evo
+@pkgdir libexec
diff --git a/games/nxengine-evo/distinfo b/games/nxengine-evo/distinfo
new file mode 100644
index 00000000000..19b6d257ba4
--- /dev/null
+++ b/games/nxengine-evo/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1 2020/09/30 08:07:56 nia Exp $
+
+SHA1 (nxengine-evo-2.6.4/cavestoryen.zip) = aa9aca14e95914acc9799b651b5f5bd21847edb1
+RMD160 (nxengine-evo-2.6.4/cavestoryen.zip) = 46b23d2a102784004c0950a8d844ced26c6dc4b1
+SHA512 (nxengine-evo-2.6.4/cavestoryen.zip) = 9c7c2c6c8114974df14b1dce379b86da48caf299716e1de3d743e47c3ac6a8c13c4a0ada85778e69f11c2428f991dcbfcb0020212279f9c1787260102988cbc3
+Size (nxengine-evo-2.6.4/cavestoryen.zip) = 1136575 bytes
+SHA1 (nxengine-evo-2.6.4/nxengine-evo.tar.gz) = 1fb3efd2990f5fd61eecb6c9a7f28b053fc69562
+RMD160 (nxengine-evo-2.6.4/nxengine-evo.tar.gz) = 972e4d4bd7c7233d54825f2ca6d5436922d56f15
+SHA512 (nxengine-evo-2.6.4/nxengine-evo.tar.gz) = e931d6ea6a726edecc75223139dd0a4b1eef840eca599b74146a98b7aa34f38dc5c627d3c65dd25ac23ce86531ce0a3a06a30814256743c035955c69641cae65
+Size (nxengine-evo-2.6.4/nxengine-evo.tar.gz) = 3329255 bytes
+SHA1 (patch-src_pause_dialog.cpp) = 2228fa863249d70a0cc15ec610bc18d6dca516f9
+SHA1 (patch-src_sound_Pixtone.cpp) = a6936619d8e1ac147b2dc8ec64b55a348cdf2c84
diff --git a/games/nxengine-evo/files/nxengine-evo.desktop b/games/nxengine-evo/files/nxengine-evo.desktop
new file mode 100644
index 00000000000..7e6383a7df9
--- /dev/null
+++ b/games/nxengine-evo/files/nxengine-evo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Encoding=UTF-8
+Name=NXEngine-evo
+Comment=Complete rewrite of the platform-adventure game Cave Story
+Icon=nxengine-evo
+Exec=nxengine-evo
+Terminal=false
+Categories=Game;AdventureGame;
diff --git a/games/nxengine-evo/files/nxengine-evo.sh.in b/games/nxengine-evo/files/nxengine-evo.sh.in
new file mode 100644
index 00000000000..bdd8577c3c6
--- /dev/null
+++ b/games/nxengine-evo/files/nxengine-evo.sh.in
@@ -0,0 +1,8 @@
+#!/bin/sh
+if [ -n "${XDG_DATA_HOME}" ]; then
+ DIR="${XDG_DATA_HOME}/nxengine/nxengine-evo"
+else
+ DIR="${HOME}/.local/share/nxengine/nxengine-evo"
+fi
+mkdir -p "${DIR}" && cd "@PREFIX@/share/nxengine-evo" && \
+ exec "@PREFIX@/share/nxengine-evo/${0##*/}" "$@"
diff --git a/games/nxengine-evo/patches/patch-src_pause_dialog.cpp b/games/nxengine-evo/patches/patch-src_pause_dialog.cpp
new file mode 100644
index 00000000000..e274a4491cd
--- /dev/null
+++ b/games/nxengine-evo/patches/patch-src_pause_dialog.cpp
@@ -0,0 +1,21 @@
+$NetBSD: patch-src_pause_dialog.cpp,v 1.1 2020/09/30 08:07:57 nia Exp $
+
+[PATCH] Fix use after free. See #161
+
+https://github.com/nxengine/nxengine-evo/commit/f2135e34461eb8bcc74e3a4493840421ed15bca8.patch
+
+--- src/pause/dialog.cpp.orig 2019-04-08 14:37:06.000000000 +0000
++++ src/pause/dialog.cpp
+@@ -260,10 +260,10 @@ void Dialog::RunInput()
+ }
+ else if ((item->type == OD_ACTIVATED) && item->activate && (dir == 0))
+ {
+- (*item->activate)(item, dir);
+-
+ if (item->update)
+ (*item->update)(item);
++
++ (*item->activate)(item, dir);
+ }
+ else if ((item->type == OD_CHOICE) && item->activate && (dir != 0))
+ {
diff --git a/games/nxengine-evo/patches/patch-src_sound_Pixtone.cpp b/games/nxengine-evo/patches/patch-src_sound_Pixtone.cpp
new file mode 100644
index 00000000000..a876fc7d907
--- /dev/null
+++ b/games/nxengine-evo/patches/patch-src_sound_Pixtone.cpp
@@ -0,0 +1,39 @@
+$NetBSD: patch-src_sound_Pixtone.cpp,v 1.1 2020/09/30 08:07:57 nia Exp $
+
+[PATCH] Fix buffer overflow
+
+https://github.com/nxengine/nxengine-evo/commit/75b8b8e3b067fd354baa903332f2a3254d1cc017.patch
+
+--- src/sound/Pixtone.cpp.orig 2019-04-08 14:37:06.000000000 +0000
++++ src/sound/Pixtone.cpp
+@@ -17,6 +17,8 @@
+ #include <cstdlib>
+ #include <cstring>
+ #include <functional>
++#include <iomanip>
++#include <sstream>
+ #include <vector>
+
+ // using std::fgetc;
+@@ -274,7 +276,6 @@ bool Pixtone::init()
+ wave[MOD_NOISE].table[i] = (signed char)(seed >> 16) / 2; // Pseudorandom
+ }
+
+- char fname[80];
+ uint32_t slot;
+
+ stat("Loading Sound FX...");
+@@ -282,10 +283,11 @@ bool Pixtone::init()
+ std::string path = ResourceManager::getInstance()->getPathForDir("pxt/");
+ for (slot = 1; slot <= NUM_SOUNDS; slot++)
+ {
+- sprintf(fname, "%sfx%02x.pxt", path.c_str(), slot);
++ std::ostringstream filename;
++ filename << path << "fx" << std::hex << std::setw(2) << std::setfill('0') << slot << ".pxt";
+ stPXSound snd;
+
+- if (!snd.load(fname))
++ if (!snd.load(filename.str()))
+ continue;
+ snd.render();
+