Compiling irrlicht ogl-es branch for iphone (progress)

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
frankneeew
Posts: 4
Joined: Wed Aug 04, 2010 11:56 pm

could you tell me please where to find rockfish patch?

Post by frankneeew »

Garfinkle wrote:The template is now online at

http://iphonedevelopmentblog.co.uk/IrrlichtTemplate.zip (70mb approx)

This version will run on both device and simulator.

When running on device make sure you set the paramater

#define RUNNING_ON_DEVICE 0

to

#define RUNNING_ON_DEVICE 1

and vice versa when you are running on simulator.

You will also need to set your code-signing certificates when running on a device.


You should not have to do any other configuration to get this working.

Let me know if you have any problems.


could you tell me please where to find rockfish patch for the version 1.7 ?? rockfish patch own 1.5 files i must dowload the old release and patch it ???
Garfinkle
Posts: 36
Joined: Wed Jul 07, 2010 11:35 am
Location: Manchester, UK

Re: could you tell me please where to find rockfish patch?

Post by Garfinkle »

frankneeew wrote:
could you tell me please where to find rockfish patch for the version 1.7 ?? rockfish patch own 1.5 files i must dowload the old release and patch it ???
There is no exact patch by rockfish for 1.7 (that i know of). I posted a link to a project I found on google where someone has modified some of the files to make it work with 1.7, so you have to use their files.

My template above includes the compiled binaries and header files that you would use in your project. The binaries have the fixed rockfish files included so unless you need to make changes to the irrlicht source (and recompile) then you can just pull the .a files and required header files out of my template.

Edit: files for the patch were found http://code.google.com/p/mahiruno-beta/ ... icht/?r=26

you may need a few files from http://code.google.com/p/mahiruno-beta/ ... es/include

note quite sure though.
pmtolk
Posts: 8
Joined: Fri Jul 30, 2010 3:51 am

Post by pmtolk »

1st Thank you so much that is an awesome template!

to get it to compile I had to change the header library search path to the current directory.

Then I got an error about IrrlichtTemplate/source/game.h:47: error: ISO C++ forbids declaration of 'ITouchControl' with no type
IrrlichtTemplate/source/game.h:47: error: expected ';' before '*' token

So I had to comment that line out.

Then I got a linking error for CMMotionManager so I had to change the
#define RUNNING_ON_DEVICE 1 to 0
and also switch to release for the build.

NOW I get a Program received signal: “EXC_BAD_ACCESS”.
on line 76 of Application.mm
device = createDeviceEx((const SIrrlichtCreationParameters)params);
????
Garfinkle
Posts: 36
Joined: Wed Jul 07, 2010 11:35 am
Location: Manchester, UK

Post by Garfinkle »

Whoops my bad... I forgot to add a folder to the package.

You need the modified header files for the irrlicht engine, which was the folder the library reference was pointing too.

Give me a second to upload it :D
Garfinkle
Posts: 36
Joined: Wed Jul 07, 2010 11:35 am
Location: Manchester, UK

Post by Garfinkle »

Download the following zip file.

http://iphonedevelopmentblog.co.uk/IrrlichtEngine.zip (size: 762kb)

This contains the new header files.

Everything should now compile.

The CoreMotion system requires iOS4.0 or upwards, if you are building for an older OS just leave

#define RUNNING_ON_DEVICE 0

as it is.

That parameter is just to disable the CoreMotion system when running in the simulator.

Also make sure you have the iOS4.x SDK, which is probably the main reason CoreMotion is failing as the framework will not be on the system.
Garfinkle
Posts: 36
Joined: Wed Jul 07, 2010 11:35 am
Location: Manchester, UK

Post by Garfinkle »

Just to clarify or make things easier to follow.

Download Template and compiled Libraries.

http://iphonedevelopmentblog.co.uk/IrrlichtTemplate.zip

and the Irrlicht Engine header Files (updated and patched)

http://iphonedevelopmentblog.co.uk/IrrlichtEngine.zip

Extract the contents of IrrlichtTemplate to your projects folder

example: /Users/<yourname>/Projects/IrrlichtTemplate

