Skip to content
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

Fix Pangya(KS). #12509

Merged
merged 4 commits into from
Dec 25, 2019
Merged

Fix Pangya(KS). #12509

merged 4 commits into from
Dec 25, 2019

Conversation

shenweip
Copy link
Contributor

Pangya(KS) seems want to check something base on a delay(over 15ms) and system time.Anyhow, the game work now.

Also fix #12492 ,the issue occur since commit e09296b,re-grab SCE_KERNEL_ERROR_NOCWD now.

Pangya(KS) seems want to check something base on this delay and system time.Anyhow, the game work now.
Fix issue#12492,the issue occur since commit e09296b
@hrydgard
Copy link
Owner

Hm, the delay is fine, maybe even don't need the REALISTIC check, but the NOCWD thing... needs thinking about.

Were you able to determine which in particular of the many "|| error == SCE_KERNEL_ERROR_NOCWD" changes that fixed it? Because I think that in many or most of the cases, it's not correct to ignore the error. Some hardware testing may be needed here.

@hrydgard hrydgard added the I/O Affected by I/O timing settings, or other kind of I/O issue. label Dec 13, 2019
@hrydgard hrydgard added this to the v1.10.0 milestone Dec 13, 2019
Use a error 1 to mean the uccessful mapping but carry with  SCE_KERNEL_ERROR_NOCWD error.
@hrydgard
Copy link
Owner

Cool, that puts a little more light on what might be going on here. @unknownbrackets it seems that a NOCWD error can linger around and prevent a successful open? Or something like that? I don't have time right now to dig deep but will look again in the weekend.

@shenweip
Copy link
Contributor Author

shenweip commented Dec 13, 2019

Yeah, I think i misunderstand someting before.@hrydgard The game actually need a SCE_KERNEL_ERROR_NOCWD to return to sceIoOpen if the file not found.But SCE_KERNEL_ERROR_NOCWD was missed since commit e09296b and overwritten by ERROR_ERRNO_FILE_NOT_FOUND because file path mapping is successful.

@unknownbrackets
Copy link
Collaborator

Hmm, if anything I'd prefer returning -SCE_KERNEL_ERROR_NOCWD to get a positive value, and then just return -error if error != 0 and error > 0. Though, I think ignoring that error in some calls is just papering over other bugs.

-[Unknown]

@shenweip
Copy link
Contributor Author

shenweip commented Dec 24, 2019

Though, I think ignoring that error in some calls is just papering over other bugs.

@unknownbrackets Do you mean not ignoring the positive value from MapFilePath() would be better?It seems to be likely to break somethings though.

@unknownbrackets
Copy link
Collaborator

I mean that SCE_KERNEL_ERROR_NOCWD should probably be returned by all calls as an error, not just sceIoOpen. That is, it should just be return SCE_KERNEL_ERROR_NOCWD; not return 1;.

If that breaks anything, in theory it just means we've got an issue with cwd management. IIRC doing that before broke Final Fantasy 3 or something, but decent chance we've fixed that bug by now...

-[Unknown]

@shenweip
Copy link
Contributor Author

Alright,thanks @unknownbrackets ,done now.

@hrydgard
Copy link
Owner

Cool, looks good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I/O Affected by I/O timing settings, or other kind of I/O issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pangya - Infinite loading. (Android/Windows)
3 participants