unREAL wrote: ↑Thu Nov 02, 2023 8:16 pm
Reaper1222 wrote: ↑Thu Nov 02, 2023 7:40 pm
need to wait for someone to update the table(s) because patch broke them
I looked into the table and I think we are f*cked ... Larian f*cked us...
USUALLY I would find the command/console instance If I do a "IntegerSum" string search -> scan for the result - 0x8 -0x20 - 0x10 ... but since newest update ... nothing.
This means they have changed REALLY MUCH on the structure of the game .. or they finally removed all the console commands.
Larian does NOT want that you or me can use the console ...Read this:
viewtopic.php?p=307312#p307312
So anyone should expect the worst ... console commands could be dead forever ... I swear I hate game devs every day more ...
Calm down, satan.
I'm not gonna look into all the codes because i don't know how they were made and how to find the code structures that changed, i'm hoping someone else will. Especially for the DLC ones, and the Last Item Moved / Dropped codes, because these were very useful.
But i took a very short look (10 minutes) at the most important one, which is console commands, and had to only very slightly (a single byte different) alter the search mask, and then change like three lines of code in the script to make it work again.
Open the Console Commands script, Ctrl+A to select everything, delete it, then replace it with this:
Code: Select all
[ENABLE]
aobscanmodule(console,$process,81 E2 FF FF FF 01 4C)
alloc(newmem,$1000,console)
alloc(cmdCode,$1000)
alloc(cmdStr0,$1000)
alloc(cmdStr1,$1000)
alloc(cmdStr2,$1000)
alloc(cmdStr3,$1000)
alloc(cmdStr4,$1000)
label(cmdCall)
label(cmdArgs)
label(cmdSelf)
label(cmdAddr)
label(cmdList)
label(code)
label(return)
newmem:
mov rdi,cmdList
mov rax,[r13+08]
mov [rdi],rax
code:
and edx,01FFFFFF
jmp return
cmdList:
dq 0
console:
jmp newmem
nop
return:
cmdCode:
align 10
cmdCall:
sub rsp,38
mov rdx,cmdArgs
mov rax,cmdAddr
mov rcx,cmdSelf
mov rcx,[rcx]
call [rax]
add rsp,38
movzx rax,al
ret
align 10
cmdAddr:
dq 0
align 10
cmdSelf:
dq 0
align 10
cmdArgs:
dq 0
dq 0
dq 0
dq 0
dq 0
dq 0
dq 0
dq 0
dq 0
dq 0
registersymbol(console)
registersymbol(cmdList)
registersymbol(cmdCall)
registersymbol(cmdAddr)
registersymbol(cmdSelf)
registersymbol(cmdArgs)
registersymbol(cmdStr0)
registersymbol(cmdStr1)
registersymbol(cmdStr2)
registersymbol(cmdStr3)
registersymbol(cmdStr4)
[DISABLE]
console:
db 81 E2 FF FF FF 01
unregistersymbol(console)
dealloc(newmem)
unregistersymbol(cmdList)
unregistersymbol(cmdCode)
unregistersymbol(cmdStr0)
unregistersymbol(cmdStr1)
unregistersymbol(cmdStr2)
unregistersymbol(cmdStr3)
unregistersymbol(cmdStr4)
dealloc(cmdCode)
dealloc(cmdStr0)
dealloc(cmdStr1)
dealloc(cmdStr2)
dealloc(cmdStr3)
dealloc(cmdStr4)
Did a very cursory test, but command count is populated properly, i can register commands in-game, and the one i tested real quick worked just like before the patch.