iOS / iPhone / iPad

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
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

Success!!!
Seems my problem was that the mod folders confused the app somehow.
Then I stumbled again over http://sourceforge.net/p/exult/bugs/1709/ :)

After renaming my mixed cases Static folder to STATIC BG worked somewhat, crashed on after the red moongate :( (I think there are some more mixed cases that don't sit well with case sensitive iOS).

Serpent Isle worked though :))))

http://imageshack.us/photo/my-images/20/z2nc.jpg/
--
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!
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Lanica »

Woohoo! beautiful! ;)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

He he unless you turn on "doubleclick closes gump" you are trapped in the version screen ;)

Obviously needs landscape mode and ipad mode.
Movement is awkward IMHO. I guess it should be touch->pathfind to, similar to what we have with right-click pathfind.
On the ipad a gamepad overlay could work, too.
And we need our own keyboard with special keys etc... ;)
--
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!
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Lanica »

Yes, lots of tweaking needed. I'm working on making some progress on the SDL2.0 arena...then I can circle back to this. However, anyone can work on the iphone portion while I do that, since we're going the route of the slow incremental ifdef SDL2.0 change!
Lanica
Site Admin
Posts: 140
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Lanica »

Tried to compile with SDL2....made some fixes, but get a bunch of undefined references that seem to be related to the SDL2 library itself....
Miguel

Re: iOS / iPhone / iPad

Post by Miguel »

Guys, you are really sound!
I hope you make it as it's the best game ever and the iPad looks like the perfect device to play with it ;)
Jay Erskine

Re: iOS / iPhone / iPad

Post by Jay Erskine »

I hope this comes to pass!
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

I made a patch for the cross compile problem with the tools/data stuff
http://pastie.org/8543388

With this patch you can cross compile but you will need to build for your computer first and keep the binaries of "tools/expack" and "usecode/ucxt/head2data", put them somehwere save and use
export EXPACK=pathto/expack
export HEAD2DATA=pathto/head2data


EDIT: Patch added to trunk (slightly changed)
--
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!
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

Could someone help with some instructions for Xcode 5/Mavericks/iOS7? I'm a developer, but not very familiar with command line tools unfortunately... and I just can't get this to compile with that config...

Here's the first problem I'm running into... everything before here looks good.

cd files ; make ; cd ..
make: *** No targets specified and no makefile found. Stop.

If I try the ./configure --with (snip) command, and change iOS 6.0 to 7.0 (because I don't have the 6 SDK installed), I just keep getting errors in config.log where it can't find llvm-gcc... which makes sense since it's not included with Mavericks/XCode 6 anymore, and should use clang... sigh... out of my command line league here though.

Could anyone provide any guidance? :-)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

You need to use configure but you also need to edit configure.ac to not set llvm.
I'll try later if it compiles at all these days, because Lanicas attempt to port to SDL2 might have jinxed 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!
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

just committed the configure fixes, so the correct way to compile for iOS is

- via MacPorts (or whatever else you use normally) install libogg, libvorbis, libsdl2 (the 2 is important) (sudo port install libogg etc...)

Code: Select all

# Get latest code
svn co https://svn.code.sf.net/p/exult/code/exult/trunk exult-test
cd exult-test

# Get libs required for hardware (SDL + vorbis) and extract
# URL for libs: https://www.box.com/shared/tnzfscos85qspgiv3soy
tar -xzvf iphone-hardware-libs.tar.gz -C ~

#Then compile Exult for your Mac platform via (in terminal):
./autogen.sh
./configure
make -j9
cp ./tools/expack ~/iphone-hardware-libs/
cp ./usecode/ucxt/head2data ~/iphone-hardware-libs

# set expack and head2data native binaries
export EXPACK=~/iphone-hardware-libs/expack
export HEAD2DATA=~/iphone-hardware-libs/head2data

# Configure for iOS build
./configure --disable-tools --with-iphone-sdk=iPhoneOS7.0 --with-sdl-prefix="${HOME}/iphone-hardware-libs/SDL" OGG_LIBS="-L${HOME}/iphone-hardware-libs/vorbis/lib -lvorbis -lm -lvorbisfile -logg" OGG_CFLAGS="-I${HOME}/iphone-hardware-libs/vorbis/include" CPPFLAGS="-I${HOME}/iphone-hardware-libs/vorbis/include" --host=arm-apple-darwin11 

