On 12/30/18 11:56 AM, Brian Callahan wrote:


On 12/30/18 12:04 AM, Jonathan Gray wrote:
On Fri, Dec 28, 2018 at 11:17:33AM -0500, Brian Callahan wrote:

On 12/26/18 6:52 PM, Brian Callahan wrote:

On 12/26/18 6:43 PM, Jonathan Gray wrote:
On Wed, Dec 26, 2018 at 06:06:14PM -0500, Brian Callahan wrote:
On 12/26/18 6:00 PM, Jonathan Gray wrote:
On Wed, Dec 26, 2018 at 09:24:18AM -0500, Brian Callahan wrote:
On 12/25/18 6:26 PM, Jonathan Gray wrote:
On Tue, Dec 25, 2018 at 10:35:02AM -0500, Brian Callahan wrote:
Hi ports --

Attached is a new port, games/bstone. BStone is
a source port of Blake Stone
FPS game series engine.

---
pkg/DESCR:
BStone is a source port of the Blake Stone game
series games Aliens of
Gold and Planet Strike.

Features:
* High resolution rendering of the world (extended vanilla engine)
* Modern and vanilla controls
* Customizable control bindings
* Separate volume control for sound effects and music

Note that while this package is open source, the
games are not. You must
purchase at least one of the games in order to use this package.
Aliens of Gold shareware worked when I tried a while ago.
You're right. Minor wording tweaks to note that.

~Brian
Doesn't build on amd64 here

