Support for Leopard???

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
robbo007
Posts: 14
Joined: Thu May 14, 2020 1:34 pm

Support for Leopard???

Post by robbo007 »

Anyone know if Exult Mac will work under Leopard? I guess everyone like me is getting ready to upgrade to the latest OSX. Would be a shame if Exult does not work.

Thanks,

Rob
nadir
Site Admin
Posts: 407
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by nadir »

Even if it did not work (which is unlikely), whoever has the right tools (Leopard + compilers) can send us patches to bring it inline with the latest OSX.
robbo007
Posts: 14
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by robbo007 »

ok thanks. Lets hope there is a demand.

Cheers,

Rob
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

Lets hope there is a demand.
huh?
As Nadir wrote, it's unlikely, that Exult does not work right away with Leo...
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
mavvert

Re: Support for Leopard???

Post by mavvert »

I've just compiled exult 1.4.03cvs for intel macs, and so far it runs OK in MacOSX 10.4. As soon as i get my hands on leopard, i'll definitely try to compile a new binary. (if its needed of course, 1.4.03cvs (and even the ppc 10.3 binary) might work fine).

It needs more testers though, so if you have an Intel mac and want to help test the intel binary let me know.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

mavvert: I read this in the logs. What additional steps were necessary compared to what is written in README.MacOSX.
If possible I'd like to have that in "working" order so others can compile it as well.
Does the 1.2 version from our download page run at all on intel OSX 1.4?
Thanks.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
mavvert

Re: Support for Leopard???

Post by mavvert »

The cvs snapshot should compile if the instructions from README.MacOSX are followed. It took _me_ a long time though, but thats because i had some things (like the PATH var) set up wrong.
Also, some users might prefer Macports/Darwinports over Fink. (i know i do :p)

1.2 is quite difficult to compile on Intel MacOSX, but i think that is because you can't use gcc 3.3 to do it. Afaik, apple doesnt ship an intel compatible gcc3.3 compiler with Xcode 2.4.1.
I got it to compile eventually, but this involved using a GCC4 patch i found with google somewhere. I also had to remove all references in the code to mac_midi.cc/.h because that failed to compile.
The resulting binary works, but crashes sometimes with:

terminate called after throwing an instance of 'std::bad_alloc'
what(): St9bad_alloc
Abort trap

Not sure what this is about.

The CVS snapshot looks pretty stable, not a single crash so far.
Again, let me know if you want to test it!
mavvert

Re: Support for Leopard???

Post by mavvert »

Just to let everyone know, exult works fine in Leopard :D

screenshot [600kB] here:
http://www.xs4all.nl/~mavvert/exult-leopard.png
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

:) nice
Back to my question, I know it's a bit much to ask for, but could you test the 1.2 release version for OSX? I really mean the release not that you try to compile the 1.2 source.
Does it work at all, or what does not work? Music? SFX? AFAIK it is not an intel version but I'd like to know how Rosetta handles it.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
mavvert

Re: Support for Leopard???

Post by mavvert »

The 1.2 release (powerpc) doesn't work for me. It _does_ run, but:

1) It runs very slow, even the mouse cursor is slow.
2) The Music is very choppy, it skips a lot for me.
3) It crashes when its loading Ultima VII BG or SI :)
4) It uses a lot of CPU, whereas the Intel version barely uses CPU (except when using scalers ofcourse).
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

ok, thanks for the report, now I know how bad the situation is :(
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Colourless »

Can you please submit a source patch to the Patch Tracker http://sourceforge.net/tracker/?group_i ... tid=302335 so the changes you've made can be put into the source.

I'll see if I can get some official binaries compiled and put on the Download page under snaphots
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

I'll see if I can get some official binaries compiled and put on the Download page under snaphots
you are also on Mac now? Interesting :)

Anyway it'd be nice if mavert and you could figure a way out to fix the 1.2 compile so we could have a 1.2 version for Intel Macs.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Colourless »

I'd suggest a 1.4 version because 1.2 is kind of old and has problems. I have a Mac for work purposes but I don't use it particularly often.
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by SB-X »

I suggest version 1.2 be retired. :)
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by marzo »

