Platform recommendation?

Post Reply
kharadune
Posts: 2
Joined: Thu May 25, 2017 9:48 pm

Platform recommendation?

Post by kharadune » Thu May 25, 2017 10:12 pm

Hi everybody,

i am quite new to linux and open source (not new to programming) - and also a big fan of diablo 1 :-)

Thats why i keep trying since 2 weeks to get the freeablo engine to run, but somehow i am struggling which is why i created that article.

My platform: Intel Macbook 2013

My first attempt was to natively compile the freeablo srces on MacOsx which was failing due to serious problems in the inter-platform compatiblity of libfreetype which i could not resolve.

Next attempt was to try it in a linux-environment (in a Virtual Box-Ubuntu environment), where i brought freeablo to compile after a while - but not to run :-) . I had a lot of problems with libsdl2 and opengl, because somehow the rocketglue-code did not realize that opengl as well as libsdl2 are beeing setup properly and i always got the compilation error which i did not understand

Code: Select all

#if !(SDL_VIDEO_RENDER_OGL)
    #error "Only the opengl sdl backend is supported. To add support for others, see http://mdqinc.com/blog/2013/01/integrating-librocket-with-sdl-2/"
#endif
after patching this error manually (maybe not in the smartest way- i simply re-included the header with the proper defines, which was not found in the first place) i finally got a freeablo-binary -so close! but still not functional :(

Thats why i get now:

Code: Select all

./freeablo
failed to open  with error 22
i tried to figure out with what this error is related (maybe with my manual patching)? but i could not manage.

Questions i would like to raise at the moment are:

1. How should i have a 1.09 patched exe version ready in a linux environment?
2. Does the freeablo binary accept any arguments? if so, which ones? is there a manual how to feed this binary?
3. Is my manual patch in the rocket-glue code the root-cause of my problems?
4. To avoid further compilation-pain, which platform would you suggest to get the freeablo-engine to run in the easiest way?

Any help on this would be really appreciated, your project looks really nice and i hope i can contribute to some extents after i've gotten through all the mess with build-environments and compilation-errors :)

Best regards,

khara

User avatar
wheybags
Site Admin
Posts: 83
Joined: Thu Apr 24, 2014 9:01 pm
Location: Ireland

Re: Platform recommendation?

Post by wheybags » Thu May 25, 2017 11:15 pm

Ah, you just need to run the launcher (./launcher iirc?) to set up the paths to DIABDAT.MPQ and Diablo.exe.
However, it might not work great in virtualbox, as freeablo renders through opengl (iirc you can enable basic opengl support somehow, but it's buggy and slow).
Currently I am working towards a better system of dependencies using hunter: https://github.com/ruslo/hunter, which should make compiling a whole hell of a lot easier.
For now though, depressingly, the easiest platform is probably windows (https://github.com/wheybags/freeablo-windows-build), which should work fine.
I'm in the process of getting rid of librocket atm and replacing it with https://github.com/vurtun/nuklear

Are you looking to help out with development when you get set up? If so, there'll be a bunch of GUI work to do soon, remaking the UI in nuklear, which could possibly be a nice place to start.

As for how to get Diablo.exe, unfortunately the only way for now is to install and patch the game in windows :s (or wine).

kharadune
Posts: 2
Joined: Thu May 25, 2017 9:48 pm

Re: Platform recommendation?

Post by kharadune » Fri May 26, 2017 8:44 am

Hi Wheybags,

thanks a lot for your reply.

how exactly should i run the launcher? with which parameters?

Assumed workflow:

Code: Select all

./launcher (without any params)
./freeablo (without any params)
and thats it? If i would start with something i would probably start investing sometime into project documentation - for example to answer my questions above :) - potentially some adding some doxygen documentation into the main routines? I will read about that hunter project later on as well.
However, anything you would consider as useful we can of course discuss how to contribute (i may have something like 4 hours week of work i could spent.) Beside the GIT-Issues is there a list of open tasks which needs to be done?

So, would you recommend that i start working and setting up a environment on a windows machine? Is windows 7 fine? (I assume higher windows version might have problems as well)? Or should i setup a linux machine and make my way from here? If so, any recommendation about which linux etc?

Post Reply