Let me know if this code already exists on thread, I checked but didn't see any at glance. Also, feel free to take this code for anyone's table! As always, tested enough but save often!
Some title fun facts for the CE masters: when you find the SP gained of one title, you can find the next title's by adding +8 to the address.
If you prefer to download, you can download latest in this post
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>9</ID>
<Description>"Mixer's Eleth stays (mostly) full"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Tales of Graces f Remastered.exe
Version:
Date : 2025-01-18
Author : risorial
This script does blah blah blah
}
[ENABLE]
aobscanmodule(mixer,GameNative.dll,66 41 01 90 F8 AB 00 00) // should be unique
alloc(newmem,$1000,mixer)
label(code)
label(return)
newmem:
code:
mov dx,[r8+0000ABFA] //add [r8+0000ABF8],dx
mov [r8+0000ABF8],dx
jmp return
mixer:
jmp newmem
nop 3
return:
registersymbol(mixer)
[DISABLE]
mixer:
db 66 41 01 90 F8 AB 00 00
unregistersymbol(mixer)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameNative.dll+F50B5
GameNative.dll+F5090: 4C 8B 05 A1 3B 52 00 - mov r8,[GameNative.dll+618C38]
GameNative.dll+F5097: 66 85 D2 - test dx,dx
GameNative.dll+F509A: 79 19 - jns GameNative.dll+F50B5
GameNative.dll+F509C: 45 0F BF 88 F8 AB 00 00 - movsx r9d,word ptr [r8+0000ABF8]
GameNative.dll+F50A4: 0F BF CA - movsx ecx,dx
GameNative.dll+F50A7: F7 D9 - neg ecx
GameNative.dll+F50A9: 44 3B C9 - cmp r9d,ecx
GameNative.dll+F50AC: 7D 07 - jnl GameNative.dll+F50B5
GameNative.dll+F50AE: 41 0F B7 D1 - movzx edx,r9w
GameNative.dll+F50B2: 66 F7 DA - neg dx
// ---------- INJECTING HERE ----------
GameNative.dll+F50B5: 66 41 01 90 F8 AB 00 00 - add [r8+0000ABF8],dx
// ---------- DONE INJECTING ----------
GameNative.dll+F50BD: 41 0F B7 80 F8 AB 00 00 - movzx eax,word ptr [r8+0000ABF8]
GameNative.dll+F50C5: 41 0F B7 88 FA AB 00 00 - movzx ecx,word ptr [r8+0000ABFA]
GameNative.dll+F50CD: 66 3B C1 - cmp ax,cx
GameNative.dll+F50D0: 7E 0B - jle GameNative.dll+F50DD
GameNative.dll+F50D2: 66 41 89 88 F8 AB 00 00 - mov [r8+0000ABF8],cx
GameNative.dll+F50DA: 0F B7 C1 - movzx eax,cx
GameNative.dll+F50DD: 66 85 C0 - test ax,ax
GameNative.dll+F50E0: 79 0A - jns GameNative.dll+F50EC
GameNative.dll+F50E2: 33 C0 - xor eax,eax
GameNative.dll+F50E4: 66 41 89 80 F8 AB 00 00 - mov [r8+0000ABF8],ax
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>