I suggest version 1.2 be retired. :)
I, for one, couldn't agree more; I think it is time we did a new release.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

yup! We need some volunteers to play through the two games now with current CVS without Marzo's patches (and preferably someone to play through WITH Marzo's patches :))
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Madrak

Re: Support for Leopard???

Post by Madrak »

I spent today trying to compile the latest cvs snapshot on Leopard.

I failed. After conquering the demons of:
- Installing SDL via MacPorts, but autogen.sh complains about AM_PATH_SDL
(fix, edit autogen.sh, change /usr/local/... to /opt/local/...)
- Apple's use of glibtoolize instead of libtoolize
(fix, create a soft link)
- Verifying that my build environment was valid

I ran into this problem during the compile:

g++ -DHAVE_CONFIG_H -I. -I../.. -I./../../headers -I./../../conf -I./../.. -I./.. -I./../../files -I./../../imagewin -I./../../shapes -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -DMACOSX -O2 -Wno-long-long -I../../conf -I../../files -I../../objs -MT CoreAudioMidiDriver.lo -MD -MP -MF .deps/CoreAudioMidiDriver.Tpo -c CoreAudioMidiDriver.cpp -o CoreAudioMidiDriver.o
CoreAudioMidiDriver.cpp: In member function 'virtual int CoreAudioMidiDriver::open()':
CoreAudioMidiDriver.cpp:79: error: 'kAudioUnitComponentType' was not declared in this scope
CoreAudioMidiDriver.cpp:80: error: 'kAudioUnitSubType_MusicDevice' was not declared in this scope
CoreAudioMidiDriver.cpp:81: error: 'kAudioUnitID_DLSSynth' was not declared in this scope
CoreAudioMidiDriver.cpp:88: error: 'kAudioUnitSubType_Output' was not declared in this scope
make[4]: *** [CoreAudioMidiDriver.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


At this point I am lost. Just to check if it was me I booted into my external Tiger backup disk and did all the same steps. That compiled successfully and I am able to run the game. (Although the movement now seems kinda jerky compared to 1.2).

So, a bug? Or is the code not ready for whatever CoreAudio changes Apple has made with Leopard?

Thanks for listening.
Jolyon

Re: Support for Leopard???

Post by Jolyon »

I've submitted a patch for this, but if you want to DIY, add the following line to CoreAudioMidiDriver.cpp:

#include

I based my change on the following link: http://www.nabble.com/SDL-not-building- ... 97168.html.

caveat: I'm no C++ developer, but I'm reasonably good at figuring stuff out.
Madrak

Re: Support for Leopard???

Post by Madrak »

Jolyon, that worked great, I was able to compile it on my PPC and Intel laptops. Thanks!

Of course I couldn't stop at that success. Once I had it compiled I tried setting it to use only digital sound, but it didn't work. I got no sound at all.

Story time, in case anyone else runs into this issue.

I spent a couple of hours trying different configure options and environmental variables. The program complied the same each time. It worked, but no sound. Compiled with debugging too, that should it thought it was trying to start the sound system. Checking which libraries the binary was using (otool -L) showed the /opt/local/lib/libSDL* libraries were found.

Then I tried running it from terminal. That worked. Ah ha! A path issue then. Now how to get something like LD_LIBRARY_PATH to finder?

This was the extra annoying part. How to change the path that my login session was using. I remembered there was a way but couldn't get the question asked properly in Google. Nothing in /etc/ was helpful. I finally chanced across environment.plist. This file isn't created by default, but will be used by your login session if it exists in ~/.MacOSX.

So I created it, logged out and back in to make it take effect, and it Worked!

FYI, here is the copy of my environment.plist:





LD_LIBRARY_PATH
/opt/local/lib




On to my last major headache, why does the initial Exult screen get drawn 3x larger if I use point 3x for the renderer? Shouldn't it only changed the game screen?
Jolyon

Re: Support for Leopard???

Post by Jolyon »

I haven't had a chance to try thing, but isn't the LSEnvironment key in the plist.info file supposed to achieve something similar, but an application, rather than a profile level?

Link: http://developer.apple.com/documentatio ... 431-106825
Jolyon

Re: Support for Leopard???

Post by Jolyon »

I obviously meant to say "at an application, rather than a profile level". I blame my keyboard.
Jolyon

Re: Support for Leopard???

Post by Jolyon »

Oh and the first bit of the sentence should be "to try this". Bloody hell. =/
Madrak

Re: Support for Leopard???

Post by Madrak »

Interesting idea. I tried it but didn't have any luck with it.

I removed the .MacOSX directory logged out and back in, and added the following to the info.plist file in the Exult.app bundle (this will probably lose the spacing, but it was there...):

LSEnvironment

LD_LIBRARY_PATH
/opt/local/lib


Also tried DYLD_LIBRARY_PATH for kicks. No dice.

For now I'll stick with ~/.MacOSX/environment.plist. I think I've spent more time playing the compile, recompile, try to make it perfect then the actual game. Maybe tomorrow I'll finally get out of Trinsic. :-)
Jolyon

Re: Support for Leopard???

Post by Jolyon »

This is going to sound really silly, but how do I get digital music? I've got the music packs down and put them in my data directory. The exult.cfg has been changed to "point" to the right folder for music, but I don't get the option to change the driver to "digital". Xiph has been downloaded and installed as per the documentation page.
Madrak

Re: Support for Leopard???

Post by Madrak »

Here is how I got Digital Music working.

I downloaded the music packs (the .ogg files) and uncompressed them into data/music. I have tried modifying the exult.cfg file when I first started down this road, but it knows where the data directory is without being told (you can see this in /var/log/system.log on program start:

... [0x0-0x11e11e].Exult[2006]: Exult path settings:
... [0x0-0x11e11e].Exult[2006]: Data : data
... [0x0-0x11e11e].Exult[2006]: Digital music : data/music

So I guess you would only need to modify exult.cfg if you have moved data to another directory.

My steps were, start Exult, it will play the opening music using Midi. Start Black Gate and Journey Onward, Press ESC for the menu, select Audio Options. Here I set the Midi Driver to Disabled and Digital Music to Enabled. Save and quit.

When you restart Exult it should be using the ogg files for music now. You can easily test this by moving the music directory out of the path and starting Exult. The opening screen should be silent.

I ran into a problem with Mac Ports, /opt/local/lib wasn't in my library path from Finder. When I compiled Exult 1.4.03cvs it is able to find the libsdl and libsdl_mixer libraries, but not the ogg libraries they use, so the program works, I can choose Digital Music but nothing plays. Adding the .MacOSX/environment.plist fixed that for me.

BTW, I know that the FAQ says to install the xiph driver but I didn't and the sound is working. Now I do have Perin installed which has ogg support it seems, but as a test I removed the plugin and re-tried Exult, still working. So I would have to say that the compiled version will use the SDL libraries for ogg support rather then the plugins or frameworks.

Re-reading your question, the digital music selection is greyed out? Can you check which libraries you compiled Exult against? Here is my list:

$ otool -L Exult.app/Contents/MacOS/exult
Exult.app/Contents/MacOS/exult:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0)
/opt/local/lib/libSDL_mixer-1.2.0.dylib (compatibility version 3.0.0, current version 3.6.0)
/opt/local/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.1.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.0.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.0.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.1.0)
Jolyon

