External/internal chapter features now in the box. PARTY ! =D

This commit is contained in:
grinvader
2005-03-17 18:42:44 +00:00
parent 2c55c19514
commit a2b713e60f
4 changed files with 45 additions and 129 deletions

View File

@@ -106,8 +106,9 @@ EXTSYM SfxPBR,SCBRrel,SfxSCBR,SfxCOLR,hdmaearlstart,SFXCounter
EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67,fxbit67pcal EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67,fxbit67pcal
EXTSYM SfxSFR,nosprincr EXTSYM SfxSFR,nosprincr
EXTSYM cpucycle,debstop,switchtovirqdeb,debstop3,switchtonmideb EXTSYM cpucycle,debstop,switchtovirqdeb,debstop3,switchtonmideb
EXTSYM NetPlayNoMore EXTSYM NetPlayNoMore,MovieSeekBehind
EXTSYM statefileloc,CHIPBATT,SaveSramData,BackupCVFrame,RestoreCVFrame,loadstate EXTSYM statefileloc,CHIPBATT,SaveSramData,BackupCVFrame,RestoreCVFrame,loadstate
EXTSYM KeyInsrtChap,KeyNextChap,KeyPrevChap,MovieInsertChapter,MovieSeekAhead
%ifdef __MSDOS__ %ifdef __MSDOS__
EXTSYM dssel EXTSYM dssel
@@ -919,7 +920,7 @@ reexecuteb2:
je near .activatereset je near .activatereset
mov eax,[KeySaveState] mov eax,[KeySaveState]
cmp byte[CNetType],20 cmp byte[CNetType],20
je .net je near .net
test byte[pressed+eax],1 test byte[pressed+eax],1
jnz near savestate jnz near savestate
mov eax,[KeyLoadState] mov eax,[KeyLoadState]
@@ -930,6 +931,35 @@ reexecuteb2:
popad popad
jmp reexecuteb jmp reexecuteb
.noloadstt0 .noloadstt0
mov eax,[KeyInsrtChap]
test byte[pressed+eax],1
jz .noinsertchapter
mov byte[pressed+eax],0
pushad
call MovieInsertChapter
popad
jmp continueprognokeys
.noinsertchapter
mov eax,[KeyNextChap]
test byte[pressed+eax],1
jz .nonextchapter
mov byte[pressed+eax],0
mov byte[multchange],1
pushad
call MovieSeekAhead
popad
jmp continueprognokeys
.nonextchapter
mov eax,[KeyPrevChap]
test byte[pressed+eax],1
jz .noprevchapter
mov byte[pressed+eax],0
mov byte[multchange],1
pushad
call MovieSeekBehind
popad
jmp continueprognokeys
.noprevchapter
cmp byte[SSKeyPressed],1 cmp byte[SSKeyPressed],1
je near showmenu je near showmenu
cmp byte[SPCKeyPressed],1 cmp byte[SPCKeyPressed],1
@@ -1361,35 +1391,6 @@ NEWSYM exitloop2
mov byte[ExecExitOkay],0 mov byte[ExecExitOkay],0
NEWSYM exitloop NEWSYM exitloop
ret ret
cmp byte[nextmenupopup],1
je near .okay
cmp byte[ExecExitOkay],0
je near .okay
mov byte[pressed+1],0
mov byte[pressed+59],0
mov eax,[KeySaveState]
mov byte[pressed+eax],0
mov eax,[KeyLoadState]
mov byte[pressed+eax],0
mov eax,[KeyQuickExit]
mov byte[pressed+eax],0
mov eax,[KeyQuickLoad]
mov byte[pressed+eax],0
mov eax,[KeyQuickRst]
mov byte[pressed+eax],0
mov byte[ExecExitOkay],5
mov eax,[KeyQuickSnapShot]
mov byte[pressed+eax],0
mov eax,[KeyQuickClock]
mov byte[pressed+eax],0
mov eax,[KeyQuickSaveSPC]
mov byte[pressed+eax],0
mov byte[SSKeyPressed],0
mov byte[SPCKeyPressed],0
jmp cpuover.returntoloop
.okay
mov byte[ExecExitOkay],5
ret
ALIGN16 ALIGN16
@@ -1911,6 +1912,15 @@ NEWSYM cpuover
mov eax,[KeyLoadState] mov eax,[KeyLoadState]
test byte[pressed+eax],01h test byte[pressed+eax],01h
jnz near exitloop jnz near exitloop
mov eax,[KeyInsrtChap]
test byte[pressed+eax],01h
jnz near exitloop
mov eax,[KeyPrevChap]
test byte[pressed+eax],01h
jnz near exitloop
mov eax,[KeyNextChap]
test byte[pressed+eax],01h
jnz near exitloop
mov eax,[KeyQuickRst] mov eax,[KeyQuickRst]
test byte[pressed+eax],01h test byte[pressed+eax],01h
jnz near exitloop jnz near exitloop

View File

