replace games/nxengine with NXEngine-evo fork

Port to SDL2 ( thanks to https://github.com/PIlin/NXEngine-iOS )
 More resolutions and widescreen support up to FullHD (thanks to https://github.com/EXL/NXEngine )
 Fullscreen for any resolution
 Gamepad with force-feedback support.
 Localization support.
 Mimiga mask ending pictures (re-drawn by me)
 Modern main menu
 Support for "New" and "Remastered" tracks from CS+
 Header-dependency hell cleaned up. No more autogenerated headers
 Cleaned up nx.h
 Lists/maps from haiku replaced with std::vector/map
 smalfont -> smallfont
 removed built-in data extractor
 removed replays, as they were buggy/not implemented anyway
 fixed tons of warnings and undefined behaviour

PR:		227084
Submitted by:	Piotr Kubaj
This commit is contained in:
Nikolai Lifanov 2018-03-29 23:49:12 +00:00
parent 3cfd0e689d
commit 6f2ff657ef
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=465940
7 changed files with 197 additions and 46 deletions

View File

@ -2,15 +2,14 @@
# $FreeBSD$
PORTNAME= nxengine
PORTVERSION= 1.0.0.6
PORTVERSION= 2.6.2
DISTVERSIONPREFIX= v
CATEGORIES= games
MASTER_SITES= http://nxengine.sourceforge.net/dl/ \
http://www.cavestory.org/downloads/:data \
MASTER_SITES+= https://www.cavestory.org/downloads/:data \
SF/lifanov-ports-distfiles/games/${PORTNAME}/:icons
DISTFILES= nx-src-${DISTVERSION:S/.//g}.tar.bz2 \
cavestoryen.zip:data \
${PORTNAME}.png:icons
EXTRACT_ONLY= ${DISTFILES:[1..2]:S/:data//}
DISTFILES+= ${PORTNAME}.png:icons \
cavestoryen.zip:data
EXTRACT_ONLY= ${DISTFILES:[2..3]:S/:data//}
MAINTAINER= lifanov@FreeBSD.org
COMMENT= Engine-rewrite of the classic platformer Cave Story
@ -21,28 +20,29 @@ LICENSE_NAME_FREEWARE= Cave Story freeware license
LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE
LICENSE_FILE_FREEWARE= ${WRKDIR}/CaveStory/Readme.txt
LICENSE_PERMS_FREEWARE= dist-mirror pkg-mirror auto-accept
LICENSE_DISTFILES_GPLv3= ${DISTFILES:[1]}
LICENSE_DISTFILES_GPLv3= ${DISTFILES:[3]}
LICENSE_DISTFILES_FREEWARE= ${DISTFILES:[2]:S/:data//}
LIB_DEPENDS= libpng16.so:graphics/png
DESKTOP_ENTRIES="NXEngine" "" "${PORTNAME}" \
"${PORTNAME}" "Game;AdventureGame;" ""
WRKSRC= ${WRKDIR}/nx
USE_SDL= sdl ttf
USES= cmake:outsource compiler:c++11-lang
USE_SDL= mixer2 sdl2
SUB_FILES= ${PORTNAME}
pre-build:
@${REINPLACE_CMD} -e 's!g++!${CXX}!' ${WRKSRC}/Makefile
USE_GITHUB= yes
GH_PROJECT= ${PORTNAME}-evo
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_PROGRAM} ${WRKSRC}/nx ${STAGEDIR}${DATADIR}
.for f in sprites.sif smalfont.bmp tilekey.dat font.ttf
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DATADIR}
.endfor
${INSTALL_PROGRAM} ${WRKSRC}/bin/nx ${STAGEDIR}${DATADIR}
${INSTALL_SCRIPT} ${WRKDIR}/nxengine ${STAGEDIR}${PREFIX}/bin
(cd ${WRKSRC}/data; ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/data)
(cd ${WRKDIR}/CaveStory; ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
${INSTALL_DATA} ${_DISTDIR}/${PORTNAME}.png \
${STAGEDIR}${PREFIX}/share/pixmaps
(cd ${STAGEDIR}${DATADIR}; ${WRKSRC}/bin/extract)
.include <bsd.port.mk>

View File

@ -1,7 +1,7 @@
TIMESTAMP = 1504880228
SHA256 (nx-src-1006.tar.bz2) = cf9cbf15dfdfdc9936720a714876bb1524afbd2931e3eaa4c89984a40b21ad68
SIZE (nx-src-1006.tar.bz2) = 540467
TIMESTAMP = 1521886367
SHA256 (cavestoryen.zip) = aa87fa30bee9b4980640c7e104791354e0f1f6411ee0d45a70af70046aa0685f
SIZE (cavestoryen.zip) = 1136575
SHA256 (nxengine.png) = d6d8866939c10342bd3feebef311648586bed38f0390acbe16fd42f5240ff4e7
SIZE (nxengine.png) = 536
SHA256 (nxengine-nxengine-evo-v2.6.2_GH0.tar.gz) = a09d096ee80dc29881dd532a998fd6ae9669c41eda060385aed92f7b8856c82c
SIZE (nxengine-nxengine-evo-v2.6.2_GH0.tar.gz) = 3230556

View File

@ -1,11 +0,0 @@
--- sound/org.cpp.orig 2012-04-29 19:01:52 UTC
+++ sound/org.cpp
@@ -4,7 +4,7 @@
#include <stdlib.h>
#include <string.h>
#include <math.h>
-#include <endian.h>
+#include <sys/endian.h>
#include "../common/basics.h"
#include "org.h"

View File

@ -1,11 +0,0 @@
--- sound/pxt.cpp.orig 2012-04-29 19:01:52 UTC
+++ sound/pxt.cpp
@@ -6,7 +6,7 @@
#include <math.h> // for sin()
#include <stdlib.h>
#include <string.h>
-#include <endian.h>
+#include <sys/endian.h>
#include "../config.h"
#include "pxt.h"

View File

@ -0,0 +1,11 @@
--- src/graphics/screenshot.cpp.orig 2018-03-24 09:37:42 UTC
+++ src/graphics/screenshot.cpp
@@ -1,7 +1,7 @@
#include "pngfuncs.h"
#include "graphics.h"
#include "../common/stat.h"
-#if defined(__MACH__)
+#if defined(__MACH__) || defined (__FreeBSD__)
#include <cstdlib>
#else
#include <malloc.h>

View File

@ -1,4 +1,5 @@
NXEngine is a complete open-source clone/rewrite of the masterpiece
jump-and-run platformer Doukutsu Monogatari (also known as Cave Story).
This is a somewhat upgraded/refactored version of nxengine.
WWW: http://nxengine.sourceforge.net/
WWW: https://github.com/nxengine/nxengine-evo

View File

@ -427,18 +427,179 @@ bin/nxengine
%%DATADIR%%/data/bkBlue.pbm
%%DATADIR%%/data/bkFall.pbm
%%DATADIR%%/data/bkFog.pbm
%%DATADIR%%/data/bkFog480fix.pbm
%%DATADIR%%/data/bkGard.pbm
%%DATADIR%%/data/bkGray.pbm
%%DATADIR%%/data/bkGreen.pbm
%%DATADIR%%/data/bkMaze.pbm
%%DATADIR%%/data/bkMoon.pbm
%%DATADIR%%/data/bkMoon480fix.pbm
%%DATADIR%%/data/bkRed.pbm
%%DATADIR%%/data/bkWater.pbm
%%DATADIR%%/data/casts.pbm
%%DATADIR%%/data/endpic/credit01.bmp
%%DATADIR%%/data/endpic/credit01m.bmp
%%DATADIR%%/data/endpic/credit02.bmp
%%DATADIR%%/data/endpic/credit02m.bmp
%%DATADIR%%/data/endpic/credit03.bmp
%%DATADIR%%/data/endpic/credit03m.bmp
%%DATADIR%%/data/endpic/credit04.bmp
%%DATADIR%%/data/endpic/credit05.bmp
%%DATADIR%%/data/endpic/credit06.bmp
%%DATADIR%%/data/endpic/credit07.bmp
%%DATADIR%%/data/endpic/credit08.bmp
%%DATADIR%%/data/endpic/credit09.bmp
%%DATADIR%%/data/endpic/credit10.bmp
%%DATADIR%%/data/endpic/credit11.bmp
%%DATADIR%%/data/endpic/credit12.bmp
%%DATADIR%%/data/endpic/credit14.bmp
%%DATADIR%%/data/endpic/credit15.bmp
%%DATADIR%%/data/endpic/credit16.bmp
%%DATADIR%%/data/endpic/credit17.bmp
%%DATADIR%%/data/endpic/credit18.bmp
%%DATADIR%%/data/endpic/pixel.bmp
%%DATADIR%%/data/font_1.fnt
%%DATADIR%%/data/font_1_0.png
%%DATADIR%%/data/font_2.fnt
%%DATADIR%%/data/font_2_0.png
%%DATADIR%%/data/font_3.fnt
%%DATADIR%%/data/font_3_0.png
%%DATADIR%%/data/font_4.fnt
%%DATADIR%%/data/font_4_0.png
%%DATADIR%%/data/font_5.fnt
%%DATADIR%%/data/font_5_0.png
%%DATADIR%%/data/npc.tbl
%%DATADIR%%/font.ttf
%%DATADIR%%/data/org/access.org
%%DATADIR%%/data/org/anzen.org
%%DATADIR%%/data/org/balcony.org
%%DATADIR%%/data/org/ballos.org
%%DATADIR%%/data/org/bdown.org
%%DATADIR%%/data/org/cemetery.org
%%DATADIR%%/data/org/curly.org
%%DATADIR%%/data/org/dr.org
%%DATADIR%%/data/org/ending.org
%%DATADIR%%/data/org/escape.org
%%DATADIR%%/data/org/fanfale1.org
%%DATADIR%%/data/org/fanfale2.org
%%DATADIR%%/data/org/fanfale3.org
%%DATADIR%%/data/org/fireeye.org
%%DATADIR%%/data/org/gameover.org
%%DATADIR%%/data/org/ginsuke.org
%%DATADIR%%/data/org/grand.org
%%DATADIR%%/data/org/gravity.org
%%DATADIR%%/data/org/hell.org
%%DATADIR%%/data/org/ironh.org
%%DATADIR%%/data/org/jenka.org
%%DATADIR%%/data/org/jenka2.org
%%DATADIR%%/data/org/kodou.org
%%DATADIR%%/data/org/lastbt3.org
%%DATADIR%%/data/org/lastbtl.org
%%DATADIR%%/data/org/lastcave.org
%%DATADIR%%/data/org/marine.org
%%DATADIR%%/data/org/maze.org
%%DATADIR%%/data/org/mdown2.org
%%DATADIR%%/data/org/mura.org
%%DATADIR%%/data/org/oside.org
%%DATADIR%%/data/org/plant.org
%%DATADIR%%/data/org/quiet.org
%%DATADIR%%/data/org/requiem.org
%%DATADIR%%/data/org/toroko.org
%%DATADIR%%/data/org/vivi.org
%%DATADIR%%/data/org/wanpak2.org
%%DATADIR%%/data/org/wanpaku.org
%%DATADIR%%/data/org/weed.org
%%DATADIR%%/data/org/white.org
%%DATADIR%%/data/org/zonbie.org
%%DATADIR%%/data/pxt/fx01.pxt
%%DATADIR%%/data/pxt/fx02.pxt
%%DATADIR%%/data/pxt/fx03.pxt
%%DATADIR%%/data/pxt/fx04.pxt
%%DATADIR%%/data/pxt/fx05.pxt
%%DATADIR%%/data/pxt/fx06.pxt
%%DATADIR%%/data/pxt/fx07.pxt
%%DATADIR%%/data/pxt/fx0b.pxt
%%DATADIR%%/data/pxt/fx0c.pxt
%%DATADIR%%/data/pxt/fx0e.pxt
%%DATADIR%%/data/pxt/fx0f.pxt
%%DATADIR%%/data/pxt/fx10.pxt
%%DATADIR%%/data/pxt/fx11.pxt
%%DATADIR%%/data/pxt/fx12.pxt
%%DATADIR%%/data/pxt/fx14.pxt
%%DATADIR%%/data/pxt/fx15.pxt
%%DATADIR%%/data/pxt/fx16.pxt
%%DATADIR%%/data/pxt/fx17.pxt
%%DATADIR%%/data/pxt/fx18.pxt
%%DATADIR%%/data/pxt/fx19.pxt
%%DATADIR%%/data/pxt/fx1a.pxt
%%DATADIR%%/data/pxt/fx1b.pxt
%%DATADIR%%/data/pxt/fx1c.pxt
%%DATADIR%%/data/pxt/fx1d.pxt
%%DATADIR%%/data/pxt/fx1e.pxt
%%DATADIR%%/data/pxt/fx1f.pxt
%%DATADIR%%/data/pxt/fx20.pxt
%%DATADIR%%/data/pxt/fx21.pxt
%%DATADIR%%/data/pxt/fx22.pxt
%%DATADIR%%/data/pxt/fx23.pxt
%%DATADIR%%/data/pxt/fx25.pxt
%%DATADIR%%/data/pxt/fx26.pxt
%%DATADIR%%/data/pxt/fx27.pxt
%%DATADIR%%/data/pxt/fx28.pxt
%%DATADIR%%/data/pxt/fx29.pxt
%%DATADIR%%/data/pxt/fx2a.pxt
%%DATADIR%%/data/pxt/fx2b.pxt
%%DATADIR%%/data/pxt/fx2c.pxt
%%DATADIR%%/data/pxt/fx2d.pxt
%%DATADIR%%/data/pxt/fx2e.pxt
%%DATADIR%%/data/pxt/fx2f.pxt
%%DATADIR%%/data/pxt/fx30.pxt
%%DATADIR%%/data/pxt/fx31.pxt
%%DATADIR%%/data/pxt/fx32.pxt
%%DATADIR%%/data/pxt/fx33.pxt
%%DATADIR%%/data/pxt/fx34.pxt
%%DATADIR%%/data/pxt/fx35.pxt
%%DATADIR%%/data/pxt/fx36.pxt
%%DATADIR%%/data/pxt/fx37.pxt
%%DATADIR%%/data/pxt/fx38.pxt
%%DATADIR%%/data/pxt/fx39.pxt
%%DATADIR%%/data/pxt/fx3a.pxt
%%DATADIR%%/data/pxt/fx3b.pxt
%%DATADIR%%/data/pxt/fx3c.pxt
%%DATADIR%%/data/pxt/fx3d.pxt
%%DATADIR%%/data/pxt/fx3e.pxt
%%DATADIR%%/data/pxt/fx3f.pxt
%%DATADIR%%/data/pxt/fx40.pxt
%%DATADIR%%/data/pxt/fx41.pxt
%%DATADIR%%/data/pxt/fx46.pxt
%%DATADIR%%/data/pxt/fx47.pxt
%%DATADIR%%/data/pxt/fx48.pxt
%%DATADIR%%/data/pxt/fx64.pxt
%%DATADIR%%/data/pxt/fx65.pxt
%%DATADIR%%/data/pxt/fx66.pxt
%%DATADIR%%/data/pxt/fx67.pxt
%%DATADIR%%/data/pxt/fx68.pxt
%%DATADIR%%/data/pxt/fx69.pxt
%%DATADIR%%/data/pxt/fx6a.pxt
%%DATADIR%%/data/pxt/fx6b.pxt
%%DATADIR%%/data/pxt/fx6c.pxt
%%DATADIR%%/data/pxt/fx6d.pxt
%%DATADIR%%/data/pxt/fx6e.pxt
%%DATADIR%%/data/pxt/fx6f.pxt
%%DATADIR%%/data/pxt/fx70.pxt
%%DATADIR%%/data/pxt/fx71.pxt
%%DATADIR%%/data/pxt/fx72.pxt
%%DATADIR%%/data/pxt/fx73.pxt
%%DATADIR%%/data/pxt/fx74.pxt
%%DATADIR%%/data/pxt/fx75.pxt
%%DATADIR%%/data/pxt/fx96.pxt
%%DATADIR%%/data/pxt/fx97.pxt
%%DATADIR%%/data/pxt/fx98.pxt
%%DATADIR%%/data/pxt/fx99.pxt
%%DATADIR%%/data/pxt/fx9a.pxt
%%DATADIR%%/data/pxt/fx9b.pxt
%%DATADIR%%/data/sprites.sif
%%DATADIR%%/data/stage.dat
%%DATADIR%%/data/system.json
%%DATADIR%%/data/tilekey.dat
%%DATADIR%%/data/wavetable.dat
%%DATADIR%%/nx
%%DATADIR%%/smalfont.bmp
%%DATADIR%%/sprites.sif
%%DATADIR%%/tilekey.dat
share/pixmaps/nxengine.png