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 DSP4Read8b,DSP4Read16b,DSP4Write8b,DSP4Write16b,InitDSP4
|
||||
|
||||
EXTSYM SetupROMc
|
||||
EXTSYM SetupROMc,CMovieExt,MoviePlay
|
||||
|
||||
%ifdef __LINUX__
|
||||
EXTSYM LoadDir,popdir,pushdir
|
||||
@@ -135,7 +135,8 @@ NEWSYM SfxAC, db 0
|
||||
blah times 450 db 0
|
||||
; FIX STATMAT
|
||||
NEWSYM autoloadstate, db 0 ; auto load state slot number
|
||||
; FIX STATMAT
|
||||
NEWSYM autoloadmovie, db 0
|
||||
|
||||
NEWSYM EndMessage
|
||||
db ' ',13,10,0
|
||||
|
||||
@@ -287,7 +288,25 @@ NEWSYM init
|
||||
%endif
|
||||
|
||||
.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
|
||||
mov al,[cvidmode]
|
||||
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,
|
||||
fname, SnowOn, Triplebufen, SPC700sh, OffBy1Line, DSPDisable, frameskip,
|
||||
gammalevel, guioff, romtype, per2exec, scanlines, soundon, spcon,
|
||||
showallext, autoloadstate, smallscreenon;
|
||||
showallext, autoloadstate, smallscreenon, autoloadmovie;
|
||||
|
||||
void ConvertJoyMap1(), ConvertJoyMap2(), zstart(), makeextension();
|
||||
|
||||
@@ -163,6 +163,7 @@ static void display_help()
|
||||
puts(" -w Enable vsync (disables triple buffering)");
|
||||
puts(" -y Enable Anti-Aliasing");
|
||||
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("");
|
||||
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
|
||||
{
|
||||
display_help();
|
||||
|
||||
@@ -1561,7 +1561,6 @@ enum MovieStatus { MOVIE_OFF = 0, MOVIE_PLAYBACK, MOVIE_RECORD, MOVIE_OLD_PLAY }
|
||||
|
||||
extern bool SRAMState, SloMo50;
|
||||
bool PrevSRAMState;
|
||||
extern unsigned int statefileloc;
|
||||
extern unsigned char ComboCounter, MovieRecordWinVal, RewindStates;
|
||||
char MovieFrameStr[10];
|
||||
void SRAMChdir();
|
||||
@@ -1877,6 +1876,7 @@ void MoviePlay()
|
||||
{
|
||||
if (!MovieProcessing)
|
||||
{
|
||||
size_t fname_len = strlen(fnamest+1);
|
||||
unsigned char FileExt[4];
|
||||
FILE *fp;
|
||||
|
||||
@@ -1884,9 +1884,9 @@ void MoviePlay()
|
||||
SRAMState = true;
|
||||
|
||||
GUIQuit = 2;
|
||||
memcpy(FileExt, &fnamest[statefileloc-3], 4);
|
||||
memcpy(&fnamest[statefileloc-3], ".zmv", 4);
|
||||
fnamest[statefileloc] = CMovieExt;
|
||||
memcpy(FileExt, &fnamest[fname_len-3], 4);
|
||||
memcpy(&fnamest[fname_len-3], ".zmv", 4);
|
||||
fnamest[fname_len] = CMovieExt;
|
||||
|
||||
SRAMChdir();
|
||||
|
||||
@@ -1903,8 +1903,8 @@ void MoviePlay()
|
||||
{
|
||||
zmv_alloc_rewind_buffer(RewindStates);
|
||||
SetMovieMode(MOVIE_PLAYBACK);
|
||||
memcpy(&fnamest[statefileloc-3], ".sub", 4);
|
||||
if (isdigit(CMovieExt)) { fnamest[statefileloc] = CMovieExt; }
|
||||
memcpy(&fnamest[fname_len-3], ".sub", 4);
|
||||
if (isdigit(CMovieExt)) { fnamest[fname_len] = CMovieExt; }
|
||||
MovieSub_Open(fnamest+1);
|
||||
MessageOn = MsgCount;
|
||||
}
|
||||
@@ -1921,11 +1921,12 @@ void MoviePlay()
|
||||
}
|
||||
else
|
||||
{
|
||||
printf(fnamest+1);
|
||||
Msgptr = "MOVIE COULD NOT BE OPENED.";
|
||||
MessageOn = MsgCount;
|
||||
}
|
||||
|
||||
memcpy(&fnamest[statefileloc-3], FileExt, 4);
|
||||
memcpy(&fnamest[fname_len-3], FileExt, 4);
|
||||
asm_call(ChangetoLOADdir);
|
||||
}
|
||||
}
|
||||
@@ -1940,12 +1941,13 @@ void MovieRecord()
|
||||
|
||||
if (!MovieProcessing)
|
||||
{
|
||||
size_t fname_len = strlen(fnamest+1);
|
||||
unsigned char FileExt[4];
|
||||
FILE *tempfhandle;
|
||||
|
||||
memcpy(FileExt, &fnamest[statefileloc-3], 4);
|
||||
memcpy(&fnamest[statefileloc-3], ".zmv", 4);
|
||||
fnamest[statefileloc] = CMovieExt;
|
||||
memcpy(FileExt, &fnamest[fname_len-3], 4);
|
||||
memcpy(&fnamest[fname_len-3], ".zmv", 4);
|
||||
fnamest[fname_len] = CMovieExt;
|
||||
|
||||
SRAMChdir();
|
||||
|
||||
@@ -1974,7 +1976,7 @@ void MovieRecord()
|
||||
|
||||
asm_call(ChangetoLOADdir);
|
||||
|
||||
memcpy (&fnamest[statefileloc-3], FileExt, 4);
|
||||
memcpy (&fnamest[fname_len-3], FileExt, 4);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user