===>?? Checking files for bstone-1.1.9.1
`/usr/ports/distfiles/bstone-1.1.9.1-48c286fb.tar.gz' is up to date.
(SHA256) bstone-1.1.9.1-48c286fb.tar.gz: OK
===> bstone-1.1.9.1 depends on: cmake-* -> cmake-3.10.2p1v0
===> bstone-1.1.9.1 depends on: ninja->=1.5.1 -> ninja-1.8.2p0
===> bstone-1.1.9.1 depends on: sdl2-* -> sdl2-2.0.8p1
===>?? Verifying specs:?? c++ c++abi pthread SDL2 c m
===>?? found c++.2.0 c++abi.0.1 pthread.25.1 SDL2.0.5 c.93.0 m.10.1
===>?? Extracting for bstone-1.1.9.1
===>?? Patching for bstone-1.1.9.1
===>???? Applying OpenBSD patch patch-src_CMakeLists_txt
Hmm...?? Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|$OpenBSD$
|
|Install binary to the correct location.
|We don't need to install these text files.
|
|Index: src/CMakeLists.txt
|--- src/CMakeLists.txt.orig
|+++ src/CMakeLists.txt
--------------------------
Patching file src/CMakeLists.txt using Plan A...
Hunk #1 succeeded at 358.
done
===>???? Applying OpenBSD patch patch-src_jm_free_cpp
Hmm...?? Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|$OpenBSD$
|
|Prevent segfault during intro movies.
|
|Index: src/jm_free.cpp
|--- src/jm_free.cpp.orig
|+++ src/jm_free.cpp
--------------------------
Patching file src/jm_free.cpp using Plan A...
Hunk #1 succeeded at 948.
done
===>???? Applying OpenBSD patch patch-src_jm_tp_cpp
Hmm...?? Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|$OpenBSD$
|
|Prevent segfault on level load.
|
|Index: src/jm_tp.cpp
|--- src/jm_tp.cpp.orig
|+++ src/jm_tp.cpp
--------------------------
Patching file src/jm_tp.cpp using Plan A...
Hunk #1 succeeded at 3360.
done
===>?? Compiler link: clang -> /usr/bin/clang
===>?? Compiler link: clang++ -> /usr/bin/clang++
===>?? Compiler link: cc -> /usr/bin/cc
===>?? Compiler link: c++ -> /usr/bin/c++
===>?? Generating configure for bstone-1.1.9.1
===>?? Configuring for bstone-1.1.9.1
-- The CXX compiler identification is Clang 6.0.0
-- Check for working CXX compiler:
/usr/ports/pobj/bstone-1.1.9.1/bin/c++
-- Check for working CXX compiler:
/usr/ports/pobj/bstone-1.1.9.1/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found SDL:
/usr/local/lib/libSDL2main.a;/usr/local/lib/libSDL2.so.0.5
-- Configuring done
-- Generating done
-- Build files have been written to:
/usr/ports/pobj/bstone-1.1.9.1/build-amd64
===>?? Building for bstone-1.1.9.1
[1/65] /usr/ports/pobj/bstone-1.1.9.1/bin/c++ -I/usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/dosbox
-O2 -pipe -DNDEBUG???? -std=c++11 -MD -MT
CMakeFiles/bstone.dir/bstone_sha1.cpp.o -MF
CMakeFiles/bstone.dir/bstone_sha1.cpp.o.d -o
CMakeFiles/bstone.dir/bstone_sha1.cpp.o -c /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/bstone_sha1.cpp [2/65] /usr/ports/pobj/bstone-1.1.9.1/bin/c++ -I/usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/dosbox
-O2 -pipe -DNDEBUG???? -std=c++11 -MD -MT
CMakeFiles/bstone.dir/bstone_sprite_cache.cpp.o -MF
CMakeFiles/bstone.dir/bstone_sprite_cache.cpp.o.d -o
CMakeFiles/bstone.dir/bstone_sprite_cache.cpp.o -c /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/bstone_sprite_cache.cpp [3/65] /usr/ports/pobj/bstone-1.1.9.1/bin/c++ -I/usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/dosbox
-O2 -pipe -DNDEBUG???? -std=c++11 -MD -MT
CMakeFiles/bstone.dir/3d_agent.cpp.o -MF
CMakeFiles/bstone.dir/3d_agent.cpp.o.d -o
CMakeFiles/bstone.dir/3d_agent.cpp.o -c /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/3d_agent.cpp
FAILED: CMakeFiles/bstone.dir/3d_agent.cpp.o
/usr/ports/pobj/bstone-1.1.9.1/bin/c++ -I/usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/dosbox
-O2 -pipe -DNDEBUG???? -std=c++11 -MD -MT
CMakeFiles/bstone.dir/3d_agent.cpp.o -MF
CMakeFiles/bstone.dir/3d_agent.cpp.o.d -o
CMakeFiles/bstone.dir/3d_agent.cpp.o -c /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/3d_agent.cpp In file included from /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/3d_agent.cpp:27: In file included from /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/3d_def.h:31: /usr/ports/pobj/bstone-1.1.9.1/bstone-48c286fb1012f6faa9dbf4b0f237e2b19ce01ac5/src/id_heads.h:45:10:
fatal error: 'SDL.h' file not found
#include "SDL.h"
???????????????????? ^~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
*** Error 1 in . (/usr/ports/devel/cmake/cmake.port.mk:39
'do-build': @cd /usr/ports/pobj/bstone-1.1.9.1/build-amd64
&& exec /usr/bin/env -i...)
*** Error 1 in .
(/usr/ports/infrastructure/mk/bsd.port.mk:2782
'/usr/ports/pobj/bstone-1.1.9.1/build-amd64/.build_done')
*** Error 1 in .
(/usr/ports/infrastructure/mk/bsd.port.mk:2009
'/usr/ports/packages/amd64/all/bstone-1.1.9.1.tgz')
*** Error 1 in .
(/usr/ports/infrastructure/mk/bsd.port.mk:2475
'_internal-package')
*** Error 1 in /usr/ports/ports-wip/games/bstone
(/usr/ports/infrastructure/mk/bsd.port.mk:2454 'package')
Interesting. If you add this line to the port Makefile, does
that do the
trick:
CONFIGURE_ARGS =?????????????? -DCMAKE_CXX_FLAGS="${CXXFLAGS}
-I${LOCALBASE}/include/SDL2"
It builds with

CONFIGURE_ARGS += \
???????? -DCMAKE_CXX_FLAGS="${CXXFLAGS} `pkg-config --cflags sdl2`" \
???????? -DCMAKE_EXE_LINKER_FLAGS="`pkg-config --libs sdl2`"
Cool. I'll add that. Odd that it picked that stuff up for me but
whatever I've learned not to ask questions about such things any more.

But the shareware version fails at runtime with a window
displaying "CRITICAL: Mismatch GFX header offset count".

The 1.1.8 (146910eeb7109dc4ccd2243bae7cfabeb258c2a7) build I had
previously
built myself works.

Shareware version obtained from
ftp://ftp.3drealms.com/share/1bs30.zip
Looks like upstream did some "fixing" work on the shareware version
since the 1.1.8 version. I'll raise an issue upstream.

~Brian

Turns out that in between my sending the port and now, upstream committed a
large refactoring that fixes the problem with the shareware version.

So, new version of the port attached, which I've tested with the shareware
version and the two GOG games.

~Brian
This version works with the shareware here as well.

I'm curious what the segfault during the opening animation is but that
only occurs with the full version?

Me too. I haven't had much of any luck hunting it down. I'll report it upstream in the next few days if I can't find a better fix than just disabling it.

Is it worth mentioning that the registered versions of the game data are
also available on steam as part of the apogee throwback pack and as
distinct titles (which seems to be from the 3d realms anthology which
was discontinued when interceptor entertainment/3d realms lost the
rights to duke nukem).

Sure. I think there is a functional limit to how many places/ways to obtain game data we list in the pkg/README but I don't think GOG and Steam is that limit.

Otherwise I'm ok with this.  Might be nice to put the binary in a libexec
dir and have a script in bin that runs the game with --data_dir
${LOCALBASE}/share/bstone or set the default data directory in the code
to something other than the current directory.

We can't ship the game binaries. Otherwise yes I'd prefer that too. It seems strange to me to force the user to install the game data to a particular directory if they don't have to, but if this is something that people want then sure I'm ok with it.


Of course, I mean game data here.

~Brian

Hopefully the pkg/README is clear that the --data_dir option exists and the user can use it. If not, I'm open to wording changes.

~Brian


Reply via email to