Can now load movies via command line parameter.
This commit is contained in:
@@ -114,7 +114,7 @@ EXTSYM setaaccessbankr16,setaaccessbankw16,setaaccessbankr16a,setaaccessbankw16a
|
|||||||
EXTSYM DSP2Read8b,DSP2Read16b,DSP2Write8b,DSP2Write16b,InitDSP2
|
EXTSYM DSP2Read8b,DSP2Read16b,DSP2Write8b,DSP2Write16b,InitDSP2
|
||||||
EXTSYM DSP4Read8b,DSP4Read16b,DSP4Write8b,DSP4Write16b,InitDSP4
|
EXTSYM DSP4Read8b,DSP4Read16b,DSP4Write8b,DSP4Write16b,InitDSP4
|
||||||
|
|
||||||
EXTSYM SetupROMc
|
EXTSYM SetupROMc,CMovieExt,MoviePlay
|
||||||
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
EXTSYM LoadDir,popdir,pushdir
|
EXTSYM LoadDir,popdir,pushdir
|
||||||
@@ -135,7 +135,8 @@ NEWSYM SfxAC, db 0
|
|||||||
blah times 450 db 0
|
blah times 450 db 0
|
||||||
; FIX STATMAT
|
; FIX STATMAT
|
||||||
NEWSYM autoloadstate, db 0 ; auto load state slot number
|
NEWSYM autoloadstate, db 0 ; auto load state slot number
|
||||||
; FIX STATMAT
|
NEWSYM autoloadmovie, db 0
|
||||||
|
|
||||||
NEWSYM EndMessage
|
NEWSYM EndMessage
|
||||||
db ' ',13,10,0
|
db ' ',13,10,0
|
||||||
|
|
||||||
@@ -287,7 +288,25 @@ NEWSYM init
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
.noautoloadstate
|
.noautoloadstate
|
||||||
; FIX STATMAT
|
|
||||||
|
cmp byte[autoloadmovie],1
|
||||||
|
jb .noautloadmovie
|
||||||
|
cmp byte[autoloadmovie],10
|
||||||
|
ja .noautloadmovie
|
||||||
|
mov al,byte[autoloadmovie]
|
||||||
|
add al,'0'-1
|
||||||
|
cmp al,'0'
|
||||||
|
jne .notzero1
|
||||||
|
mov al,'v'
|
||||||
|
.notzero1
|
||||||
|
mov byte[CMovieExt],al
|
||||||
|
|
||||||
|
pushad
|
||||||
|
call MoviePlay
|
||||||
|
popad
|
||||||
|
|
||||||
|
.noautloadmovie
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUI16VID+eax],1
|
cmp byte[GUI16VID+eax],1
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ extern unsigned char Palette0, pl1contrl, pl2contrl, MMXSupport, Force8b, ForceP
|
|||||||
antienab, cvidmode, debugdisble, debugger, enterpress, vsyncon, DisplayS,
|
antienab, cvidmode, debugdisble, debugger, enterpress, vsyncon, DisplayS,
|
||||||
fname, SnowOn, Triplebufen, SPC700sh, OffBy1Line, DSPDisable, frameskip,
|
fname, SnowOn, Triplebufen, SPC700sh, OffBy1Line, DSPDisable, frameskip,
|
||||||
gammalevel, guioff, romtype, per2exec, scanlines, soundon, spcon,
|
gammalevel, guioff, romtype, per2exec, scanlines, soundon, spcon,
|
||||||
showallext, autoloadstate, smallscreenon;
|
showallext, autoloadstate, smallscreenon, autoloadmovie;
|
||||||
|
|
||||||
void ConvertJoyMap1(), ConvertJoyMap2(), zstart(), makeextension();
|
void ConvertJoyMap1(), ConvertJoyMap2(), zstart(), makeextension();
|
||||||
|
|
||||||
@@ -163,6 +163,7 @@ static void display_help()
|
|||||||
puts(" -w Enable vsync (disables triple buffering)");
|
puts(" -w Enable vsync (disables triple buffering)");
|
||||||
puts(" -y Enable Anti-Aliasing");
|
puts(" -y Enable Anti-Aliasing");
|
||||||
puts(" -z Disable Stereo Sound");
|
puts(" -z Disable Stereo Sound");
|
||||||
|
puts(" -zm # Auto load specified movie slot on startup ");
|
||||||
puts(" -zs # Auto load specified save state slot on startup ");
|
puts(" -zs # Auto load specified save state slot on startup ");
|
||||||
puts("");
|
puts("");
|
||||||
puts(" File Formats Supported by GUI : SMC,SFC,SWC,FIG,MGD,UFO,BIN,");
|
puts(" File Formats Supported by GUI : SMC,SFC,SWC,FIG,MGD,UFO,BIN,");
|
||||||
@@ -512,6 +513,16 @@ static void handle_params(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (tolower(argv[i][1]) == 'z' && argv[i][2] == 'm') //Autoload save state
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
if ((autoloadmovie = zatoi(argv[i])+1) > 10)
|
||||||
|
{
|
||||||
|
puts("Movie load position must be a value of 0 to 9!");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
display_help();
|
display_help();
|
||||||
|
|||||||
@@ -1561,7 +1561,6 @@ enum MovieStatus { MOVIE_OFF = 0, MOVIE_PLAYBACK, MOVIE_RECORD, MOVIE_OLD_PLAY }
|
|||||||
|
|
||||||
extern bool SRAMState, SloMo50;
|
extern bool SRAMState, SloMo50;
|
||||||
bool PrevSRAMState;
|
bool PrevSRAMState;
|
||||||
extern unsigned int statefileloc;
|
|
||||||
extern unsigned char ComboCounter, MovieRecordWinVal, RewindStates;
|
extern unsigned char ComboCounter, MovieRecordWinVal, RewindStates;
|
||||||
char MovieFrameStr[10];
|
char MovieFrameStr[10];
|
||||||
void SRAMChdir();
|
void SRAMChdir();
|
||||||
@@ -1877,6 +1876,7 @@ void MoviePlay()
|
|||||||
{
|
{
|
||||||
if (!MovieProcessing)
|
if (!MovieProcessing)
|
||||||
{
|
{
|
||||||
|
size_t fname_len = strlen(fnamest+1);
|
||||||
unsigned char FileExt[4];
|
unsigned char FileExt[4];
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
@@ -1884,9 +1884,9 @@ void MoviePlay()
|
|||||||
SRAMState = true;
|
SRAMState = true;
|
||||||
|
|
||||||
GUIQuit = 2;
|
GUIQuit = 2;
|
||||||
memcpy(FileExt, &fnamest[statefileloc-3], 4);
|
memcpy(FileExt, &fnamest[fname_len-3], 4);
|
||||||
memcpy(&fnamest[statefileloc-3], ".zmv", 4);
|
memcpy(&fnamest[fname_len-3], ".zmv", 4);
|
||||||
fnamest[statefileloc] = CMovieExt;
|
fnamest[fname_len] = CMovieExt;
|
||||||
|
|
||||||
SRAMChdir();
|
SRAMChdir();
|
||||||
|
|
||||||
@@ -1903,8 +1903,8 @@ void MoviePlay()
|
|||||||
{
|
{
|
||||||
zmv_alloc_rewind_buffer(RewindStates);
|
zmv_alloc_rewind_buffer(RewindStates);
|
||||||
SetMovieMode(MOVIE_PLAYBACK);
|
SetMovieMode(MOVIE_PLAYBACK);
|
||||||
memcpy(&fnamest[statefileloc-3], ".sub", 4);
|
memcpy(&fnamest[fname_len-3], ".sub", 4);
|
||||||
if (isdigit(CMovieExt)) { fnamest[statefileloc] = CMovieExt; }
|
if (isdigit(CMovieExt)) { fnamest[fname_len] = CMovieExt; }
|
||||||
MovieSub_Open(fnamest+1);
|
MovieSub_Open(fnamest+1);
|
||||||
MessageOn = MsgCount;
|
MessageOn = MsgCount;
|
||||||
}
|
}
|
||||||
@@ -1921,11 +1921,12 @@ void MoviePlay()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
printf(fnamest+1);
|
||||||
Msgptr = "MOVIE COULD NOT BE OPENED.";
|
Msgptr = "MOVIE COULD NOT BE OPENED.";
|
||||||
MessageOn = MsgCount;
|
MessageOn = MsgCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(&fnamest[statefileloc-3], FileExt, 4);
|
memcpy(&fnamest[fname_len-3], FileExt, 4);
|
||||||
asm_call(ChangetoLOADdir);
|
asm_call(ChangetoLOADdir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1940,12 +1941,13 @@ void MovieRecord()
|
|||||||
|
|
||||||
if (!MovieProcessing)
|
if (!MovieProcessing)
|
||||||
{
|
{
|
||||||
|
size_t fname_len = strlen(fnamest+1);
|
||||||
unsigned char FileExt[4];
|
unsigned char FileExt[4];
|
||||||
FILE *tempfhandle;
|
FILE *tempfhandle;
|
||||||
|
|
||||||
memcpy(FileExt, &fnamest[statefileloc-3], 4);
|
memcpy(FileExt, &fnamest[fname_len-3], 4);
|
||||||
memcpy(&fnamest[statefileloc-3], ".zmv", 4);
|
memcpy(&fnamest[fname_len-3], ".zmv", 4);
|
||||||
fnamest[statefileloc] = CMovieExt;
|
fnamest[fname_len] = CMovieExt;
|
||||||
|
|
||||||
SRAMChdir();
|
SRAMChdir();
|
||||||
|
|
||||||
@@ -1974,7 +1976,7 @@ void MovieRecord()
|
|||||||
|
|
||||||
asm_call(ChangetoLOADdir);
|
asm_call(ChangetoLOADdir);
|
||||||
|
|
||||||
memcpy (&fnamest[statefileloc-3], FileExt, 4);
|
memcpy (&fnamest[fname_len-3], FileExt, 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user