Extract the contents of IrrlichtEngine to your projects folders (this means you don't need to update your library search paths etc)

example: /Users/<yourname>/Projects/IrrlichtEngine.


If running on simulator leave RUNNING_ON_DEVICE set to 0 in game.mm. If running on device (and you have iPhone SDK 4.0) set RUNNING_ON_DEVICE to 1.

so

// on simulator or no iOS 4.x SDK
#define RUNNING_ON_DEVICE 0

// on device with iOS SDK 4.x
#define RUNNING_ON_DEVICE 1

*NOTE* if running on a device do not forget to set your code signing certificate -> Double click on IrrlichTemplate in targets section on left hand side, set code signing in build options :D

that is all you need to do to get the template running.

Quick breakdown of features.

* Ready to run on Device and Simulator
* Integrated Touch Controls
* Integrated Bullet Physics Wrapper
* Integrated Rude Tweaker (allows live modification of values)
* Basic Skybox added to scene so you can see it is working
* Debug physics mode toggleable via single parameter (draw wireframes around all physics objects.
* Pre-compiled irrlicht (1.7) library files so no extra work is needed to get started
* Preset basic game structure with code laid out for updating physics, updating camera, drawing
* Preset Time values for maintaining animations during framerate changes
* Event Handler class integrated into Game.mm and linked as responder for the device.
* Sample code demonstrating setting physics world up preset in Game.mm
* Sample code demonstrating RudeTweaker preset in Game.mm
* vector3df to btVector3 conversion functions integrated into Game.mm to allow easier interaction between Bullet and Irrlicht
* quick function to get a btRigidBody's position in vector3df -> getV3Pos(rigidBody) integrated in Game.mm

Hope this helps everyone get started :D
frankneeew
Posts: 4
Joined: Wed Aug 04, 2010 11:56 pm

coordinates

Post by frankneeew »

Garfinkle wrote:Just to clarify or make things easier to follow.

Download Template and compiled Libraries.

http://iphonedevelopmentblog.co.uk/IrrlichtTemplate.zip

and the Irrlicht Engine header Files (updated and patched)

http://iphonedevelopmentblog.co.uk/IrrlichtEngine.zip

Extract the contents of IrrlichtTemplate to your projects folder

example: /Users/<yourname>/Projects/IrrlichtTemplate

Extract the contents of IrrlichtEngine to your projects folders (this means you don't need to update your library search paths etc)

example: /Users/<yourname>/Projects/IrrlichtEngine.


If running on simulator leave RUNNING_ON_DEVICE set to 0 in game.mm. If running on device (and you have iPhone SDK 4.0) set RUNNING_ON_DEVICE to 1.

so

// on simulator or no iOS 4.x SDK
#define RUNNING_ON_DEVICE 0

// on device with iOS SDK 4.x
#define RUNNING_ON_DEVICE 1

*NOTE* if running on a device do not forget to set your code signing certificate -> Double click on IrrlichTemplate in targets section on left hand side, set code signing in build options :D

that is all you need to do to get the template running.

Quick breakdown of features.

* Ready to run on Device and Simulator
* Integrated Touch Controls
* Integrated Bullet Physics Wrapper
* Integrated Rude Tweaker (allows live modification of values)
* Basic Skybox added to scene so you can see it is working
* Debug physics mode toggleable via single parameter (draw wireframes around all physics objects.
* Pre-compiled irrlicht (1.7) library files so no extra work is needed to get started
* Preset basic game structure with code laid out for updating physics, updating camera, drawing
* Preset Time values for maintaining animations during framerate changes
* Event Handler class integrated into Game.mm and linked as responder for the device.
* Sample code demonstrating setting physics world up preset in Game.mm
* Sample code demonstrating RudeTweaker preset in Game.mm
* vector3df to btVector3 conversion functions integrated into Game.mm to allow easier interaction between Bullet and Irrlicht
* quick function to get a btRigidBody's position in vector3df -> getV3Pos(rigidBody) integrated in Game.mm

Hope this helps everyone get started :D

everything work but with this implementation i can get the coordinates of the touch?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

I hope so, too :) So far, I was always pretty confused about the OSX/iPhone parts. The SW emulator libs for the other systems (namely Linux and Windows so far) were so much easier to use. This is partially due to my complete lack of knowledge with XCode, too. But I'd like to clean up the iPhone parts in Irrlicht and merge down the ogl-es drivers to trunk for the next Irrlicht release. So any support is strongly appreciated.
frankneeew
Posts: 4
Joined: Wed Aug 04, 2010 11:56 pm

coords

Post by frankneeew »

hybrid wrote:I hope so, too :) So far, I was always pretty confused about the OSX/iPhone parts. The SW emulator libs for the other systems (namely Linux and Windows so far) were so much easier to use. This is partially due to my complete lack of knowledge with XCode, too. But I'd like to clean up the iPhone parts in Irrlicht and merge down the ogl-es drivers to trunk for the next Irrlicht release. So any support is strongly appreciated.
i m getting it with event.MouseInput.X or Y it seem to work..
Garfinkle
Posts: 36
Joined: Wed Jul 07, 2010 11:35 am
Location: Manchester, UK

Post by Garfinkle »

hybrid wrote:I hope so, too :) So far, I was always pretty confused about the OSX/iPhone parts. The SW emulator libs for the other systems (namely Linux and Windows so far) were so much easier to use. This is partially due to my complete lack of knowledge with XCode, too. But I'd like to clean up the iPhone parts in Irrlicht and merge down the ogl-es drivers to trunk for the next Irrlicht release. So any support is strongly appreciated.
I'ld love to help where possible. However my skills are still extremely limited so somethings may be harder for me to help with. I'm quite proud of the iPhone template I created as I worked on making it as easy to use as possible, And as creating this template may make me seem quite skilled, I'm still at a newbie level :)

Learning pretty quick though so give me a shout if you need any help with the next opengles branch.
FSkyline
Posts: 5
Joined: Sat Feb 27, 2010 11:25 pm

Post by FSkyline »

¡¡FABULOUST WORK!!

One quickly question, is this template comtabile with other telephones? I'm want to develop on the Samsung Wave. Could this template works with de Bada OS IDE? It wolud be GREAT!!!

Again.....¡¡¡FABULOUS WORK!!!
Garfinkle
Posts: 36
Joined: Wed Jul 07, 2010 11:35 am
Location: Manchester, UK

Post by Garfinkle »

This template is iPhone only as it is written in Objective-C and compiled using the iPhone architecture.

You would most likely need to compile from scratch for bada but couldn't give any advice on that as I never used it
anchor
Posts: 9
Joined: Thu Jun 25, 2009 2:57 pm
Location: Hungary

Post by anchor »

you can merge the simulator lib, and the device lib with the lipo command.
(lipo -create libsim.a libdev.a -output libuni.a)

(alas this is not working with the debug/release lib versions)
paupawsan
Posts: 2
Joined: Wed Aug 25, 2010 3:25 pm

Can not compile in debug mode

Post by paupawsan »

Garfinkle wrote:Just to clarify or make things easier to follow.

Download Template and compiled Libraries.

http://iphonedevelopmentblog.co.uk/IrrlichtTemplate.zip

and the Irrlicht Engine header Files (updated and patched)

http://iphonedevelopmentblog.co.uk/IrrlichtEngine.zip

Extract the contents of IrrlichtTemplate to your projects folder

example: /Users/<yourname>/Projects/IrrlichtTemplate

Extract the contents of IrrlichtEngine to your projects folders (this means you don't need to update your library search paths etc)

example: /Users/<yourname>/Projects/IrrlichtEngine.


If running on simulator leave RUNNING_ON_DEVICE set to 0 in game.mm. If running on device (and you have iPhone SDK 4.0) set RUNNING_ON_DEVICE to 1.

so

// on simulator or no iOS 4.x SDK
#define RUNNING_ON_DEVICE 0

// on device with iOS SDK 4.x
#define RUNNING_ON_DEVICE 1

*NOTE* if running on a device do not forget to set your code signing certificate -> Double click on IrrlichTemplate in targets section on left hand side, set code signing in build options :D

that is all you need to do to get the template running.

Quick breakdown of features.

* Ready to run on Device and Simulator
* Integrated Touch Controls
* Integrated Bullet Physics Wrapper
* Integrated Rude Tweaker (allows live modification of values)
* Basic Skybox added to scene so you can see it is working
* Debug physics mode toggleable via single parameter (draw wireframes around all physics objects.
* Pre-compiled irrlicht (1.7) library files so no extra work is needed to get started
* Preset basic game structure with code laid out for updating physics, updating camera, drawing
* Preset Time values for maintaining animations during framerate changes
* Event Handler class integrated into Game.mm and linked as responder for the device.
* Sample code demonstrating setting physics world up preset in Game.mm
* Sample code demonstrating RudeTweaker preset in Game.mm
* vector3df to btVector3 conversion functions integrated into Game.mm to allow easier interaction between Bullet and Irrlicht
* quick function to get a btRigidBody's position in vector3df -> getV3Pos(rigidBody) integrated in Game.mm

Hope this helps everyone get started :D
Hi Garfinkle,

Could you guide me to compile in debug mode, or if you also provide the precompiled binary for debug mode.

So far it can compile in release mode for both simulator and device.

Thanks in advance,
itx
Posts: 9
Joined: Thu Aug 10, 2006 12:46 pm

Post by itx »

Garfinkle TNX ALOT for this build ;) work perfect on iOS 3.2 and 4.0!!!

paupawsan - just set "Header Search Paths" in the Debug configuration to same values as in Release configuration

P.S. For build 3.2 version need to comment #import <CoreMotion/CoreMotion.h> line in IrrlichtTemplateAppDelegate.h
Post Reply