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 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

View File

@@ -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

View File

@@ -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

View File

@@ -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();