Rewind pause not a dummy.
This commit is contained in:
@@ -101,6 +101,7 @@ NEWSYM ProcessRewind
|
|||||||
mov edi,[tempedi]
|
mov edi,[tempedi]
|
||||||
mov ebp,[tempebp]
|
mov ebp,[tempebp]
|
||||||
mov edx,[tempedx]
|
mov edx,[tempedx]
|
||||||
|
|
||||||
.notokay
|
.notokay
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -1485,6 +1486,7 @@ NEWSYM cpuover
|
|||||||
pushad
|
pushad
|
||||||
call copyvid ;Update screen
|
call copyvid ;Update screen
|
||||||
popad
|
popad
|
||||||
|
call ProcessRewind
|
||||||
jmp .nonewgfx
|
jmp .nonewgfx
|
||||||
.noemupause
|
.noemupause
|
||||||
|
|
||||||
|
|||||||
@@ -199,6 +199,8 @@ static void memcpyrinc(unsigned char **src, void *dest, size_t len)
|
|||||||
extern unsigned int RewindTimer;
|
extern unsigned int RewindTimer;
|
||||||
extern unsigned char RewindStates;
|
extern unsigned char RewindStates;
|
||||||
|
|
||||||
|
extern unsigned char EMUPause, PauseRewind;
|
||||||
|
|
||||||
unsigned char *StateBackup = 0;
|
unsigned char *StateBackup = 0;
|
||||||
unsigned char AllocatedRewindStates, LatestRewindPos, EarliestRewindPos;
|
unsigned char AllocatedRewindStates, LatestRewindPos, EarliestRewindPos;
|
||||||
bool RewindPosPassed;
|
bool RewindPosPassed;
|
||||||
@@ -249,9 +251,20 @@ void RestoreCVFrame()
|
|||||||
|
|
||||||
RewindBufferPos = StateBackup + LatestRewindPos*rewind_state_size;
|
RewindBufferPos = StateBackup + LatestRewindPos*rewind_state_size;
|
||||||
//printf("Restoring rewind in slot #%u\n", LatestRewindPos);
|
//printf("Restoring rewind in slot #%u\n", LatestRewindPos);
|
||||||
|
|
||||||
|
if (MovieProcessing == 2)
|
||||||
|
{
|
||||||
|
zmv_rewind_load(LatestRewindPos, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (MovieProcessing == 1)
|
||||||
|
{
|
||||||
|
zmv_rewind_load(LatestRewindPos, true);
|
||||||
|
}
|
||||||
|
EMUPause = PauseRewind;
|
||||||
|
}
|
||||||
|
|
||||||
if (MovieProcessing == 1) { zmv_rewind_load(LatestRewindPos, true); }
|
|
||||||
else if (MovieProcessing == 2) { zmv_rewind_load(LatestRewindPos, false); }
|
|
||||||
copy_state_data(RewindBufferPos, memcpyrinc, csm_load_rewind);
|
copy_state_data(RewindBufferPos, memcpyrinc, csm_load_rewind);
|
||||||
|
|
||||||
//Clear Cache Check
|
//Clear Cache Check
|
||||||
|
|||||||
Reference in New Issue
Block a user