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
>
No comments:
Post a Comment