[Scummvm-git-logs] scummvm master -> 607d8adaef141c3892c170ab96627c2fe01e53e7
rsn8887
rsn8887 at users.noreply.github.com
Tue Nov 10 15:06:32 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
607d8adaef VITA: add support for booting game directly via bubble
Commit: 607d8adaef141c3892c170ab96627c2fe01e53e7
https://github.com/scummvm/scummvm/commit/607d8adaef141c3892c170ab96627c2fe01e53e7
Author: cyee (chee.yee at home.net)
Date: 2020-11-10T09:06:26-06:00
Commit Message:
VITA: add support for booting game directly via bubble
Changed paths:
backends/platform/sdl/psp2/psp2-main.cpp
diff --git a/backends/platform/sdl/psp2/psp2-main.cpp b/backends/platform/sdl/psp2/psp2-main.cpp
index 8f90d9fcda..0ebe692b9a 100644
--- a/backends/platform/sdl/psp2/psp2-main.cpp
+++ b/backends/platform/sdl/psp2/psp2-main.cpp
@@ -22,6 +22,7 @@
#include <psp2/kernel/processmgr.h>
#include <psp2/power.h>
+#include <psp2/appmgr.h>
#include "common/scummsys.h"
#include "backends/platform/sdl/psp2/psp2.h"
@@ -29,6 +30,7 @@
#include "base/main.h"
int _newlib_heap_size_user = 192 * 1024 * 1024;
+char boot_params[1024];
int main(int argc, char *argv[]) {
@@ -52,9 +54,49 @@ int main(int argc, char *argv[]) {
PluginManager::instance().addPluginProvider(new SDLPluginProvider());
#endif
+ sceAppMgrGetAppParam(boot_params);
+ int res;
+ if (strstr(boot_params,"psgm:play"))
+ {
+ char *path_param = strstr(boot_params, "&path=");
+ char *gameid_param = strstr(boot_params, "&game_id=");
+ if (path_param != NULL && gameid_param != NULL)
+ {
+ char path[256];
+ char game_id[64];
+
+ if (gameid_param > path_param)
+ {
+ // handle case where gameid param follows path param
+ path_param += 6;
+ memcpy(path, path_param, gameid_param - path_param);
+ path[gameid_param-path_param] = 0;
+ snprintf(game_id, 64, gameid_param + 9);
+ }
+ else
+ {
+ // handle case where path param follows gameid param
+ gameid_param += 9;
+ memcpy(game_id, gameid_param, path_param - gameid_param);
+ game_id[path_param-gameid_param] = 0;
+ snprintf(path, 256, path_param + 6);
+ }
+
+ const char* args[4];
+ args[0] = "ux0:app/VSCU00001/eboot.bin";
+ args[1] = "-p";
+ args[2] = path;
+ args[3] = game_id;
+
+ res = scummvm_main(4, args);
+ goto exit;
+ }
+ }
+
// Invoke the actual ScummVM main entry point:
- int res = scummvm_main(argc, argv);
+ res = scummvm_main(argc, argv);
+exit:
// Free OSystem
g_system->destroy();
More information about the Scummvm-git-logs
mailing list