User Tools

Site Tools


proton_issues

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
proton_issues [2013/07/26 04:30] sethproton_issues [2018/07/28 12:32] (current) seth
Line 2: Line 2:
  
 === General === === General ===
-  * What version is it?  Currently, Proton is unversioned and users are expected to update svn at least weekly.  All updates are expected to work with existing projects with a minimum of hassle, the worst you should ever have to do is add a .cpp or two to your project. +  * What version is it?  Proton is unversioned and the only way to know what has changed or has been fixed is to look at the github historyInterfaces are not expected to change and no "breaking" changes should happen.
-  * RTPack.exe only available for Windows and Linux at the moment, this command line utility is for processing textures and fonts(Full source is in svn if you want to tweak it to compile for another platform.. OSX should be very easy)+
   * Samples and docs are, how shall we say, lacking.   * 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 - [[http://www.rtsoft.com/forums/showthread.php?4106-SetupAnimEntity-for-texture-mapping|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)   * 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 - [[http://www.rtsoft.com/forums/showthread.php?4106-SetupAnimEntity-for-texture-mapping|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)
 +  * A note about audio managers: AudioManagerFMODStudio works with the latest versions of FMOD, so use that instead of AudioManagerFMOD unless you're supporting old code.
  
  
 === Windows (supported) === === Windows (supported) ===
 +  * Audio systems supported on Windows:  Audiere (recommended), FMOD, FMODStudio, SDL (SDL_Mixer)
   * True fullscreen modes not supported, but window resizing and alt-enter to toggle a pseudo fullscreen is (stretches to full current resolution)   * 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), 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..)  It's possible to use SoftSurface in a console build. (RTPack does it