Re: Support for Leopard???

Post by Jolyon »

^ Ah, thanks for that. Got it going eventually, but only after creating the environment.plist file as you suggested, unfortunately.
Jolyon

Re: Support for Leopard???

Post by Jolyon »

Further investigation suggests that Info.plist not picking up the LD_LIBRARY_PATH environment variable is a security feature.
raster

Re: Support for Leopard???

Post by raster »

Any chance of a Mac (Intel/Leopard compatible) binary for the 1.4 branch? I haven't had much success compiling one so far...
Jolyon

Re: Support for Leopard???

Post by Jolyon »

Are you getting any specific error messages?
Doirad
Posts: 3
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Doirad »

I'm using Leopard (10.5.1) on a Mac Intel, Exult 1.2 with Ultima 7 Black Gate and the fx sound pack.

I put Exult in the ultima 7 folder. I setup the sound pack as explained in the doc: Put jmsfx.flx in the folder where is exult, and edited the exult config file (~/Library/Preferences/exult.cfg) to add in blackgage section

jmsfx.flx


All of that seems to work quite well and runs in 640*480 full screen or window mode, 2saï scaler, I even have the voices in my language working in the introdution (but not the other sounds of the introduction). I also have the sounds in the game and the music (but I set it off soon). The sounds seems fine and quite near to those I got from DOSBox except the bird sound that seems a little less good.

