Browse Source

New scripts for trick moves on style button.

master
5 years ago
parent
commit
0ad920c729

+ 44
- 0
CEAs/vergil-trick-up-nolock-swordembed.CEA View File

@@ -0,0 +1,44 @@
[enable]
alloc(newmem,33)
label(returnhere)
label(originalcode)
label(no_anim)
label(exit)
//Vergil is not locked on, but has a sword embedded
newmem:
//do not touch ecx, and eax
//this context ebx = address of player character
cmp byte ptr [ebx+7c50], 0 //obey trick up limit
jg no_anim
push 27 //animation i.d for trick up
originalcode:
mov ecx,ebx
call eax
mov al, 01 //set true for animation done
jmp exit
no_anim:
xor al, al
exit:
jmp returnhere
DevilMayCry4SpecialEdition.exe+D26EF:
jmp newmem
nop
returnhere:
DevilMayCry4SpecialEdition.exe+D26F5:
db 90 90
[disable]
dealloc(newmem)
DevilMayCry4SpecialEdition.exe+D26EF:
push 24
mov ecx,ebx
call eax
DevilMayCry4SpecialEdition.exe+D26F5:
mov al,01

+ 115
- 0
CEAs/vergil-tricks-on-style-btn-swordembed.CEA View File

@@ -0,0 +1,115 @@
[enable]
alloc(newmem,2048)
alloc(sidetrick_DTrequire, 1)
alloc(trickdown_DTrequire, 1)
registersymbol(sidetrick_DTrequire)
registersymbol(trickdown_DTrequire)
label(returnhere)
label(originalcode)
label(trickup)
label(airtrick)
label(sidetrick)
label(sidetrickanim)
label(trickdown)
label(trickback)
label(trickbackanim)
label(no_anim)
label(exit)
//Vergil is locked on and has a sword embedded in his target.
//ebx = address of player character
//do NOT touch eax and ecx
sidetrick_DTrequire:
db 01 //default to true
trickdown_DTrequire:
db 00 //default to false
newmem:
//game already read lock-on input listener
//need only to map animations!
cmp [ebx+1bfc], 0 //lock-on neutral
je airtrick
cmp [ebx+1bfc], 1 //lock-on forward
je trickup
cmp [ebx+1bfc], 2 //lock-on left
je sidetrick
cmp [ebx+1bfc], 8 //lock-on right
je sidetrick
cmp [ebx+1bfc], 6 //lock-on back diagonal
je trickback
cmp [ebx+1bfc], C //lock-on back
je trickback
jmp no_anim
originalcode:
mov ecx,ebx
call eax
mov al, 01 //need script to do this
jmp exit
no_anim:
xor al, al
exit:
jmp returnhere
trickup:
cmp byte ptr [ebx+7c50], 0 //compare trickup count with ..
jg no_anim //don't trickup if limit is hit
push 27 //animation i.d for trick up
jmp originalcode
airtrick:
push 24
jmp originalcode
sidetrick:
test byte ptr [ebx+1A64],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
je sidetrickanim //not required so skip to pushing i.d
cmp [ebx+78e4], 0 //if so check if player is in DT
je no_anim //jump if player is not in DT
sidetrickanim:
push 28
jmp originalcode
trickback:
//check if script should obey DT rules for trick down
cmp byte ptr [trickdown_DTrequire], 0
je trickbackanim //skip over dt check
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
je trickdown
push 29
jmp originalcode
trickdown:
push 2a
jmp originalcode
"DevilMayCry4SpecialEdition.exe"+D259F:
jmp newmem
nop
returnhere:
DevilMayCry4SpecialEdition.exe+D25A5:
db 90 90
[disable]
dealloc(sidetrick_DTrequire)
dealloc(trickdown_DTrequire)
dealloc(newmem)
"DevilMayCry4SpecialEdition.exe"+D259F:
push 24 //air trick animation i.d
mov ecx,ebx
call eax
DevilMayCry4SpecialEdition.exe+D25A5:
mov al,01

+ 64
- 54
DevilMayCry4SpecialEdition.CT View File

