Closed grepwood closed 2 years ago
Well, I don't know... Gentoo package is not maintained by me. But otherwise you have to import original JJ2 game data using mono Import.exe <path-to-jj2>
, then you can run the game. Also, initial Main.dz
is included in release and is extended/overwritten by Import.exe
(original assets are imported into it).
Excellent news!
From what I can see, Gentoo has this ebuild https://gitweb.gentoo.org/repo/gentoo.git/plain/games-arcade/jazz2/jazz2-0.6.7.ebuild with the following content:
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop dotnet wrapper
DESCRIPTION="Open source reimplementation of Jazz Jackrabbit 2"
HOMEPAGE="http://deat.tk/jazz2/"
SRC_URI="https://github.com/deathkiller/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="gles2-only server"
RDEPEND="
dev-lang/mono
media-libs/libopenmpt
media-libs/libsdl2[video]
media-libs/openal
gles2-only? ( media-libs/mesa[gles2] )
!gles2-only? ( virtual/opengl )
"
FRAMEWORK="4.5.2"
DIR="/usr/share/${PN}"
src_prepare() {
default
# Android/WASM only.
rm -r Content/Shaders.ES30/ || die
if use gles2-only; then
rm -r Content/Shaders/ || die
mv Content/_ES20/* Content/ || die
else
rm -r Content/_ES20/ || die
fi
}
src_compile() {
local TARGET
MAIN_TARGETS="Jazz2 $(usex server Jazz2.Server '') Tools/Import"
EXT_TARGETS="OpenTKBackend $(usex gles2-only Es20Backend GL21Backend)"
for TARGET in ${MAIN_TARGETS}; do
cd "${S}/${TARGET}" || die
exbuild "${TARGET##*/}.csproj"
done
for TARGET in ${EXT_TARGETS}; do
cd "${S}/Extensions/${TARGET}" || die
exbuild "${TARGET##*/}.csproj"
done
}
src_install() {
local TARGET
insinto "${DIR}"
# TODO: Package OpenTK.
doins -r Content/ Packages/AdamsLair.OpenTK.*/lib/net*/*
for TARGET in ${MAIN_TARGETS}; do
doins "${TARGET}/Bin/Release/${TARGET##*/}.exe"
done
insinto "${DIR}"/Extensions
for TARGET in ${EXT_TARGETS}; do
doins "Extensions/${TARGET}/Jazz2/Bin/Release/Extensions/${TARGET}.core.dll"
done
make_wrapper ${PN} "mono '${EPREFIX}${DIR}/Jazz2.exe'"
make_wrapper ${PN}-import "mono '${EPREFIX}${DIR}/Import.exe'"
use server && make_wrapper ${PN}-server "mono '${EPREFIX}${DIR}/Jazz2.Server.exe'"
newicon Jazz2/Icon.ico ${PN}.ico
make_desktop_entry ${PN} "Jazz² Resurrection" ${PN}.ico
}
I see now why Main.dz is missing in a Gentoo installation. Main.dz is derived from a specific set of Jazz2-compatible gamedata, which gets produced by Import.exe.
The ebuild once finished compiling the exes and graphic backends will install to /usr/share/jazz2 and add some wrappers to /usr/bin. Nothing more, nothing less. I think the next version of the ebuild should include a message that users/admins must import the gamedata themselves as this is not part of the scope of the ebuild. Perhaps I could make a gamedata ebuild in src_prepare-overlay, since we are more than able to do crazy things like support Windows software, DOS software and even install software from GOG.
Just one question though. The Main.dz included in the GitHub releases - it comes from what set of gamedata?
Great!
I use Content
directory from GitHub root and run Import.exe /minimal
. It creates minimal Main.dz
(in Content
directory) to run and ready to import JJ2.
Hi, I'm running this from Gentoo, freshly installed from Portage. What's the Main.dz file? It's nowhere to be found in the original gamedata. What's actually the gamedata that the game needs in order to play? I have means to make a gamedata ebuild, but only in a separate overlay, since upstream Gentoo probably will take more time to consider integrating GOG-backed packages.