entdark / jaMME

Jedi Academy Movie Maker's Edition
GNU General Public License v2.0
17 stars 16 forks source link

Error on fresh install - macOS 10.12.6 #13

Closed ghost closed 7 years ago

ghost commented 7 years ago

Installed JKA from Steam. Added jaMME 1.9 from jkhub.org to gamedata (or on a mac in this case, it's the parent folder to base). I modified start_jaMME.sh to point to jaMME.

➜  ~ /Users/Anonymous/Library/Application\ Support/Steam/steamapps/common/Jedi\ Academy/SWJKJA.app/Contents/start_jaMME.sh ; exit;
LSOpenURLsWithRole() failed with error -10810 for the file /Users/Anonymous/Library/Application Support/Steam/steamapps/common/Jedi Academy/SWJKJA.app/Contents/jaMME.x86_64.app.
logout
Saving session...completed.

[Process completed]

That's what it returns.

Edit: I also tried it from ~/Library/Application Support/Jedi Academy. I don't know why I thought it might make a difference, but it turned out with the same error.

entdark commented 7 years ago

I was actually working on a new version. Could you tell if it works: https://www.dropbox.com/s/yc7fwl6elqyriiw/jamme-mac.zip?dl=1 Extract everything into "/Users/Anonymous/Library/Application Support/Steam/steamapps/common/Jedi Academy" and start jamme.app.

ghost commented 7 years ago

It didn't work, but I realized I was having the same trouble with OpenJK and I didn't used to have this problem with either. I decided to start the binary directly and it gave me a different error that lead me to install SDL2 with brew. Now, I'll facing this:

dyld: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2

Which I assume means that jamme isn't seeing the path correctly. I'll let you know what I come up with.

ghost commented 7 years ago

Messed with it some more. So as I said, I installed sdl2 brew install sdl2 and that got OpenJK working, but I'm still getting that same error for jaMME. Clearly there's a reference error of some sort. I'll post the error again, since that's still where I'm at.

dyld: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2

I guess I'll keeping messing around with symlinks and maybe I'll get lucky.

ghost commented 7 years ago

Hey, I think I solved this on my own. I had to get the framework manually and put it in /library/frameworks. That must be how jamme is checking for it.

http://www.libsdl.org/release/SDL2-2.0.5.dmg

Once I did that, I was able to execute jamme directly. jamme.app still doesn't launch, but that's ok. At least I can use it!

I'll also note, since your download above changed this, that it works whether or not rd-jamme_x86_64.dylib is in jamme.app/contents/macos or in ../base

It's not an ideal solution, but for me, it's fine. I'm happy, so I'll go ahead and close it.

entdark commented 7 years ago

It's great that it works.

I currently want to release a new jaMME 1.11 officially for all platforms including mac. And I want it work out of the box on mac as well.

So you are telling if I put rd-jamme_x86_64.dylib into jamme.app/Contents/MacOS then double-clicking on jamme.app starts fine? So I can distribute it as an archive with mme folder and jamme.app only then?

And yes, SDL2 has to be installed separately. I will make a note about it in the future distribution

ghost commented 7 years ago

I didn't get jamme.app to ever actually launch. When I succeeded, it was in launching the binary file directly at jamme.app/contents/macOS/jamme which worked fine with the dylib file in with it.

What's interesting to me, regarding sdl2, is that for OpenJK, the manually downloaded framework didn't make it work, but installing with brew did. With jamme, it was the opposite. The manually downloaded file was needed, but the brew installation didn't work. So to use both, I have to have both installed.

entdark commented 7 years ago

Is there any way to start jamme.app without launching the binary directly so the end users won't bother with terminal? Maybe put jamme binary in the game folder next to rd-jamme_x86_64.dylib and make some .sh or .command script? I tried different ways but failed. :(

ghost commented 7 years ago

Yes, I got it working. Put this build folder in your gamedata and run build.sh. You may have to chmod +x on a couple files. Literally just tested this and it's good. You may also want to modify the build.sh file or move whatever around for your own personal use.

build.zip

entdark commented 7 years ago

@BarryMode I could not make it work with what you gave, but I could make it work with following: jamme, rd-jamme_x86_64.dylib and start_jaMME.command files in GameData. content of start_jaMME.command is

cd `dirname $0` open jamme

Double-clicking on that command makes jamme to start. Could you tell if such a way works on your end?

ghost commented 7 years ago

Seems to work fine to do it that way. It certainly doesn't have to be a .app file.

Here's the built version that I came up with using the files above. The .app is such a simple file structure that you can literally just replace jaMME.app/Contents/MacOS/jamme with the new binary every time and that should be all you ever have to do to update it.

jaMME.app.zip

entdark commented 7 years ago

Why would I need to do that if I am going to distribute without .app then? Since .app is not needed and I am not able to make it work with .app anyways. So I will basically distribute jamme, rd-jamme_x86_64.dylib, start_jaMME.command and mme folder and it should work out of the box. Am I missing some point?

ghost commented 7 years ago

No, there's no point if you don't see one. The .app simply is the standard for MacOS, but it doesn't really matter. Makes no difference to me.