A lot broke with 2.0.39.
define(address,Factorio.CharacterController::getCursorStack+7)
define(bytes,48 05 C0 04 00 00)
code:
add rax,000004C0
I updated Get Cursor Stack, but the rest I didn't care about. My Instant Research Complete still works.
Oh and No crafting requirement.
Code: Select all
[ENABLE]
aobscanregion(unlockrecipes_aob_1,Factorio.ManualCrafter::startCrafting,Factorio.ManualCrafter::startCrafting+200, 80 79 0A 00)
aobscanregion(unlockrecipes_aob_2,Factorio.ManualCrafter::buildRecipeTree,Factorio.ManualCrafter::buildRecipeTree+200,80 78 0A 00)
aobscanregion(unlockrecipes_aob_3,Factorio.RecipeToolTip::updateContent,Factorio.RecipeToolTip::updateContent+150,41 80 7F 0A 00)
//aobscanregion(unlockrecipes_aob_4,Factorio.ManualCrafter::startCrafting+200,Factorio.ManualCrafter::startCrafting+600,44 3B FB 41 0F 42 DF)
aobscanregion(unlockrecipes_aob_5,Factorio.ManualCrafter::startCrafting+100,Factorio.ManualCrafter::startCrafting+400,90 48 8D 54 24 30 48 8D 4C 24 30) // should be unique
aobscanregion(unlockrecipes_aob_6,Factorio.ManualCrafter::startCrafting,Factorio.ManualCrafter::startCrafting+150,90 48 8D 8D 18 01 00 00)
aobscanregion(unlockrecipes_aob_7,Factorio.ManualCrafter::startCrafting+100,Factorio.ManualCrafter::startCrafting+300,80 BE DB 03 00 00 00)
assert(Factorio.Character::canEverCraft+40,44 38 89 DB 03 00 00)
alloc(newmem,$1000,Factorio.exe)
label(unlockrecipes_aob_6_code)
label(return)
label(return_2)
newmem:
mov dword ptr [rax],#100
lea rdx,[rsp+30]
jmp return
unlockrecipes_aob_6_code:
mov dword ptr [rax],2
lea rcx,[rbp+118]
jmp return_2
unlockrecipes_aob_1:
db 80 79 0A FF
registersymbol(unlockrecipes_aob_1)
unlockrecipes_aob_2:
db 80 78 0A FF
registersymbol(unlockrecipes_aob_2)
unlockrecipes_aob_3:
db 41 80 7F 0A FF
registersymbol(unlockrecipes_aob_3)
//unlockrecipes_aob_4:
// db BB 01 00 00 00 90 90
//registersymbol(unlockrecipes_aob_4)
unlockrecipes_aob_5+1:
jmp newmem
return:
registersymbol(unlockrecipes_aob_5)
unlockrecipes_aob_6+1:
jmp unlockrecipes_aob_6_code
nop 2
return_2:
registersymbol(unlockrecipes_aob_6)
unlockrecipes_aob_7:
db 80 BE DB 03 00 00 FF
registersymbol(unlockrecipes_aob_7)
Factorio.Character::canEverCraft+40:
db 80 b9 db 03 00 00 ff
[DISABLE]
unlockrecipes_aob_1:
db 80 79 0A 00
unregistersymbol(unlockrecipes_aob_1)
unlockrecipes_aob_2:
db 80 78 0A 00
unregistersymbol(unlockrecipes_aob_2)
unlockrecipes_aob_3:
db 41 80 7F 0A 00
unregistersymbol(unlockrecipes_aob_3)
//unlockrecipes_aob_4:
// db 44 3B FB 41 0F 42 DF
//unregistersymbol(unlockrecipes_aob_4)
unlockrecipes_aob_5+1:
db 48 8D 54 24 30
unregistersymbol(unlockrecipes_aob_5)
unlockrecipes_aob_6+1:
db 48 8D 8D 18 01 00 00
unregistersymbol(unlockrecipes_aob_6)
unlockrecipes_aob_7:
db 80 BE DB 03 00 00 00
unregistersymbol(unlockrecipes_aob_7)
Factorio.Character::canEverCraft+40:
db 44 38 89 DB 03 00 00
dealloc(newmem)