Rewind pause not a dummy.

This commit is contained in:
n-a-c-h
2005-05-09 23:14:02 +00:00
parent 08c2d38421
commit 6fed231ede
2 changed files with 17 additions and 2 deletions

View File

@@ -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

View File

@@ -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;
@@ -250,8 +252,19 @@ 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 == 1) { zmv_rewind_load(LatestRewindPos, true); } if (MovieProcessing == 2)
else if (MovieProcessing == 2) { zmv_rewind_load(LatestRewindPos, false); } {
zmv_rewind_load(LatestRewindPos, false);
}
else
{
if (MovieProcessing == 1)
{
zmv_rewind_load(LatestRewindPos, true);
}
EMUPause = PauseRewind;
}
copy_state_data(RewindBufferPos, memcpyrinc, csm_load_rewind); copy_state_data(RewindBufferPos, memcpyrinc, csm_load_rewind);
//Clear Cache Check //Clear Cache Check