hrydgard/ppsspp — pull request #515 by unknownbrackets (2013-01-28 05:54:29+00:00)
Title: Fix scePsmfPlayerStart to not corrupt the stack

It seems like the psmfPlayer parameter is in fact a pointer to a 4 bytes which tend to contain a pointer to something else. I haven't figured out how deep the rabbit hole goes, but tests *definitely* confirm that scePsmfPlayerCreate() does *not* return an error for a previously unknown psmfPlayer parameter.

I found that `scePsmfPlayerStart()` was corrupting the stack, which is probably why the only way to make scePsmfPlayer "work" was by making sure games didn't call it if possible.

This fixes Shadow of Destiny (although black) and Lunar (which has problems going ingame due to what look like atrac issues.) I found it corrupting the stack in Mimana, which still works with this change. I don't have Naruto.

Also tested in (don't have many games which use scePsmfPlayer...):
* PixelJunk Monsters Deluxe
* Final Fantasy 3
* Unchained Blades (with intervention)
* Patchwork Heroes (with intervention)

-[Unknown]