How do I use Irrlicht + XCode + iPhone SDK ??
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
Yea! it is soon, i have already sucessfully finished the application framework, the library projects and im just finishing up the examples, i am guessing it will be done by wednesday next week the latest.
I am tidying up a few of the things and adding some easier functionality for using the engine instead of faffing with obj c... so all the application specific messages that you need (applicationWillResignActive, ReceievedLowMemoryWarning, ApplicationWillQuit) they are all in the framework , so that you can just use cpp from the application instead
I will most definately be submitting it to Hybrid for submission into the svn as soon as the examples are working smoothly.
I am tidying up a few of the things and adding some easier functionality for using the engine instead of faffing with obj c... so all the application specific messages that you need (applicationWillResignActive, ReceievedLowMemoryWarning, ApplicationWillQuit) they are all in the framework , so that you can just use cpp from the application instead
I will most definately be submitting it to Hybrid for submission into the svn as soon as the examples are working smoothly.
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
Hello!
i just tryed to compile irrlicht with ogles and iphone device from sources under gles1 branch (svn). there are some issues like broken syntax in irriphonedevice headers so... is it in early "under construction" stages? If yes i can help to clean up things to make it work (or at least compile without obvious errors)
But the real question - how do you use this branch to make iPhone applications? do you use irriphonedevice or window intialization is not a part of irrlicht yet?
I`m using iphone-dev toolchain (llvm-gcc), not mac+xcode.
But the real question - how do you use this branch to make iPhone applications? do you use irriphonedevice or window intialization is not a part of irrlicht yet?
I`m using iphone-dev toolchain (llvm-gcc), not mac+xcode.
-
- Posts: 44
- Joined: Wed Dec 26, 2007 11:42 pm
Re: Hello!
I suspect that might be the source of your problems. I abandoned supporting the iphone-dev specific code a long while ago as it was a pita to keep the iphone-dev system going. But I also suspect that the recent trunk->ogles merge also broke some things (all the previous merges have).IPv6 wrote:I`m using iphone-dev toolchain (llvm-gcc), not mac+xcode.
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
Let me elaborate a little so there is clarity on what my goal was with this ..and my side is pretty much done now (just veryfying build integrity etc) .
Ease of use :
Irrlicht is inherently easy, its really easy to get a scene running and get things going. Xcode is inherently a pita, but it does help development for people who dont use mac for development. Our latest project at work led me down the iphone path and i found i quite enjoyed it but i found it was tedious at certain levels. grafikrobot took the "smarter" route by using a build system (i would also) but i wanted to make irrlicht a viable tool for iphone development.
The XCode projects :
The projects are not entirely broken, there are only a few actual issues. The problem lies in a few missing files here and there, some mac specifics being included for iphone (not needed stuff) and the new joystick stuff not being compatible properly (havent actually wondered why, i just removed it).
The new project file is cleaned up, and manageable, in the sense that you can drop down the target selector, and change between simulator / device and rebuild with one click. This is already achieved, and the lib build perfectly fine.
The examples and framework :
Being a c++ programmer and long term irrlicht user, i got frustrated with fighting objective c++ and wondering where my pointers were etc. To circumvent any future frustrations on the end users part, i wrote a really simple 3 tier applicatino framework that is targeted at every kind of user.
The c++ user (or, non iphone developer).
The objc/mac/iphone beginner
The iphone developer
The application framework exposes the majority of functions any user could want... such as operating system notifications for low memory, application pausing (via lock button) and other such obvious things. The application already exists and has an irrlichMain() instead of a normal main (tho it would higher up). Inside of that main, you can feel free to hack away at a normal c++ / irrlicht level, and it would just work. Instead of coding in the main function as many do, instead a made an init and a shutdown function, and a render function. The application framework takes care of those, and you only need to call things where appropriate.
The higher levels are aimed at people wanting to learn objc and iphone development. by tearing out the game.update () , and inserting their own code into the obvious places, you can leverage full objc capabilities and expose them lower down (in the c++ classes) or, you can use pure objc. The next level is obviously just the start of the wrapper, where the actual appDelegate and other iphone specifics reside, also giving the control to the developer at that application level.
The problems
At the moment, i have not managed to get the device to render inside the simulator (actually havent tried in a while) , but the only other obvious problem is in the input. I have not seen any input mapping (like touchesBegan etc) and i am busy ampping those downward into the application layers, as well as mapping them into the engine. The problem is actually that the application delegate receives the notifications, as well as the view (the EAGLView) is external. I have written an internal appdelegate which wont be in the first release, but im hoping when i release the second fix of this, it will have it all internally, where you can attach a second delegate to the engine, to receive the events, and the engine will take care of the event reciever classes. I would say the input mapping is about 60 % complete, as well as the internal classes for managing the iphone port.
This means when you create the device, you can specifiy EDT_IPHONE_OGLES1 and it will do what the other drivers do, handle everything internally.
The ETA of the first release
after delaying due to other things and whatever, i will commit to submitting the working project files, and the application to hybrid by wednesday. This will happen, no matter the state it is in (theres things i want to implement, like input mapping, fixing all the examples and making accelerometer control mapping etc etc) ... but still .
Wednesday 20 may, 6pm GMT += (dont hold a gun to me at 6 :10) but ill definately make sure hybrid has the working version by then. Im saying this here so that i will be compelled to MAKE time, cos we have been quite busy lately (for example, releasing our latest game and new website www.lumaarcade.com).
I will try my hardest! and hybrid can harass me on irc to get it to him
Cool!!! i`ll glad to beta-test new additions heavily! )
BTW, after a little hacking i successfully compiled irrlicht-based game with GLES for iPhone via iphone-dev toolchain. there is one strange thing (i think this is the main difference between xcode and iphone-dev toolchain): i commented out osx code to make it work. it seems that macosx code compiled with IPHONE device on purpuse, but with toolchain there is a lot of conflicts.
my app still crashing shortly after start with "Bus error"/"var-logs-CrashReporter" but compiled binary already works on iphone (at least i see my internal log messages in ssh console! ) and device creation and initialization works ok (i see internal Irrlicht log messages here as well).
so irrlicht+premake4+a little hacking=iphone win Mac and xCode is not necessary!
BTW, after a little hacking i successfully compiled irrlicht-based game with GLES for iPhone via iphone-dev toolchain. there is one strange thing (i think this is the main difference between xcode and iphone-dev toolchain): i commented out osx code to make it work. it seems that macosx code compiled with IPHONE device on purpuse, but with toolchain there is a lot of conflicts.
my app still crashing shortly after start with "Bus error"/"var-logs-CrashReporter" but compiled binary already works on iphone (at least i see my internal log messages in ssh console! ) and device creation and initialization works ok (i see internal Irrlicht log messages here as well).
so irrlicht+premake4+a little hacking=iphone win Mac and xCode is not necessary!
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
-
- Posts: 914
- Joined: Fri Aug 03, 2007 12:43 pm
- Location: South Africa
- Contact:
SIGH... so, for some reason the text isnt rendering and neither are the rendering of draw2dImage, so ill have to look into this later tonight.
The above picture is good news for some i got everything working great in the simulator as well now.
Ill get this up asap, iv been working at it for a while now.
-
- Posts: 15
- Joined: Fri Jun 29, 2007 11:47 am