User Tools

Site Tools


This is an old revision of the document!

Proton SDK issues and gotchas


  • Is it beta or not? It's used in commercial products on most of its supported platforms, so, yeah. I don't use version #'s yet, the latest version is just whatever is on the svn. So a bit.. volatile but ready for commercial use for the daring.
  • RTPack.exe only available for Windows at the moment, this utility is for processing textures and fonts. This is the main reason why I recommend primary development be on a windows machine for now. It could be ported to other platforms but would be a hassle, it needs Clanlib and PVRTools. (Full source is in svn if you want to try your hand at a port… (tools/RTPack))
  • Samples and docs are, how shall we say, lacking.
  • Proton internally shares all Surfaces/SurfaceAnims that use the same filename, including grid settings if it is broken up into an anim. This could be a problem if you want to use a surface with multiple grid settings or want to dynamically modify a surface for only one instance - a work around is explained here. (If you aren't using SurfaceOverlay components or the ResourceManager() to get your surfaces, you won't be affected)

Windows (supported)

  • True fullscreen modes not supported, but window resizing and alt-enter to toggle a pseudo fullscreen is (stretches to full current resolution)
  • Supports three audio systems, Audiere (default) and FMOD and SDL_Audio (SDL_Audio only tested with WebOS builds).
  • If _CONSOLE is defined, can be used to create console only apps. (They also work in linux, good for writing a server..)

Mac OS X (supported)

  • The only audio system currently supported is FMOD.
  • CocosDenshion should also work for audio in theory but I've only set it up for iOS so far.
  • PPC compiling not supported, not planning on adding it either as the Mac App Store won't even accept universal binaries that include it.
  • 64 bit builds might have issues, I'd stick to 32 bit for now.
  • Window rescaling/fullscreen toggle supported

iOS (supported)

  • iPod Touch/iPhone/iPhone 3GS/iPhone4/iPad fully supported.
  • Supports three audio targets, AudioManagerDenshion (Recommended), AudioManagerOS (simpler) and AudioManagerFMOD (more powerful, can play midi/mod etc.. but FMOD isn't free for commercial use)
  • Only plays .wav and .mp3 formats when using AudioManagerOS and AudioManagerDenshion.

Android (supported)

  • Precompiled headers not setup, so compiling is slow
  • Multi-touch automatically enabled on newer devices, but keep in mind some screen HW like Nexus Ones don't support “real” multi-touch and may appear buggy.
  • Only plays .wav and .ogg audio formats
  • 2D Particle system is slow, the iOS version uses point sprites but they didn't work on Android so it's using a fallback method at the moment. Will change to use the global texture batcher at some point.
  • Doesn't support automatic orientation changes by tilting the device.
  • If a header changes, you should run rebuild.bat, the ant ndk build system doesn't detect it. If you get weird crashes for no reason, this may be why.
  • glClipPlane is ignored on a G1 and horribly slow on an Nexus One, avoid. (Avoid RenderClipComponent, it will give a warning if run under android)
  • Proton works uses the latest android sdk and ndk (r6) - can be made to work with crystax ndk versions as well
  • I have built in support for TapJoy as well as in-app-purchase via the Android Market system written (via AdManager and IAPManager), but it's not quite ready for prime time.. but ask in the forums if you're interested in that.

HP WebOS (supported)

  • Precompiled headers not setup, so compiling is slow
  • Vibration not supported yet, not exposed in the 1.4.5 PDK
  • Uses AudioManagerSDL for audio, the PDK requires us to.
  • Doesn't support automatic orientation changes by tilting the device.
  • Touchpad supported. Define FORCE_IPHONE_SIZE if you want the Touchpad to use emulation mode and zoom up a 480×320 app itself

RIM/Playbook/BBX (supported)

  • Playbook supported. Only RTBareBones and RTSimpleApp have example projects setup currently.
  • Doesn't support automatic orientation changes by tilting the device.
  • Note: Playbook supports only 4 touches at once


  • Partially supported - Proton can compile console linux apps, but not graphical ones. _CONSOLE must be defined.

State of the Irrlicht 3D module

  • Based on 1.7.1 beta (GLES branch)
  • The Irrlicht 3D example (RT3DApp) (as well as RTPhysics) isn't setup for OSX, or WebOS yet, only Win, iOS, and Android. In theory is should run fine, just need to setup projects and include the right files.
  • Irrlicht has GLES 2.X support (?) but until Proton SDK adds GLES 2.X support it can't be used
  • Irrlicht doesn't properly reload its textures after resizing the screen under Windows. It works under Android so it should be doable…
  • You CAN use Irrlicht's internal GUI if you want, but the examples don't. To do it, add all the their .cpp files to your project, and define _IRR_COMPILE_WITH_GUI_


  • Not yet available. Someone send Seth some devices and he'll do his best to add it as a target.

Windows Phone 7

  • NDK coming soon? If so, maybe…
proton_issues.1322461470.txt.gz · Last modified: 2011/11/28 06:24 by seth