-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Go!Explore - kicks back to PPSSPP home screen #15932
Comments
Probably need to emulate the usb device for the GPS too for the app to run, right? or is this app supposed to run (at least not to crash/exit immediately) even without GPS device plugged in? |
yeah, I need someone with a real PSP to test if it does exit to menu if it doesn't find the USB device. |
From full debug log ,https://gist.github.com/sum2012/3dcbd12fa1e2796a97470a7014060b66 |
It can run in Jpcsp emulator |
Do you also have the logs from real PSP @sum2012 ? |
@anr2me here it is https://gist.github.com/sum2012/37da5ea25c65507a0761c2efc5dc7799 |
is this mean race condition? |
No problem
|
Currently GoExplore not only that fails to start, but crashes the emulator completely. The crash is observed at this line : ppsspp/Core/FileSystems/ISOFileSystem.cpp Line 654 in cd8b79f
|
Did you know what was the value returned from |
Fixed the crash. However, this thing is weird. Additionally to the weirdness mentioned above, it tries, and fails, to open the paths "/filelist.txt" and "/READHELPER.idx", which we interpret as references to the memory stick, but presumably it means the UMD. I think it's likely we're just handling paths starting with "/" wrong. |
According to this, those files also existed in the disc. |
|
v2 diff --git a/Core/FileSystems/MetaFileSystem.cpp b/Core/FileSystems/MetaFileSystem.cpp
index 5dece8e210..2f36663e2f 100644
--- a/Core/FileSystems/MetaFileSystem.cpp
+++ b/Core/FileSystems/MetaFileSystem.cpp
@@ -372,7 +372,13 @@ std::vector<PSPFileInfo> MetaFileSystem::GetDirListing(const std::string &path,
std::lock_guard<std::recursive_mutex> guard(lock);
std::string of;
IFileSystem *system;
- int error = MapFilePath(path, of, &system);
+
+ int error;
+ if (path == "/") {
+ error = MapFilePath(currentDir[__KernelGetCurThread()], of, &system);
+ } else {
+ error = MapFilePath(path, of, &system);
+ }
if (error == 0) {
return system->GetDirListing(of, exists);
} else { |
Huh, interesting. Looks like we're indeed missing some handling there. Although, '/' should probably not be relative to currentdir but to the root of the currentdir. |
This issue is observed only for ISOs and not for memstick.
v3 diff --git a/Core/FileSystems/ISOFileSystem.cpp b/Core/FileSystems/ISOFileSystem.cpp
index 4fb682684e..f070ff362f 100644
--- a/Core/FileSystems/ISOFileSystem.cpp
+++ b/Core/FileSystems/ISOFileSystem.cpp
@@ -647,6 +647,9 @@ std::vector<PSPFileInfo> ISOFileSystem::GetDirListing(const std::string &path, b
*exists = false;
return myVector;
}
+ if (entry == &entireISO) {
+ entry = GetFromPath("/");
+ }
const std::string dot(".");
const std::string dotdot(".."); Can I submit a PR with this patch? |
Fix Go!Explore🗺️🧭 issue with GetDirListing(/); closes #15932
Game or games this happens in
Go!Explore
What area of the game / PPSSPP
Currently, running any of the Go!Explore discs would boot up before kicking back to the PPSSPP menu screen. These titles require the use of a NavNGo GPS, attached to the USB.
What should happen
I don't have real hardware to test in hand but I assume that once the title finds the GPS device, it would work fine, just like in this video: https://www.youtube.com/watch?v=o2IHJBbdqfA
Logs
ppsspplog.txt
Platform
Other
Mobile phone model or graphics card
OPPO:CPH2349, Nvidia Geforce GT 740M
PPSSPP version affected
1.13.1
Last working version
No response
Graphics backend (3D API)
Other
Checklist
The text was updated successfully, but these errors were encountered: