Apple restored my faith in them

We all remember the fuzz Apple created back in April when they decided to dictate which programming language (and/or libraries, although that part can be interpreted either way) every iPhone developer had to use. I wrote a short blog post about that, read it here.

But here are the good news: Yeah, FreePascal iPhone applications are now allowed in the App Store (as they were before the April-change). All other programming language are allowed as well.

See for yourself:
http://www.apple.com/pr/library/2010/09/09statement.html
http://codeclimber.net.nz/archive/2010/09/09/Apple-relaxing-SDK-license-agreement-MonoTouch-and-Flash-officially-allowed.aspx

This step Apple did calls for a bit of celebration (I’m kidding, well… kinda…) and then I will be announcing my first FreePascal iPhone game soon. (Currently I’m working on an Objective-C iPhone game, but the one after that will be a Pascal iPhone game.)

After the April-change I wasn’t really sure if was going to support Apple further (by that I mean renewing my developer account next year and buying new Apple products), but things might have just changed now.

And of course I will be making the second part of my video tutorial series about SDL and FreePascal for the iPhone.

Read More

About FreePascal, SDL and the iPhone…

There are a lot of angry blog posts and speculations about Apple’s changed terms of service for iPhone OS 4 out there which seems to ultimately affect FreePascal and Lazarus. I originally planned to release a new video tutorial this weekend covering the following topics:

  • Using Lazarus and Laz iPhone Extension to create your iPhone game
  • Use XCode to build and test your iPhone game on the real device
  • More advanced applications with FreePascal + SDL: Display sprites, how to use touch inputs and accelerometer
  • I’m putting this video on hold for now. But if you wish information on the points just described or care about my personal opinion, please contact me directly.

    Read More

    Simple iPhone example using FreePascal and SDL

    I’ve made a quick how-to on how to set up a simple iPhone example using FreePascal and SDL and run it with the iPhone simulator.

    Please watch in HD. There are englisch and german subtitles available on Youtube.
    Video Link on Youtube: http://www.youtube.com/watch?v=Hm4UIPl1GqA
    Video Link on Vimeo: http://www.vimeo.com/9522466

    The example source code can be downloaded here: http://www.freeze-dev.de/files/SDLiPhoneFPC_Colors.zip

    The SDL 1.3 iPhone header I provide in this example is still incomplete and at best Alpha.

    Also I’m using ElysionLogger from the Elysion Frameworks Subversion repository to create a HTML log file in the directory of the application bundle. If you don’t any log files to be created, delete ElysionLogger from the uses clause and any calls that begin with TelLogger.getInstance.

    Update
    If you rather develop with Lazarus, you might want to try this project file, which allows you to install the application on the iPhone Simulator right out of the Lazarus IDE. You need Lazarus 0.9.29 and the iPhone Laz Extension (http://wiki.freepascal.org/iPhone_Laz_Extension).
    http://www.freeze-dev.de/files/SDLiPhoneLaz_Colors.zip

    Read More

    Elysion Frameworks: Structural changes

    As for now, the different branches of the Elysion Frameworks consisted of just one single unit (e.g. ElysionLegacy.pas), but this is gonna change (or already has changed but is not commited to the SVN repository).
    Why is this change necessary?
    - I got to the point of nearly having ~150 kB code in one unit. It got a bit difficult to manage to say the least
    - I’m in the progess of adding Irrlicht as a backend and found me in desperate need of an abstraction layer. The defines alone just won’t cut it.

    elysionunits

    Elysion Frameworks = This is just an example for an unit (ElysionKronos, ElysionLegacy, ElysionMobile)
    ElysionTypes = Basic types like TelPoint, TelVertex and so on
    ElysionInterfaces = Contains abstract interfaces
    ElysionMath = Arithmethical functions for basic types, espacially for older Delphi versions (earlier than Delphi 2005), but can also be used to combine TelPoint with TelVertex or an array of TelRGBColor
    ElysionClasses = Basic classes like TelObject, TelLogger and so on

    The backends can also be combined for example using SDL_mixer with Irrlicht graphics engine or using SDL graphics backend with IrrKlang.

    Read More

    Irrlicht for (Free)Pascal: Progress

    I wasn’t actually thinking I would continue my Irrlicht port since it was kinda just an experiment. But hey, I’ve updated IrrlichtWrapper to Irrlicht 1.6 and got it working on a Mac.

    irrpasmacos

    I’ve just registered this as a project on sourceforge: http://sourceforge.net/projects/irrlichtpas/
    Feel free to check out the source code on SVN.

    Btw: I’m in the progress of adding Irrlicht as a backend for the Elysion Frameworks.

    Read More