Browse Source

Blue Tutu of Death script...

master
5 years ago
parent
commit
031072c3ad
2 changed files with 4431 additions and 828 deletions
  1. 31
    9
      CEAs/vergil-tricks-on-style-btn-swordembed.CEA
  2. 4400
    819
      DevilMayCry4SpecialEdition.CT

+ 31
- 9
CEAs/vergil-tricks-on-style-btn-swordembed.CEA View File

@@ -13,7 +13,9 @@ label(sidetrickanim)
label(trickdown)
label(trickback)
label(trickbackanim)
label(animation_bind)
label(no_anim)
label(get_input)
label(exit)
//Vergil is locked on and has a sword embedded in his target.
//ebx = address of player character
@@ -25,22 +27,40 @@ trickdown_DTrequire:
db 00 //default to false
newmem:
//game already read lock-on input listener
//game will read lock-on inputs on ground
//however game will not read lock-on + style in air
test byte ptr [ebx+00001A64],01
je get_input //bl is greater than 0 (which would be 1)
animation_bind:
//need only to map animations!
cmp [ebx+1bfc], 0 //lock-on neutral
mov edi, [ebx+1bfc] //edi is safe to be changed.
cmp edi, 0 //lock-on neutral
je airtrick
cmp [ebx+1bfc], 1 //lock-on forward
cmp edi, 1 //lock-on forward
je trickup
cmp [ebx+1bfc], 2 //lock-on left
cmp edi, 2 //lock-on left
je sidetrick
cmp [ebx+1bfc], 8 //lock-on right
cmp edi, 8 //lock-on right
je sidetrick
cmp [ebx+1bfc], 6 //lock-on back diagonal
cmp edi, 6 //lock-on back diagonal
je trickback
cmp [ebx+1bfc], C //lock-on back
cmp edi, C //lock-on back
je trickback
jmp no_anim
get_input:
movq xmm0, [ebx+3930] //prepare registers for function call
mov edx, [ebx+3940] //this and above will placed on stack
sub esp, 14 //make room on the stack
mov edi, esp //use edi for moving stuff to stack addresses
movq [edi], xmm0 //prepare stack for function call
movq xmm0, [ebx+3938]
movq [edi+8], xmm0
mov [edi+10], edx
call DevilMayCry4SpecialEdition.exe+4CCD40 //listen lock-on input
jmp animation_bind
originalcode:
mov ecx,ebx
call eax
@@ -51,6 +71,7 @@ no_anim:
xor al, al
exit:
add esp, 14
jmp returnhere
trickup:
@@ -60,11 +81,12 @@ push 27 //animation i.d for trick up
jmp originalcode
airtrick:
//this move has no requirements or restrictions
push 24
jmp originalcode
sidetrick:
test byte ptr [ebx+1A64],01 //check if player is on ground
test byte ptr [ebx+00001A64],01 //check if player is on ground
je no_anim //in air, don't do side trick
//check if script should obey DT rules for side trick
cmp byte ptr [sidetrick_DTrequire], 0
@@ -84,7 +106,7 @@ cmp [ebx+78e4], 0 //if so check if player is in DT
je no_anim //jump if player is not in DT
trickbackanim:
test byte ptr [ebx+1A64],01 //check if player is on ground
test byte ptr [ebx+00001A64],01
je trickdown
push 29
jmp originalcode

+ 4400
- 819
DevilMayCry4SpecialEdition.CT
File diff suppressed because it is too large
View File


Loading…
Cancel
Save