RigelEngine: import RigelEngine-0.7.0 as wip/RigelEngine

This project is a re-implementation of the game Duke Nukem II,
originally released by Apogee Software in 1993. RigelEngine works
as a drop-in replacement for the original executable: It reads the
original data files and offers the same experience (plus some
improvements), but runs natively on modern operating systems, and
is written in modern C++ code with a completely new architecture
under the hood.
This commit is contained in:
Yorick Hardy 2020-12-31 19:13:53 +02:00
parent 2344ba5c5c
commit 0b0d028ea8
7 changed files with 109 additions and 0 deletions

View File

@ -66,6 +66,7 @@ SUBDIR+= R-signal
SUBDIR+= R-tuneR
SUBDIR+= Radicale3
SUBDIR+= ReZound
SUBDIR+= RigelEngine
SUBDIR+= SLADE
SUBDIR+= Siesta
SUBDIR+= StepTalk

7
RigelEngine/DESCR Normal file
View File

@ -0,0 +1,7 @@
This project is a re-implementation of the game Duke Nukem II,
originally released by Apogee Software in 1993. RigelEngine works
as a drop-in replacement for the original executable: It reads the
original data files and offers the same experience (plus some
improvements), but runs natively on modern operating systems, and
is written in modern C++ code with a completely new architecture
under the hood.

38
RigelEngine/Makefile Normal file
View File

@ -0,0 +1,38 @@
# $NetBSD$
GITHUB_PROJECT= RigelEngine
GITHUB_TAG= v0.7.0-beta
DISTNAME= ${GITHUB_TAG}
PKGNAME= RigelEngine-0.7.0
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_GITHUB:=lethal-guitar/}
DIST_SUBDIR= ${GITHUB_PROJECT}
DISTFILES+= ${GITHUB_TAG}.tar.gz
DISTFILES+= imgui-1.7.9.tar.gz
SITES.imgui-1.7.9.tar.gz= \
-${MASTER_SITE_GITHUB:S,^,-,:=ocornut/}imgui/archive/v1.79.tar.gz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://github.com/lethal-guitar/RigelEngine/
COMMENT= Modern re-implementation of the classic DOS game Duke Nukem II
LICENSE= gnu-gpl-v2
WRKSRC= ${WRKDIR}/RigelEngine-0.7.0-beta
USE_CMAKE= yes
USE_LANGUAGES= c c++17
INSTALLATION_DIRS+= bin
pre-configure:
cp -R ${WRKDIR}/imgui-1.79/* ${WRKSRC}/3rd_party/imgui/imgui
do-install:
${INSTALL_GAME} ${WRKSRC}/src/RigelEngine ${DESTDIR}${PREFIX}/bin
.include "../../audio/SDL2_mixer/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../devel/boost-headers/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../graphics/glm/buildlink3.mk"
.include "../../wip/entityx/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

2
RigelEngine/PLIST Normal file
View File

@ -0,0 +1,2 @@
@comment $NetBSD$
bin/RigelEngine

12
RigelEngine/distinfo Normal file
View File

@ -0,0 +1,12 @@
$NetBSD$
SHA1 (RigelEngine/imgui-1.7.9.tar.gz) = da92c36e123002475cd6adba8e3429051a317e71
RMD160 (RigelEngine/imgui-1.7.9.tar.gz) = 2ae1cb43d0048e1f74f812ec47de5280dda53a84
SHA512 (RigelEngine/imgui-1.7.9.tar.gz) = 35ed7af89123e09989ef81085f19ed15f97f4798e2b35834fd8b4ae918889b51132d85901f867ab2f379711a734bc7b2edd309d74f3f7527eaaaebfd766d3737
Size (RigelEngine/imgui-1.7.9.tar.gz) = 1299303 bytes
SHA1 (RigelEngine/v0.7.0-beta.tar.gz) = f4ebd8ac989500beb80bcba973bd444c852c3359
RMD160 (RigelEngine/v0.7.0-beta.tar.gz) = 0b7ab181717ad36cc3524d265857079c82f97506
SHA512 (RigelEngine/v0.7.0-beta.tar.gz) = 0eae25c434f2cf5e10f63c02fb776c56595683dfa6076c8cbc0f3b5101df431c08778c5ee44ebec38e320342619dc9d4161adfbf1c8036899208df51d552ee88
Size (RigelEngine/v0.7.0-beta.tar.gz) = 756157 bytes
SHA1 (patch-3rd__party_CMakeLists.txt) = 10629ff9d8d15eb817737f5d364aff29aa42ea90
SHA1 (patch-CMakeLists.txt) = 148e401abbed52fc5747f6c182f2efeb9018fbd6

View File

@ -0,0 +1,19 @@
$NetBSD$
Don't download entityx. Use the pkgsrc version.
--- 3rd_party/CMakeLists.txt.orig 2020-11-28 16:11:39.000000000 +0000
+++ 3rd_party/CMakeLists.txt
@@ -28,10 +28,10 @@ set(ENTITYX_RUN_BENCHMARKS false CACHE I
set(ENTITYX_MAX_COMPONENTS 64 CACHE INTERNAL "")
add_subdirectory(dbopl)
-add_subdirectory(entityx)
+#add_subdirectory(entityx)
add_subdirectory(glad)
add_subdirectory(speex_resampler)
add_subdirectory(imgui)
add_subdirectory(imgui-filebrowser)
-rigel_disable_warnings(entityx)
+#rigel_disable_warnings(entityx)

View File

@ -0,0 +1,30 @@
$NetBSD$
Don't download entityx. Use the pkgsrc.
--- CMakeLists.txt.orig 2020-11-28 16:11:39.000000000 +0000
+++ CMakeLists.txt
@@ -25,10 +25,10 @@ include("${CMAKE_SOURCE_DIR}/cmake/rigel
# initialized. It's still possible to get in a state where entityx is present
# but other submodules are not, but that's unlikely to happen to someone who
# has just cloned the repo and wants to build for the first time.
-if(NOT EXISTS "${CMAKE_SOURCE_DIR}/3rd_party/entityx/entityx/Entity.h")
- message(FATAL_ERROR
- "It seems git submodules were not initialized. You need to run git submodule update --init --recursive, and then re-run CMake.")
-endif()
+#if(NOT EXISTS "${CMAKE_SOURCE_DIR}/3rd_party/entityx/entityx/Entity.h")
+# message(FATAL_ERROR
+# "It seems git submodules were not initialized. You need to run git submodule update --init --recursive, and then re-run CMake.")
+#endif()
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Emscripten")
@@ -53,6 +53,8 @@ else()
find_package(Boost 1.65 COMPONENTS program_options REQUIRED)
find_package(SDL2 REQUIRED)
find_package(SDL2_mixer REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(ENTITYX entityx REQUIRED)
endif()
find_package(Filesystem REQUIRED)