Author Topic: [1.0.1.20] Electrokinesis jump to target crashes the game  (Read 1855 times)

Mindless

  • Oculite
  • Tchortist
  • **
  • Posts: 336
  • Karma: +13/-2
    • View Profile
[1.0.1.20] Electrokinesis jump to target crashes the game
« on: January 11, 2018, 07:46:45 am »
Still having this bug, so I stopped to use Electrokinesis... This bug is not triggered when targeting 2 auto-turrets, only living targets. Can't say for sure what condition, but usually encountered this bug when figthing several lurkers.

Styg

  • Administrator
  • Godman
  • *****
  • Posts: 2367
  • Karma: +504/-30
    • View Profile
Re: [1.0.1.20] Electrokinesis jump to target crashes the game
« Reply #1 on: January 15, 2018, 10:34:45 am »
Post the crash log(s).

Mindless

  • Oculite
  • Tchortist
  • **
  • Posts: 336
  • Karma: +13/-2
    • View Profile
Re: [1.0.1.20] Electrokinesis jump to target crashes the game
« Reply #2 on: January 15, 2018, 06:57:04 pm »
In English: Value was either too large or too small for an Int32.


Styg

  • Administrator
  • Godman
  • *****
  • Posts: 2367
  • Karma: +504/-30
    • View Profile
Re: [1.0.1.20] Electrokinesis jump to target crashes the game
« Reply #3 on: January 16, 2018, 09:40:11 am »
Can you upload your save for me to check out?

Mindless

  • Oculite
  • Tchortist
  • **
  • Posts: 336
  • Karma: +13/-2
    • View Profile
Re: [1.0.1.20] Electrokinesis jump to target crashes the game
« Reply #4 on: January 16, 2018, 07:27:22 pm »
Can you upload your save for me to check out?
Okay, I got it - It's clearly CE Unlimited Weight hack problem(even without items), tried with/without it on Lunatics, but here is my save anyway.
https://www.dropbox.com/s/7bwsc4hc4pa6d18/StygSave.7z?dl=0


Styg

  • Administrator
  • Godman
  • *****
  • Posts: 2367
  • Karma: +504/-30
    • View Profile
Re: [1.0.1.20] Electrokinesis jump to target crashes the game
« Reply #5 on: January 24, 2018, 10:58:46 am »
Can you upload your save for me to check out?
Okay, I got it - It's clearly CE Unlimited Weight hack problem(even without items), tried with/without it on Lunatics, but here is my save anyway.
https://www.dropbox.com/s/7bwsc4hc4pa6d18/StygSave.7z?dl=0

That's weird, though. I don't use any weight info in those calculations. Does this hack modify any other numbers as well?

Mindless

  • Oculite
  • Tchortist
  • **
  • Posts: 336
  • Karma: +13/-2
    • View Profile
Re: [1.0.1.20] Electrokinesis jump to target crashes the game
« Reply #6 on: January 24, 2018, 12:09:49 pm »
That's weird, though. I don't use any weight info in those calculations. Does this hack modify any other numbers as well?
Epeli told me that I used dangerous version of "infinite weight" hack, with new version I have no troubles with Electrokinesis.


Old Script:
Code: [Select]
[ENABLE]
//aobscan(aob_weightless,DD 58 44 8B 88 84 00 00 00 ?? ?? FF)
aobscan(aob_weightless,DD 58 44 8B 88 88 00 00 00 ?? ?? FF)
aobscan(aob_lift,DD 47 44 DD 5A 04 8B DA B9)
registersymbol(aob_weightless)
registersymbol(aob_lift)
alloc(noweight1,1024)
label(noweight2)
label(returnhere)
label(returnhere2)
alloc(inv,4)
alloc(wh2,4)

inv:
dd 1

wh2:
dd 1


noweight1:
fild qword ptr [inv]
fstp qword ptr [eax+44]
fld qword ptr [eax+44]
// Original
fstp qword ptr [eax+44]
mov ecx,[eax+00000088]
jmp returnhere


noweight2:
fild qword ptr [wh2]
fstp qword ptr [edi+44]
// Original
fld qword ptr [edi+44]
fstp qword ptr [edx+04]
jmp returnhere2


aob_weightless:
jmp noweight1
nop
nop
nop
nop
returnhere:

aob_lift:
jmp noweight2
nop
returnhere2:
 
 
[DISABLE]
aob_weightless:
db DD 58 44 8B 88 88 00 00 00
aob_lift:
db DD 47 44 DD 5A 04
unregistersymbol(aob_weightless)
unregistersymbol(aob_lift)
dealloc(inv)
dealloc(wh2)
dealloc(noweight1)
//fstp qword ptr [eax+44]
//mov ecx,[eax+00000084]
//Alt: db DD 58 44 8B 88 84 00 00 00 -- ?? ?? FF
//
//fld qword ptr [edi+44]
//fstp qword ptr [edx+04]
//Alt: db DD 47 44 DD 5A 04 - 8B DA B9

New Script:
Code: [Select]
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

aobscan(__injectCarryWeight,F2 0F 10 40 44 F2 0F 2C C0) // should be unique

label(injectCarryWeight)
registersymbol(injectCarryWeight)

__injectCarryWeight:
injectCarryWeight:
db 90 90 90 90 90


[DISABLE]
//code from here till the end of the code will be used to disable the cheat
injectCarryWeight:
  db F2 0F 10 40 44
unregistersymbol(injectCarryWeight)


{
// ORIGINAL CODE - INJECTION POINT: 0A124A6B

0A124A47: E8 14 A4 C3 54        -  call mscorlib.ni.dll+30EE60
0A124A4C: 85 C0                 -  test eax,eax
0A124A4E: 75 D6                 -  jne 0A124A26
0A124A50: C7 45 E8 00 00 00 00  -  mov [ebp-18],00000000
0A124A57: C7 45 EC FC 00 00 00  -  mov [ebp-14],000000FC
0A124A5E: 68 87 4A 12 0A        -  push 0A124A87
0A124A63: EB 00                 -  jmp 0A124A65
0A124A65: 58                    -  pop eax
0A124A66: FF E0                 -  jmp eax
0A124A68: 8B 45 C0              -  mov eax,[ebp-40]
// ---------- INJECTING HERE ----------
0A124A6B: F2 0F 10 40 44        -  movsd xmm0,[eax+44]
// ---------- DONE INJECTING  ----------
0A124A70: F2 0F 2C C0           -  cvttsd2si eax,xmm0
0A124A74: 89 45 BC              -  mov [ebp-44],eax
0A124A77: DB 45 BC              -  fild dword ptr [ebp-44]
0A124A7A: 8B 45 C0              -  mov eax,[ebp-40]
0A124A7D: DD 58 44              -  fstp qword ptr [eax+44]
0A124A80: 8D 65 F8              -  lea esp,[ebp-08]
0A124A83: 5E                    -  pop esi
0A124A84: 5F                    -  pop edi
0A124A85: 5D                    -  pop ebp
0A124A86: C3                    -  ret
}

P.S. Btw, We need spoiler tag =]