(Lua, ASMx86) Replication of Devil May Cry 4's debug functions for it's re-released version.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

boss-bael-update-ice-damage.txt 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. Devil May Cry 4: Special Edition
  2. Function Documentation
  3. Bael: Update Ice Damage
  4. DevilMayCry4SpecialEdition.exe+383700 - push edi ;
  5. DevilMayCry4SpecialEdition.exe+383701 - mov edi,eax ; edi = base address of boss (eax)
  6. DevilMayCry4SpecialEdition.exe+383703 - call DevilMayCry4SpecialEdition.exe+383780 ; this function sets al
  7. DevilMayCry4SpecialEdition.exe+383708 - movss xmm0,[edi+00001A9C] ; xmm0 = damage of last hit taken
  8. DevilMayCry4SpecialEdition.exe+383710 - movss xmm1,[edi+000026E4] ; xmm1 = current damage done to ice shield
  9. DevilMayCry4SpecialEdition.exe+383718 - cmp al,01 ;
  10. ;
  11. DevilMayCry4SpecialEdition.exe+38371A - jne DevilMayCry4SpecialEdition.exe+383726 ;
  12. DevilMayCry4SpecialEdition.exe+38371C - mulss xmm0,[DevilMayCry4SpecialEdition.exe+BE915C] ; multiply damage of last hit taken by 0.20
  13. DevilMayCry4SpecialEdition.exe+383724 - jmp DevilMayCry4SpecialEdition.exe+38372E
  14. CONDITIONAL:
  15. DevilMayCry4SpecialEdition.exe+383726 - mulss xmm0,[DevilMayCry4SpecialEdition.exe+BE4FD8] ; multiply damage of last hit taken by 0.10
  16. UNCONDITIONAL:
  17. DevilMayCry4SpecialEdition.exe+38372E - push ecx
  18. DevilMayCry4SpecialEdition.exe+38372F - addss xmm1,xmm0 ; add incoming damage to
  19. ; damage done to ice shield
  20. DevilMayCry4SpecialEdition.exe+383733 - mov eax,edi
  21. DevilMayCry4SpecialEdition.exe+383735 - movss [edi+000026E4],xmm1 ; write damage done to ice shield
  22. ; to memory
  23. DevilMayCry4SpecialEdition.exe+38373D - movss [esp],xmm0
  24. DevilMayCry4SpecialEdition.exe+383742 - call DevilMayCry4SpecialEdition.exe+383A20
  25. DevilMayCry4SpecialEdition.exe+383747 - mov eax,[edi+000005F0]
  26. DevilMayCry4SpecialEdition.exe+38374D - shr eax,12 ; 18
  27. DevilMayCry4SpecialEdition.exe+383750 - test al,01 ; 1
  28. DevilMayCry4SpecialEdition.exe+383752 - jne DevilMayCry4SpecialEdition.exe+38377D ; skip to end of function
  29. DevilMayCry4SpecialEdition.exe+383754 - mov ecx,[edi+00002640]
  30. DevilMayCry4SpecialEdition.exe+38375A - movss xmm0,[edi+000026E4] ; xmm0 = damage done to bael's ice shield
  31. DevilMayCry4SpecialEdition.exe+383762 - comiss xmm0,[ecx*8+DevilMayCry4SpecialEdition.exe+DA014C] ; compare xmm0 with stun theshhold
  32. DevilMayCry4SpecialEdition.exe+38376A - jb DevilMayCry4SpecialEdition.exe+38377D ; skip to end if below threshhold
  33. DevilMayCry4SpecialEdition.exe+38376C - mov byte ptr [edi+000026E8],01 ; set (to be) stunned status
  34. DevilMayCry4SpecialEdition.exe+383773 - and [edi+0000012C],FFFFE01F ; -8161
  35. CONDITIONAL:
  36. DevilMayCry4SpecialEdition.exe+38377D - pop edi
  37. DevilMayCry4SpecialEdition.exe+38377E - ret