-  * If _CONSOLE is defined, can be used to create console only apps. (They also work in linux, good for writing a server..) +  * DirectX gamepads supported through GamepadManager 
-  * DirectX gamepads supported through GamepadManager (RTLooneyLadders has a usage example) +  * Define **RT_WIN_MULTITOUCH_SUPPORT** to support multi-touch input.  May need the [[http://www.microsoft.com/en-us/download/details.aspx?id=3138|Win 7 SDK]]
-  * Probably supports the iCade too, but untested +
-  * Define **RT_WIN_MULTITOUCH_SUPPORT** to support multi-touch input.  May need the [[http://www.microsoft.com/en-us/download/details.aspx?id=3138|Win 7 SDK]] and [[https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=18623|this hotfix]] for VC 2005.+
   * Define **RT_WIN_USE_APPDATA_SAVE_PATH** if you want Proton's GetSavePath() to return a unique user data path based on CSIDL_LOCAL_APPDATA instead of the current dir, which is the "correct way" for Win these days. Note, you should also add a **CreateDirectoryRecursively("", GetSavePath());** if you use this, as it returns a custom folder that might not exist, based on GetAppName()   * Define **RT_WIN_USE_APPDATA_SAVE_PATH** if you want Proton's GetSavePath() to return a unique user data path based on CSIDL_LOCAL_APPDATA instead of the current dir, which is the "correct way" for Win these days. Note, you should also add a **CreateDirectoryRecursively("", GetSavePath());** if you use this, as it returns a custom folder that might not exist, based on GetAppName()
  
 +=== Linux ===
 +
 +  * Basic support should be pretty close to what is supported on Windows. Some things missing, like gamapad support, copy & pasting
 +  * Uses SDL for graphics and input, SDL_mixer for sound.
 +  * The build system uses CMake. It's easy to start a new project, since there's a ''Proton.cmake'' module available that can be used. Just select the parts that are needed. See [[proton:linux_setup|Compiling the examples for Linux]], the examples' ''CMakeLists.txt'' files and the comments in the ''Proton.cmake'' file.
 +  * Console apps are possible with _CONSOLE defined. (see RTPack for an example of this)
 +  * GL ES acceleration works fine with latest Raspian on the Raspberry Pi as of July 28th 2018.  (I only tested with no window manager, just from full screen apps from the command line)
  
 === Mac OS X (supported) === === Mac OS X (supported) ===
   * The only audio system currently supported is FMOD.   * 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.   * 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   * Window rescaling/fullscreen toggle supported
-  * No gamepads supported+  * No gamepad supported
  
 === iOS (supported) === === iOS (supported) ===
Line 48: Line 52:
   * Tapjoy (ads and currency) and Hooked also supported   * Tapjoy (ads and currency) and Hooked also supported
  
-=== HP WebOS (supported)  ===+=== HP WebOS (deprecated .. not being supported anymore)  ===
   * Precompiled headers not setup, so compiling is slow   * Precompiled headers not setup, so compiling is slow
   * Vibration not supported yet, [[http://developer.palm.com/distribution/viewtopic.php?f=70&t=8779|not exposed in the 1.4.5 PDK]]   * Vibration not supported yet, [[http://developer.palm.com/distribution/viewtopic.php?f=70&t=8779|not exposed in the 1.4.5 PDK]]
Line 57: Line 61:
   * No longer being developed as webOS seems to be dead   * No longer being developed as webOS seems to be dead
  
-=== RIM/Playbook/BBX (supported) ===+=== RIM/Playbook/BBX (deprecated .. not being supported anymore) ===
   * Playbook supported.  Only RTBareBones and RTSimpleApp have example projects setup currently, they all require the QNX IDE the Playbook SDK comes with. I plan to support makefile only builds later.   * Playbook supported.  Only RTBareBones and RTSimpleApp have example projects setup currently, they all require the QNX IDE the Playbook SDK comes with. I plan to support makefile only builds later.
   * Doesn't support automatic orientation changes by tilting the device.   * Doesn't support automatic orientation changes by tilting the device.
Line 64: Line 68:
   * Warning: I've had reports that builds I did for the Playbook do not work on the Alpha BB10 devices.  Probably need to compile with the new SDK, dunno.  Need device for testing   * Warning: I've had reports that builds I did for the Playbook do not work on the Alpha BB10 devices.  Probably need to compile with the new SDK, dunno.  Need device for testing
  
-=== Linux === 
- 
-  * Basic support should be pretty close to what is supported on Windows. Some things missing, like gamapad support, copy&pasting, possibly something else too... 
-  * Uses SDL for graphics and input, SDL_mixer for sound. 
-  * The build system uses CMake. It's easy to start a new project, since there's a ''Proton.cmake'' module available that can be used. Just select the parts that are needed. See [[proton:linux_setup|Compiling the examples for Linux]], the examples' ''CMakeLists.txt'' files and the comments in the ''Proton.cmake'' file. 
-  * Console apps are possible with _CONSOLE defined. (no example of this currently) 
  
-=== State of the Irrlicht 3D module ===+=== State of the Irrlicht 3D module (deprecated .. not being supported anymore) ===
  
   * Based on 1.7.1 beta (GLES branch)   * Based on 1.7.1 beta (GLES branch)
Line 82: Line 80:
   * RTPhysics uses Irrlicht, IrrBullet and Bullet to show 3d physics.. the sample projects are only setup on Win and iPhone I believe.   * RTPhysics uses Irrlicht, IrrBullet and Bullet to show 3d physics.. the sample projects are only setup on Win and iPhone I believe.
  
-=== Flash ===+=== Flash (deprecated .. not being supported anymore) ===
  
   * All non-Irrlicht examples are now compiling and running in Flash - although actually the latest Flash player seems to break input slightly so clicks go to the wrong place, need to investigate and update to the latest SDK.  But isn't Flash dying now?  Not sure if it's worth the time.   * All non-Irrlicht examples are now compiling and running in Flash - although actually the latest Flash player seems to break input slightly so clicks go to the wrong place, need to investigate and update to the latest SDK.  But isn't Flash dying now?  Not sure if it's worth the time.
  
-=== NaCl or Html5 === +=== HTML5 === 
-  * Thinking about it +  * Works well on all popular browsersincluding on iOS and Android.
-  +
-=== Windows Phone 7 === +
-  * Only if they ever release a C++ capable NDK.  Switching to C# would be more of a rewritedon't want to do that.+
  
proton_issues.txt · Last modified: 2018/07/28 12:32 by seth