Other Roguelikes > DiabloRL

Can't enable sound on Mac OS X 10.8

(1/2) > >>

So I'm on Mac, and I already have the original DIABDAT.MPQ file
However, it seems that changing the "sound" variable from "NONE" to "FMOD", "SDL" or "DEFAULT" will result in DiabloRL not being able to start up.
OR maybe it's a problem with the pathname format? I tried both POSIX and Windows.

A screenshot:

Kornel Kisielewicz:
Uh, forgot to mention it, sound MPQ decoding currently only works on Windows.

This is only due to the fact that I have too little OS X experience to try to compile StormLib on other systems. Technically they say it should work, but I didn't have a chance to test - http://www.zezula.net/en/mpq/download.html

A StormLib.dylib is needed in a place that DiabloRL can find it.

P.S. If someone manages to do that, I'd happily use his .dylib in the next version and provide full credit in the release and manual!

I could get sound partially working under archlinux:

- I installed stormlib via https://aur.archlinux.org/packages/stormlib/  (The PKGBUILD looks fairly standard, so it seems if you have the right dependencies installed - which are listed in the PKGBUILD - there are no problems compiling stormlib).
- In vstormlibrary.pas the constant 'StormDefaultPath' points to 'StormLib.so'. It should point to 'libstorm.so' instead. I "solved" this problem by symlinking 'libstorm.so' to 'StormLib.so' in /usr/lib. (didn't want to compile).

Now I get to the main menu of diablorl and have background music. However as soon as I do anything I get the following error (which seems sdl related, but I didn't have time to look into it):

--- Code: ---An unhandled exception occurred at $0000000000535479 :
EStreamError : Seek not implemented
  $0000000000535479 line 859 of src/rlui.pas
  $000000000059CB0F line 114 of ../fpcvalkyrie/src/vsdlsound.pas
  $000000000059854F line 182 of ../fpcvalkyrie/src/vsound.pas
  $0000000000534371 line 552 of src/rlui.pas
  $0000000000582C7C line 734 of ../fpcvalkyrie/src/vuielements.pas
  $00000000005833A4 line 793 of ../fpcvalkyrie/src/vuielements.pas
  $000000000056929A line 387 of ../fpcvalkyrie/src/vuielement.pas
  $000000000056956D line 442 of ../fpcvalkyrie/src/vuielement.pas
  $0000000000569552 line 442 of ../fpcvalkyrie/src/vuielement.pas
  $0000000000569552 line 442 of ../fpcvalkyrie/src/vuielement.pas
  $000000000057CA17 line 682 of ../fpcvalkyrie/src/vconui.pas
  $000000000058BF37 line 147 of ../fpcvalkyrie/src/vio.pas
  $000000000058BEA0 line 131 of ../fpcvalkyrie/src/vio.pas
  $00000000004687A8 line 78 of src/rlgame.pas
  $0000000000426210 line 50 of src/rl.pas

An unhandled exception occurred at $00007F6FEFBAD350 :
EAccessViolation : Access violation

--- End code ---

Kornel Kisielewicz:
Source build or binary package from website?

Edit: Nevermind - checked the sources. It is indeed an issue with SDL's version (windows uses FMOD), which means I should be able to easily reproduce it. It seems that contrary to FMOD, SDL output needs seeking to work properly, and the default MPQStreams that I made don't have that implemented -- however, it also seems that stormlib has seeking support so it should be a relatively minor change.

Is that stormlib binary in arch-linux linked to anything else? Could it serve as a general binary for later deployment?

I used the diablorl package (diablorl-linux-x64-050.tar.gz) from the website. I built stormlib from sources using the (inofficial) archlinux provided "script" which I linked to, called PKGBUILD.
The forum didn't let me attach the resulting 'libstorm.so', so I uploaded it at http://www1.datafilehost.com/d/2b427487.
On the technical side I would expect that you can bundle it. The PKGBUILD lists bzip2 and zlib as dependencies. So it might link to those libraries. I don't know enough about the cmake system to give you a definitive answer on possible dependencies. There might be licencing issues as well.

Archlinux installed libstorm.so in /usr/lib. But it also works for me if I put "libstorm.so" in the diablorl directory and set the "LD_LIBRARY_PATH" accordingly.  (i.e. "export LD_LIBRARY_PATH="./" && ./rl")

Instructions if you want to build libstorm.so for yourself (without archlinux build system):
- download and unzip stormlib.zip.
- cd into "StormLib".
- "cmake -DCMAKE_BUILD_TYPE=Release"
- "make".

This is basically the same that the PKGBUILD does. If it doesn't work, check whether bzip2 and zlib are installed. I am willing to provide help if it still doesn't work.


[0] Message Index

[#] Next page

Go to full version