[Scummvm-tracker] [ScummVM :: Bugs] #15310: STARK: Build failure in --disable-bink builds

ScummVM :: Bugs trac at scummvm.org
Wed Aug 7 20:27:49 UTC 2024


#15310: STARK: Build failure in --disable-bink builds
---------------------+------------------------------------
Reporter:  dwatteau  |      Owner:  (none)
    Type:  defect    |     Status:  new
Priority:  normal    |  Component:  Engine: Stark
 Version:            |   Keywords:  bink,build,binkdecoder
    Game:            |
---------------------+------------------------------------
 In current Git HEAD, the STARK engine appears to have a hard requirement
 on BinkDecoder:

 Reproducer:

 {{{
 nbproc=$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN
 2>/dev/null || echo 1)
 ./configure --disable-all-engines --disable-detection-full --enable-
 engine=stark --disable-bink
 make -j$nbproc engines/stark/libstark.a
 }}}

 Result:

 {{{
     C++      engines/stark/visual/smacker.o
 In file included from engines/stark/ui/world/fmvscreen.cpp:24:
 ./engines/stark/ui/world/fmvscreen.h:50:33: error: 'Path' in namespace
 'Common' does not name a type
    50 |         void play(const Common::Path &name);
       |                                 ^~~~
 engines/stark/ui/world/fmvscreen.cpp: In constructor
 'Stark::FMVScreen::FMVScreen(Stark::Gfx::Driver*, Stark::Cursor*)':
 engines/stark/ui/world/fmvscreen.cpp:43:43: error: invalid use of
 incomplete type 'class Video::BinkDecoder'
    43 |         _decoder = new Video::BinkDecoder();
       |                                           ^
 ./engines/stark/ui/world/fmvscreen.h:31:7: note: forward declaration of
 'class Video::BinkDecoder'
    31 | class BinkDecoder;
       |       ^~~~~~~~~~~
 engines/stark/ui/world/fmvscreen.cpp:44:17: error: invalid use of
 incomplete type 'class Video::BinkDecoder'
    44 |         _decoder->setSoundType(Audio::Mixer::kSFXSoundType);
       |                 ^~
 ./engines/stark/ui/world/fmvscreen.h:31:7: note: forward declaration of
 'class Video::BinkDecoder'
    31 | class BinkDecoder;
       |       ^~~~~~~~~~~
 engines/stark/ui/world/fmvscreen.cpp:44:46: error: incomplete type
 'Audio::Mixer' used in nested name specifier
    44 |         _decoder->setSoundType(Audio::Mixer::kSFXSoundType);
       |                                              ^~~~~~~~~~~~~
 engines/stark/ui/world/fmvscreen.cpp: In destructor 'virtual
 Stark::FMVScreen::~FMVScreen()':
 engines/stark/ui/world/fmvscreen.cpp:50:9: warning: possible problem
 detected in invocation of 'operator delete' [-Wdelete-incomplete]
    50 |         delete _decoder;
       |         ^~~~~~~~~~~~~~~
 engines/stark/ui/world/fmvscreen.cpp:50:16: warning: invalid use of
 incomplete type 'class Video::BinkDecoder'
    50 |         delete _decoder;
       |                ^~~~~~~~
 ./engines/stark/ui/world/fmvscreen.h:31:7: note: forward declaration of
 'class Video::BinkDecoder'
    31 | class BinkDecoder;
       |       ^~~~~~~~~~~

 [...]
 [truncated]
 }}}

 I can't say whether the game ''really'' requires it (and thus `bink`
 should just be added to `engines/stark/configure.engine`) or if some
 `#ifdef USE_BINK` could be used to disable the videos without too much
 gameplay impact.

 Hence why I'm not just fixing `configure.engine`, I'd rather ask :)
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15310>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list