I'm currently using the latest steam version at the time of writing this,
i updated OP's Fast construction script to work with my version, so far it's been working for me just fine:
Code: Select all
[ENABLE]
aobscanmodule(construction,GameAssembly.dll,E8 ?? ?? ?? ?? 0F 28 74 24 30 F2 0F 2C C0 2B F0 89 73 28)
construction+E:
db 31 F6
registersymbol(construction)
[DISABLE]
construction+E:
db 2B F0
unregistersymbol(construction)
{
// OLD - ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+8424B47
GameAssembly.dll+8424B1B: 48 8B 0D 16 68 86 FA - mov rcx,[GameAssembly.dll+2C8B338]
GameAssembly.dll+8424B22: F6 81 33 01 00 00 02 - test byte ptr [rcx+00000133],02
GameAssembly.dll+8424B29: 74 0E - je GameAssembly.dll+8424B39
GameAssembly.dll+8424B2B: 83 B9 E0 00 00 00 00 - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+8424B32: 75 05 - jne GameAssembly.dll+8424B39
GameAssembly.dll+8424B34: E8 37 E8 CA F7 - call GameAssembly.dll+D3370
GameAssembly.dll+8424B39: 31 C9 - xor ecx,ecx
GameAssembly.dll+8424B3B: E8 50 DA A6 F8 - call GreyKnights.ConstructionProject.CalculateProgressPerDay
GameAssembly.dll+8424B40: 31 D2 - xor edx,edx
GameAssembly.dll+8424B42: E8 29 50 77 F9 - call UnityEngine.Mathf.CeilToInt
// ---------- INJECTING HERE ----------
GameAssembly.dll+8424B47: 29 C3 - sub ebx,eax
// ---------- DONE INJECTING ----------
GameAssembly.dll+8424B49: 89 5F 28 - mov [rdi+28],ebx
GameAssembly.dll+8424B4C: 48 8B 5C 24 30 - mov rbx,[rsp+30]
GameAssembly.dll+8424B51: 48 83 C4 20 - add rsp,20
GameAssembly.dll+8424B55: 5F - pop rdi
GameAssembly.dll+8424B56: C3 - ret
GameAssembly.dll+8424B57: E8 34 C1 D2 F7 - call GameAssembly.dll+150C90
GameAssembly.dll+8424B5C: CC - int 3
GameAssembly.dll+8424B5D: CC - int 3
GameAssembly.dll+8424B5E: 14 0B - adc al,0B
GameAssembly.dll+8424B60: 82 01 4C - add byte ptr [rcx],4C
}
{
// UPDATED - ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+EA706D
GameAssembly.dll+EA703C: C6 05 52 26 93 02 01 - mov byte ptr [GameAssembly.dll+37D9695],01
GameAssembly.dll+EA7043: 48 8B 0D 56 BA 70 02 - mov rcx,[GameAssembly.dll+35B2AA0]
GameAssembly.dll+EA704A: 83 B9 E0 00 00 00 00 - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+EA7051: 75 05 - jne GameAssembly.dll+EA7058
GameAssembly.dll+EA7053: E8 98 F0 3B FF - call GameAssembly.dll+2660F0
GameAssembly.dll+EA7058: 0F 57 C0 - xorps xmm0,xmm0
GameAssembly.dll+EA705B: F3 0F 5A C6 - cvtss2sd xmm0,xmm6
GameAssembly.dll+EA705F: E8 34 E9 43 FF - call GameAssembly.dll+2E5998
GameAssembly.dll+EA7064: 0F 28 74 24 30 - movaps xmm6,[rsp+30]
GameAssembly.dll+EA7069: F2 0F 2C C0 - cvttsd2si eax,xmm0
// ---------- INJECTING HERE ----------
GameAssembly.dll+EA706D: 2B F0 - sub esi,eax
// ---------- DONE INJECTING ----------
GameAssembly.dll+EA706F: 89 73 28 - mov [rbx+28],esi
GameAssembly.dll+EA7072: 45 33 C0 - xor r8d,r8d
GameAssembly.dll+EA7075: 48 8B D3 - mov rdx,rbx
GameAssembly.dll+EA7078: 48 8B CF - mov rcx,rdi
GameAssembly.dll+EA707B: E8 90 07 00 00 - call GreyKnights.ShipConstructionManager.ProjectUpdated
GameAssembly.dll+EA7080: 0F B6 0D C6 2A 93 02 - movzx ecx,byte ptr [GameAssembly.dll+37D9B4D]
GameAssembly.dll+EA7087: 84 C9 - test cl,cl
GameAssembly.dll+EA7089: 75 14 - jne GameAssembly.dll+EA709F
GameAssembly.dll+EA708B: 48 8D 0D AE 30 72 02 - lea rcx,[GameAssembly.dll+35CA140]
GameAssembly.dll+EA7092: E8 B9 48 3E FF - call GameAssembly.dll+28B950
}