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 PJoyEOrig, resd 1
NEWSYM LethEnData, resd 1
NEWSYM ComboCounter, resb 1
SECTION .text
%macro PlayerDeviceHelp 3
@@ -621,6 +622,7 @@ SECTION .text
jmp %%endcomb
%%startprogress
mov byte[pressed+ebx],2
inc byte[ComboCounter]
mov byte[ComboProg+%1],1
mov byte[ComboPtr+%1],0
mov dword[PressComb+%1*4],0
@@ -727,15 +729,15 @@ ProcessCombo:
jmp .nextsession
SECTION .data
ComboProg dd 0
ComboPtr dd 0
ComboProg times 5 db 0
ComboPtr times 5 db 0
KeyLPress dd 0
CombDirSwap dd 0
CombDelay times 4 dd 0
StartComb times 4 dd 0
HoldComb times 4 dd 0
PressComb times 4 dd 0
CombCont times 4 dd 0
CombDelay times 5 dd 0
StartComb times 5 dd 0
HoldComb times 5 dd 0
PressComb times 5 dd 0
CombCont times 5 dd 0
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
CombContDatN dd 08000000h,04000000h,02000000h,01000000h,00800000h,80000000h
@@ -808,6 +810,7 @@ NEWSYM ReadInputDevice
PlayerDeviceHelp pl1Ltk ,JoyAOrig,00200000h
PlayerDeviceHelp pl1Rtk ,JoyAOrig,00100000h
.noswitch
mov byte[ComboCounter],0
ProcessKeyComb 0,JoyAOrig
or dword[JoyAOrig],00008000h ; Joystick Enable
cmp byte[GUIDelayB],0
@@ -1021,7 +1024,7 @@ NEWSYM ReadInputDevice
PlayerDeviceHelp pl5Ltk ,JoyEOrig,00200000h
PlayerDeviceHelp pl5Rtk ,JoyEOrig,00100000h
.noswitch5
ProcessKeyComb 3,JoyEOrig
ProcessKeyComb 4,JoyEOrig
or dword[JoyEOrig],00008000h ; Joystick Enable
.noinput5
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 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++; }
zmv_vars.header.key_combos += comboes_used;
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.C, JoyCOrig, 5);
@@ -1348,10 +1350,11 @@ void Replay()
}
extern bool SloMo50;
extern unsigned char ComboCounter;
void ProcessMovies()
{
if (MovieProcessing == 2) { zmv_record(SloMo50 ? true : false); }
if (MovieProcessing == 2) { zmv_record(SloMo50 ? true : false, ComboCounter); }
else { Replay(); }
}