Merge branch 'sdl_android' of github.com:pelya/commandergenius into sdl_android

This commit is contained in:
Gerhard Stein
2013-01-20 09:02:22 +01:00
8 changed files with 40 additions and 51 deletions

View File

@@ -1,10 +1,14 @@
Known bugs
==========
Known bugs (see also todo.txt)
==============================
- Stylus input is broken in Cyanogenmod 10.1 and in stock JellyBean Samsung ROM.
- With 4:3 screen aspect ratio the on-screen buttons are not shown on the inactive part of screen.
- Put video at the center of the screen with 4:3 aspect ratio option
- SdlVideoResizeKeepAspect=y in AndroidAppSettings.cfg does no work
- Calling SDL_SetVideoMode() with SDL 1.3 several times makes it crash.
- Calling SDL_Init()/SDL_Quit() several times will make SDL 1.2 crash.
@@ -14,25 +18,3 @@ Known bugs
- 32-bpp color mode does not work with SW video surface, 24-bpp and 32-bpp mode does not work with SDL_HWSURFACE.
- Option SdlVideoResizeKeepAspect has no effect
Requested features
==================
- Perform a check for free space available on SD card before writing there, and write to the internal storage if SD card is unplugged.
- Split Settings.java into several files
- Show/hide screen controls with longpress on Text Edit button.
- Support of libjnigraphics (it will disable on-screen keyboard, only SW SDL screen surface supported)
- Floating on-screen joystick - initially invisible, it appears when you touch the screen,
centered on your finger, then it slides with your finger if you bump the joystick edge.
- Export phone vibrator to SDL - interface is available in SDL 1.3
- Control screen brightness with SDL_SetGamma()
- Zoom in-out whole screen in SW mode with some SDL key -
much like the "On-screen magnifying glass" feature (lazy porter's golden hammer)

View File

@@ -108,10 +108,9 @@ abstract class DifferentTouchInput
multiTouchAvailable2 = true;
}
try {
System.out.println("Device model: " + android.os.Build.MODEL);
if( android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH )
{
if(android.os.Build.MODEL.equals("GT-N7000") || android.os.Build.MODEL.equals("SGH-I717"))
return GalaxyNoteIcsTouchInput.Holder.sInstance;
return IcsTouchInput.Holder.sInstance;
}
if( android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD )
@@ -345,8 +344,8 @@ abstract class DifferentTouchInput
}
public void process(final MotionEvent event)
{
boolean hwMouseEvent = ( event.getSource() == InputDevice.SOURCE_MOUSE ||
event.getSource() == InputDevice.SOURCE_STYLUS ||
boolean hwMouseEvent = ( (event.getSource() & InputDevice.SOURCE_MOUSE) == InputDevice.SOURCE_MOUSE ||
(event.getSource() & InputDevice.SOURCE_STYLUS) == InputDevice.SOURCE_STYLUS ||
(event.getMetaState() & KeyEvent.FLAG_TRACKING) != 0 ); // Hack to recognize Galaxy Note Gingerbread stylus
if( ExternalMouseDetected != hwMouseEvent )
{
@@ -422,20 +421,6 @@ abstract class DifferentTouchInput
super.processGenericEvent(event);
}
}
private static class GalaxyNoteIcsTouchInput extends IcsTouchInput
{
private static class Holder
{
private static final GalaxyNoteIcsTouchInput sInstance = new GalaxyNoteIcsTouchInput();
}
public void process(final MotionEvent event)
{
// HACK for Galaxy Note stylus, which pushes the cursor to the lower-right part of the screen, when you lift the stylus.
// Also it reports the stylus as the mouse
if(! (event.getSource() == InputDevice.SOURCE_MOUSE && (int)event.getX() == 0 && (int)event.getY() == 799))
super.process(event);
}
}
}

View File

@@ -37,9 +37,9 @@ HiddenMenuOptions='OptionalDownloadConfig'
FirstStartMenuOptions=''
MultiABI=n
AppMinimumRAM=0
AppVersionCode=12324
AppVersionName="1.2.3.24"
ResetSdlConfigForThisVersion=y
AppVersionCode=12325
AppVersionName="1.2.3.25"
ResetSdlConfigForThisVersion=n
DeleteFilesOnUpgrade="%"
CompiledLibraries="jpeg png freetype timidity lzma lzo2"
CustomBuildScript=y

View File

@@ -1,5 +1,7 @@
Quick compilation guide:
Download my GIT repo from https://github.com/pelya/commandergenius,
Install liblzma-dev, it's needed for configure script
sudo apt-get install liblzma-dev
Download my Git repo from https://github.com/pelya/commandergenius,
then install Android SDK, Android NDK, and "ant" tool, then launch commands
rm project/jni/application/src
ln -s openttd project/jni/application/src

View File

@@ -1,2 +1,22 @@
I'm not planning any more games to port, or any development on this SDL port.
See bugs.txt if you want to contribute.
Requested features (see also bugs.txt)
======================================
- Option for default on-screen key theme in AndroidAppSettings.cfg.
- Select between normal mouse input and magnifying glass/relative input automatically, based on screen size.
- Split Settings.java into several files.
- Show/hide screen controls with longpress on Text Edit button.
- Floating on-screen joystick - initially invisible, it appears when you touch the screen,
centered on your finger, then it slides with your finger if you bump the joystick edge.
- Export phone vibrator to SDL - interface is available in SDL 1.3.
- Control screen brightness with SDL_SetGamma().
- Zoom in-out whole screen in SW mode with some SDL key or gesture, as in AndroidVNC. -
- Support of libjnigraphics (it will disable on-screen keyboard, only SW SDL screen surface supported).
This is not relevant already, as every device around is fast enough with GL.