I guess the special 0x9F stores the party slot of the chosen Pokemon in a variable (don't know which) Is it possible to skip this part and use setvar0x8004 (or the real variable) to make a preset slot for this?
Also, it's suposed that this routine only changes the sprite of the desired party Pokemon without modifying it's index, isn't it?
I'm not good on ASM yet, but would it be possible to make it change the Stats of the Pokemon too?? FBI does it on his Silent Evolution Routine, but it takes place during the evolution code:
So I can confirm that "ptr = 0x084A329C" is wrong.
The "MusicPlayerArea *" is actually located at the offset above. So "0x084A329C" is the pointer to the "MusicPlayerArea" pointer.
So just load the value from that offset (and not the offset itself) and pass it over to the sound functions.