Created attachment 201706 [details] opensonic.diff src/core/audio.c:146:22: error: incomplete definition of type 'struct LOGG_Stream' music->stream->loop = (loop >= INFINITY); /* "gambiarra", because LOGG lacks features */ ~~~~~~~~~~~~~^ /usr/local/include/logg.h:33:16: note: forward declaration of 'struct LOGG_Stream' typedef struct LOGG_Stream LOGG_Stream; ^ src/core/audio.c:160:55: error: incomplete definition of type 'struct LOGG_Stream' char *filename = str_dup(current_music->stream->filename); ~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/logg.h:33:16: note: forward declaration of 'struct LOGG_Stream' typedef struct LOGG_Stream LOGG_Stream; ^ Full log at: https://people.freebsd.org/~tobik/logs/opensonic-0.1.4_4.log LOGG_Stream has been made opaque and Opensonic makes use of private variables. This blocks the Allegro 4.4.3 update. If there is no solution I think we are going to have to mark it as broken.
Created attachment 201791 [details] opensonic.diff I preserved Allegro 4.4.2's liblogg in a separate repository and we can get the port to build that way. However it does not run: FATAL ERROR: no sprites have been found. Please reinstall the game. Is the game functional or is this cause by the update to Allegro 4.4.3?
(In reply to Tobias Kortkamp from comment #1) > However it does not run: > > FATAL ERROR: no sprites have been found. Please reinstall the game. > > Is the game functional or is this cause by the update to Allegro 4.4.3? No, it also does not work with Allegro 4.4.2.
Created attachment 201792 [details] opensonic.diff It works if I go to /usr/local/share/opensonic first and then ./opensonic, so let's add a proper start script too.
A commit references this bug: Author: tobik Date: Mon Feb 18 11:39:09 UTC 2019 New revision: 493257 URL: https://svnweb.freebsd.org/changeset/ports/493257 Log: games/opensonic: Prepare for Allegro 4.4.3, add wrapper script - struct LOGG in liblogg from Allegro 4.4.3 was made opaque. Opensonic directly manipulates it however. Integrate liblogg from Allegro 4.4.2 to preserve this port. - Add a wrapper script so that opensonic can find its data files when you run 'opensonic' or start it from your desktop PR: 235478 Submitted by: tobik Approved by: devel@stasyan.com (maintainer timeout, 2 weeks) Changes: head/games/opensonic/Makefile head/games/opensonic/distinfo head/games/opensonic/files/opensonic.in head/games/opensonic/files/patch-CMakeLists.txt head/games/opensonic/files/patch-src_core_audio.c