Page 2 of 12

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 5:15 pm
by Kalamity222
I really want to try the Low Gravity Cheats. And the Rainbow one.
Oh please release that mod :( .

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 5:24 pm
by SunBeam
So.. what I have for now is enabling the Cheat Menu and allowing you to toggle the options. Like I said, several of them will disable achievements for your save-game. Then, from testing, not all do work. As in, even if the cheat is toggled, there's an extra check I didn't look into (e.g.: I have Low Gravity on, just doesn't do shit).

Meanwhile, I've added Perfect God Mode. It's the non-stagger version I like, with disabled blood popping on-screen and physics collisions (e.g.: those fucking cars running around don't send you to fuck-town now if you get hit; talking about the player).

Will add table later on tonight.

EDIT: APEX is nothing new. It's the same idTech5 Engine I've spoken about in this post ;) --> viewtopic.php?f=10&t=6790

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 5:56 pm
by dirtydanisreal
SunBeam wrote:
Wed May 15, 2019 5:24 pm
So.. what I have for now is enabling the Cheat Menu and allowing you to toggle the options. Like I said, several of them will disable achievements for your save-game. Then, from testing, not all do work. As in, even if the cheat is toggled, there's an extra check I didn't look into (e.g.: I have Low Gravity on, just doesn't do shit).

Meanwhile, I've added Perfect God Mode. It's the non-stagger version I like, with disabled blood notifications and physics collisions disabled (e.g.: those fucking cars running around don't send you to fuck-town now if you get hit; talking about the player).

Will add table later on tonight.

EDIT: APEX is nothing new. It's the same idTech5 Engine I've spoken about in this post ;) --> viewtopic.php?f=10&t=6790
I thought the engine was based on the Avalanche Engine that Just Cause 3 and Mad Max used?

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 6:26 pm
by SunBeam
I really don't know who borrowed code from who. What I can tell is I found very similar resemblances between the two. Just like Dunia and Disrupt engines for Ubisoft games. I dunno, they might be modular engines (they can import Lua modules or core modules from other same-proprietary engines).

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 7:23 pm
by Csimbi
Here, this should be infinite items (works for Health Infusion at least):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>47</ID>
      <Description>"--aobInvItemCalc"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Game   : RAGE2.exe
// Version:
// Date   :
// Author : Cs
[ENABLE]
aobscanmodule(aobInvItemCalc,RAGE2.exe,41 8B F0 4C 8B E9 4C 8B 48 30 49 8B C1)

alloc(newmemInvItemCalc,4096,aobInvItemCalc)

label(aobInvItemCalc_r)
label(aobInvItemCalc_i)
registersymbol(aobInvItemCalc_r)
registersymbol(aobInvItemCalc_i)

label(lblInvItemCalc)
label(lblInvItemCalcSkip)
label(lblInvItemCalcRet)

label(bEnableInfiniteItems)
registersymbol(bEnableInfiniteItems)

newmemInvItemCalc:
bEnableInfiniteItems:
dd 1

lblInvItemCalc:
cmp r8d,0
jge short lblInvItemCalcSkip
mov rsi,[g_Player]
lea rsi,[rsi+00000CD8]
cmp qword ptr [rsi],rcx
jne short lblInvItemCalcSkip
cmp dword ptr [bEnableInfiniteItems],1
jne short lblInvItemCalcSkip
xor r8,r8
lblInvItemCalcSkip:
//Alt: mov esi,r8d
//Alt: mov r13,rcx
//db 41 8B F0 4C 8B E9
readmem(aobInvItemCalc,6)
jmp lblInvItemCalcRet
aobInvItemCalc_i:
readmem(aobInvItemCalc,6)

//"RAGE2.exe"+73F712:
aobInvItemCalc:
aobInvItemCalc_r:
jmp lblInvItemCalc
nop
lblInvItemCalcRet:

[DISABLE]
//"RAGE2.exe"+73F712:
//Alt: mov esi,r8d
//Alt: mov r13,rcx
//db 41 8B F0 4C 8B E9
aobInvItemCalc_r:
readmem(aobInvItemCalc_i,6)

unregistersymbol(aobInvItemCalc_r)
unregistersymbol(aobInvItemCalc_i)

unregistersymbol(bEnableInfiniteItems)

dealloc(newmemInvItemCalc)

{
// ORIGINAL CODE - INJECTION POINT: "RAGE2.exe"+73F712

"RAGE2.exe"+73F6F4: 48 83 C4 48                 -  add rsp,48
"RAGE2.exe"+73F6F8: C3                          -  ret 
"RAGE2.exe"+73F6F9: FF D2                       -  call rdx
"RAGE2.exe"+73F6FB: 48 83 C4 48                 -  add rsp,48
"RAGE2.exe"+73F6FF: C3                          -  ret 
"RAGE2.exe"+73F700: 89 54 24 10                 -  mov [rsp+10],edx
"RAGE2.exe"+73F704: 56                          -  push rsi
"RAGE2.exe"+73F705: 41 55                       -  push r13
"RAGE2.exe"+73F707: 48 83 EC 58                 -  sub rsp,58
"RAGE2.exe"+73F70B: 48 8B 05 7E D3 92 02        -  mov rax,[RAGE2.exe+306CA90]
// ---------- INJECTING HERE ----------
"RAGE2.exe"+73F712: 41 8B F0                    -  mov esi,r8d
"RAGE2.exe"+73F715: 4C 8B E9                    -  mov r13,rcx
// ---------- DONE INJECTING  ----------
"RAGE2.exe"+73F718: 4C 8B 48 30                 -  mov r9,[rax+30]
"RAGE2.exe"+73F71C: 49 8B C1                    -  mov rax,r9
"RAGE2.exe"+73F71F: 4D 8B 41 08                 -  mov r8,[r9+08]
"RAGE2.exe"+73F723: 41 80 78 19 00              -  cmp byte ptr [r8+19],00
"RAGE2.exe"+73F728: 75 29                       -  jne RAGE2.exe+73F753
"RAGE2.exe"+73F72A: 66 0F 1F 44 00 00           -  nop [rax+rax+00]
"RAGE2.exe"+73F730: 41 39 50 20                 -  cmp [r8+20],edx
"RAGE2.exe"+73F734: 73 06                       -  jae RAGE2.exe+73F73C
"RAGE2.exe"+73F736: 4D 8B 40 10                 -  mov r8,[r8+10]
"RAGE2.exe"+73F73A: EB 06                       -  jmp RAGE2.exe+73F742
}

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>48</ID>
          <Description>"bEnableInfiniteItems"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>bEnableInfiniteItems</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Note: requires SunBeam's player grabber code enabled.

And here's Max Overdrive (so you can re-enable instantly):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>50</ID>
      <Description>"--aobOverdriveTester"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Game   : RAGE2.exe
// Version:
// Date   :
// Author : Cs
[ENABLE]
aobscanmodule(aobOverdriveTester,RAGE2.exe,0F 2F BF ?? ?? 00 00 77 ?? F3 0F)

alloc(newmemOverdriveTester,4096,aobOverdriveTester)

label(aobOverdriveTester_r)
label(aobOverdriveTester_i)
registersymbol(aobOverdriveTester_r)
registersymbol(aobOverdriveTester_i)

label(lblOverdriveTester)
label(lblOverdriveTesterSkip)
label(lblOverdriveTesterRet)

label(bEnableMaxOverdrive)
registersymbol(bEnableMaxOverdrive)

newmemOverdriveTester:
bEnableMaxOverdrive:
dd 1

lblOverdriveTester:
cmp dword ptr [bEnableMaxOverdrive],1
jne short lblOverdriveTesterSkip
push rax
movsxd rax,[aobOverdriveTester_i+03]
movss [rax+rdi],xmm7
pop rax
lblOverdriveTesterSkip:
//Alt: comiss xmm7,[rdi+00000D90]
//db 0F 2F BF 90 0D 00 00
readmem(aobOverdriveTester,7)
jmp lblOverdriveTesterRet
aobOverdriveTester_i:
readmem(aobOverdriveTester,7)

//"RAGE2.exe"+9B4B77:
aobOverdriveTester:
aobOverdriveTester_r:
jmp lblOverdriveTester
nop
nop
lblOverdriveTesterRet:

[DISABLE]
//"RAGE2.exe"+9B4B77:
//Alt: comiss xmm7,[rdi+00000D90]
//db 0F 2F BF 90 0D 00 00
aobOverdriveTester_r:
readmem(aobOverdriveTester_i,7)

unregistersymbol(aobOverdriveTester_r)
unregistersymbol(aobOverdriveTester_i)

unregistersymbol(bEnableMaxOverdrive)

dealloc(newmemOverdriveTester)

{
// ORIGINAL CODE - INJECTION POINT: "RAGE2.exe"+9B4B77

"RAGE2.exe"+9B4B50: 48 8B 01                 -  mov rax,[rcx]
"RAGE2.exe"+9B4B53: 81 78 04 3C A3 B0 35     -  cmp [rax+04],35B0A33C
"RAGE2.exe"+9B4B5A: 74 70                    -  je RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B5C: 48 83 C1 30              -  add rcx,30
"RAGE2.exe"+9B4B60: 48 3B CA                 -  cmp rcx,rdx
"RAGE2.exe"+9B4B63: 75 EB                    -  jne RAGE2.exe+9B4B50
"RAGE2.exe"+9B4B65: 44 38 A7 95 0D 00 00     -  cmp [rdi+00000D95],r12l
"RAGE2.exe"+9B4B6C: 74 5E                    -  je RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B6E: 44 38 A7 94 0D 00 00     -  cmp [rdi+00000D94],r12l
"RAGE2.exe"+9B4B75: 74 55                    -  je RAGE2.exe+9B4BCC
// ---------- INJECTING HERE ----------
"RAGE2.exe"+9B4B77: 0F 2F BF 90 0D 00 00     -  comiss xmm7,[rdi+00000D90]
// ---------- DONE INJECTING  ----------
"RAGE2.exe"+9B4B7E: 77 4C                    -  ja RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B80: F3 0F 58 76 64           -  addss xmm6,dword ptr [rsi+64]
"RAGE2.exe"+9B4B85: F3 0F 11 76 64           -  movss [rsi+64],xmm6
"RAGE2.exe"+9B4B8A: 0F 2F 35 5F D9 D7 01     -  comiss xmm6,[RAGE2.exe+27324F0]
"RAGE2.exe"+9B4B91: 76 39                    -  jna RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B93: 44 89 66 64              -  mov [rsi+64],r12d
"RAGE2.exe"+9B4B97: 4C 39 25 A2 80 6B 02     -  cmp [RAGE2.exe+306CC40],r12
"RAGE2.exe"+9B4B9E: 74 2C                    -  je RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4BA0: 48 8D 8F 30 2A 00 00     -  lea rcx,[rdi+00002A30]
"RAGE2.exe"+9B4BA7: 0F 57 C0                 -  xorps xmm0,xmm0
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>51</ID>
          <Description>"bEnableMaxOverdrive"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>bEnableMaxOverdrive</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
PC.
The game so far seems to be a major disappointment.
I'll keep playing with it a bit more, but don't get made if I just ditch it ;-)

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 8:09 pm
by Vortox14
Thanks Csimbi, but I can't get the Unlimited Items Script to enable. Max OverDrive one work like a charm and thanks to SunBeam I do appreciate the effort you're putting into your table(s).

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 8:17 pm
by Csimbi
Not sure what to tell you - works here.
Has there been a patch?

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 8:28 pm
by Vortox14
Not that I know of, but then I've been offline mode since launch.
Restarting the client while steam was online didn't help. (Anyways, I got to go for awhile, hopefully can sort it when I get back.)

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 8:49 pm
by Csimbi
The script includes the code snippet at the bottom.
See if you can find it (alter the AOB scan here, see what's at those addresses for ye, etc.)

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 10:07 pm
by samuelhanson
Compared to the first Rage game, it's a massive improvement. Compared to other games released in 2018/2019? It's average-ok, however with the roadmap and over the next three months the game should improve and be worthwhile. (At least that is my opinion)

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 10:23 pm
by SunBeam
I take back what I said about APEX :) I found the core hash function (e.g.: "IngredientFeltriteBlue"->hash->FindPtr(hash)->GetCount()) :D Finding the item uses Player and PlayerInventory (Player+0xA38).

Re: RAGE2 [Engine:APEX]

Posted: Wed May 15, 2019 11:34 pm
by SunBeam
Meanwhile ;)

Image

I'll see what else I can collect by hash :P

Re: RAGE2 [Engine:APEX]

Posted: Thu May 16, 2019 3:30 am
by sebastianyyz
Nice, thank you SunBeam

Re: RAGE2 [Engine:APEX]

Posted: Thu May 16, 2019 5:58 am
by yeriano
please add exp multiple too

thanks :D :D :D

Re: RAGE2 [Engine:APEX]

Posted: Thu May 16, 2019 7:07 am
by skywolf23
ohh that double jump vault made me rage quit....i just wanted a relaxing fun session then i entered the vault and nearly tore my hair out made the jump ONCE could not replicate it and my patience exhausted. and imagined it would want me to repeat the exercise no.

and i locked in the vault till i complete it excuse me with i go kick something.