During the first tries of Exult I got some problems to get the fullscreen. Changing this setup in the Exult options before the game never worked. Set fullscreen here made Exult quit. But launch the game and in the game options change to fullscreen worked or worked after some tries.

I have Ultima 7 also running well in DOSBox but either the game is too fast either the mouse controls are unresponsive and very unpleasant.

All of that is cool but where is the version 1.4 mentioned in this thread? Is 1.2 in fact unadvisable and when will be released the 1.4 and for OSX?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

I think we DID establish in this thread that 1.2 is not advisable and does not work correctly. Currently you have to compile 1.4 for yourself OR ask one of the people who managed to compile it to either lend you a hand or a binary :)
Note, current CVS IS unstable.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Doirad
Posts: 3
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Doirad »

Ok thanks for the answer, I asked for the confirmation because the front page of exult says something totally different, it advises the 1.2.

Well compiling myself the 1.4, I doubt I'll do that because compilation tasks can become quickly a nightmare, in case I change my mind, where can I find this 1.4 version? Need use a CVS client, connect to the cvs, then search the tag 1.4 and get everything with this tag?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Dominus »

There is no 1.4 version of Exult and there never will be (when we release a new version it will likely be numbered 1.5). With 1.4 we just mean our current source in CVS.

The official current version still is 1.2, we just do not have a 1.2 release for Leopard (or more precise, no release for Intel Macs). If you want a current version, get the current CVS (or better get the CVS from before 2007-11-06, since then CVS has become a bit unstable) and compile that. There are instructions in CVS and people here are probably able to help you.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Thomas Decker

Re: Support for Leopard???

Post by Thomas Decker »

I don't know how to admit to this... er... some of us might not be that computer-literate... therefore it would be really swell if somebody who actually got this to work could post a snapshot someplace downloadable... I'd be eternally grateful!

Thanks a lot!
Doirad
Posts: 3
Joined: Thu May 14, 2020 1:34 pm

Re: Support for Leopard???

Post by Doirad »

Ok it's much more clear now, I have a Intel Mac With OS Leopard 10.5.1 and used the Exult 1.2 made for OS X 1.3.

I am playing on it and I have only one bug :
- Setup the fullscreen in the Exult options panel before the game is launched doesn't work. But it works fine in the panel in the game.

I don't have any problems that was mentioned by mavvert :
1) It runs very slow, even the mouse cursor is slow.
====> Smooth and fluid for me.

2) The Music is very choppy, it skips a lot for me.
====> Music works fine for me (but I didn't tried the

3) It crashes when its loading Ultima VII BG or SI :)
====> I runs fine U7 BG in French which is the only version I have (and I don't have SI nor any add-on)

4) It uses a lot of CPU, whereas the Intel version barely uses CPU (except when using scalers ofcourse).
=> I am using scaler (can't imagine play it without any) *2 the 2SaI scaler, in 640*480 With that :
* When I don't move, with ton of other stuff launched, firefox, the activity monitor, TextEdit, many windows of the Finder : 5% is used by the user, less than 1% by the system.
* When I run at max speed through the town or in houses with Snark and Solo in my party : I never succeed use more than 20% of the CPU, it's often around 16%. In fact it is using almost only one of the 4 processor I have, but even this processor isn't used at 100%, max is bellow 80% for this processor and almost 0% for the 3 other.

So well team, thanks a lot for Exult 1.2 and the OS X version, it runs fine for me on my Mac Intel, OS X 10.5.1. I couldn't play Ultima 7 without it.

About testing:
- I'm not a OS X/C+C++ dev, if you ever make Exult in Java then I'll be able to help. :-)
- I can only test Ultima 7 in French because I have only that.
- Testers not speaking very well english is a pain and I don't.

If I met any bug I'll put it here.
Locked