Move controls assets and settings to gamedir/controls

This commit is contained in:
mittorn 2015-09-05 01:51:13 +07:00
parent d1252c9a91
commit 82c24fc4cb
2 changed files with 11 additions and 3 deletions

View file

@ -113,6 +113,8 @@ public class Settings {
File d = new File(dir); File d = new File(dir);
if (!d.exists()) if (!d.exists())
d.mkdirs(); d.mkdirs();
else
return;
AssetManager assetManager = ctx.getAssets(); AssetManager assetManager = ctx.getAssets();
String[] files = null; String[] files = null;

View file

@ -92,9 +92,12 @@ public class SDLActivity extends Activity {
// Touch control interp // Touch control interp
public static ControlInterpreter controlInterp; public static ControlInterpreter controlInterp;
// Preferences // Preferences
public static SharedPreferences mPref; public static SharedPreferences mPref;
// Controls dir
public static String mControlsDir;
/** /**
* This method is called by SDL before loading the native shared libraries. * This method is called by SDL before loading the native shared libraries.
* It can be overridden to provide names of shared libraries to be loaded. * It can be overridden to provide names of shared libraries to be loaded.
@ -146,6 +149,7 @@ public class SDLActivity extends Activity {
mIsPaused = false; mIsPaused = false;
mIsSurfaceReady = false; mIsSurfaceReady = false;
mHasFocus = true; mHasFocus = true;
mControlsDir = null;
} }
// Setup // Setup
@ -216,6 +220,7 @@ public class SDLActivity extends Activity {
String basedir = intent.getStringExtra("basedir"); String basedir = intent.getStringExtra("basedir");
if(basedir == null) if(basedir == null)
basedir = mPref.getString("basedir","/sdcard/xash/"); basedir = mPref.getString("basedir","/sdcard/xash/");
mControlsDir = basedir + "/" + gamedir + "/controls/";
setenv("XASH3D_BASEDIR", basedir, true); setenv("XASH3D_BASEDIR", basedir, true);
setenv("XASH3D_ENGLIBDIR", getFilesDir().getParentFile().getPath() + "/lib", true); setenv("XASH3D_ENGLIBDIR", getFilesDir().getParentFile().getPath() + "/lib", true);
setenv("XASH3D_GAMELIBDIR", gamelibdir, true); setenv("XASH3D_GAMELIBDIR", gamelibdir, true);
@ -984,7 +989,8 @@ class SDLMain implements Runnable {
if(SDLActivity.mUseControls) if(SDLActivity.mUseControls)
{ {
NativeLib engine = new NativeLib(); NativeLib engine = new NativeLib();
engine.initTouchControls_if(SDLActivity.mSingleton.getFilesDir().toString() + "/",
engine.initTouchControls_if(SDLActivity.mControlsDir,
(int)SDLSurface.mWidth, (int)SDLSurface.mHeight); (int)SDLSurface.mWidth, (int)SDLSurface.mHeight);
SDLActivity.controlInterp = new ControlInterpreter(engine,Settings.IDGame.Doom,Settings.gamePadControlsFile,Settings.gamePadEnabled); SDLActivity.controlInterp = new ControlInterpreter(engine,Settings.IDGame.Doom,Settings.gamePadControlsFile,Settings.gamePadEnabled);
@ -995,7 +1001,7 @@ class SDLMain implements Runnable {
TouchControlsSettings.loadSettings(SDLActivity.mSingleton); TouchControlsSettings.loadSettings(SDLActivity.mSingleton);
TouchControlsSettings.sendToQuake(); TouchControlsSettings.sendToQuake();
Settings.copyPNGAssets(SDLActivity.mSingleton,SDLActivity.mSingleton.getFilesDir().toString() + "/",null); Settings.copyPNGAssets(SDLActivity.mSingleton, SDLActivity.mControlsDir, null);
} }
SDLActivity.nativeInit(SDLActivity.mSingleton.getArguments()); SDLActivity.nativeInit(SDLActivity.mSingleton.getArguments());