diff --git a/alienblaster/project/jni/application/src/video.cpp b/alienblaster/project/jni/application/src/video.cpp index f52e02a98..3c46acdfb 100644 --- a/alienblaster/project/jni/application/src/video.cpp +++ b/alienblaster/project/jni/application/src/video.cpp @@ -21,6 +21,7 @@ #include "SDL.h" #include #include "global.h" +#include "surfaceDB.h" #include using namespace std; @@ -67,6 +68,8 @@ SdlCompat_AcceleratedSurface *Video::init(){ SDL_ShowCursor(SDL_DISABLE); __android_log_print(ANDROID_LOG_INFO, "Alien Blaster", "Initializing video done"); + empty = surfaceDB.loadSurface(FN_ALIENBLASTER_INTRO); + return screen; } @@ -79,8 +82,9 @@ void Video::clearScreen() { r.y = 0; r.w = screen->w; r.h = screen->h; - */ SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0) ); + */ + SDL_BlitSurface(empty, NULL, screen, NULL); } void Video::toggleFullscreen() { diff --git a/alienblaster/project/jni/application/src/video.h b/alienblaster/project/jni/application/src/video.h index f7577aee1..f3328f57f 100644 --- a/alienblaster/project/jni/application/src/video.h +++ b/alienblaster/project/jni/application/src/video.h @@ -32,6 +32,7 @@ class Video { private: SdlCompat_AcceleratedSurface *screen; + SdlCompat_AcceleratedSurface *empty; public: Video(); diff --git a/alienblaster/project/jni/sdl/src/video/android/SDL_androidinput.c b/alienblaster/project/jni/sdl/src/video/android/SDL_androidinput.c index 68c1cca29..ec498fb2b 100644 --- a/alienblaster/project/jni/sdl/src/video/android/SDL_androidinput.c +++ b/alienblaster/project/jni/sdl/src/video/android/SDL_androidinput.c @@ -92,18 +92,11 @@ static void updateOrientation ( float accX, float accY, float accZ ) { // TODO: use accelerometer as joystick, make this configurable // Currenly it's used as cursor + KP7/KP9 keys - static const float dx = 0.1, dy = 0.1, dz = 0.1; + static const float dx = 0.04, dy = 0.1, dz = 0.1; static float midX = 0, midY = 0, midZ = 0; static int pressLeft = 0, pressRight = 0, pressUp = 0, pressDown = 0, pressR = 0, pressL = 0; - static int count = 0; - count++; - if(count > 30) - { - __android_log_print(ANDROID_LOG_INFO, "libSDL", "Accel: %-1.3f %-1.3f %-1.3f : %-1.3f %-1.3f %-1.3f", accX, accY, accZ, midX, midY, midZ); - } - if( accX < midX - dx ) { if( !pressLeft ) @@ -152,7 +145,7 @@ static void updateOrientation ( float accX, float accY, float accZ ) { //__android_log_print(ANDROID_LOG_INFO, "libSDL", "Accelerometer: press up, acc %f mid %f d %f", accY, midY, dy); pressUp = 1; - SDL_SendKeyboardKey( SDL_PRESSED, SDL_SCANCODE_UP ); + SDL_SendKeyboardKey( SDL_PRESSED, SDL_SCANCODE_DOWN ); } } else @@ -161,7 +154,7 @@ static void updateOrientation ( float accX, float accY, float accZ ) { //__android_log_print(ANDROID_LOG_INFO, "libSDL", "Accelerometer: release up, acc %f mid %f d %f", accY, midY, dy); pressUp = 0; - SDL_SendKeyboardKey( SDL_RELEASED, SDL_SCANCODE_UP ); + SDL_SendKeyboardKey( SDL_RELEASED, SDL_SCANCODE_DOWN ); } } if( accY < midY - dy*2 ) @@ -173,7 +166,7 @@ static void updateOrientation ( float accX, float accY, float accZ ) { //__android_log_print(ANDROID_LOG_INFO, "libSDL", "Accelerometer: press down, acc %f mid %f d %f", accY, midY, dy); pressDown = 1; - SDL_SendKeyboardKey( SDL_PRESSED, SDL_SCANCODE_DOWN ); + SDL_SendKeyboardKey( SDL_PRESSED, SDL_SCANCODE_UP ); } } else @@ -182,7 +175,7 @@ static void updateOrientation ( float accX, float accY, float accZ ) { //__android_log_print(ANDROID_LOG_INFO, "libSDL", "Accelerometer: release down, acc %f mid %f d %f", accY, midY, dy); pressDown = 0; - SDL_SendKeyboardKey( SDL_RELEASED, SDL_SCANCODE_DOWN ); + SDL_SendKeyboardKey( SDL_RELEASED, SDL_SCANCODE_UP ); } } if( accY > midY + dy*2 ) @@ -237,6 +230,12 @@ JAVA_EXPORT_NAME(AccelerometerReader_nativeAccelerometer) ( JNIEnv* env, jobjec float normal = sqrt(accPosX*accPosX+accPosY*accPosY+accPosZ*accPosZ); if(normal <= 0.0000001f) normal = 1.0f; + static int count = 0; + count++; + if(count > 50) + { + __android_log_print(ANDROID_LOG_INFO, "libSDL", "Accel: %-1.3f %-1.3f %-1.3f", accPosX/normal, accPosY/normal, accPosZ/normal); + } updateOrientation (accPosX/normal, accPosY/normal, 0.0f); } diff --git a/alienblaster/project/src/Accelerometer.java b/alienblaster/project/src/Accelerometer.java index 6ab1b4e78..6fa455f5b 100644 --- a/alienblaster/project/src/Accelerometer.java +++ b/alienblaster/project/src/Accelerometer.java @@ -48,12 +48,14 @@ class AccelerometerReader implements SensorListener { v[2] = values[2]; if (sensor == SensorManager.SENSOR_ACCELEROMETER) { + /* if( Globals.HorizontalOrientation ) { v[0] = values[2]; v[1] = values[1]; v[2] = values[0]; } + */ nativeAccelerometer(v[0], v[1], v[2]); } if (sensor == SensorManager.SENSOR_ORIENTATION) {