Rim World Royalty update
Posted: Mon Feb 24, 2020 8:33 pm
[Link]
It seems like there are a few things that quit working during this update.
Item select which was displaying the item pointer with the quantity of that item no longer works"
Selected pawn info no longer works which displayed each characters skill level:
And last that is important is the research pointer:
If an update is possible that would be awesome. If a fully featured table is made I would be willing to pay for it if needed or if one of the table makers needs the dlc I could help out with that as well.
It seems like there are a few things that quit working during this update.
Item select which was displaying the item pointer with the quantity of that item no longer works"
Code: Select all
ENABLE]
aobscan(itembp,48 63 46 50 83 F8 01 0F 8E) // should be unique
alloc(itemscan,$1000,itembp)
alloc(itempt,8)
label(code)
label(return)
itemscan:
code:
mov [itempt],rsi
movsxd rax,dword ptr [rsi+50]
cmp eax,01
jmp return
itembp:
jmp itemscan
nop
nop
return:
registersymbol(itempt)
registersymbol(itembp)
[DISABLE]
itembp:
db 48 63 46 50 83 F8 01
unregistersymbol(itempt)
unregistersymbol(itembp)
dealloc(itemscan)
{
// ORIGINAL CODE - INJECTION POINT: 28596DBC
""+28596DA5: 00 00 - add [rax],al
""+28596DA7: 00 00 - add [rax],al
""+28596DA9: 00 00 - add [rax],al
""+28596DAB: 00 00 - add [rax],al
""+28596DAD: 00 00 - add [rax],al
""+28596DAF: 00 55 48 - add [rbp+48],dl
""+28596DB2: 8B EC - mov ebp,esp
""+28596DB4: 56 - push rsi
""+28596DB5: 48 83 EC 08 - sub rsp,08
""+28596DB9: 48 8B F1 - mov rsi,rcx
// ---------- INJECTING HERE ----------
""+28596DBC: 48 63 46 50 - movsxd rax,dword ptr [rsi+50]
""+28596DC0: 83 F8 01 - cmp eax,01
// ---------- DONE INJECTING ----------
""+28596DC3: 0F 8E 5A 00 00 00 - jng 28596E23
""+28596DC9: 48 8B CE - mov rcx,rsi
""+28596DCC: 48 83 EC 20 - sub rsp,20
""+28596DD0: 48 8B 06 - mov rax,[rsi]
""+28596DD3: 90 - nop
""+28596DD4: 90 - nop
""+28596DD5: 90 - nop
""+28596DD6: FF 90 60 02 00 00 - call qword ptr [rax+00000260]
""+28596DDC: 48 83 C4 20 - add rsp,20
""+28596DE0: 48 89 45 F0 - mov [rbp-10],rax
}
Code: Select all
define(address,RimWorld:Selector:Select+6a4)
define(bytes,49 8B CF 48 83 EC 20)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,RimWorld:Selector:Select+6a4)
alloc(selectedpt,8)
label(code)
label(return)
newmem:
mov rcx,r15
sub rsp,20
mov [selectedpt],r14
jmp return
code:
address:
jmp newmem
nop
nop
return:
registersymbol(selectedpt)
[DISABLE]
address:
db bytes
// mov rcx,r15
// sub rsp,20
dealloc(newmem)
unregistersymbol(selectedpt)
{
// ORIGINAL CODE - INJECTION POINT: RimWorld:Selector:Select+6a4
15A8A47B: 41 FF D3 - call r11
15A8A47E: 48 83 C4 20 - add rsp,20
15A8A482: 49 8B 46 18 - mov rax,[r14+18]
15A8A486: 48 8B C8 - mov rcx,rax
15A8A489: 49 8B D7 - mov rdx,r15
15A8A48C: 48 83 EC 20 - sub rsp,20
15A8A490: 83 38 00 - cmp dword ptr [rax],00
15A8A493: 49 BB 20 A8 07 05 00 00 00 00 - mov r11,000000000507A820
15A8A49D: 41 FF D3 - call r11
15A8A4A0: 48 83 C4 20 - add rsp,20
// ---------- INJECTING HERE ----------
15A8A4A4: 49 8B CF - mov rcx,r15
15A8A4A7: 48 83 EC 20 - sub rsp,20
// ---------- DONE INJECTING ----------
15A8A4AB: 49 BB 70 A8 A8 15 00 00 00 00 - mov r11,0000000015A8A870
15A8A4B5: 41 FF D3 - call r11
15A8A4B8: 48 83 C4 20 - add rsp,20
15A8A4BC: 48 8D 65 D8 - lea rsp,[rbp-28]
15A8A4C0: 41 5F - pop r15
15A8A4C2: 41 5E - pop r14
15A8A4C4: 41 5D - pop r13
15A8A4C6: 41 5C - pop r12
15A8A4C8: 5B - pop rbx
15A8A4C9: C9 - leave
Code: Select all
define(address,RimWorld:Selector:Select+6a4)
define(bytes,49 8B CF 48 83 EC 20)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,RimWorld:Selector:Select+6a4)
alloc(selectedpt,8)
label(code)
label(return)
newmem:
mov rcx,r15
sub rsp,20
mov [selectedpt],r14
jmp return
code:
address:
jmp newmem
nop
nop
return:
registersymbol(selectedpt)
[DISABLE]
address:
db bytes
// mov rcx,r15
// sub rsp,20
dealloc(newmem)
unregistersymbol(selectedpt)
{
// ORIGINAL CODE - INJECTION POINT: RimWorld:Selector:Select+6a4
15A8A47B: 41 FF D3 - call r11
15A8A47E: 48 83 C4 20 - add rsp,20
15A8A482: 49 8B 46 18 - mov rax,[r14+18]
15A8A486: 48 8B C8 - mov rcx,rax
15A8A489: 49 8B D7 - mov rdx,r15
15A8A48C: 48 83 EC 20 - sub rsp,20
15A8A490: 83 38 00 - cmp dword ptr [rax],00
15A8A493: 49 BB 20 A8 07 05 00 00 00 00 - mov r11,000000000507A820
15A8A49D: 41 FF D3 - call r11
15A8A4A0: 48 83 C4 20 - add rsp,20
// ---------- INJECTING HERE ----------
15A8A4A4: 49 8B CF - mov rcx,r15
15A8A4A7: 48 83 EC 20 - sub rsp,20
// ---------- DONE INJECTING ----------
15A8A4AB: 49 BB 70 A8 A8 15 00 00 00 00 - mov r11,0000000015A8A870
15A8A4B5: 41 FF D3 - call r11
15A8A4B8: 48 83 C4 20 - add rsp,20
15A8A4BC: 48 8D 65 D8 - lea rsp,[rbp-28]
15A8A4C0: 41 5F - pop r15
15A8A4C2: 41 5E - pop r14
15A8A4C4: 41 5D - pop r13
15A8A4C6: 41 5C - pop r12
15A8A4C8: 5B - pop rbx
15A8A4C9: C9 - leave