Page 1 of 1

Support for Leopard???

Posted: Tue Oct 16, 2007 9:51 am
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

Re: Support for Leopard???

Posted: Sun Oct 21, 2007 4:05 am
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.

Re: Support for Leopard???

Posted: Sun Oct 21, 2007 10:39 pm
by robbo007
ok thanks. Lets hope there is a demand.

Cheers,

Rob

Re: Support for Leopard???

Posted: Mon Oct 22, 2007 12:43 am
by Dominus
Lets hope there is a demand.
huh?
As Nadir wrote, it's unlikely, that Exult does not work right away with Leo...

Re: Support for Leopard???

Posted: Mon Oct 22, 2007 5:31 am
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.

Re: Support for Leopard???

Posted: Mon Oct 22, 2007 6:51 am
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.

Re: Support for Leopard???

Posted: Tue Oct 23, 2007 5:29 am
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!

Re: Support for Leopard???

Posted: Thu Oct 25, 2007 6:57 am
by mavvert
Just to let everyone know, exult works fine in Leopard :D

screenshot [600kB] here:
http://www.xs4all.nl/~mavvert/exult-leopard.png

Re: Support for Leopard???

Posted: Thu Oct 25, 2007 9:07 am
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.

Re: Support for Leopard???

Posted: Fri Oct 26, 2007 10:49 pm
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).

Re: Support for Leopard???

Posted: Sat Oct 27, 2007 2:13 am
by Dominus
ok, thanks for the report, now I know how bad the situation is :(

Re: Support for Leopard???

Posted: Sat Oct 27, 2007 3:13 pm
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

Re: Support for Leopard???

Posted: Sun Oct 28, 2007 4:34 am
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.

Re: Support for Leopard???

Posted: Sun Oct 28, 2007 1:45 pm
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.

Re: Support for Leopard???

Posted: Sun Oct 28, 2007 2:58 pm
by SB-X
I suggest version 1.2 be retired. :)

Re: Support for Leopard???

Posted: Mon Oct 29, 2007 9:30 am
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.

Re: Support for Leopard???

Posted: Mon Oct 29, 2007 10:45 am
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 :))

Re: Support for Leopard???

Posted: Sat Nov 10, 2007 6:20 pm
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.

Re: Support for Leopard???

Posted: Tue Nov 20, 2007 7:09 pm
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.

Re: Support for Leopard???

Posted: Fri Nov 23, 2007 8:31 am
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?

Re: Support for Leopard???

Posted: Fri Nov 23, 2007 4:59 pm
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

Re: Support for Leopard???

Posted: Fri Nov 23, 2007 5:00 pm
by Jolyon
I obviously meant to say "at an application, rather than a profile level". I blame my keyboard.

Re: Support for Leopard???

Posted: Fri Nov 23, 2007 5:01 pm
by Jolyon
Oh and the first bit of the sentence should be "to try this". Bloody hell. =/

Re: Support for Leopard???

Posted: Fri Nov 23, 2007 8:23 pm
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. :-)

Re: Support for Leopard???

Posted: Fri Nov 23, 2007 9:21 pm
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.

Re: Support for Leopard???

Posted: Sat Nov 24, 2007 10:16 am
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)

Re: Support for Leopard???

Posted: Sun Nov 25, 2007 10:31 pm
by Jolyon
^ Ah, thanks for that. Got it going eventually, but only after creating the environment.plist file as you suggested, unfortunately.

Re: Support for Leopard???

Posted: Sun Nov 25, 2007 11:00 pm
by Jolyon
Further investigation suggests that Info.plist not picking up the LD_LIBRARY_PATH environment variable is a security feature.

Re: Support for Leopard???

Posted: Tue Dec 18, 2007 10:37 am
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...

Re: Support for Leopard???

Posted: Tue Dec 18, 2007 10:47 pm
by Jolyon
Are you getting any specific error messages?

Re: Support for Leopard???

Posted: Sat Dec 22, 2007 11:08 pm
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?

Re: Support for Leopard???

Posted: Sun Dec 23, 2007 1:19 am
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.

Re: Support for Leopard???

Posted: Sun Dec 23, 2007 2:32 am
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?

Re: Support for Leopard???

Posted: Sun Dec 23, 2007 4:06 am
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.

Re: Support for Leopard???

Posted: Sun Dec 23, 2007 7:32 am
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!

Re: Support for Leopard???

Posted: Sun Dec 23, 2007 11:21 am
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.