Android fix for magic tools under 64 bits devices by Terrence Sheflin, see 345d3cc78a
This commit is contained in:
parent
79c246976c
commit
73c1cabac1
3 changed files with 15 additions and 2 deletions
|
|
@ -20,12 +20,18 @@
|
||||||
#include "android_assets.h"
|
#include "android_assets.h"
|
||||||
|
|
||||||
AAssetManager * asset_manager = NULL;
|
AAssetManager * asset_manager = NULL;
|
||||||
|
char* nativelibdir = NULL;
|
||||||
|
|
||||||
AAssetDir * open_asset_dir(char * dirname)
|
AAssetDir * open_asset_dir(char * dirname)
|
||||||
{
|
{
|
||||||
return AAssetManager_openDir(asset_manager, dirname);
|
return AAssetManager_openDir(asset_manager, dirname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* get_nativelibdir()
|
||||||
|
{
|
||||||
|
return nativelibdir;
|
||||||
|
}
|
||||||
|
|
||||||
void load_assets_dir(char * dirname, tp_ftw_str ** ffilenames, unsigned * num_file_names)
|
void load_assets_dir(char * dirname, tp_ftw_str ** ffilenames, unsigned * num_file_names)
|
||||||
{
|
{
|
||||||
AAssetDir* assetDir = AAssetManager_openDir(asset_manager, dirname);
|
AAssetDir* assetDir = AAssetManager_openDir(asset_manager, dirname);
|
||||||
|
|
@ -70,6 +76,12 @@ JNIEXPORT jboolean Java_org_tuxpaint_tuxpaintActivity_managertojni(JNIEnv * env,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void Java_org_tuxpaint_tuxpaintActivity_setnativelibdir(JNIEnv * env, jclass clazz, jstring path)
|
||||||
|
{
|
||||||
|
const char *cpath = (*env)->GetStringUTFChars(env, path, NULL);
|
||||||
|
nativelibdir = strdup(cpath);
|
||||||
|
(*env)->ReleaseStringUTFChars(env, path, cpath);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void load_brushes_from_assets(SDL_Surface * screen, SDL_Texture *texture, SDL_Renderer *renderer, const char * dirname, void (*fn) (SDL_Surface * screen,
|
void load_brushes_from_assets(SDL_Surface * screen, SDL_Texture *texture, SDL_Renderer *renderer, const char * dirname, void (*fn) (SDL_Surface * screen,
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
#define ASSETS_STAMPS_DIR "stamps/cartoon/tux"
|
#define ASSETS_STAMPS_DIR "stamps/cartoon/tux"
|
||||||
|
|
||||||
AAssetDir * open_asset_dir(char * dirname);
|
AAssetDir * open_asset_dir(char * dirname);
|
||||||
|
char* get_nativelibdir();
|
||||||
|
|
||||||
void load_brushes_from_assets(SDL_Surface * screen, SDL_Texture *texture, SDL_Renderer *renderer, const char * dirname, void (*fn) (SDL_Surface * screen,
|
void load_brushes_from_assets(SDL_Surface * screen, SDL_Texture *texture, SDL_Renderer *renderer, const char * dirname, void (*fn) (SDL_Surface * screen,
|
||||||
SDL_Texture * texture,
|
SDL_Texture * texture,
|
||||||
|
|
@ -48,5 +49,6 @@ void load_assets_dir(char * dirname, tp_ftw_str ** ffilenames, unsigned * num_f
|
||||||
|
|
||||||
JNIEXPORT jboolean Java_org_tuxpaint_tuxpaintActivity_managertojni(JNIEnv * env, jclass clazz, jobject mgr);
|
JNIEXPORT jboolean Java_org_tuxpaint_tuxpaintActivity_managertojni(JNIEnv * env, jclass clazz, jobject mgr);
|
||||||
|
|
||||||
|
JNIEXPORT void Java_org_tuxpaint_tuxpaintActivity_setnativelibdir(JNIEnv * env, jclass clazz, jstring path);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -20338,8 +20338,7 @@ static void load_magic_plugins(void)
|
||||||
{
|
{
|
||||||
#if defined (__ANDROID__)
|
#if defined (__ANDROID__)
|
||||||
/* Need this at runtime as Android installs on different locations depending on the user */
|
/* Need this at runtime as Android installs on different locations depending on the user */
|
||||||
place = strdup(SDL_AndroidGetInternalStoragePath());
|
place = strdup(get_nativelibdir());
|
||||||
strcpy(strstr(place, "/files"), "/lib/");
|
|
||||||
#else
|
#else
|
||||||
place = strdup(MAGIC_PREFIX);
|
place = strdup(MAGIC_PREFIX);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue