generated address header: verified RNG signatures

This commit is contained in:
alex 2026-09-07 22:29:05 -04:00
parent 8b231c0a86
commit b1fcb56017

View file

@ -1,5 +1,5 @@
// GENERATED — do not edit. Facts about Sword of the Stars.exe (GOG 1.8.1).
// Source: sots-re ghidra/addresses.json @ b24f13c, generated 2026-09-07 by tools/gen_addresses.py
// Source: sots-re ghidra/addresses.json @ 87a39b6, generated 2026-09-07 by tools/gen_addresses.py
// Runtime address = (uintptr_t)GetModuleHandle(NULL) + RVA (the exe is ASLR-relocated).
#pragma once
#include <cstdint>
@ -49,11 +49,11 @@ constexpr uint32_t StrategyServer_Read = 0x003d27a0;
constexpr uint32_t StrategyServer_Write = 0x0039fa70;
// thiscall void (Stream* this, const char* tag, NetworkObject* obj) [unverified]
constexpr uint32_t Stream_WriteNetworkObjectId = 0x00416490;
// thiscall void (RNG* this) [unverified]
// thiscall void (RNG* this) // this in ECX, no stack args, RET 0; 227/396 split [verified]
constexpr uint32_t RNG_Twist = 0x00026e00;
// thiscall void (RNG* this, uint32_t seed) [unverified]
// thiscall RNG* (RNG* this, uint32_t seed) // RET 4; MT19937 init mt[i]=(mt[i-1]^(mt[i-1]>>30))*0x6c078965+i for i=1..623, then twists. this: vftable@0, mt[624]@+4, left@+0x9c4 [verified]
constexpr uint32_t RNG_Seed = 0x0009fdf0;
// thiscall float (RNG* this) [unverified]
// thiscall float (RNG* this) // returns via x87 (float10 in decompile) -- FLOAT PARITY RISK; lazy twist: if (left==0) Twist() [verified]
constexpr uint32_t RNG_NextFloat = 0x0007d830;
// thiscall uint32_t (RNG* this) [unverified]
constexpr uint32_t RNG_NextInt = 0x000271c0;