Try this for Power, Biomass and Storage pointers.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>24</ID>
<Description>"[Other Stats]"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(CatPointer,Genesis-Win64-Shipping.exe,48 8B 42 20 45 33 C9 48 85 C0 41 0F 95 C1 4C 03 C8 4C 89 4A 20 8B 81 18 05 00 00 41 89 00 C3)
registersymbol(CatPointer)
alloc(newmemb,2000)
label(returnhere)
label(originalcode)
label(exit)
globalalloc(stats_ptrb,8)
newmemb:
mov [stats_ptrb],rcx
originalcode:
mov rax,[rdx+20]
xor r9d,r9d
test rax,rax
setne r9l
exit:
jmp returnhere
CatPointer:
jmp newmemb
returnhere:
[DISABLE]
CatPointer:
db 48 8B 42 20 45 33 C9 48 85 C0 41 0F 95 C1 4C 03 C8 4C 89 4A 20 8B 81 18 05 00 00 41 89 00 C3
unregistersymbol(CatPointer)
dealloc(newmemb)
/*
Genesis-Win64-Shipping.exe+216C30 - 48 8B 42 20 - mov rax,[rdx+20]
Genesis-Win64-Shipping.exe+216C34 - 45 33 C9 - xor r9d,r9d
Genesis-Win64-Shipping.exe+216C37 - 48 85 C0 - test rax,rax
Genesis-Win64-Shipping.exe+216C3A - 41 0F95 C1 - setne r9l
Genesis-Win64-Shipping.exe+216C3E - 4C 03 C8 - add r9,rax
Genesis-Win64-Shipping.exe+216C41 - 4C 89 4A 20 - mov [rdx+20],r9
Genesis-Win64-Shipping.exe+216C45 - 8B 81 18050000 - mov eax,[rcx+00000518]
Genesis-Win64-Shipping.exe+216C4B - 41 89 00 - mov [r8],eax
Genesis-Win64-Shipping.exe+216C4E - C3 - ret
*/
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>26</ID>
<Description>"Base Address"</Description>
<LastState RealAddress="00000000"/>
<VariableType>String</VariableType>
<Length>0</Length>
<Unicode>0</Unicode>
<CodePage>0</CodePage>
<ZeroTerminate>1</ZeroTerminate>
<Address>stats_ptrb</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
<CheatEntries>
<CheatEntry>
<ID>27</ID>
<Description>"Max Power"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+518</Address>
</CheatEntry>
<CheatEntry>
<ID>28</ID>
<Description>"Power Used"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+51C</Address>
</CheatEntry>
<CheatEntry>
<ID>29</ID>
<Description>"Max Biomass"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+520</Address>
</CheatEntry>
<CheatEntry>
<ID>30</ID>
<Description>"Biomass"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+524</Address>
</CheatEntry>
<CheatEntry>
<ID>31</ID>
<Description>"Max Storage"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+510</Address>
</CheatEntry>
<CheatEntry>
<ID>32</ID>
<Description>"Storage"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+514</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
it seems DNA points ,Biosphere, and plants are calculated, i could change both but later they revert to the original values
P.D. WRONG The previous "Stats" (Materials?) pointers do not break the game if you don't freeze the values. Using the "stats" to get every material and after that using the infinite items script works great WRONG