HurricanGame / Hurrican

Freeware jump and shoot game created by Poke53280, based on the Turrican game series by Manfred Trenz
62 stars 22 forks source link

Hurrican No music => SDL 2.28.4 SDL2_mixer 2.6.3 NULL ptr returned from MUSIC_LoadSong() loading song file #60

Closed MSHectorCM closed 11 months ago

MSHectorCM commented 11 months ago

Hello

Description

I'm running Hurrican on an odroid n2+ and I'm getting no music but I have sound_fx when running hurrican. When checking the error log I have this messages

NULL ptr returned from MUSIC_LoadSong() loading song file

Loaded texture bossbar

-> NULL ptr returned from MUSIC_LoadSong() loading song file ./data/music/credits.it

-> NULL ptr returned from MUSIC_LoadSong() loading song file ./data/music/stageclear.it

-> NULL ptr returned from MUSIC_LoadSong() loading song file ./data/music/gameover.it

-> NULL ptr returned from MUSIC_LoadSong() loading song file ./data/music/highscore.it Loaded texture console

Pls I think is related to not support latest SDL2_mixer version. PLs can you update to support it? thx

Platform

EMUELEC 4.7 (Release Candidate version non public) The platform used is odroid n2+ . Hurrican has been built using Ubuntu 22.04 WSL2 gcc 12.1, cmake 3.27.5, SDL 2.28.4 SDL2_mixer 2.6.3 Emuelec Toolchain for amlogic-ng

I used latest Hurrican commit https://github.com/HurricanGame/Hurrican/commit/18ecb8b702c7ddbb76a933f57c1048144dc6a42f

Log Files

Game_Log.txt

Music location.

image

Hurrican is ran from storage/roms/port/hurrican location

thx so much!!!

MSHectorCM commented 11 months ago

If need this is the compilation output

CLEAN hurrican

-- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /home/kelv/newz/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/toolchain/bin/aarch64-libreelec-linux-gnu-gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /home/kelv/newz/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/toolchain/bin/aarch64-libreelec-linux-gnu-g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- IPO supported by compiler, enabled for release builds -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found SDL2: /home/kelv/newz/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/toolchain/aarch64-libreelec-linux-gnu/sysroot/usr/lib/libSDL2.so -- Found SDL2_image: /home/kelv/newz/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/toolchain/aarch64-libreelec-linux-gnu/sysroot/usr/lib/libSDL2_image.so (found version "2.6.3") -- Found SDL2_mixer: /home/kelv/newz/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/toolchain/aarch64-libreelec-linux-gnu/sysroot/usr/lib/libSDL2_mixer.so (found version "2.6.3") -- Found LibEpoxy 1.5.10 -- Configuring done (47.1s) -- Generating done (0.0s) -- Build files have been written to: /home/kelv/newz/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/build/hurrican-18ecb8b702c7ddbb76a933f57c1048144dc6a42f Executing (target): ninja [184/184] Linking CXX executable hurrican

drfiemost commented 11 months ago

It seems that SDL2_mixer is missing the modplug support, did you compile it yourself? Alternatively you can use libopenmpt and build with -DOPENMPT=ON

MSHectorCM commented 11 months ago

thx @drfiemost for your replied.

I compiled it myself with --enable-music-mod-modplug support, so it's strange. I don't have libopenmpt in my system.

I wait for you.

drfiemost commented 11 months ago

Did you check in config.log that libmodplug has been correctly detected?

When Mix_LoadMUS returns NULL it means an error, but unfortunately there's no way to know the exact reason. As the wav files load correctly I suspect something's wrong with SDL2_mixer mod support.

MSHectorCM commented 11 months ago

@drfiemost I have only game_log Game_Log.txt

where is config.log located?

drfiemost commented 11 months ago

I mean the config.log for sdl2_mixer

MSHectorCM commented 11 months ago

Hello

Finally I develop a small app load the music files and I found that SDL" mixer was looking for a shared lib that was static. Now it's fixed :) thx!!