# cleaning and compiling
make clean
make -j9

# bundle everything up
make iosbundle

# Fix-up the Info.plist file in the bundle (refers to Simulator instead of OS ... also needs to be based upon options the user provides on the configure line)
# NOTE: your.cert.exult below to match whatever is valid for your provisioning profile
cat Info-ios.plist | sed "s/Simulator/OS/g;s/simulator/os/g" > Exult.app/Info.plist | sed "s/net.sf.exult/com.ayeapp.exult/g" > Exult.app/Info.plist

# Get the Exult ios config and put it in place
# URL for exult-ios.cfg: https://www.box.com/shared/9l7vdzqeacpe8bco8gty
cp -a exult-ios.cfg Exult.app/exult.cfg

# Put game data in place
mkdir Exult.app/game

# NOTE: ~/.exult/blackgate/ should be a place where you have the BlackGate original content files
# make sure your file/fodler names are not mixed cases, either all uppercase or lowercase (not Static but STATIC or static)
rsync -auv  ~/.exult/blackgate/ Exult.app/game/blackgate/

# NOTE: ~/.exult/serpentisle/ should be a place where you have the Serpent Isle original content files
# make sure your file/fodler names are not mixed cases, either all uppercase or lowercase (not Static but STATIC or static)
rsync -auv ~/.exult/serpentisle/ Exult.app/game/serpentisle/

# Sign the app -- replace "Your Name" below with whatever you have for your cert
codesign -f -s "Your Name" Exult.app

# Put it on the device
Connect your device to your mac
Open Xcode
Open Organizer (via menu Window->Organizer)
Drag the Exult.app file from finder to your device in the Organizer
Status seems to show up only if you have a project in the background. If you receive no error, you should be good...go launch it on your device.

# Launch it!
Just touch it!
I've just now tested it as far as finishing the compile and that worked.


Edit:added make iosbundle
--
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!
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

Thank you! But... I'm still running into a problem. I got to running ./configure, but get this error at the end:
./configure: line 17793: syntax error near unexpected token `$SDL_VERSION,'
./configure: line 17793: `AM_PATH_SDL($SDL_VERSION,'

then when I run make -j9, obviously, I get: "make: *** No targets specified and no makefile found. Stop.".

Here's my config.log file:
http://pastebin.com/A4UFgUD2

Thoughts?
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

Edit: And, yes, I did install libsdl2. :-)

MacBook-Pro:exult jbellanca$ sudo port install libsdl2

---> Fetching archive for libsdl2
---> Attempting to fetch libsdl2-2.0.1_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/libsdl2
---> Attempting to fetch libsdl2-2.0.1_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/libsdl2
---> Installing libsdl2 @2.0.1_0
---> Activating libsdl2 @2.0.1_0
---> Cleaning libsdl2
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

Edit 2: Probably also should have said that ./autogen.sh throws an error as well. :-)

MacBook-Pro:exult-test jbellanca$ ./autogen.sh
configure.ac:355: warning: macro 'AM_PATH_SDL' not found in library
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:50: installing './config.guess'
configure.ac:50: installing './config.sub'
configure.ac:53: installing './install-sh'
configure.ac:53: installing './missing'
configure.ac:355: error: possibly undefined macro: AM_PATH_SDL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
You are now ready to run ./configure
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

OK, so I just realized this machine has an almost fresh Mavericks install... and that I never installed automake... So, after doing that, I got past the above errors.

But, make -j9 now gives an error:
In file included from exult.cc:38:
/opt/local/include/SDL/SDL_syswm.h:58:10: fatal error: 'X11/Xlib.h' file not found
#include

See:
http://pastebin.com/adBisU7V
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

Hope I'm not driving you crazy yet... Apparently in Mavericks, X11 has moved. Tried reinstalling Command Line tools, and that didn't do the trick. So the following command will make a symlink where it's looking for it find X11 so it'll find it:

ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11

So far, so good. But, next problem... make -j9 for iOS errors:


Making all in data
make[2]: *** No rule to make target `/Users/jbellanca/iphone-hardware-libs/expack', needed by `exult.flx'. Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

