what are the effects of setting "m_TouchInterface" and "m_ConstrainedMemory"?
'm_TouchInterface' currently mainly increases the height of the dialog responses so that they are easier to select on a touch screen.
'm_ConstrainedMemory' disables caching of TrueType fonts to consume less memory. Probably no longer needed, it was an issue only on the old iOS devices with very limited memory.
what do "ShowStatusLine" and "HideStatusLine" script commands do?
On iOS the app can choose whether the status line (the top line displaying battery status, clock, operator etc.) is visible or not.
CBRenderSDL::Flip() and CBRenderSDL::SetViewport(int left, int top, int right, int bottom)
what kind of IOS or SDL "bug" is the workaround for?
Well, back then the screen rotation in SDL didn't work properly. I hacked it in, but viewports were terribly broken so I just didn't use them. This probably needs a revision.
what is the IOS specific tweak to BASS?
It's supposed to allow "audio ducking" (if other audio is on, it's smoothly silenced and the game audio crossfades in) and also sets a sound category that allows muting game audio with a hardware mute button. Now that you mention it, I think it the value should be 6, not 5:) Gotta fix that.
CBPlatform::Initialize(CBGame* inGame, int argc, char* argv)
what's the event watch, and why would I want it?
This is used to handle app deactivation (to autosave the game). Because of the way SDL events are handled, on iOS the app didn't receive the SDL_WINDOWEVENT_MINIMIZED event when the user deactivated the application, but only after the app's been restored. For that reason WME Lite registers this event watcher to receive the event in time. It might be fixed in the current version of SDL, I haven't tried.
what does the IOS specific code do?
You should enable this for Android too. Without this it's hard to press GUI buttons on a touch screen.
I don't get at all what CSXStore class is for
It allows in-app purchases using AppStore API. This is highly iOS specific. Even though Google Play supports in-app billing as well, I don't know if the APIs are similar enough to provide the same interface for WME scripts. Probably not.
BTW I would like to add my changes of the regular WME to WME lite. I have one pull request for you and one more to come. Could you have a look?
I don't see any pull request currently. I can grant you write access to the main repository, if you think it will make your life easier.
There's one thing (maybe specific to Android) which could be added somehow, if possible. Android can show an "Options" or "Menu" key if the App is set up appropriately. This could be used to display a menu or options window in wmelite (like in regular WME a window can be shown which overlays the game). Is that something that can be done?
Since there's no standard way of displaying an in-game menu in WME (it's completely under the developer's control), I think the best way would be to send some named event to Game object, and the game developers could handle the event as they see fit?