Page 1 of 3
Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 2:23 am
by Destinate
Just some basic pointers.
Some features might also affect the bot. Try not to keep them enabled all the time.
The entity editor can be improved if you know how to dissect the data structure.
As of now, it only has basic pointers. I don't think I will work on this any further. Feel free to expand it.
I don't take requests and I don't support multiplayer!
Download:
- SOASE2.CT
- + Compact View Mode
+ Antimatter for entity editor - (47.54 KiB) Downloaded 4763 times
- SOASE2.CT
- + Faction Specific
+ Added more data structure to entity editor - (45.18 KiB) Downloaded 739 times
- SOASE2.CT
- + Instant Structure Construction
+ Instant Install Planet Component - (31.75 KiB) Downloaded 230 times
- SOASE2.CT
- + Fixed Military Supply
+ Set Slots (Civilian/Military)
+ Entity Editor - (27.18 KiB) Downloaded 718 times
- SOASE2.CT
- + Military Supply
+ Instant Upgrade
+ Instant Build Ship - (21 KiB) Downloaded 507 times
- SOASE2.CT
- + Research rate
- (13.77 KiB) Downloaded 463 times
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 2:56 am
by acecel
Thanks for the table, works well for me.
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 4:52 am
by acecel
A small script that allow to multiply the resources gain for credit, metal and crystal.
Resource Gain Multiplier
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>330635</ID>
<Description>"Resource Gain Multiplier"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
<LastState/>
<Color>FFFF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : sins2.exe
Version:
Date : 2024-08-17
Author : acecel
This script does blah blah blah
}
[ENABLE]
aobscanmodule(aob_res_update,sins2.exe,F3 0F 11 44 8E 08) // should be unique
alloc(newmem,$1000,aob_res_update)
alloc(pCredit,$8)
alloc(pMetal,$8)
alloc(pCrystal,$8)
registersymbol(pCredit)
registersymbol(pMetal)
registersymbol(pCrystal)
pCredit:
dd 0
pMetal:
dd 0
pCrystal:
dd 0
alloc(mulCredit,$8)
alloc(mulMetal,$8)
alloc(mulCrystal,$8)
registersymbol(mulCredit)
registersymbol(mulMetal)
registersymbol(mulCrystal)
mulCredit:
dd (float)2.0 // Change Default Multiplier Here
mulMetal:
dd (float)2.0 // Change Default Multiplier Here
mulCrystal:
dd (float)2.0 // Change Default Multiplier Here
label(saveCredit)
label(saveMetal)
label(saveCrystal)
label(multCredit)
label(multMetal)
label(multCrystal)
label(code)
label(return)
newmem:
cmp rcx,00
je saveCredit
cmp rcx,01
je saveMetal
cmp rcx,02
je saveCrystal
jmp code
saveCredit:
cmp [pCredit],0
jne multCredit
push rdx
lea rdx,[rsi+rcx*4+08]
mov [pCredit],rdx
pop rdx
jmp multCredit
saveMetal:
cmp [pMetal],0
jne multMetal
push rdx
lea rdx,[rsi+rcx*4+08]
mov [pMetal],rdx
pop rdx
jmp multMetal
saveCrystal:
cmp [pCrystal],0
jne multCrystal
push rdx
lea rdx,[rsi+rcx*4+08]
mov [pCrystal],rdx
pop rdx
jmp multCrystal
multCredit:
cmp rcx,00
jne code
movss xmm1,xmm0
subss xmm1,[rsi+rcx*4+08]
mulss xmm1,[mulCredit]
movss xmm0,[rsi+rcx*4+08]
addss xmm0,xmm1
jmp code
multMetal:
cmp rcx,01
jne code
movss xmm1,xmm0
subss xmm1,[rsi+rcx*4+08]
mulss xmm1,[mulMetal]
movss xmm0,[rsi+rcx*4+08]
addss xmm0,xmm1
jmp code
multCrystal:
cmp rcx,02
jne code
movss xmm1,xmm0
subss xmm1,[rsi+rcx*4+08]
mulss xmm1,[mulCrystal]
movss xmm0,[rsi+rcx*4+08]
addss xmm0,xmm1
jmp code
code:
movss [rsi+rcx*4+08],xmm0
jmp return
aob_res_update:
jmp newmem
nop
return:
registersymbol(aob_res_update)
[DISABLE]
aob_res_update:
db F3 0F 11 44 8E 08
unregistersymbol(*)
dealloc(*)
{
// ORIGINAL CODE - INJECTION POINT: sins2.exe.text+85AD07
sins2.exe.text+85ACDA: E8 A1 0B 00 00 - call sins2.exe.text+85B880
sins2.exe.text+85ACDF: 33 DB - xor ebx,ebx
sins2.exe.text+85ACE1: 8B CB - mov ecx,ebx
sins2.exe.text+85ACE3: 48 83 F9 03 - cmp rcx,03
sins2.exe.text+85ACE7: 0F 83 81 01 00 00 - jae sins2.exe.text+85AE6E
sins2.exe.text+85ACED: 41 0F 28 F0 - movaps xmm6,xmm8
sins2.exe.text+85ACF1: F3 0F 59 B4 8C B0 00 00 00 - mulss xmm6,[rsp+rcx*4+000000B0]
sins2.exe.text+85ACFA: 0F 28 C6 - movaps xmm0,xmm6
sins2.exe.text+85ACFD: F3 0F 58 44 8E 08 - addss xmm0,[rsi+rcx*4+08]
sins2.exe.text+85AD03: F3 0F 5F C7 - maxss xmm0,xmm7
// ---------- INJECTING HERE ----------
sins2.exe.text+85AD07: F3 0F 11 44 8E 08 - movss [rsi+rcx*4+08],xmm0
// ---------- DONE INJECTING ----------
sins2.exe.text+85AD0D: 48 8B 3E - mov rdi,[rsi]
sins2.exe.text+85AD10: 85 DB - test ebx,ebx
sins2.exe.text+85AD12: 74 30 - je sins2.exe.text+85AD44
sins2.exe.text+85AD14: 83 E9 01 - sub ecx,01
sins2.exe.text+85AD17: 0F 84 81 00 00 00 - je sins2.exe.text+85AD9E
sins2.exe.text+85AD1D: 83 E9 01 - sub ecx,01
sins2.exe.text+85AD20: 74 75 - je sins2.exe.text+85AD97
sins2.exe.text+85AD22: 83 F9 01 - cmp ecx,01
sins2.exe.text+85AD25: 75 1D - jne sins2.exe.text+85AD44
sins2.exe.text+85AD27: 4C 8D 05 5E A4 52 00 - lea r8,[sins2.exe.rdata+4318C]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>330636</ID>
<Description>"Activate/Reactivate after loading a save"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>008080</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>330637</ID>
<Description>"Credit"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>mulCredit</Address>
</CheatEntry>
<CheatEntry>
<ID>330638</ID>
<Description>"Metal"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>mulMetal</Address>
</CheatEntry>
<CheatEntry>
<ID>330639</ID>
<Description>"Crystal"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>mulCrystal</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 7:00 am
by jmg213
its possible to add Ultimate Fleet Size ?
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 7:55 am
by Guanfei
A god mode, or an instant construction would be nice, if possible.
Otherwise, the table works perfectly.
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 9:39 am
by mflau
Multiplier works on enemies too?
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 1:55 pm
by WankHole
jmg213 wrote: ↑Sat Aug 17, 2024 7:00 am
its possible to add Ultimate Fleet Size ?
Its just a 4 byte. Once you find it you can select "find out what writes to this address" and you'll see SUB and ADD. Just right click (the add of course) and choose noop. You fleet size should no longer increase.
7FF62F6F8FDB - 01 81 80020000 - add [rcx+00000280],eax
sins2.exe+8D8FDB:
7FF62F6F8FD7 - 85 C0 - test eax,eax
7FF62F6F8FD9 - 7E 3C - jle sins2.exe+8D9017
7FF62F6F8FDB - 01 81 80020000 - add [rcx+00000280],eax <<
7FF62F6F8FE1 - 41 80 38 00 - cmp byte ptr [r8],00
7FF62F6F8FE5 - 75 30 - jne sins2.exe+8D9017
RAX=0000000000000032
RBX=000003503C3E8508
RCX=000003503C3E8508
RDX=000003509F472800
RSI=000003509F472800
RDI=000003509F472800
RBP=00000001E88FD1B0
RSP=00000001E88FD070
R8=00000001E88FD0E0
R9=00000000000000A0
R10=00007FFAEC1E0000
R11=00000001E88FCFE0
R12=0000000000000000
R13=000003503C3E8508
R14=00000350FA065700
R15=000003509F532000
RIP=00007FF62F6F8FE1
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 2:43 pm
by jmg213
WankHole wrote: ↑Sat Aug 17, 2024 1:55 pm
jmg213 wrote: ↑Sat Aug 17, 2024 7:00 am
its possible to add Ultimate Fleet Size ?
Its just a 4 byte. Once you find it you can select "find out what writes to this address" and you'll see SUB and ADD. Just right click (the add of course) and choose noop. You fleet size should no longer increase.
7FF62F6F8FDB - 01 81 80020000 - add [rcx+00000280],eax
sins2.exe+8D8FDB:
7FF62F6F8FD7 - 85 C0 - test eax,eax
7FF62F6F8FD9 - 7E 3C - jle sins2.exe+8D9017
7FF62F6F8FDB - 01 81 80020000 - add [rcx+00000280],eax <<
7FF62F6F8FE1 - 41 80 38 00 - cmp byte ptr [r8],00
7FF62F6F8FE5 - 75 30 - jne sins2.exe+8D9017
RAX=0000000000000032
RBX=000003503C3E8508
RCX=000003503C3E8508
RDX=000003509F472800
RSI=000003509F472800
RDI=000003509F472800
RBP=00000001E88FD1B0
RSP=00000001E88FD070
R8=00000001E88FD0E0
R9=00000000000000A0
R10=00007FFAEC1E0000
R11=00000001E88FCFE0
R12=0000000000000000
R13=000003503C3E8508
R14=00000350FA065700
R15=000003509F532000
RIP=00007FF62F6F8FE1
okay ? how can i add this to the table ? or can you add it and upload the Table ?
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 3:01 pm
by perempt
thank!
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 6:16 pm
by Destinate
I added some more features. I'm trying to figure out how to get an instant build structure and unlimited slots.
As for the slot, I'm able to get it to add it to the queue but seems like the queue has a separate check preventing the structure from building.
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 7:35 pm
by jmg213
the military supply dont work or ? i set it on 0 but on one point i cant build new ships
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 8:03 pm
by Cruxibel
military supply, building slots civ/mil(4 byte), lock on 0 or negative number won't affect the game.
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 8:24 pm
by WankHole
Destinate wrote: ↑Sat Aug 17, 2024 6:16 pm
I added some more features. I'm trying to figure out how to get an instant build structure and unlimited slots.
As for the slot, I'm able to get it to add it to the queue but seems like the queue has a separate check preventing the structure from building.
Yep, the same type of check is also happening on the unit limit.Once you get to a certain amount of units the game just refuses to allow you to build more. Pesky checks :/
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sat Aug 17, 2024 8:43 pm
by Disasterlord1
Hi, nice job on the table so far! Could I ask you to try and implement a god mode or infinite health? Or is that easy enough to do on my own? (and if so, how would I do that?)
Re: Sins of a Solar Empire 2 (Steam)
Posted: Sun Aug 18, 2024 12:55 am
by emdasdas
Hello, the work is appreciated, can you add some script for the number of civil and military laboratories? another one doesn't work for me Military Supply, thank you in advance