OK, so I just cleaned everything up and started from scratch, since I'd had so many issues. This time, the Mac version runs fine, then got to the iOS make command, and it seems like it worked fine... but it created an executable, rather than an Exult.app bundle. If I try to run the executable file (to test to make sure it didn't re-build the Mac version or something), I get:

-bash: /Users/jbellanca/Downloads/exult/exult-test/exult: Bad CPU type in executable

Which is good that it seems to be building the iOS/ARM version, but bad that it didn't create the .app bundle, no Info-ios.plist file, etc.

Here's the results from ./configure to make -j9 for iOS:
http://pastebin.com/J98phsG5

Any ideas?
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

And.... I found "make iosbundle" from the post higher up... and it worked. :-)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

;)
yeah, forgot, the make iosbundle command...

Macports has a strict migrating policy when upgrading to a new major OS X version = > basically install everything again...
--
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!
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

And, wow. It works. I'm impressed! Thank you so much!!!
jbellanca
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by jbellanca »

So, after playing around. Agree with the comments that movement is awkward. Pathfinding would be nice, or even just holding your finger on the screen in the direction you want to go, centered around the center of the screen. Obviously landscape & iPad version. Maybe a tap-hold on an object to pick it up (like a left-click would normally do). But, nice work!
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

Wow! You made it! ;)
Good job following all those weird instructions all over the place... I'm glad that it still works.
And yes, it does need much more love to be playable ;(
--
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!
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

Btw, anything else you needed to tinker with or wasn't too clear in the instructions (besides make iosbundle)? Just to have at least good enough instructions... ;)
--
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!
Miguel Angel

Re: iOS / iPhone / iPad

Post by Miguel Angel »

Thank you very much again for all of you who are trying to do this fantastic game (and Exult) playable on iOS :)

Kindest regards.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

--
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!
Cobalt

Re: iOS / iPhone / iPad

Post by Cobalt »

Thanks for that Dominus. I'm actually going to tinker with it tonight. I've been dying to try it out on an iPad.
ZygonDragon

Re: iOS / iPhone / iPad

Post by ZygonDragon »

Dominus,
Is you post from 01-07-14 22:48 still the correct way to compile and install Exult for iOS? Or has it changed?
Thanks,
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

It has changed.
Read that article


Edit: sorry, had very little time when I first answered.

Compiling for iOS has changed a lot.
- most important, the new and much improved ios code is a fork of our code athttps://github.com/litchie/exult-ios
- clone that git repository
- connect your i device with the mac
- go to the ios folder in that clone, and double click the xcode project file (exult.xcodeproj) -> xcode will launch
- chose your i device on the top of the project and hit the play button.

Everything should just compile now and put the app on your device.
It will then display that the game files cannot be found.

- Exit the app, kill it in the app switcher, hit the stop button in xcode.
- put the games in a folder called game on your hard drive, make sure all files and folders are lower case.
- open itunes, in the app section of your idevice, go to file sharing and select the exult app.
- drag and drop the game folder into the exult file sharing part in itunes.
- launch exult on your i device ;)
--
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!
andwan0
Posts: 10
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by andwan0 »

Does anyone have a ready-made built binary?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

Yes, but you either need to have a developer account with Apple or you need to contact me with your device's udid and I can provision your device to work with my built...
--
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!
Thatguy

Re: iOS / iPhone / iPad

Post by Thatguy »

Hey! Starting with Xcode 7 in the fall no developer account needed to load free/opensource apps! Exult for all.

http://9to5mac.com/2015/06/10/xcode-7-a ... ore-384369
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: iOS / iPhone / iPad

Post by Dominus »

Actually, I have read that free developers can already download Xcode7 beta and do that NOW. Haven't confirmed this yet.
You will need OS X for that, so I'd say not everybody can do that yet ;)
(And of those ten users who contacted me about testing Exult on their device, I think, only one is using OS X)
--
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!
Thatguy

Re: iOS / iPhone / iPad

Post by Thatguy »

Fair enough Dominus that it only directly helps Mac owners. With luck maybe it will lead to mechanisms, direct or indirect, to extend the same ability to the larger population of windows or other OS users. It is also technically not as easy as downloading from the App Store, so there is a difficulty there as well.
Locked