Key combo counter tied in ZMV.

This commit is contained in:
grinvader
2005-03-21 16:11:32 +00:00
parent ffe918eb60
commit 02c82ba366
2 changed files with 18 additions and 12 deletions

View File

@@ -542,6 +542,7 @@ NEWSYM PJoyCOrig, resd 1
NEWSYM PJoyDOrig, resd 1 NEWSYM PJoyDOrig, resd 1
NEWSYM PJoyEOrig, resd 1 NEWSYM PJoyEOrig, resd 1
NEWSYM LethEnData, resd 1 NEWSYM LethEnData, resd 1
NEWSYM ComboCounter, resb 1
SECTION .text SECTION .text
%macro PlayerDeviceHelp 3 %macro PlayerDeviceHelp 3
@@ -621,6 +622,7 @@ SECTION .text
jmp %%endcomb jmp %%endcomb
%%startprogress %%startprogress
mov byte[pressed+ebx],2 mov byte[pressed+ebx],2
inc byte[ComboCounter]
mov byte[ComboProg+%1],1 mov byte[ComboProg+%1],1
mov byte[ComboPtr+%1],0 mov byte[ComboPtr+%1],0
mov dword[PressComb+%1*4],0 mov dword[PressComb+%1*4],0
@@ -727,15 +729,15 @@ ProcessCombo:
jmp .nextsession jmp .nextsession
SECTION .data SECTION .data
ComboProg dd 0 ComboProg times 5 db 0
ComboPtr dd 0 ComboPtr times 5 db 0
KeyLPress dd 0 KeyLPress dd 0
CombDirSwap dd 0 CombDirSwap dd 0
CombDelay times 4 dd 0 CombDelay times 5 dd 0
StartComb times 4 dd 0 StartComb times 5 dd 0
HoldComb times 4 dd 0 HoldComb times 5 dd 0
PressComb times 4 dd 0 PressComb times 5 dd 0
CombCont times 4 dd 0 CombCont times 5 dd 0
CombTDelN dd 1,2,3,4,5,9,30,60,120,180,240,300 CombTDelN dd 1,2,3,4,5,9,30,60,120,180,240,300
CombTDelP dd 1,2,3,4,5,9,25,50,100,150,200,250 CombTDelP dd 1,2,3,4,5,9,25,50,100,150,200,250
CombContDatN dd 08000000h,04000000h,02000000h,01000000h,00800000h,80000000h CombContDatN dd 08000000h,04000000h,02000000h,01000000h,00800000h,80000000h
@@ -808,6 +810,7 @@ NEWSYM ReadInputDevice
PlayerDeviceHelp pl1Ltk ,JoyAOrig,00200000h PlayerDeviceHelp pl1Ltk ,JoyAOrig,00200000h
PlayerDeviceHelp pl1Rtk ,JoyAOrig,00100000h PlayerDeviceHelp pl1Rtk ,JoyAOrig,00100000h
.noswitch .noswitch
mov byte[ComboCounter],0
ProcessKeyComb 0,JoyAOrig ProcessKeyComb 0,JoyAOrig
or dword[JoyAOrig],00008000h ; Joystick Enable or dword[JoyAOrig],00008000h ; Joystick Enable
cmp byte[GUIDelayB],0 cmp byte[GUIDelayB],0
@@ -1021,7 +1024,7 @@ NEWSYM ReadInputDevice
PlayerDeviceHelp pl5Ltk ,JoyEOrig,00200000h PlayerDeviceHelp pl5Ltk ,JoyEOrig,00200000h
PlayerDeviceHelp pl5Rtk ,JoyEOrig,00100000h PlayerDeviceHelp pl5Rtk ,JoyEOrig,00100000h
.noswitch5 .noswitch5
ProcessKeyComb 3,JoyEOrig ProcessKeyComb 4,JoyEOrig
or dword[JoyEOrig],00008000h ; Joystick Enable or dword[JoyEOrig],00008000h ; Joystick Enable
.noinput5 .noinput5
cmp byte[pl12s34],1 cmp byte[pl12s34],1

View File

@@ -562,7 +562,7 @@ static void zmv_create(char *filename)
} \ } \
} }
static void zmv_record(bool slow) static void zmv_record(bool slow, unsigned char comboes_used)
{ {
unsigned char flag = 0; unsigned char flag = 0;
unsigned char press_buf[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; unsigned char press_buf[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
@@ -572,6 +572,8 @@ static void zmv_record(bool slow)
if (slow) { zmv_vars.header.slow_frames++; } if (slow) { zmv_vars.header.slow_frames++; }
zmv_vars.header.key_combos += comboes_used;
RECORD_PAD(zmv_vars.last_joy_state.A, JoyAOrig, 7); RECORD_PAD(zmv_vars.last_joy_state.A, JoyAOrig, 7);
RECORD_PAD(zmv_vars.last_joy_state.B, JoyBOrig, 6); RECORD_PAD(zmv_vars.last_joy_state.B, JoyBOrig, 6);
RECORD_PAD(zmv_vars.last_joy_state.C, JoyCOrig, 5); RECORD_PAD(zmv_vars.last_joy_state.C, JoyCOrig, 5);
@@ -1348,10 +1350,11 @@ void Replay()
} }
extern bool SloMo50; extern bool SloMo50;
extern unsigned char ComboCounter;
void ProcessMovies() void ProcessMovies()
{ {
if (MovieProcessing == 2) { zmv_record(SloMo50 ? true : false); } if (MovieProcessing == 2) { zmv_record(SloMo50 ? true : false, ComboCounter); }
else { Replay(); } else { Replay(); }
} }