From 10f1178f0bfeb8e8a97f8af843579588853b10a5 Mon Sep 17 00:00:00 2001 From: pelya Date: Mon, 6 Sep 2010 13:17:43 +0300 Subject: [PATCH] Fixed few GFX bugs in TeeWorlds, it still crashes --- project/AndroidManifest.xml | 6 +++--- project/jni/Android.mk | 14 +++++++------- project/jni/Application.mk | 2 +- project/jni/application/src | 2 +- .../application/teeworlds/src/base/detect.h | 19 +++++++++++++++++++ .../application/teeworlds/src/base/system.cpp | 7 +++++++ .../teeworlds/src/engine/client/ec_gfx.cpp | 17 +++++------------ project/res/values/strings.xml | 2 +- project/src/Accelerometer.java | 2 +- project/src/Audio.java | 2 +- project/src/DataDownloader.java | 2 +- project/src/GLSurfaceView_SDL.java | 2 +- project/src/Globals.java | 10 +++++----- project/src/MainActivity.java | 2 +- project/src/Settings.java | 2 +- project/src/Video.java | 2 +- 16 files changed, 56 insertions(+), 37 deletions(-) diff --git a/project/AndroidManifest.xml b/project/AndroidManifest.xml index bef3c83e7..9c08786ae 100644 --- a/project/AndroidManifest.xml +++ b/project/AndroidManifest.xml @@ -1,8 +1,8 @@ #endif +#ifdef ANDROID + #include +#endif #elif defined(CONF_FAMILY_WINDOWS) #define WIN32_LEAN_AND_MEAN @@ -107,6 +110,10 @@ static void logger_stdout(const char *line) { printf("%s\n", line); fflush(stdout); +#ifdef ANDROID + __android_log_print(ANDROID_LOG_INFO, "Teeworlds", "%s", line); +#endif + } static void logger_debugger(const char *line) diff --git a/project/jni/application/teeworlds/src/engine/client/ec_gfx.cpp b/project/jni/application/teeworlds/src/engine/client/ec_gfx.cpp index 8cf211a9e..944ed22a9 100644 --- a/project/jni/application/teeworlds/src/engine/client/ec_gfx.cpp +++ b/project/jni/application/teeworlds/src/engine/client/ec_gfx.cpp @@ -149,18 +149,9 @@ static void flush() #ifdef ANDROID { int i; - for(i = 0; i < num_vertices; i++) + for(i = 0; i < num_vertices / 4; i++) { - glDrawArrays(GL_TRIANGLE_FAN, 0, num_vertices); - glVertexPointer(3, GL_FLOAT, - sizeof(VERTEX), - (char*)(vertices+i)); - glTexCoordPointer(2, GL_FLOAT, - sizeof(VERTEX), - (char*)(vertices+i) + sizeof(float)*3); - glColorPointer(4, GL_FLOAT, - sizeof(VERTEX), - (char*)(vertices+i) + sizeof(float)*5); + glDrawArrays(GL_TRIANGLE_FAN, i * 4, 4); } } #else @@ -188,7 +179,9 @@ static int try_init() #ifdef ANDROID config.gfx_screen_width = SDL_ListModes(NULL, SDL_OPENGL|SDL_GL_DOUBLEBUFFER|SDL_FULLSCREEN)[0]->w; - config.gfx_screen_width = SDL_ListModes(NULL, SDL_OPENGL|SDL_GL_DOUBLEBUFFER|SDL_FULLSCREEN)[0]->h; + config.gfx_screen_height = SDL_ListModes(NULL, SDL_OPENGL|SDL_GL_DOUBLEBUFFER|SDL_FULLSCREEN)[0]->h; + + dbg_msg("gfx", "Physical display resolution is %dx%d", config.gfx_screen_width, config.gfx_screen_height); #endif screen_width = config.gfx_screen_width; diff --git a/project/res/values/strings.xml b/project/res/values/strings.xml index bdeb1e31a..6a74a6572 100644 --- a/project/res/values/strings.xml +++ b/project/res/values/strings.xml @@ -1,4 +1,4 @@ - OpenTyrian + TeeWorlds diff --git a/project/src/Accelerometer.java b/project/src/Accelerometer.java index b46b829e0..a6a1efd6d 100644 --- a/project/src/Accelerometer.java +++ b/project/src/Accelerometer.java @@ -1,5 +1,5 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import android.app.Activity; import android.content.Context; diff --git a/project/src/Audio.java b/project/src/Audio.java index 8e2da1863..4e601c64f 100644 --- a/project/src/Audio.java +++ b/project/src/Audio.java @@ -1,5 +1,5 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import android.app.Activity; diff --git a/project/src/DataDownloader.java b/project/src/DataDownloader.java index 13c2dafe4..9e13aa72f 100644 --- a/project/src/DataDownloader.java +++ b/project/src/DataDownloader.java @@ -1,5 +1,5 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import android.app.Activity; import android.content.Context; diff --git a/project/src/GLSurfaceView_SDL.java b/project/src/GLSurfaceView_SDL.java index 25aca20b7..aa2c30c3a 100644 --- a/project/src/GLSurfaceView_SDL.java +++ b/project/src/GLSurfaceView_SDL.java @@ -18,7 +18,7 @@ fixed with a hammer and rasp to work with libSDL port */ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import java.io.Writer; import java.util.ArrayList; diff --git a/project/src/Globals.java b/project/src/Globals.java index 57eb31bdd..7601e6cc3 100644 --- a/project/src/Globals.java +++ b/project/src/Globals.java @@ -1,14 +1,14 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount anywhere -package com.googlecode.opentyrian; +package com.teeworlds; import android.app.Activity; import android.content.Context; class Globals { - public static String ApplicationName = "OpenTyrian"; + public static String ApplicationName = "TeeWorlds"; // Should be zip file - public static String DataDownloadUrl = "Data files size is 11 Mb|http://sites.google.com/site/xpelyax/Home/tyrian21-data.zip?attredirects=0%26d=1|http://sitesproxy.goapk.com/site/xpelyax/Home/tyrian21-data.zip"; + public static String DataDownloadUrl = "Game data is 5 Mb|http://sourceforge.net/projects/libsdl-android/files/TeeWorlds/teeworlds.zip/download"; // Set this value to true if you're planning to render 3D using OpenGL - it eats some GFX resources, so disabled for 2D public static boolean NeedDepthBuffer = false; @@ -27,7 +27,7 @@ class Globals { public static boolean AppUsesMultitouch = false; - public static int AppTouchscreenKeyboardKeysAmount = 4; + public static int AppTouchscreenKeyboardKeysAmount = 2; public static int AppTouchscreenKeyboardKeysAmountAutoFire = 1; @@ -48,5 +48,5 @@ class Globals { } class LoadLibrary { - public LoadLibrary() { System.loadLibrary("sdl"); System.loadLibrary("sdl_net"); }; + public LoadLibrary() { System.loadLibrary("sdl"); System.loadLibrary("sdl_image"); System.loadLibrary("sdl_mixer"); }; } diff --git a/project/src/MainActivity.java b/project/src/MainActivity.java index 8af915268..86a9341ee 100644 --- a/project/src/MainActivity.java +++ b/project/src/MainActivity.java @@ -1,5 +1,5 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import android.app.Activity; import android.content.Context; diff --git a/project/src/Settings.java b/project/src/Settings.java index 655a44976..363a9db58 100644 --- a/project/src/Settings.java +++ b/project/src/Settings.java @@ -1,5 +1,5 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import android.app.Activity; import android.content.Context; diff --git a/project/src/Video.java b/project/src/Video.java index 01411d628..c600aae45 100644 --- a/project/src/Video.java +++ b/project/src/Video.java @@ -1,5 +1,5 @@ // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount -package com.googlecode.opentyrian; +package com.teeworlds; import javax.microedition.khronos.opengles.GL10;