@@ -783,43 +783,20 @@ db 90 90 90 90 90 90
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>571</ID>
<Description>"Allow Side Trick &lt;&lt;Hotkey Unsafe&gt;&gt;"</Description>
<LastState Activated="0"/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
DevilMayCry4SpecialEdition.exe+559127:
push 28
[disable]
DevilMayCry4SpecialEdition.exe+559127:
push 13
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>572</ID>
<Description>"Allow Trick Back (Grounded Trick Down) &lt;&lt;Hotkey Unsafe&gt;&gt;"</Description>
<LastState Activated="0"/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
DevilMayCry4SpecialEdition.exe+D2D4F:
push 29 //trick down (ground) animation i.d
[disable]
DevilMayCry4SpecialEdition.exe+D2D4F:
push 6 //jump back animation i.d
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>685</ID>
<Description>"Allow Trick Down (Air) &lt;&lt;Hotkey Unsafe&gt;&gt;"</Description>
<LastState Activated="0"/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
<ID>692</ID>
<Description>"Jump Button Inputs &lt;&lt;Hotkey Activation Unsafe&gt;&gt;"</Description>
<Options moManualExpandCollapse="1" moAllowManualCollapseAndExpand="1"/>
<LastState Value="" Activated="0" RealAddress="00000000"/>
<Color>80000008</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>685</ID>
<Description>"Allow Trick Down (Air)"</Description>
<LastState Activated="0"/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
alloc(newmem,212)
alloc(option_trickup, 1) //boolean, only need a byte
registersymbol(option_trickup)
@@ -920,14 +897,47 @@ test byte ptr [esi+00001A64],01
DevilMayCry4SpecialEdition.exe+D2C80:
xor al,al
</AssemblerScript>
<CheatEntries>
<CheatEntries>
<CheatEntry>
<ID>688</ID>
<Description>"[User Input] Trick-Up on Lock-On + Forward [YES/NO]"</Description>
<LastState Value="??" Activated="0" RealAddress="00000000"/>
<Color>FF8000</Color>
<VariableType>Byte</VariableType>
<Address>option_trickup</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>688</ID>
<Description>"[User Input] Trick-Up on Lock-On + Forward [YES/NO]"</Description>
<LastState Value="??" Activated="0" RealAddress="00000000"/>
<ID>571</ID>
<Description>"Allow Side Trick"</Description>
<LastState Activated="0"/>
<Color>FF8000</Color>
<VariableType>Byte</VariableType>
<Address>option_trickup</Address>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
DevilMayCry4SpecialEdition.exe+559127:
push 28
[disable]
DevilMayCry4SpecialEdition.exe+559127:
push 13
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>572</ID>
<Description>"Allow Trick Back (Grounded Trick Down)"</Description>
<LastState Activated="0"/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[enable]
DevilMayCry4SpecialEdition.exe+D2D4F:
push 29 //trick down (ground) animation i.d
[disable]
DevilMayCry4SpecialEdition.exe+D2D4F:
push 6 //jump back animation i.d
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
@@ -1568,7 +1578,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>49</ID>
<Description>"X"</Description>
<LastState Value="-357.8985901" Activated="0" RealAddress="1EC90450"/>
<LastState Value="-349.9848022" Activated="0" RealAddress="1EC90450"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>1359F00</Address>
@@ -1580,7 +1590,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>50</ID>
<Description>"Y"</Description>
<LastState Value="-9.067306519" Activated="0" RealAddress="1EC90454"/>
<LastState Value="-9.06729126" Activated="0" RealAddress="1EC90454"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>1359F00</Address>
@@ -1592,7 +1602,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>51</ID>
<Description>"Z"</Description>
<LastState Value="-299.5630798" Activated="0" RealAddress="1EC90458"/>
<LastState Value="-292.1647949" Activated="0" RealAddress="1EC90458"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>1359F00</Address>
@@ -2074,7 +2084,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>321</ID>
<Description>"Delta Time"</Description>
<LastState Value="2.367617369" Activated="0" RealAddress="1EC9042C"/>
<LastState Value="0.7049883604" Activated="0" RealAddress="1EC9042C"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>
@@ -2271,7 +2281,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>579</ID>
<Description>"Sky Star Count"</Description>
<LastState Value="3207225440" Activated="0" RealAddress="1ECA78D0"/>
<LastState Value="3207138485" Activated="0" RealAddress="1ECA78D0"/>
<Color>000000</Color>
<VariableType>4 Bytes</VariableType>
<Address>400000+f59f00</Address>
@@ -2942,7 +2952,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>148</ID>
<Description>"Position X"</Description>
<LastState Value="0.2398142517" Activated="0" RealAddress="1ED000B4"/>
<LastState Value="0.8487046361" Activated="0" RealAddress="1ED000B4"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>
@@ -2954,7 +2964,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>150</ID>
<Description>"Position Y"</Description>
<LastState Value="2.802596929E-45" Activated="0" RealAddress="1ED000B8"/>
<LastState Value="1.401298464E-45" Activated="0" RealAddress="1ED000B8"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>
@@ -2966,7 +2976,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>149</ID>
<Description>"Position Z"</Description>
<LastState Value="0.9708188176" Activated="0" RealAddress="1ED000BC"/>
<LastState Value="0.5288671255" Activated="0" RealAddress="1ED000BC"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>
@@ -3246,7 +3256,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>136</ID>
<Description>"Position X"</Description>
<LastState Value="0.5428537726" Activated="0" RealAddress="1EDC00B4"/>
<LastState Value="0.3839178085" Activated="0" RealAddress="1EDC00B4"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>
@@ -3270,7 +3280,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>134</ID>
<Description>"Position Z"</Description>
<LastState Value="0.8398272395" Activated="0" RealAddress="1EDC00BC"/>
<LastState Value="0.9233672619" Activated="0" RealAddress="1EDC00BC"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>
@@ -3954,7 +3964,7 @@ movss [esi+00002504],xmm1
<CheatEntry>
<ID>44</ID>
<Description>"In-Mission Time"</Description>
<LastState Value="241574.8594" Activated="0" RealAddress="1C758FC4"/>
<LastState Value="351047.5938" Activated="0" RealAddress="1C758FC4"/>
<Color>80000008</Color>
<VariableType>Float</VariableType>
<Address>400000+f59f00</Address>

Loading…
Cancel
Save