Browse Source

android: set current dir to cache so boot.rom and file i/o are usable

android
Sigrid Solveig Haflínudóttir 4 years ago
parent
commit
dce68e0e41
  1. 8
      src/android/app/src/main/java/org/libsdl/app/SDLActivity.java
  2. 5
      src/uxnemu.c

8
src/android/app/src/main/java/org/libsdl/app/SDLActivity.java

@ -1698,7 +1698,11 @@ class SDLMain implements Runnable {
// Runs SDL_main()
String library = SDLActivity.mSingleton.getMainSharedObject();
String function = SDLActivity.mSingleton.getMainFunction();
String[] arguments = SDLActivity.mSingleton.getArguments();
String[] a = SDLActivity.mSingleton.getArguments();
String[] args = new String[a.length + 2];
System.arraycopy(a, 0, args, 0, a.length);
args[a.length + 0] = "-cd";
args[a.length + 1] = SDLActivity.mSingleton.getCacheDir().getPath();
try {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
@ -1708,7 +1712,7 @@ class SDLMain implements Runnable {
Log.v(SDLActivity.TAG, "Running main function " + function + " from library " + library);
SDLActivity.nativeRunMain(library, function, arguments);
SDLActivity.nativeRunMain(library, function, args);
Log.v(SDLActivity.TAG, "Finished main function");

5
src/uxnemu.c

@ -565,6 +565,11 @@ main(int argc, char **argv)
set_zoom(atoi(argv[++i]));
else
return error("Opt", "-s No scale provided.");
} else if(strcmp(argv[i], "-cd") == 0) {
if(i < argc - 1)
chdir(argv[++i]);
else
return error("Opt", "-cd No path provided.");
} else if(!loaded++) {
if(!start(&u, argv[i]))
return error("Boot", "Failed to boot.");

Loading…
Cancel
Save