@@ -3072,100 +3072,6 @@ SECTION .data
NEWSYM UnableMovie2, db 'MUST PLAY WITH SOUND OFF',0 NEWSYM UnableMovie2, db 'MUST PLAY WITH SOUND OFF',0
NEWSYM UnableMovie3, db 'MUST PLAY WITH SOUND ON',0 NEWSYM UnableMovie3, db 'MUST PLAY WITH SOUND ON',0
;SECTION .text
;
;MoviePlay:
; cmp byte[CNetType],20
; je near .dontplay
; mov byte[GUICBHold],0
; mov dword[MovieCounter],0
; cmp byte[MovieProcessing],0
; jne near .dontplay
; mov byte[GUIQuit],2
; mov ebx,[statefileloc]
; mov eax,[fnamest+ebx-3]
; push eax
; mov dword[fnamest+ebx-3],'.zmv'
; mov al,[CMovieExt]
; mov byte[fnamest+ebx],al
; pushad
; call SRAMChdir
; popad
; mov dword[Totalbyteloaded],0
; pushad
; call loadstate2
; popad
; mov edx,fnamest+1
; call Open_File
; jc near .notexist
; mov bx,ax
; mov [MovieFileHand],bx
; mov cx,[Totalbyteloaded+2]
; mov dx,[Totalbyteloaded]
; call File_Seek
; mov edx,RecData
; mov ecx,16
; call Read_File
; cmp byte[RecData+2],1
; jne .noextra
; mov eax,[RecData+3]
; mov [timer2upd],eax
; mov eax,[RecData+7]
; mov [curexecstate],eax
; mov dword[nmiprevaddrl],0
; mov dword[nmiprevaddrh],0
; mov dword[nmirept],0
; mov dword[nmiprevline],224
; mov dword[nmistatus],0
; mov dword[spcnumread],0
; mov dword[spchalted],-1
; mov byte[NextLineCache],0
;.noextra
; mov al,[RecData]
; cmp al,[soundon]
; jne near .soundisoff
; cmp dword[ramsize],0
; je .noram
; mov edx,[sram]
; mov ecx,[ramsize]
; call Read_File
;.noram
; mov byte[MovieProcessing],1
;.skip
; mov dword[PJoyAOrig],0
; mov dword[PJoyBOrig],0
; mov dword[PJoyCOrig],0
; mov dword[PJoyDOrig],0
; mov dword[PJoyEOrig],0
; mov byte[sramsavedis],1
; mov byte[UseRemoteSRAMData],0
; mov byte[DSPMem+08h],0
; mov byte[DSPMem+18h],0
; mov byte[DSPMem+28h],0
; mov byte[DSPMem+38h],0
; mov byte[DSPMem+48h],0
; mov byte[DSPMem+58h],0
; mov byte[DSPMem+68h],0
; mov byte[DSPMem+78h],0
;.notexist
; call ChangetoLOADdir
; pop eax
; mov ebx,[statefileloc]
; mov [fnamest+ebx-3],eax
;.dontplay
; ret
;.soundisoff
; mov dword[Msgptr],UnableMovie2
; cmp byte[soundon],0
; jne .soundon
; mov dword[Msgptr],UnableMovie3
;.soundon
; mov eax,[MsgCount]
; mov [MessageOn],eax
; call Close_File
; pop eax
; ret
;
SECTION .bss SECTION .bss
NEWSYM Totalbyteloaded, resd 1 NEWSYM Totalbyteloaded, resd 1
NEWSYM sramsavedis, resb 1 NEWSYM sramsavedis, resb 1

View File

@@ -617,6 +617,7 @@ ProcessMouseButtons:
cmp byte[GUICBHold],30 ; back to previous chapter cmp byte[GUICBHold],30 ; back to previous chapter
jne .noPrevChap jne .noPrevChap
mov byte[GUICBHold],0 mov byte[GUICBHold],0
mov byte[GUIQuit],2
pushad pushad
call MovieSeekBehind call MovieSeekBehind
popad popad
@@ -625,6 +626,7 @@ ProcessMouseButtons:
cmp byte[GUICBHold],31 ; jump to next chapter cmp byte[GUICBHold],31 ; jump to next chapter
jne .noNextChap jne .noNextChap
mov byte[GUICBHold],0 mov byte[GUICBHold],0
mov byte[GUIQuit],2
pushad pushad
call MovieSeekAhead call MovieSeekAhead
popad popad

View File

@@ -879,8 +879,8 @@ void initpitch()
extern unsigned int KeyLoadState, Totalbyteloaded, SfxMemTable[256], SfxCPB; extern unsigned int KeyLoadState, Totalbyteloaded, SfxMemTable[256], SfxCPB;
extern unsigned int SfxPBR, SfxROMBR, SfxRAMBR; extern unsigned int SfxPBR, SfxROMBR, SfxRAMBR;
extern unsigned char pressed[256+128+64], multchange, txtloadmsg[15]; extern unsigned char pressed[256+128+64], multchange, txtloadmsg[15];
extern unsigned char txtconvmsg[16], txtnfndmsg[23], MovieProcessing; extern unsigned char txtconvmsg[16], txtnfndmsg[23], ioportval, SDD1Enable;
extern unsigned char ioportval, SDD1Enable, nexthdma; extern unsigned char nexthdma;
void procexecloop(); void procexecloop();
@@ -943,8 +943,6 @@ bool zst_load(FILE *fp)
repackfunct(); repackfunct();
//headerhack(); //Was in the asm, but why is this needed?
initpitch(); initpitch();
ResetOffset(); ResetOffset();
ResetState(); ResetState();