Topic: Neverball ME (for Android)
As promised, here is the online source of the Neverball ME for Android port. Per parasti's request, the game is called Neverball ME, or Mobile Edition. It's also numbered, currently, at 1.0.3686, reflecting the fact that it pertains to trunk revision 3686.
The purpose of this thread is to discuss any bugs uncovered, issues experienced, or general suggestions on how to improve gameplay.
With regards to how much of the original Neverball code I modified, there's a few major areas:
1. PhysicsFS reads the game data files from the Android package itself. (The Android package is just a big zip file, and the game data assets are bundled inside it.) As a result, any read operation is modified to point to the Android package; any write operation just creates a directory on the removable SD card.
2. Language support exists, but it's a far cry from any standard C solution. The short story is that Android does not support libintl at all. I have basically created a hash table that puts the English source as a key, and the localized source as a value. This creates some problems for long strings, but is generally okay.
3. The GUI layout is different. For phones, due to the lack of space, I've removed the "Back" toggle. Android devices have their own dedicated back button, which works as the Escape key in this case. I've also gotten rid of some options like changing the screen resolution.
4. Some minor changes implemented for video.c. tilt_loop.c and tilt_wii.c have been removed from the compile chain.
Everything is hidden behind the ANDROID preprocessor instructions, so building for the desktop should remain unaffected. Basically what I do is diff against whatever is in trunk and try to resolve any new changes. I am hoping to get my Android *.c and *.h changes committed into the SVN, to minimize my false positives.
This port is far from being perfect, but it's quite playable. I am hoping to get more volunteers to test across a variety of devices, especially tablets. I've listed on the GitHub page current issues that I have experienced.