octoshock - fix some irregularities in savestate quality. this is intended to address #2214, and at least it passes the "first 60-100 frames in tastudio integrity test" test case given, but I still can't promise it's perfect.
This commit is contained in:
parent
f561e79489
commit
593c01a9e0
Binary file not shown.
|
@ -26,6 +26,9 @@ NewStateExternalBuffer::NewStateExternalBuffer(char *buffer, long maxlength)
|
||||||
|
|
||||||
void NewStateExternalBuffer::Save(const void *ptr, size_t size, const char *name)
|
void NewStateExternalBuffer::Save(const void *ptr, size_t size, const char *name)
|
||||||
{
|
{
|
||||||
|
if(length <= 0x30a907 && length + size > 0x30a907)
|
||||||
|
{
|
||||||
|
}
|
||||||
if (maxlength - length >= (long)size)
|
if (maxlength - length >= (long)size)
|
||||||
{
|
{
|
||||||
std::memcpy(buffer + length, ptr, size);
|
std::memcpy(buffer + length, ptr, size);
|
||||||
|
|
|
@ -1658,7 +1658,7 @@ SYNCFUNC(PS_GPU)
|
||||||
|
|
||||||
if(isReader)
|
if(isReader)
|
||||||
{
|
{
|
||||||
//BIZHAWK: not needed
|
//BIZHAWK: not needed, since we can sync TexCache directly
|
||||||
//for(unsigned i = 0; i < 256; i++)
|
//for(unsigned i = 0; i < 256; i++)
|
||||||
//{
|
//{
|
||||||
// TexCache[i].Tag = TexCache_Tag[i];
|
// TexCache[i].Tag = TexCache_Tag[i];
|
||||||
|
|
|
@ -508,7 +508,7 @@ template<int numvertices, bool goraud, bool textured, int BlendMode, bool TexMul
|
||||||
static void Command_DrawPolygon(const uint32 *cb)
|
static void Command_DrawPolygon(const uint32 *cb)
|
||||||
{
|
{
|
||||||
const unsigned cb0 = cb[0];
|
const unsigned cb0 = cb[0];
|
||||||
tri_vertex vertices[3];
|
tri_vertex vertices[3] = {0}; //zero 04-oct-2020 - zero initialize for more deterministic results (sometimes UV arent set)
|
||||||
unsigned sv = 0;
|
unsigned sv = 0;
|
||||||
//uint32 tpage = 0;
|
//uint32 tpage = 0;
|
||||||
|
|
||||||
|
|
|
@ -1229,6 +1229,7 @@ SYNCFUNC(PS_SPU)
|
||||||
{
|
{
|
||||||
NSS(Voices);
|
NSS(Voices);
|
||||||
|
|
||||||
|
NSS(NoiseDivider);
|
||||||
NSS(NoiseCounter);
|
NSS(NoiseCounter);
|
||||||
NSS(LFSR);
|
NSS(LFSR);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue