Code cleanup, added position # to RR states, fixes for pause related problems.

This commit is contained in:
n-a-c-h
2005-05-19 20:13:15 +00:00
parent 4a3303231b
commit 7493da7f03
2 changed files with 61 additions and 21 deletions

View File

@@ -1475,6 +1475,7 @@ NEWSYM cpuover
pushad
;call StartDrawNewGfx
call showvideo
call cachevideo
popad
jmp .nonewgfx

View File

@@ -241,7 +241,7 @@ void BackupPauseFrame()
void RestorePauseFrame()
{
copy_state_data(SpecialPauseBackup, memcpyrinc, csm_load_rewind);
ClearCacheCheck();
//ClearCacheCheck();
PauseFrameMode = 0;
}
@@ -296,7 +296,7 @@ void RestoreCVFrame()
zmv_rewind_load(LatestRewindPos, true);
}
if (PauseRewind)
if (PauseRewind || EMUPause)
{
PauseFrameMode = EMUPause = true;
}
@@ -467,8 +467,7 @@ void ResetState()
ResState(Voice7BufPtr);
}
unsigned char firstsaveinc = 0, txtsavemsg[15] = "STATE - SAVED.";
unsigned char txtsavemsgfail[16] = "UNABLE TO SAVE.";
unsigned char firstsaveinc = 0;
extern unsigned int statefileloc, CurrentHandle, SfxRomBuffer, SfxCROM;
extern unsigned int SfxLastRamAdr, SfxRAMMem, MsgCount, MessageOn;
@@ -582,8 +581,27 @@ void zst_save(FILE *fp, bool Thumbnail, bool Compress)
ResetState();
}
#define INSERT_POSITION_NUMBER(message, num) \
if (!num) \
{ \
num = strchr(message, '-'); \
} \
*num = (fnamest[statefileloc] == 't') ? '0' : fnamest[statefileloc];
void statesaver()
{
static unsigned char txtsavemsg[] = "STATE - SAVED.";
static unsigned char txtrrsvmsg[] = "RR STATE - SAVED.";
static unsigned char *txtsavenum = 0;
static unsigned char *txtrrsvnum = 0;
//Get the state number
INSERT_POSITION_NUMBER(txtsavemsg, txtsavenum);
INSERT_POSITION_NUMBER(txtrrsvmsg, txtrrsvnum);
//Save State code
#ifdef __LINUX__
SRAMChdir();
@@ -594,7 +612,7 @@ void statesaver()
bool mzt_save(char *, bool, bool);
if (mzt_save(fnamest+1, (cbitmode && !NoPictureSave) ? true : false, false))
{
Msgptr = "RR STATE SAVED.";
Msgptr = txtrrsvmsg;
MessageOn = MsgCount;
}
return;
@@ -631,13 +649,12 @@ void statesaver()
fclose(fhandle);
//Display message onscreen, 'STATE X SAVED.'
txtsavemsg[6] = (fnamest[statefileloc] == 't') ? '0' : fnamest[statefileloc];
Msgptr = txtsavemsg;
}
else
{
//Display message onscreen, 'UNABLE TO SAVE.'
Msgptr = txtsavemsgfail;
Msgptr = "UNABLE TO SAVE.";
}
MessageOn = MsgCount;
@@ -645,10 +662,6 @@ void statesaver()
stim();
}
unsigned char txtloadmsg[16] = "STATE - LOADED.";
unsigned char txtconvmsg[17] = "STATE - TOO OLD.";
unsigned char txtnfndmsg[24] = "UNABLE TO LOAD STATE -.";
extern unsigned int KeyLoadState, Totalbyteloaded, SfxMemTable[256], SfxCPB;
extern unsigned int SfxPBR, SfxROMBR, SfxRAMBR;
extern unsigned char pressed[256+128+64], multchange, ioportval, SDD1Enable;
@@ -833,6 +846,24 @@ void zst_sram_load_compressed(FILE *fp)
void stateloader (unsigned char *statename, unsigned char keycheck, unsigned char xfercheck)
{
extern unsigned char PauseLoad;
static unsigned char txtloadmsg[] = "STATE - LOADED.";
static unsigned char txtconvmsg[] = "STATE - TOO OLD.";
static unsigned char txtnfndmsg[] = "UNABLE TO LOAD STATE -.";
static unsigned char txtrrldmsg[] = "RR STATE - LOADED.";
static unsigned char *txtloadnum = 0;
static unsigned char *txtconvnum = 0;
static unsigned char *txtnfndnum = 0;
static unsigned char *txtrrldnum = 0;
//Get the state number
INSERT_POSITION_NUMBER(txtloadmsg, txtloadnum);
INSERT_POSITION_NUMBER(txtconvmsg, txtconvnum);
INSERT_POSITION_NUMBER(txtnfndmsg, txtnfndnum);
INSERT_POSITION_NUMBER(txtrrldmsg, txtrrldnum);
#ifdef __LINUX__
SRAMChdir();
#endif
@@ -845,8 +876,6 @@ void stateloader (unsigned char *statename, unsigned char keycheck, unsigned cha
MessageOn = MsgCount;
}
//Get the state number
txtloadmsg[6] = txtconvmsg[6] = txtnfndmsg[21] = (fnamest[statefileloc] == 't') ? '0' : fnamest[statefileloc];
switch (MovieProcessing)
{
@@ -855,21 +884,31 @@ void stateloader (unsigned char *statename, unsigned char keycheck, unsigned cha
case 1:
if (mzt_load(statename, true))
{
Msgptr = "RR STATE LOADED.";
MessageOn = MsgCount;
if (PauseLoad)
{
PauseFrameMode = EMUPause = true;
}
Msgptr = "CHAPTER LOADED.";
}
else
{
Msgptr = txtnfndmsg;
}
MessageOn = MsgCount;
return;
case 2:
if (mzt_load(statename, false))
{
Msgptr = "CHAPTER LOADED.";
Msgptr = txtrrldmsg;
MessageOn = MsgCount;
if (PauseLoad || EMUPause)
{
PauseFrameMode = EMUPause = true;
}
}
else
{
Msgptr = txtnfndmsg;
}
MessageOn = MsgCount;
return;
}