External/internal chapter features now in the box. PARTY ! =D
This commit is contained in:
@@ -106,8 +106,9 @@ EXTSYM SfxPBR,SCBRrel,SfxSCBR,SfxCOLR,hdmaearlstart,SFXCounter
|
||||
EXTSYM fxbit01,fxbit01pcal,fxbit23,fxbit23pcal,fxbit45,fxbit45pcal,fxbit67,fxbit67pcal
|
||||
EXTSYM SfxSFR,nosprincr
|
||||
EXTSYM cpucycle,debstop,switchtovirqdeb,debstop3,switchtonmideb
|
||||
EXTSYM NetPlayNoMore
|
||||
EXTSYM NetPlayNoMore,MovieSeekBehind
|
||||
EXTSYM statefileloc,CHIPBATT,SaveSramData,BackupCVFrame,RestoreCVFrame,loadstate
|
||||
EXTSYM KeyInsrtChap,KeyNextChap,KeyPrevChap,MovieInsertChapter,MovieSeekAhead
|
||||
|
||||
%ifdef __MSDOS__
|
||||
EXTSYM dssel
|
||||
@@ -919,7 +920,7 @@ reexecuteb2:
|
||||
je near .activatereset
|
||||
mov eax,[KeySaveState]
|
||||
cmp byte[CNetType],20
|
||||
je .net
|
||||
je near .net
|
||||
test byte[pressed+eax],1
|
||||
jnz near savestate
|
||||
mov eax,[KeyLoadState]
|
||||
@@ -930,6 +931,35 @@ reexecuteb2:
|
||||
popad
|
||||
jmp reexecuteb
|
||||
.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
|
||||
je near showmenu
|
||||
cmp byte[SPCKeyPressed],1
|
||||
@@ -1361,35 +1391,6 @@ NEWSYM exitloop2
|
||||
mov byte[ExecExitOkay],0
|
||||
NEWSYM exitloop
|
||||
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
|
||||
|
||||
@@ -1911,6 +1912,15 @@ NEWSYM cpuover
|
||||
mov eax,[KeyLoadState]
|
||||
test byte[pressed+eax],01h
|
||||
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]
|
||||
test byte[pressed+eax],01h
|
||||
jnz near exitloop
|
||||
|
||||
@@ -3072,100 +3072,6 @@ SECTION .data
|
||||
NEWSYM UnableMovie2, db 'MUST PLAY WITH SOUND OFF',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
|
||||
NEWSYM Totalbyteloaded, resd 1
|
||||
NEWSYM sramsavedis, resb 1
|
||||
|
||||
@@ -617,6 +617,7 @@ ProcessMouseButtons:
|
||||
cmp byte[GUICBHold],30 ; back to previous chapter
|
||||
jne .noPrevChap
|
||||
mov byte[GUICBHold],0
|
||||
mov byte[GUIQuit],2
|
||||
pushad
|
||||
call MovieSeekBehind
|
||||
popad
|
||||
@@ -625,6 +626,7 @@ ProcessMouseButtons:
|
||||
cmp byte[GUICBHold],31 ; jump to next chapter
|
||||
jne .noNextChap
|
||||
mov byte[GUICBHold],0
|
||||
mov byte[GUIQuit],2
|
||||
pushad
|
||||
call MovieSeekAhead
|
||||
popad
|
||||
|
||||
@@ -879,8 +879,8 @@ void initpitch()
|
||||
extern unsigned int KeyLoadState, Totalbyteloaded, SfxMemTable[256], SfxCPB;
|
||||
extern unsigned int SfxPBR, SfxROMBR, SfxRAMBR;
|
||||
extern unsigned char pressed[256+128+64], multchange, txtloadmsg[15];
|
||||
extern unsigned char txtconvmsg[16], txtnfndmsg[23], MovieProcessing;
|
||||
extern unsigned char ioportval, SDD1Enable, nexthdma;
|
||||
extern unsigned char txtconvmsg[16], txtnfndmsg[23], ioportval, SDD1Enable;
|
||||
extern unsigned char nexthdma;
|
||||
|
||||
void procexecloop();
|
||||
|
||||
@@ -943,8 +943,6 @@ bool zst_load(FILE *fp)
|
||||
|
||||
repackfunct();
|
||||
|
||||
//headerhack(); //Was in the asm, but why is this needed?
|
||||
|
||||
initpitch();
|
||||
ResetOffset();
|
||||
ResetState();
|
||||
|
||||
Reference in New Issue
Block a user