浏览代码

Updated Player No Hit to exclude Boss Dante.

master
5 年前
父节点
当前提交
1e6bbba4e9
共有 2 个文件被更改,包括 509 次插入435 次删除
  1. 35
    8
      CEAs/player-no-hit.CEA
  2. 474
    427
      DevilMayCry4SpecialEdition.CT

+ 35
- 8
CEAs/player-no-hit.CEA 查看文件

@@ -1,10 +1,37 @@
[DISABLE]
DevilMayCry4SpecialEdition.exe+4CE8B5:
cmp al,01
//following jump will cause execution to skip over OnHit event
[enable]
alloc(newmem,33)
label(returnhere)
label(originalcode)
label(exit)
[ENABLE]
DevilMayCry4SpecialEdition.exe+4CE8B5:
//If check evaluates true, execution will flow to generic OnHit event.
cmp al,00
newmem:
//this is a player function that is also shared by Dante boss as well.
//before doing the comparison..
//check whether the entity is a player or a boss
push eax
mov eax, [DevilMayCry4SpecialEdition.exe+f59f00]
mov eax, [eax+24] //eax = player character
cmp ebp, eax //compare entity with player character address
pop eax //restore eax
jne originalcode //entity is not the player -> get hit as usual
mov al, 01
originalcode:
cmp al,01 //al = 0 if entity should be hit
je DevilMayCry4SpecialEdition.exe+4CEB91
exit:
jmp returnhere
"DevilMayCry4SpecialEdition.exe"+4CE8B5:
jmp newmem
nop
nop
nop
returnhere:
[disable]
dealloc(newmem)
"DevilMayCry4SpecialEdition.exe"+4CE8B5:
cmp al,01 //al = 0 if entity should be hit
je DevilMayCry4SpecialEdition.exe+4CEB91

+ 474
- 427
DevilMayCry4SpecialEdition.CT
文件差异内容过多而无法显示
查看文件


正在加载...
取消
保存