From 04a43755658d052eb660ce0d0656e04ba49e620d Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 23 May 2012 19:23:32 +0300 Subject: [PATCH] Compilation fixes for SDL 1.3/2.0, Alien Blaster compiles but does not start --- ChangeAppSettings.sh | 2 +- .../alienblaster/7.15-Alien Blaster.zip | Bin 6787 -> 0 bytes .../alienblaster/AndroidAppSettings.cfg | 2 + .../AndroidData/alienblaster110_data2.zip | Bin 874001 -> 874039 bytes .../alienblaster/SdlForwardCompat.h | 17 +-- project/jni/application/alienblaster/input.h | 1 + .../jni/application/alienblaster/mixer.cpp | 4 +- .../application/alienblaster/surfaceDB.cpp | 6 +- project/jni/application/frogatto | 1 - .../jni/sdl-1.2/include/SDL_screenkeyboard.h | 109 +++++++++++++++++- .../sdl-1.2/src/video/android/SDL_scalemode.h | 70 ++++++++++- project/jni/sdl-1.3/include/SDL_opengles.h | 1 + project/jni/sdl-1.3/include/SDL_opengles2.h | 1 + .../jni/sdl-1.3/include/SDL_screenkeyboard.h | 1 + project/jni/sdl-1.3/src/file/SDL_rwops.c | 5 +- .../src/video/android/SDL_androidinput.h | 5 +- 16 files changed, 206 insertions(+), 19 deletions(-) delete mode 100644 project/jni/application/alienblaster/7.15-Alien Blaster.zip delete mode 160000 project/jni/application/frogatto mode change 120000 => 100644 project/jni/sdl-1.2/include/SDL_screenkeyboard.h mode change 120000 => 100644 project/jni/sdl-1.2/src/video/android/SDL_scalemode.h create mode 120000 project/jni/sdl-1.3/include/SDL_screenkeyboard.h diff --git a/ChangeAppSettings.sh b/ChangeAppSettings.sh index c2fd13431..13836fd01 100755 --- a/ChangeAppSettings.sh +++ b/ChangeAppSettings.sh @@ -26,7 +26,7 @@ echo "If you will supply empty string as answer the previous value will be used" if [ -z "$LibSdlVersion" -o -z "$AUTO" ]; then echo -echo -n "libSDL version to use (1.2 or 1.3) ($LibSdlVersion): " +echo -n "libSDL version to use (1.2 or 1.3, specify 1.3 for SDL2) ($LibSdlVersion): " read var if [ -n "$var" ] ; then LibSdlVersion="$var" diff --git a/project/jni/application/alienblaster/7.15-Alien Blaster.zip b/project/jni/application/alienblaster/7.15-Alien Blaster.zip deleted file mode 100644 index 20654d27d59047cb90eee8082b77d53354d812c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6787 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 diff --git a/project/jni/application/alienblaster/AndroidAppSettings.cfg b/project/jni/application/alienblaster/AndroidAppSettings.cfg index afb6bc026..fabced88a 100644 --- a/project/jni/application/alienblaster/AndroidAppSettings.cfg +++ b/project/jni/application/alienblaster/AndroidAppSettings.cfg @@ -14,6 +14,7 @@ SwVideoMode=n SdlVideoResize=y SdlVideoResizeKeepAspect=n CompatibilityHacks= +CompatibilityHacksStaticInit=n AppUsesMouse=n AppNeedsTwoButtonMouse=n ShowMouseCursor=n @@ -35,6 +36,7 @@ MultiABI=n AppVersionCode=110014 AppVersionName="1.1.0.14" ResetSdlConfigForThisVersion=n +DeleteFilesOnUpgrade="%" CompiledLibraries="sdl_mixer sdl_image" CustomBuildScript=n AppCflags='-O3' diff --git a/project/jni/application/alienblaster/AndroidData/alienblaster110_data2.zip b/project/jni/application/alienblaster/AndroidData/alienblaster110_data2.zip index 301433f18c7fce55a0911764ca98ac0321212564..323796ee4aaff905693154243b4a9c0f0a006779 100644 GIT binary patch delta 1369 zcmbQZ#&r7{(}ottElf*d%@)nv?!X_F^zs=41A_n~1A{1o3`1saVtQ(^etAY_Noqh& zVrHIRL0)=j2qy#c1fISAAUs*HMy>^BsR8n*A>p(xN=sSRU}3KL6xZ2dp4|2?a&zxd2@ z<$V8hqQ19no@aj9Q(*nP*S%#&GV!ctB>upLK`7%4_Z5DXrL1 zxr1N+RzX5DW7xCqaGura-C@T+uA9VIdF1ld^Qm)#orK$0#4)w6h+}SF5y#TLB966v zMI2lEia7T66>%KxE8;lYSHy9(uZZK`z9NoC{)Pi)z)3K`KttoKSSDP-$O;L@=?ArW z<)?3tW8&jQXk5~Ge!8PMZwT{>XqM^oqgk}4FVN+cnSQ~Rmu-53GcU{Zm*%`u%sxph z(-->k3Qw1`;B{wQK0VQbH=9W&cltRC-f-sJe3t2f8oVOYZ7g}cnZ3Kf=7>(8Z^;|P z%+=2_ow1)qayqXSuLGmubU!QJIOeR$EYlMwvq(%o4ia>l&SA|P$0TxadWJP`IHSq* z1J=B;Ow8w|%iHiqGN<2TnI3nKMP~YR8(s&-CDU)%@P;$7znE@l%bUdP@see_{Yw@( zkfhr5TeiGX%w|rk(-TG6gr_?=v2srLbmdi>ZfVCW#a!USIz8QoRbl#d9bUERb3j5t zeyr2&U$To%KWE45&6q!3%APlg@%Qvvd)^pEo9Vagd83%U&azH-Jj*IS{cIqw+VmO+ zUMWVC>C+u}!hd6m_0qvkvEk2$t~9Dw{Nj3Pe0?x>%e$^IGPd=V;P@L|Le?~!{|3X%Y`?VSyzZ{ z`aEAI$?3L2Z0yrtx$rtLXNj_byeR|np#u|x;`DA;-Xuo1>F->5!x;;vySeekGcS&3 zpFS&|U21xnDN2mKaO0I?X3b)U#3+9jJNtBbcU}j^?&%5cyittPrtfy=jb+}mi+wu3 z6R+rW0}ozz=KFiuA>Qrt;B{x5F#VbbZwzz9UH0kzciAPT`+D*^Fs4lJ^W;ro_ISw- z3RQVXKwEk7N-^%89_qy#!Du*rofmH;qw{nQZ{8Tju<5DZyb;W$KfnfyO~2;N8^}0$ zx`q#L3^ThL2gJ77KD<7R#nWH-@WwFio9^n%8_5_veZDVm4D(3?j_C&sI3%Wv`SCh1 zhD;Cl;|*nuoW9nNHCxADOd0HCB^a-B464O}&dA*rs3OS}5CNYXm z&j{poXH1*EA&@tgF>g9w5N{as?G~t9O%Sg;vsEX@bi+;#vFUe$cpVszPL~bljb(l{ zk7N47c^vZ7=LGXQFutFDH<&ky+4(yU$Xdzi!6CfvjJv1L4&lvZR%7Ia1ieBiuRG)9 d=^3HCG0gv^ctP4lr{4+X)n`*t<7HrA003Xw%!>d3 delta 1151 zcmdnK#&qHu(}ottElf*dCr_Bm!oR{r_1ggk28I_53=EMoxcwfe;&-iKbhq>Y^acyhW{)RfVtytcj+;Q~f6ZyY)*ld>{ zxZp79VaXHW?Ngcy%N(XzaQJdh5Vwi_8*|N4)r7JATpUyTxj5$bb8#%~=i*q~&&9E| zpNnH}KNrW*elCu){ahSZ`?)yo?dRfn{EM0KA80}L#g&SlOkKi$%ZS8}?5 zCNI}?A9G$Q#+B34&3QwZnxdz#x8xO@ek+8GuErI`7SvP=&=$|4OCQkt%6!z;&p_bkhFg>x(t)8lM-9T**_&$r=?W3Ic; zGX3Cv7SZVydc11Wt!;Uwm>xc#9&XE<#HciVmo0Asqrh}&JKi{EFCW(Fy*{i8)92Xn zIxy?_u}(KM<`tR#*^bwT(Q~?kJ#P~8)kxOqf~LH}(|6eOx-*JRbKs3)RGA*_z?;a- zcb;{6;CWUNB!B#L;FV&2bd?nn0$Pr|K8&u@%N=<`nfKjdoz8fhReAb!4PK?`3Ld;H z((01;y0Qyz4x`5O2`;>`jO^3jx$q`2x=asr z<&9&yr7(S?D{m5`!gLWg-f%{*={at^@yxaH?9&g#vrA2X;l}I0bU$;tmOF1WW9sxa zcit$*g6R+4d1D!;O}F>pjbq$7eVzwzEMwO6KOVd>j7HNVJ$a*;?e4KpZ@kB@H2sDr zuLHBvOLj=;>3i{dGftmg?Zq3x%>9LZy5ARe@#$~9cpVsJr|Wt1#xNR8@Al@6VDkSl zeLl$Jzr1;a8FQ!m`S8XtKUC!a1)b=0OEnJe>1Ta-9T4!}M!`ys?ZP(@lbS!bZ2<#l8Gr^?H~zyJWnBx}k5 diff --git a/project/jni/application/alienblaster/SdlForwardCompat.h b/project/jni/application/alienblaster/SdlForwardCompat.h index deae69cf6..0d20617db 100644 --- a/project/jni/application/alienblaster/SdlForwardCompat.h +++ b/project/jni/application/alienblaster/SdlForwardCompat.h @@ -22,6 +22,10 @@ struct SdlCompat_AcceleratedSurface SDL_PixelFormat * format; }; +enum { SDL_SRCALPHA = 8, SDL_SRCCOLORKEY = 16 }; // Some dummy non-zero values + +typedef SDL_Keycode SDLKey; + extern SDL_Renderer * SDL_global_renderer; static inline SdlCompat_AcceleratedSurface * SdlCompat_CreateAcceleratedSurface(SDL_Surface * surface) @@ -29,6 +33,8 @@ static inline SdlCompat_AcceleratedSurface * SdlCompat_CreateAcceleratedSurface( SdlCompat_AcceleratedSurface * ret = new SdlCompat_AcceleratedSurface(); // Allocate accelerated surface even if that means loss of color quality Uint32 format; + Uint32 colorkey; + Uint8 alpha; ret->w = surface->w; ret->h = surface->h; @@ -36,7 +42,7 @@ static inline SdlCompat_AcceleratedSurface * SdlCompat_CreateAcceleratedSurface( memcpy(ret->format, surface->format, sizeof(SDL_PixelFormat)); format = SDL_PIXELFORMAT_RGB565; - if( surface->flags & SDL_SRCCOLORKEY ) + if( SDL_GetColorKey(surface, &colorkey) == 0 ) { format = SDL_PIXELFORMAT_RGBA4444; } @@ -52,13 +58,8 @@ static inline SdlCompat_AcceleratedSurface * SdlCompat_CreateAcceleratedSurface( SDL_SetTextureBlendMode( ret->t, SDL_BLENDMODE_BLEND ); //SDL_SetTextureAlphaMod( ret->t, SDL_ALPHA_OPAQUE ); SDL_SetTextureAlphaMod( ret->t, 128 ); - if( surface->flags & SDL_SRCALPHA ) - { - Uint8 alpha = 128; - if( SDL_GetSurfaceAlphaMod( surface, &alpha ) < 0 ) - alpha = 128; + if( SDL_GetSurfaceAlphaMod(surface, &alpha) == 0 ) SDL_SetTextureAlphaMod( ret->t, alpha ); - } return ret; }; @@ -90,7 +91,7 @@ static inline int SDL_Flip(SdlCompat_AcceleratedSurface * unused) static inline int SDL_SetAlpha(SdlCompat_AcceleratedSurface * surface, Uint32 flag, Uint8 alpha) { - if( ! (flag & SDL_SRCALPHA) ) + if( ! flag ) alpha = SDL_ALPHA_OPAQUE; return SDL_SetTextureAlphaMod(surface->t, alpha); }; diff --git a/project/jni/application/alienblaster/input.h b/project/jni/application/alienblaster/input.h index 9ccb0aaaf..b4b88c6cf 100644 --- a/project/jni/application/alienblaster/input.h +++ b/project/jni/application/alienblaster/input.h @@ -21,6 +21,7 @@ #define INPUT_H #include "SDL.h" +#include "SdlForwardCompat.h" class Input; diff --git a/project/jni/application/alienblaster/mixer.cpp b/project/jni/application/alienblaster/mixer.cpp index 30b7673ab..0f0121bc8 100644 --- a/project/jni/application/alienblaster/mixer.cpp +++ b/project/jni/application/alienblaster/mixer.cpp @@ -130,6 +130,7 @@ int Mixer::loadSample(string fileName, int volume) { if ( 0 <= volume && volume < 128 ) { Mix_VolumeChunk( mixChunks[ mixChunks.size() - 1 ], volume ); } + __android_log_print(ANDROID_LOG_INFO, "Alien Blaster", (string( "Loading sound " ) + fn1 + " done").c_str() ); return mixChunks.size() - 1; } return fn2snd[ fileName ]; @@ -180,7 +181,7 @@ int Mixer::loadMusic( string fn ) { if (enabled) { if (fn2mus.find(fn) == fn2mus.end()) { - __android_log_print(ANDROID_LOG_INFO, "Alien Blaster", (string( "Loading sound " ) + fn).c_str() ); + __android_log_print(ANDROID_LOG_INFO, "Alien Blaster", (string( "Loading music " ) + fn).c_str() ); string fn1 = fn; // Check if file exist @@ -213,6 +214,7 @@ int Mixer::loadMusic( string fn ) { musics.push_back(newSound); fn2mus[ fn ] = musics.size() - 1; + __android_log_print(ANDROID_LOG_INFO, "Alien Blaster", (string( "Loading music " ) + fn1 + " done").c_str() ); return musics.size() - 1; } return fn2mus[ fn ]; diff --git a/project/jni/application/alienblaster/surfaceDB.cpp b/project/jni/application/alienblaster/surfaceDB.cpp index 5bd4f1158..544dd2ec2 100644 --- a/project/jni/application/alienblaster/surfaceDB.cpp +++ b/project/jni/application/alienblaster/surfaceDB.cpp @@ -80,19 +80,19 @@ SDL_Surface *SurfaceDB::loadSurfaceInternal( string fn, bool alpha ) { if (!inputFile) { cout << "ERROR: file " << fn1 << " does not exist!" << endl; #ifdef ANDROID - __android_log_print(ANDROID_LOG_ERROR, "Alien Blaster", (string( "Cannot load image " ) + fn1).c_str() ); + __android_log_print(ANDROID_LOG_ERROR, "Alien Blaster", (string( "Cannot load image " ) + fn1 + " - file does not exist").c_str() ); #endif exit(1); } } fclose(inputFile); - SDL_Surface *newSurface = isPNG ? IMG_Load( fn1.c_str() ) : SDL_LoadBMP( fn1.c_str() ); + SDL_Surface *newSurface = IMG_Load( fn1.c_str() ); if( newSurface == NULL ) { cout << "ERROR: Cannot load image " << fn1 << endl; #ifdef ANDROID - __android_log_print(ANDROID_LOG_ERROR, "Alien Blaster", (string( "Cannot load image " ) + fn1).c_str() ); + __android_log_print(ANDROID_LOG_ERROR, "Alien Blaster", (string( "Cannot load image " ) + fn1 + " - file is in invalid format").c_str() ); #endif exit(1); } diff --git a/project/jni/application/frogatto b/project/jni/application/frogatto deleted file mode 160000 index 03540e804..000000000 --- a/project/jni/application/frogatto +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 03540e8047f2f51fe6192c44af9dd57fb26991c5 diff --git a/project/jni/sdl-1.2/include/SDL_screenkeyboard.h b/project/jni/sdl-1.2/include/SDL_screenkeyboard.h deleted file mode 120000 index f01dbb712..000000000 --- a/project/jni/sdl-1.2/include/SDL_screenkeyboard.h +++ /dev/null @@ -1 +0,0 @@ -../../sdl-1.3/include/SDL_screenkeyboard.h \ No newline at end of file diff --git a/project/jni/sdl-1.2/include/SDL_screenkeyboard.h b/project/jni/sdl-1.2/include/SDL_screenkeyboard.h new file mode 100644 index 000000000..c8bd79d4a --- /dev/null +++ b/project/jni/sdl-1.2/include/SDL_screenkeyboard.h @@ -0,0 +1,108 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2009 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +#ifndef _SDL_screenkeyboard_h +#define _SDL_screenkeyboard_h + +#include "SDL_stdinc.h" +#include "SDL_video.h" +#if SDL_VERSION_ATLEAST(1,3,0) +#include "SDL_keyboard.h" +#include "SDL_keycode.h" +#include "SDL_scancode.h" +#else +#include "SDL_keysym.h" +#endif + +/* On-screen keyboard exposed to the application, it's available on Android platform only */ + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +extern "C" { +#endif + +/* Button IDs */ +enum { + + SDL_ANDROID_SCREENKEYBOARD_BUTTON_DPAD = 0, /* Joystick/D-Pad button */ + + SDL_ANDROID_SCREENKEYBOARD_BUTTON_0, /* Main (usually Fire) button */ + SDL_ANDROID_SCREENKEYBOARD_BUTTON_1, + SDL_ANDROID_SCREENKEYBOARD_BUTTON_2, + SDL_ANDROID_SCREENKEYBOARD_BUTTON_3, + SDL_ANDROID_SCREENKEYBOARD_BUTTON_4, + SDL_ANDROID_SCREENKEYBOARD_BUTTON_5, + + SDL_ANDROID_SCREENKEYBOARD_BUTTON_TEXT, /* Button to show screen keyboard */ + + SDL_ANDROID_SCREENKEYBOARD_BUTTON_NUM +}; + +/* All functions return 0 on failure and 1 on success, contrary to other SDL API */ + +extern DECLSPEC int SDLCALL SDL_ANDROID_SetScreenKeyboardButtonPos(int buttonId, SDL_Rect * pos); +extern DECLSPEC int SDLCALL SDL_ANDROID_GetScreenKeyboardButtonPos(int buttonId, SDL_Rect * pos); + +extern DECLSPEC int SDLCALL SDL_ANDROID_SetScreenKeyboardButtonKey(int buttonId, +#if SDL_VERSION_ATLEAST(1,3,0) + SDL_Keycode +#else + SDLKey +#endif + key); +/* Returns SDLK_UNKNOWN on failure */ +extern DECLSPEC +#if SDL_VERSION_ATLEAST(1,3,0) + SDL_Keycode +#else + SDLKey +#endif + SDLCALL SDL_ANDROID_GetScreenKeyboardButtonKey(int buttonId); + +/* Buttons 0 and 1 may have auto-fire state */ +extern DECLSPEC int SDLCALL SDL_ANDROID_SetScreenKeyboardAutoFireButtonsAmount(int nbuttons); +extern DECLSPEC int SDLCALL SDL_ANDROID_GetScreenKeyboardAutoFireButtonsAmount(); + +extern DECLSPEC int SDLCALL SDL_ANDROID_SetScreenKeyboardShown(int shown); +extern DECLSPEC int SDLCALL SDL_ANDROID_GetScreenKeyboardShown(); + +extern DECLSPEC int SDLCALL SDL_ANDROID_GetScreenKeyboardSize(); + +/* Show Android on-screen keyboard, and pass entered text back to application as SDL keypress events, +previousText is UTF-8 encoded, it may be NULL, only 256 first bytes will be used, and this call will not block */ +extern DECLSPEC int SDLCALL SDL_ANDROID_ToggleScreenKeyboardTextInput(const char * previousText); + +/* Show Android on-screen keyboard, and pass entered text back to application in a buffer, +using buffer contents as previous text (UTF-8 encoded), the buffer may be of any size - +this call will block until user typed all text. */ +extern DECLSPEC int SDLCALL SDL_ANDROID_GetScreenKeyboardTextInput(char * textBuf, int textBufSize); + +/* Whether user redefined on-screen keyboard layout via SDL menu, app should not enforce it's own layout in that case */ +extern DECLSPEC int SDLCALL SDL_ANDROID_GetScreenKeyboardRedefinedByUser(); + +#ifdef __cplusplus +} +#endif +#include "close_code.h" + +#endif diff --git a/project/jni/sdl-1.2/src/video/android/SDL_scalemode.h b/project/jni/sdl-1.2/src/video/android/SDL_scalemode.h deleted file mode 120000 index 2672fb813..000000000 --- a/project/jni/sdl-1.2/src/video/android/SDL_scalemode.h +++ /dev/null @@ -1 +0,0 @@ -../../../../sdl-1.3/include/SDL_scalemode.h \ No newline at end of file diff --git a/project/jni/sdl-1.2/src/video/android/SDL_scalemode.h b/project/jni/sdl-1.2/src/video/android/SDL_scalemode.h new file mode 100644 index 000000000..a658c68bb --- /dev/null +++ b/project/jni/sdl-1.2/src/video/android/SDL_scalemode.h @@ -0,0 +1,69 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + Sam Lantinga + slouken@libsdl.org +*/ + +/** + * \file SDL_scalemode.h + * + * Header file declaring the SDL_ScaleMode enumeration + */ + +#ifndef _SDL_scalemode_h +#define _SDL_scalemode_h + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/** + * \brief The texture scale mode used in SDL_RenderCopy(). + */ +typedef enum +{ + SDL_SCALEMODE_NONE = 0x00000000, /**< No scaling, rectangles must + match dimensions */ + + SDL_SCALEMODE_FAST = 0x00000001, /**< Point sampling or + equivalent algorithm */ + + SDL_SCALEMODE_SLOW = 0x00000002, /**< Linear filtering or + equivalent algorithm */ + + SDL_SCALEMODE_BEST = 0x00000004 /**< Bicubic filtering or + equivalent algorithm */ +} SDL_ScaleMode; + + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_video_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/project/jni/sdl-1.3/include/SDL_opengles.h b/project/jni/sdl-1.3/include/SDL_opengles.h index 32ee2378f..97e497a5f 100644 --- a/project/jni/sdl-1.3/include/SDL_opengles.h +++ b/project/jni/sdl-1.3/include/SDL_opengles.h @@ -29,6 +29,7 @@ #include #include #else +#define GL_GLEXT_PROTOTYPES 1 #include #include #endif diff --git a/project/jni/sdl-1.3/include/SDL_opengles2.h b/project/jni/sdl-1.3/include/SDL_opengles2.h index e034959ae..8db5f707d 100644 --- a/project/jni/sdl-1.3/include/SDL_opengles2.h +++ b/project/jni/sdl-1.3/include/SDL_opengles2.h @@ -29,6 +29,7 @@ #include #include #else +#define GL_GLEXT_PROTOTYPES 1 #include #include #endif diff --git a/project/jni/sdl-1.3/include/SDL_screenkeyboard.h b/project/jni/sdl-1.3/include/SDL_screenkeyboard.h new file mode 120000 index 000000000..394a970f3 --- /dev/null +++ b/project/jni/sdl-1.3/include/SDL_screenkeyboard.h @@ -0,0 +1 @@ +../../sdl-1.2/include/SDL_screenkeyboard.h \ No newline at end of file diff --git a/project/jni/sdl-1.3/src/file/SDL_rwops.c b/project/jni/sdl-1.3/src/file/SDL_rwops.c index d4868cc7a..6361c770e 100755 --- a/project/jni/sdl-1.3/src/file/SDL_rwops.c +++ b/project/jni/sdl-1.3/src/file/SDL_rwops.c @@ -32,7 +32,7 @@ #endif /* __APPLE__ */ #ifdef ANDROID -#include "../core/android/SDL_android.h" +/* #include "../core/android/SDL_android.h" */ #endif #ifdef __NDS__ @@ -445,7 +445,8 @@ SDL_RWFromFile(const char *file, const char *mode) SDL_SetError("SDL_RWFromFile(): No file or no mode specified"); return NULL; } -#if defined(ANDROID) +#if defined(ANDROID) && 0 + rwops = SDL_AllocRW(); if (!rwops) return NULL; /* SDL_SetError already setup by SDL_AllocRW() */ diff --git a/project/jni/sdl-1.3/src/video/android/SDL_androidinput.h b/project/jni/sdl-1.3/src/video/android/SDL_androidinput.h index 18d4f672c..f32810470 100644 --- a/project/jni/sdl-1.3/src/video/android/SDL_androidinput.h +++ b/project/jni/sdl-1.3/src/video/android/SDL_androidinput.h @@ -38,7 +38,7 @@ #include "../../events/SDL_mouse_c.h" #include "SDL_keycode.h" #include "SDL_scancode.h" -#include "SDL_compat.h" +//#include "SDL_compat.h" #else #include "SDL_keysym.h" #include "../../events/SDL_events_c.h" @@ -61,6 +61,9 @@ #define SDL_KEY2(X) SDL_SCANCODE_ ## X #define SDL_KEY(X) SDL_KEY2(X) +typedef SDL_Scancode SDL_scancode; +typedef SDL_Keycode SDLKey; +typedef SDL_Keysym SDL_keysym; #else