Why file suffix .xnb_? (Hints for CSTW)
rfht opened this issue · comments
After my success with Duck Game, I tried to run Cthulhu Saves the World on OpenBSD. mono XnaToFna.exe
runs fine (after adjusting the FNA.dll.config), and I notice that it recodes the video/music files. However, when trying to start, I get:
[ERROR] FATAL UNHANDLED EXCEPTION: Microsoft.Xna.Framework.Content.ContentLoadException: Could not load asset Movies/CSTW_intro2! Error: The content file was not found. ---> Microsoft.Xna.Framework.Content.ContentLoadException: The content file was not found. ---> System.IO.FileNotFoundException: Could not find file
"/home/thfr/games/fna/xnatofna/cthulhu_saves_the_world/Cthulhu Saves the World/Content/Movies/CSTW_intro2.xnb"
and a 'find . -iname "*_" shows a few dozen files in Movies
and Music
directories with the xnb_
suffix.
Is it supposed to be like this? Am I missing something here?
It seems like CSTW comes with .wma
and .wmv
files, which FNA can't deal with. XnaToFna thus tries to use ffmpeg
to convert them to Ogg Vorbis (audio) / Ogg Theora (video) files. To prevent any further conflicts with the .wma
/ .wmv
files, it renames the outdated meta *.xnb
files to *.xnb_
Due to licensing reasons, you need to have ffmpeg installed on your system and the binary in your $PATH
Is ffmpeg installed on your system?
Ah, right - I didn't really know what the .xnb
files were for to begin with.
ffmpeg is installed and it converts all the .wma
files properly. Only the intro .wmv
is missing, and logging XnaToFna.exe output to a file shows why:
Unknown encoder 'libtheora'
libtheora-1.1.1 is actually installed. Not sure why it doesn't find it, but I'm gonna test just manually converting that file...
Works after manually converting CSTW_intro2.wmv
(and mv Content/Portrait/Paws/{p,P}aws_Happy.xnb
):
https://bsd.network/@thfr/99433977940436882
Does the game run a little sluggish on Linux, too?
... now I started buying games off @flibitijibibo's list of XNA games on steam out of curiosity...