FoV Interception cannot be compiled - BSG Deadlock

Anything Cheat Engine related, bugs, suggestions, helping others, etc..
Post Reply
ghostinthecamera
What is cheating?
What is cheating?
Posts: 3
Joined: Wed Sep 26, 2018 9:22 am
Reputation: 0

FoV Interception cannot be compiled - BSG Deadlock

Post by ghostinthecamera »

Hi all,

I'm trying to put together a table that will allow control of the FoV of the camera during the battle replays in BSG Deadlock.

So far, i have found the address which contains the FoV value, and the code which writes to the address (and overwrites it if any changes are made to it directly). That code is:

movss [esi+00000138],xmm2

Changing this to NOP and then changing the FoV value in the address works perfectly.

So i have the following issue:
1) The address that this opcode accesses changes everytime a replay is viewed. Therefore, obviously, the address where the FoV value is stored changes everytime.

This shouldn't be too much of an issue, as from my experiments, the opcode remains the same when the game is run.

However, I can't seem to write a script to intercept it so that i can write a fov value to the address referenced by esi+00000138.

What i have is the following:

Code: Select all

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(exit)

label(fov)
registersymbol(fov)

fov:
dq 0

newmem:
movss [fov],esi
jmp exit

originalcode:
movss xmm0,[esi+00000138]

exit:
jmp returnhere

"UnityPlayer.dll"+25DE90:
jmp newmem
nop
nop
nop
returnhere:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"UnityPlayer.dll"+25DE90:
movss xmm0,[esi+00000138]
unregistersymbol(fov)
Whenever i try and assign this to the table, i get an error saying that the instruction "movss [00000000], esi" cannot be compiled. I am aware that i need to add the offset of 00000138 manually via "add address manually>>>pointer" but i can't even get to that stage as i get the error above.

I am not quite sure why this error is occurring. I'm not experienced at all with scripting (i'm not quite sure how the above script works) so any help would be appreciated.

User avatar
Chucky
Expert Cheater
Expert Cheater
Posts: 76
Joined: Thu Mar 08, 2018 4:01 pm
Reputation: 29

Re: FoV Interception cannot be compiled - BSG Deadlock

Post by Chucky »

Use mov ( not movss ).
And put fov under newmem or allocate mem for it.

Code: Select all

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(exit)

label(fov)
registersymbol(fov)

newmem:
mov [fov],esi

originalcode:
movss xmm0,[esi+00000138]
jmp exit

fov:
dq 0

exit:
jmp returnhere

"UnityPlayer.dll"+25DE90:
jmp newmem
nop
nop
nop
returnhere:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"UnityPlayer.dll"+25DE90:
movss xmm0,[esi+00000138]
unregistersymbol(fov)

ghostinthecamera
What is cheating?
What is cheating?
Posts: 3
Joined: Wed Sep 26, 2018 9:22 am
Reputation: 0

Re: FoV Interception cannot be compiled - BSG Deadlock

Post by ghostinthecamera »

worked perfectly - thank you very much!

Post Reply

Who is online

Users browsing this forum: No registered users