-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 Hamilton's Great Adventure #3427
Conversation
|
@flash-fire, thanks for your PR! By analyzing the history of the files in this pull request, we identified @jarveson, @Nekotekina and @kd-11 to be potential reviewers. |
b12cb3c to
84b6c57
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alignment on that comment will trigger ocd XD. Move it above outside the block or down one line and indent it with the return block. Otherwise looks sane enough.
84b6c57 to
68763ae
Compare
rpcs3/Emu/Cell/lv2/sys_rsx.cpp
Outdated
| { | ||
| // Hamilton's Great Adventure [NPUB30458] calls this function before calling allocate. Not sure if race condition. | ||
| sys_rsx.error("sys_rsx_context_attribute called before sys_rsx_context_allocate: context_id=0x%x, package_id=0x%x, a3=0x%llx, a4=0x%llx, a5=0x%llx, a6=0x%llx)", context_id, package_id, a3, a4, a5, a6); | ||
| return CELL_ESRCH; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just change to EINVAL to match real hw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed and rebased. Sorry I don't pay attention to github notifications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If handling that matches real console behavior then it shouldn't have the "Not sure if it's race condition" comment as it's correct (?)
68763ae to
31518a2
Compare
…ocate. This inevitably causes RPCS3 to crash. Add nullptr check to prevent this.
31518a2 to
595a2f0
Compare
|
For future reference, the behavior implemented here has been tested on a real PS3 and it was confirmed correct. Merging as soon as it finishes building. |

This game calls sys_rsx_context_attribute before sys_rsx_memory_allocate. This inevitably causes a crash. So, I return that the resource doesn't exist. Doesn't seem like a race condition because the main thread asks for the context before the rendering thread is even created. Could be wrong though so I left that in as a comment.