From 9b53342ac0617583005414aac357b1854cf58fae Mon Sep 17 00:00:00 2001 From: Milan Nikolic Date: Thu, 9 May 2024 08:27:51 +0200 Subject: [PATCH] Fix Android internal storage, issue #365 --- raylib/platform_android.c | 12 ------------ raylib/platform_android.go | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 18 deletions(-) delete mode 100644 raylib/platform_android.c diff --git a/raylib/platform_android.c b/raylib/platform_android.c deleted file mode 100644 index 1e5574b..0000000 --- a/raylib/platform_android.c +++ /dev/null @@ -1,12 +0,0 @@ -// +build android - -#include "_cgo_export.h" - -struct android_app *GetAndroidApp(); - -void android_init() { - struct android_app *app; - app = GetAndroidApp(); - asset_manager = app->activity->assetManager; - internal_storage_path = app->activity->internalDataPath; -} diff --git a/raylib/platform_android.go b/raylib/platform_android.go index 4059899..ecde316 100644 --- a/raylib/platform_android.go +++ b/raylib/platform_android.go @@ -9,10 +9,17 @@ package rl #include #include -extern void android_init(); +extern struct android_app* GetAndroidApp(); -static AAssetManager* asset_manager; -static const char* internal_storage_path; +static AAssetManager* GetAssetManager() { + struct android_app* app = GetAndroidApp(); + return app->activity->assetManager; +} + +static const char* GetInternalStoragePath() { + struct android_app* app = GetAndroidApp(); + return app->activity->internalDataPath; +} */ import "C" @@ -33,7 +40,6 @@ func InitWindow(width int32, height int32, title string) { defer C.free(unsafe.Pointer(ctitle)) C.InitWindow(cwidth, cheight, ctitle) - C.android_init() } // SetCallbackFunc - Sets callback function @@ -98,7 +104,7 @@ func OpenAsset(name string) (Asset, error) { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) - a := &asset{C.AAssetManager_open(C.asset_manager, cname, C.AASSET_MODE_UNKNOWN)} + a := &asset{C.AAssetManager_open(C.GetAssetManager(), cname, C.AASSET_MODE_UNKNOWN)} if a.ptr == nil { return nil, fmt.Errorf("asset file could not be opened") @@ -136,5 +142,5 @@ func (a *asset) Close() error { } func getInternalStoragePath() string { - return C.GoString(C.internal_storage_path) + return C.GoString(C.GetInternalStoragePath()) }