Browse Source

More documentation & script that properly gives Vergil directions in human+air condition.

master
5 years ago
parent
commit
3a5e3dd6e3
2 changed files with 620 additions and 559 deletions
  1. 58
    0
      CEAs/vergil-allow-non-DT-trick-down-wip.CEA
  2. 562
    559
      DevilMayCry4SpecialEdition.CT

+ 58
- 0
CEAs/vergil-allow-non-DT-trick-down-wip.CEA View File

@@ -0,0 +1,58 @@
[enable]
alloc(newmem,2048)
label(returnhere)
label(in_air)
label(exit)
//Vergil currently does not have a input combination:
//Lock-ON + Back + Jump
//while he is in air in his human form
newmem: //still going to do this
//currently this will be called every frame
//currently esi is address of player character
test byte ptr [esi+00001A64],01
pushfd //keep flags for the conditional jump on returning
je in_air
exit:
popfd //restore flags
jmp returnhere
in_air:
//eax, ecx do not need to be pushed/popped
//now for preliminary checks
//these are done also on Trick Down (air)
cmp dword ptr [esi+3924], 02
jne exit
cmp byte ptr [esi+3928], 01
jne exit
test byte ptr [esi+392c], 10
je exit
movq xmm0, [esi+3930] //prepare registers for function call
mov ecx, [esi+3940]
sub esp, 14 //make room on the stack
mov eax, esp
movq [eax], xmm0
movq xmm0, [esi+3938]
movq [eax+8], xmm0
mov [eax+10], ecx
call DevilMayCry4SpecialEdition.exe+4CCD40 //listen lock-on input
//cmp [esi+1bfc], C //input for "back"
//jne exit
//mov eax, [esi] //get starting address for player character methods
//mov eax, [eax+234]
//push 2a //push animation i.d for trick down
//call eax
//don't add esp even though it's reasonable
jmp exit
"DevilMayCry4SpecialEdition.exe"+D2C77:
jmp newmem
nop
nop
returnhere:
[disable]
dealloc(newmem)
"DevilMayCry4SpecialEdition.exe"+D2C77:
test byte ptr [esi+00001A64],01

+ 562
- 559
DevilMayCry4SpecialEdition.CT
File diff suppressed because it is too large
View File


Loading…
Cancel
Save