Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed.

This commit is contained in:
Rachel Bryk
2013-02-25 23:49:24 -05:00
parent 415a2f17c9
commit db838e759b
14 changed files with 138 additions and 14 deletions

View File

@ -35,7 +35,6 @@ typedef void (*DecodingFunction)(u32);
namespace OpcodeDecoder
{
static DecodingFunction currentFunction = NULL;
static u32 minCommandSize;
static u16 streamSize;
@ -49,12 +48,15 @@ static u8 lastPrimCmd;
void DoState(PointerWrap &p)
{
p.Do(minCommandSize);
vertexLoader.DoState(p);
p.Do(streamSize);
p.Do(streamAddress);
// Not sure what is wrong with this. Something(s) in here is causing dolphin to crash/hang when loading states saved from another run of dolphin. Doesn't seem too important anyway...
//vertexLoader.DoState(p);
p.Do(readOpcode);
p.Do(inObjectStream);
p.Do(lastPrimCmd);
p.Do(streamSize);
p.Do(streamAddress);
// not sure how to save this... It seems to be the only thing left that is really important.
// uncommenting this will prevent all error messages, and any crashes/hangs on load, but then obviously it'll segfault once you restart dolphin.
//p.Do(currentFunction);
}