function
hookProjectileSpawn(){
var
funcAddr = moduleBase.add(0x8D2ED80)
Interceptor.attach(funcAddr, {
onEnter:
function
(args){
console.log(
"[+!!+]function sub_8D2ED80 has been called"
)
console.log(
"args0:\t"
+ args[0])
console.log(
"args1:\t"
+ args[1])
console.log(
"args2:\t"
+ args[2].readFloat(), args[2].add(0x4).readFloat(), args[2].add(0x8).readFloat())
console.log(
"args3:\t"
+ args[3].readFloat(), args[3].add(0x4).readFloat(), args[3].add(0x8).readFloat())
console.log(
"args4:\t"
+ args[4].readFloat(), args[4].add(0x4).readFloat(), args[4].add(0x8).readFloat())
var
actorsAddr = getActorsAddr();
var
playerLocation = actorsAddr[
"PlayerController"
].add(0x130).readPointer().add(0x1d0);
var
PlayerCameraManager = actorsAddr[
"PlayerCameraManager"
]
var
CameraCachePrivate = PlayerCameraManager.add(0x1ae0)
var
POV = CameraCachePrivate.add(0x10)
console.log(
"POV: Location: X: "
+ POV.readFloat() +
"\tY:"
+ POV.add(0x4).readFloat()+
"\tZ:"
+ POV.add(0x8).readFloat())
console.log(
"POV: Rotation: P: "
+ POV.add(0xc).readFloat() +
"\tY:"
+ POV.add(0xc+0x4).readFloat()+
"\tR:"
+ POV.add(0xc+0x8).readFloat())
Memory.writeFloat(POV.add(0x8), POV.add(0x8).readFloat() + 100.0)
args[2] = POV
args[3] = POV.add(0xc)
},
onLeave:
function
(retval){
}
})
}