Every serializable class carries an enumeration of its own fields -- its
Write(Stream&), walking the members in order with a 4-char tag. This decodes
that idiom mechanically for the whole binary in 0.35 s.
Validation first (tools/serializers.py validate), against answers the campaign
already had before the tool existed:
A 305/307 field offsets+kinds exact across 17 classes, 0 WRONG, vs
struct-recovery.md 1-4 and observedtech-append.md
B sizeof from the container-stride divides: ObservedTech 0x2c, MoraleEvent
0x50, PlayerReport 0x30, DiplomacyStats 0x24 -- all matching
C 22 of save_reader.py's shapes, tag order identical (Sys 78 tags,
Player 104, CreateParams 25, Ship 22): 22 agree, 0 disagree
D Read/Write cross-check on every class: 437/437 field offsets agree
At scale: 386 classes with a Write, 1,682 member fields.
verified 87 (542 fields) | clean 77 (328) | unnamed 176 (471)
partial 31 (341) | empty 15
58 classes with a sizeof corroborated by a second line of evidence
(45 container stride, 13 enumeration meeting the embedding bound); the rest
report a lower bound and say so.
Four things each worth 10-170 classes: the RTTI class hierarchy descriptor as
the only honest "is this an IStreamable" test (a 3-slot vftable also matches
TacAISquadRule_* and the row parsers); mod=0 memory operands, which x86disp.py
cannot index and which hide every field at offset 0; the member->id pointer
idiom behind every handle field; and sub-writers, both base-class and private
(StrategyServer's six id lists live in FUN_00794cd0).
Failure classes are enumerated in the finding -- 176 anonymous-tag classes are
a hard limit on names but not on layout, and the other 64 are bounded
mechanical fixes. Two fields lost to a value assembled across a branch were
left unrecovered rather than patched with an unverifiable heuristic.
Write-back: 288 structures + 328 labels into Ghidra (0 failures), +201
addresses.json entries, header regenerated with tools/gen_addresses.py.
Note: ghidra/addresses.json also carries lane V's already-written live
confirmation text on ObservedTech_sizeof and ServerPlayer_off_ObservedTechs --
their edit, swept in only because we share the file.
2224 lines
33 KiB
C
2224 lines
33 KiB
C
// GENERATED by tools/serializers.py -- do not hand-edit.
|
|
// Layouts recovered from the Mars::IStreamable serializers.
|
|
// `Mars_string` is 0x1c and `Mars_vector` 0x10 -- allocator-LAST
|
|
// in this build's STL, which is why a touch-scan undercounts
|
|
// both by exactly 4 (findings/objects/struct-recovery.md 0).
|
|
struct Mars_string { char _bx[16]; unsigned int size; unsigned int res; void* alval; };
|
|
struct Mars_vector { void* first; void* last; void* end; void* alval; };
|
|
|
|
struct Game_GunBankSelection {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_CombatCommandFleetSetStance {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_CombatCommandFleetSetFacing {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_CombatCommandFleetSetHoldFire {
|
|
char _pad0[8];
|
|
int f8;
|
|
bool fc;
|
|
};
|
|
|
|
struct Game_CombatCommandPickReserve {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_CombatCommandSetAEAutoFire {
|
|
char _pad0[8];
|
|
int f8;
|
|
bool fc;
|
|
};
|
|
|
|
struct Game_CombatCommandSetPlanetAttackMode {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_CombatCommandSetWantEndCombat {
|
|
char _pad0[8];
|
|
int f8;
|
|
bool fc;
|
|
};
|
|
|
|
struct Game_CombatCommandSetPlayerAI {
|
|
char _pad0[8];
|
|
int f8;
|
|
bool fc;
|
|
};
|
|
|
|
struct Game_CombatCommandMoveReserves {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
Mars_vector f10;
|
|
};
|
|
|
|
struct Game_CombatCommandShipAllStop {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandShipClearTargets {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandShipReleaseGrapple {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandCloak {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandDecloak {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandIntangOn {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandIntangOff {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
};
|
|
|
|
struct Game_CombatCommandShipManeuver {
|
|
char _pad0[8];
|
|
int f8;
|
|
Mars_vector fc;
|
|
};
|
|
|
|
struct Game_CombatCommandShipSetStance {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
int f18;
|
|
};
|
|
|
|
struct Game_CombatCommandShipSetFacing {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
int f18;
|
|
};
|
|
|
|
struct Game_CombatCommandShipToggleBank {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
Game_GunBankSelection f18;
|
|
char _pad1[8];
|
|
bool f28;
|
|
};
|
|
|
|
struct Game_CombatCommandShipFireOnce {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
Game_GunBankSelection f18;
|
|
};
|
|
|
|
struct Game_CombatCommandShipSetHoldFire {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
Game_GunBankSelection f18;
|
|
char _pad1[8];
|
|
bool f28;
|
|
};
|
|
|
|
struct Game_CombatCommandShipSetOnlyMyTarget {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
Game_GunBankSelection f18;
|
|
char _pad1[8];
|
|
bool f28;
|
|
};
|
|
|
|
struct Game_PlanetClientContext {
|
|
char _pad0[4];
|
|
float f4;
|
|
float f8;
|
|
float fc;
|
|
float f10;
|
|
int f14;
|
|
int f18;
|
|
};
|
|
|
|
struct Game_DefenceFleetAssignment {
|
|
char _pad0[4];
|
|
int fid;
|
|
int stnid;
|
|
float head2;
|
|
float ori;
|
|
int quota;
|
|
};
|
|
|
|
struct Game_WeaponGroups {
|
|
char _pad0[4];
|
|
Game_GunBankSelection wgb;
|
|
};
|
|
|
|
struct Game_PlayerMessage {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
Mars_string fc;
|
|
Mars_vector f28;
|
|
};
|
|
|
|
struct Mars_LaunchParams {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
};
|
|
|
|
struct Game_TacReportEvents {
|
|
char _pad0[4];
|
|
int TREhd;
|
|
int TREhi;
|
|
float TREd;
|
|
float TREdp;
|
|
float TREdi;
|
|
float TREdt;
|
|
bool TREb;
|
|
char _pad1[3];
|
|
};
|
|
|
|
struct Game_TacReport {
|
|
char _pad0[4];
|
|
int TRid;
|
|
int TRal;
|
|
Game_TacReportEvents TRby;
|
|
Game_TacReportEvents TRto;
|
|
char _pad1[12];
|
|
int TRsats;
|
|
char _pad2[20];
|
|
int TRbal;
|
|
int TRlas;
|
|
int TRmis;
|
|
int TRmin;
|
|
int TRnrg;
|
|
int TRbio;
|
|
int TRbrd;
|
|
bool TRsld;
|
|
bool TRsldd;
|
|
bool TRsldc;
|
|
bool TRsldi;
|
|
bool TRsldr;
|
|
};
|
|
|
|
struct Game_CombatPlayerStats {
|
|
char _pad0[4];
|
|
Mars_vector TacReports;
|
|
float RPBon;
|
|
int RPBonT;
|
|
int SavBonus;
|
|
bool MaintHF;
|
|
char _pad1[3];
|
|
};
|
|
|
|
struct Game_PlagueStats {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_HeraldEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
float fc;
|
|
};
|
|
|
|
struct Game_EncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_PlayerEncounterProgress {
|
|
char _pad0[4];
|
|
int f4;
|
|
bool f8;
|
|
char _pad1[3];
|
|
float fc;
|
|
};
|
|
|
|
struct Game_OrtgayEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SVSORefugees_PlayerStatus {
|
|
char _pad0[4];
|
|
int lr;
|
|
int lrt;
|
|
int llc;
|
|
bool atr;
|
|
bool asy;
|
|
};
|
|
|
|
struct Game_RefugeesEncounterParams {
|
|
char _pad0[8];
|
|
bool f8;
|
|
};
|
|
|
|
struct Game_RefugeesEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_SVSOTraps_Trap {
|
|
char _pad0[4];
|
|
int sys;
|
|
int pid;
|
|
int trenc;
|
|
int trgenc;
|
|
};
|
|
|
|
struct Game_DerelictEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_MeteorEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_MonitorEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_PirateEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_PuppetMasterEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SlaversRefuelEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SVSOSwarm_Infestation {
|
|
char _pad0[4];
|
|
void * sysid;
|
|
int stg;
|
|
int strn;
|
|
int mtrn;
|
|
int trgtrn;
|
|
bool canh;
|
|
};
|
|
|
|
struct Game_SwarmEncounterParams {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SVSOSwarmQueen_HiveInfo {
|
|
char _pad0[4];
|
|
void * HiveID;
|
|
int NextQ;
|
|
void * QueenID;
|
|
};
|
|
|
|
struct Game_SVSOSwarmQueen_QueenInfo {
|
|
char _pad0[4];
|
|
void * QueenID;
|
|
void * QDstID;
|
|
};
|
|
|
|
struct Game_SwarmQueenEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SystemKillerEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SVSOVonNeumann_DefeatRecord {
|
|
char _pad0[4];
|
|
int sys;
|
|
int ndft;
|
|
int lstd;
|
|
int nxrv;
|
|
bool bkdf;
|
|
char _pad1[3];
|
|
};
|
|
|
|
struct Game_VNFinsolEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_VonNeumannEncounterParams {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_VonNeumannEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_VNHomeEncounterParams {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
int f10;
|
|
int f14;
|
|
int f18;
|
|
char _pad1[4];
|
|
longlong f20;
|
|
};
|
|
|
|
struct Game_VNHomeEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
char _pad1[4];
|
|
longlong f10;
|
|
};
|
|
|
|
struct Game_SimpleNodePath {
|
|
char _pad0[4];
|
|
short f4;
|
|
short f6;
|
|
};
|
|
|
|
struct Game_BerserkerEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_CrowDefendersEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_CrowRuinsEncounterResult {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_CombatCommandRequestAsylumResponse {
|
|
char _pad0[8];
|
|
int f8;
|
|
int fc;
|
|
int f10;
|
|
};
|
|
|
|
struct Game_PlagueHit {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_PopulationGroup {
|
|
char _pad0[4];
|
|
int PopT;
|
|
int PopS;
|
|
char _pad1[4];
|
|
longlong PopC;
|
|
};
|
|
|
|
struct Game_SVSOAntiquarians_Artifact {
|
|
char _pad0[4];
|
|
void * shipid;
|
|
void * salsid;
|
|
int salpid;
|
|
int pvis;
|
|
};
|
|
|
|
struct Game_StarMapParams {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_vector f8;
|
|
Mars_vector f18;
|
|
Mars_vector f28;
|
|
};
|
|
|
|
struct Game_PrisonerHold {
|
|
char _pad0[20];
|
|
void * PrMax;
|
|
};
|
|
|
|
struct Game_CombatShipReport {
|
|
char _pad0[4];
|
|
Mars_string name;
|
|
int did;
|
|
int cls;
|
|
longlong caps2;
|
|
int nshp;
|
|
int nfld;
|
|
int nlst;
|
|
int dtak;
|
|
int dams;
|
|
int damp;
|
|
float dami;
|
|
float damt;
|
|
};
|
|
|
|
struct Game_CombatWeaponReport {
|
|
char _pad0[4];
|
|
Mars_string wep;
|
|
int dams;
|
|
int damp;
|
|
float dami;
|
|
float damt;
|
|
};
|
|
|
|
struct Game_AIEncounterFlags {
|
|
char _pad0[12];
|
|
int Nas;
|
|
};
|
|
|
|
struct Game_CombatPlayerReport {
|
|
char _pad0[4];
|
|
int plr;
|
|
bool ai;
|
|
char _pad1[3];
|
|
int ally;
|
|
char status;
|
|
int mxeng;
|
|
int mxcls;
|
|
int mxmsl;
|
|
char _pad2[6];
|
|
char nsat;
|
|
char _pad3[12];
|
|
char nsatl;
|
|
short ndam;
|
|
char _pad4[8];
|
|
Mars_vector srep;
|
|
};
|
|
|
|
struct Game_CombatDamageReport {
|
|
char _pad0[4];
|
|
void * did;
|
|
char _pad1[12];
|
|
Mars_string wep;
|
|
};
|
|
|
|
struct Game_StrategyTimerParams {
|
|
char _pad0[4];
|
|
float TSTL;
|
|
float TCTL;
|
|
float TQTL;
|
|
float TQTLE;
|
|
};
|
|
|
|
struct Game_StrategyPlayerGameSettings {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
int f10;
|
|
};
|
|
|
|
struct Game_StrategySessionParams {
|
|
char _pad0[4];
|
|
Game_StrategyTimerParams TMRS;
|
|
};
|
|
|
|
struct Game_StrategyGameInfo {
|
|
char _pad0[32];
|
|
Mars_string GameName;
|
|
int Turn;
|
|
int NumSys;
|
|
int Checksum;
|
|
int MapShape;
|
|
Mars_vector Players;
|
|
Game_StrategySessionParams Session;
|
|
float IncMod;
|
|
float ResMod;
|
|
bool Alliances;
|
|
bool Teams;
|
|
bool Encounters;
|
|
char _pad1[1];
|
|
Mars_string Scenario;
|
|
};
|
|
|
|
struct Game_AllianceInvite_Response {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
bool fc;
|
|
char _pad1[3];
|
|
};
|
|
|
|
struct Game_AllianceInvite {
|
|
char _pad0[4];
|
|
int f4;
|
|
bool f8;
|
|
bool f9;
|
|
bool fa;
|
|
bool fb;
|
|
int fc;
|
|
int f10;
|
|
int f14;
|
|
int f18;
|
|
Mars_vector f1c;
|
|
int f2c;
|
|
int f30;
|
|
int f34;
|
|
Mars_vector f38;
|
|
int f48;
|
|
};
|
|
|
|
struct Game_ShipBuildOrderDef {
|
|
char _pad0[4];
|
|
int desID;
|
|
int con;
|
|
int sav;
|
|
int conleft;
|
|
int ordID;
|
|
};
|
|
|
|
struct Game_ShipBuildOrder {
|
|
char _pad0[4];
|
|
int desID;
|
|
int con;
|
|
int sav;
|
|
int conleft;
|
|
int ordID;
|
|
};
|
|
|
|
struct Game_EventStorage_TurnEvents {
|
|
char _pad0[4];
|
|
int EvTurn;
|
|
Mars_vector Events;
|
|
};
|
|
|
|
struct Game_AIAutoPeaceRun {
|
|
char _pad0[4];
|
|
int sid;
|
|
int tn0;
|
|
int tn1;
|
|
};
|
|
|
|
struct Game_StrategyAIAgent_Streamable {
|
|
char _pad0[4];
|
|
void * prs2;
|
|
};
|
|
|
|
struct Game_AIRelationRecord {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
float f10;
|
|
float f14;
|
|
};
|
|
|
|
struct Game_AIRebellionImpl {
|
|
char _pad0[4];
|
|
int St;
|
|
char _pad1[4];
|
|
void * Plr;
|
|
void * Reb;
|
|
Mars_vector NSys;
|
|
};
|
|
|
|
struct Game_StrategyAIAgent_DesignNameGen {
|
|
char _pad0[4];
|
|
void * dnid;
|
|
};
|
|
|
|
struct Game_NodePath {
|
|
char _pad0[4];
|
|
int npt;
|
|
int npid;
|
|
int npfr;
|
|
int npto;
|
|
int npctm;
|
|
int npcby;
|
|
int npdtn;
|
|
int npdtf;
|
|
int nptf;
|
|
int npenp;
|
|
int npuse;
|
|
};
|
|
|
|
struct Game_NodeRoute {
|
|
char _pad0[4];
|
|
int nrp;
|
|
int nrf;
|
|
int nrt;
|
|
};
|
|
|
|
struct Game_ServerNodeGraph {
|
|
char _pad0[8];
|
|
Mars_vector paths;
|
|
char _pad1[48];
|
|
int nextid;
|
|
};
|
|
|
|
struct Game_ServerNodeGraph_Params {
|
|
char _pad0[4];
|
|
int RSeed;
|
|
Mars_vector PSeed;
|
|
Mars_vector SSeed;
|
|
};
|
|
|
|
struct Game_EncounterResults_PrisonerShip {
|
|
char _pad0[4];
|
|
int f4;
|
|
Game_PrisonerHold f8;
|
|
};
|
|
|
|
struct Game_EncounterResults_BoardedShip {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_EncounterResults_RetreatingShip {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
int f10;
|
|
};
|
|
|
|
struct Game_EncounterResults_SpyShip {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
bool fc;
|
|
bool fd;
|
|
char _pad1[2];
|
|
float f10;
|
|
};
|
|
|
|
struct Game_FlightPlan_Waypoint {
|
|
char _pad0[4];
|
|
int Wpt;
|
|
int Tp;
|
|
Game_NodeRoute nrt;
|
|
};
|
|
|
|
struct Game_Morale {
|
|
char _pad0[4];
|
|
int mv;
|
|
};
|
|
|
|
struct Game_MoraleEvent {
|
|
char _pad0[4];
|
|
int mid;
|
|
int mtr;
|
|
int mn;
|
|
int mtp;
|
|
Game_Morale mfx;
|
|
char _pad1[24];
|
|
Mars_string mdsc;
|
|
};
|
|
|
|
struct Game_DiplomacyStats {
|
|
char _pad0[4];
|
|
int other;
|
|
short lastnap;
|
|
short lastnapbty;
|
|
short bknnap;
|
|
short btynap;
|
|
short lastally;
|
|
short lastallybty;
|
|
short bknally;
|
|
short btyally;
|
|
short lastcf;
|
|
short lastcfbty;
|
|
short bkncf;
|
|
short btycf;
|
|
short deadhome;
|
|
char _pad1[2];
|
|
};
|
|
|
|
struct Game_PlayerReport {
|
|
char _pad0[4];
|
|
int oid;
|
|
int pid;
|
|
int flds;
|
|
int sav;
|
|
int home;
|
|
int ncol;
|
|
int mpwr;
|
|
int mcls;
|
|
int mmsl;
|
|
int nshp;
|
|
int nsat;
|
|
};
|
|
|
|
struct Game_SpecialProject {
|
|
char _pad0[4];
|
|
int SPid;
|
|
int Sts;
|
|
float Cst;
|
|
int MxC;
|
|
Mars_string Nm;
|
|
int Trns;
|
|
};
|
|
|
|
struct Game_PlayerNotes {
|
|
char _pad0[4];
|
|
int NtSys;
|
|
Mars_string NtTxt;
|
|
int NtTrn;
|
|
};
|
|
|
|
struct Game_RaidTargets {
|
|
char _pad0[4];
|
|
int rds;
|
|
int rdv;
|
|
Mars_vector dsc;
|
|
int rdt;
|
|
};
|
|
|
|
struct Game_DefenceLayout {
|
|
char _pad0[4];
|
|
int sysid;
|
|
Mars_vector ndsa;
|
|
void * fa;
|
|
};
|
|
|
|
struct Game_ObservedDesign {
|
|
char _pad0[4];
|
|
short otnF;
|
|
short otnL;
|
|
int odid;
|
|
int opid;
|
|
};
|
|
|
|
struct Game_SNMRefreshSlots_SlotData {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
bool fc;
|
|
char _pad1[3];
|
|
};
|
|
|
|
struct Game_TechOffer {
|
|
char _pad0[4];
|
|
int giv;
|
|
int rcp;
|
|
char _pad1[4];
|
|
};
|
|
|
|
struct Game_StrategyGameLoadParams {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
};
|
|
|
|
struct Game_ObservedWeapon {
|
|
char _pad0[4];
|
|
short otnF;
|
|
short otnL;
|
|
bool odet;
|
|
char _pad1[3];
|
|
Mars_string owep;
|
|
int owith;
|
|
};
|
|
|
|
struct Game_ObservedTech {
|
|
char _pad0[4];
|
|
short otnF;
|
|
short otnL;
|
|
bool odet;
|
|
char _pad1[3];
|
|
Mars_string otch;
|
|
int owith;
|
|
};
|
|
|
|
struct Game_SystemEvent {
|
|
char _pad0[4];
|
|
int ses;
|
|
int set;
|
|
int seop;
|
|
int senp;
|
|
Mars_vector seno2;
|
|
};
|
|
|
|
struct Game_ClientEncounterResults {
|
|
char _pad0[4];
|
|
int f4;
|
|
bool f8;
|
|
char _pad1[3];
|
|
Game_CombatPlayerStats fc;
|
|
};
|
|
|
|
struct Game_StrategyScriptParams {
|
|
char _pad0[8];
|
|
int spc;
|
|
};
|
|
|
|
struct Game_StrategyGameCreateParams {
|
|
char _pad0[4];
|
|
Mars_string Name;
|
|
int ID;
|
|
int RSeed;
|
|
Mars_string Key;
|
|
Game_StarMapParams MapP;
|
|
int MapS;
|
|
Mars_string MapF;
|
|
int NSys;
|
|
float REnc;
|
|
float SDist;
|
|
float SSize;
|
|
float SRes;
|
|
float SSuit;
|
|
int MaxP;
|
|
int ASpec;
|
|
bool bAlly;
|
|
char _pad1[3];
|
|
int NTeam;
|
|
bool tmgrp;
|
|
char _pad2[7];
|
|
int PSav;
|
|
int PCol;
|
|
int PTech;
|
|
int AID;
|
|
float IncM;
|
|
float ResM;
|
|
Game_StrategyScriptParams scrp;
|
|
};
|
|
|
|
struct Game_StrategyGameParams {
|
|
char _pad0[4];
|
|
int f4;
|
|
char _pad1[252];
|
|
Game_StrategyGameCreateParams f104;
|
|
};
|
|
|
|
struct Game_StrategyServer {
|
|
char _pad0[8];
|
|
int ModCount;
|
|
int Frame;
|
|
int GOTurn;
|
|
int GameID;
|
|
Mars_vector GOWinPly;
|
|
Mars_string GameName;
|
|
Mars_vector NumSys;
|
|
Mars_vector NumPlrs;
|
|
Mars_vector NumFlts;
|
|
Mars_vector NumActs;
|
|
char _pad1[24];
|
|
int NMLc;
|
|
char _pad2[28];
|
|
int Map;
|
|
float IncMod;
|
|
float ResMod;
|
|
bool EnAl;
|
|
bool EnTm;
|
|
char _pad3[106];
|
|
Mars_string KeyPath;
|
|
char _pad4[4];
|
|
void * NdGr2;
|
|
void * trdmgr;
|
|
void * spymgr;
|
|
void * sprjs;
|
|
void * Attrib;
|
|
char _pad5[4];
|
|
void * RNG;
|
|
char _pad6[48];
|
|
float RandEncAdj;
|
|
char _pad7[16];
|
|
void * SvSctOb;
|
|
int NPCm;
|
|
int NPCo;
|
|
int NPCi;
|
|
int NPCv;
|
|
int NPCa;
|
|
float szadj;
|
|
float rsadj;
|
|
float suadj;
|
|
char _pad8[32];
|
|
int cmbtid;
|
|
void * numcreps;
|
|
void * turnstats;
|
|
char _pad9[196];
|
|
Mars_vector ninv;
|
|
char _pad10[68];
|
|
int zdsc;
|
|
};
|
|
|
|
struct Game_PlayerAid {
|
|
char _pad0[4];
|
|
int aidto;
|
|
int aidrai;
|
|
int aidrt;
|
|
int aidsa;
|
|
int aidst;
|
|
};
|
|
|
|
struct Game_StrategyTurnInfo {
|
|
char _pad0[4];
|
|
int f4;
|
|
char _pad1[12];
|
|
float f14;
|
|
int f18;
|
|
int f1c;
|
|
int f20;
|
|
char _pad2[12];
|
|
int f30;
|
|
};
|
|
|
|
struct Game_TradeRoute {
|
|
char _pad0[4];
|
|
int tro;
|
|
int trfow;
|
|
int trfr;
|
|
int trfrs;
|
|
int trtow;
|
|
int trto;
|
|
int trtos;
|
|
int trtc;
|
|
};
|
|
|
|
struct Game_ServerTradeSector_FreighterWarning {
|
|
char _pad0[4];
|
|
int pid;
|
|
int ntrns;
|
|
};
|
|
|
|
struct Game_ShipDesignDef_LegacyGunBank {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_CommMessageContainer {
|
|
char _pad0[4];
|
|
Mars_vector nmsg;
|
|
};
|
|
|
|
struct Game_SpyCraft {
|
|
char _pad0[4];
|
|
int sid;
|
|
int sown;
|
|
int atto;
|
|
int deat;
|
|
int tdep;
|
|
float cbh;
|
|
int spyon;
|
|
int spyat;
|
|
int cm;
|
|
float cmo;
|
|
Mars_vector ncp;
|
|
float sdo;
|
|
int sdet;
|
|
};
|
|
|
|
struct Game_ServerSpyManager {
|
|
char _pad0[12];
|
|
int xsid;
|
|
Mars_vector nspy;
|
|
};
|
|
|
|
struct Game_SpyReportTradeRoute {
|
|
char _pad0[4];
|
|
int stn;
|
|
int sctr;
|
|
int spl;
|
|
Mars_vector sdgc;
|
|
};
|
|
|
|
struct Game_SpyReportEvents {
|
|
char _pad0[4];
|
|
int spl;
|
|
Mars_vector ste;
|
|
};
|
|
|
|
struct Game_DefenceSummary {
|
|
char _pad0[4];
|
|
int pid;
|
|
int sid;
|
|
Mars_vector stac;
|
|
Mars_vector satc;
|
|
Game_DefenceLayout dlay;
|
|
};
|
|
|
|
struct Game_EventStorage {
|
|
char _pad0[4];
|
|
Mars_vector Events;
|
|
int EvNxID;
|
|
};
|
|
|
|
struct Game_EncounterQuery {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_SpyReportDefences {
|
|
char _pad0[4];
|
|
int stn;
|
|
Game_DefenceSummary sdef;
|
|
};
|
|
|
|
struct Game_SpyReportTrade {
|
|
char _pad0[4];
|
|
int stn;
|
|
int spl;
|
|
int sctr;
|
|
Mars_vector srt;
|
|
};
|
|
|
|
struct Game_ShipRecords {
|
|
char _pad0[16];
|
|
int srl;
|
|
char _pad1[32];
|
|
void * srd;
|
|
};
|
|
|
|
struct Game_PlayerTurnStats {
|
|
char _pad0[4];
|
|
short trn;
|
|
char _pad1[2];
|
|
int almem;
|
|
int inc;
|
|
int tdinc;
|
|
int sav;
|
|
short col;
|
|
short bat;
|
|
char _pad2[4];
|
|
longlong pop;
|
|
short tch;
|
|
char _pad3[38];
|
|
Mars_vector sacq;
|
|
Mars_vector slost;
|
|
};
|
|
|
|
struct Game_SpyReportTechTree {
|
|
char _pad0[4];
|
|
int stn;
|
|
int spl;
|
|
};
|
|
|
|
struct Game_ServerTradeManagerImpl {
|
|
char _pad0[8];
|
|
float SctSize;
|
|
char _pad1[16];
|
|
Mars_vector NumTradeSectors;
|
|
};
|
|
|
|
struct Game_SpecialProjectNameGen {
|
|
char _pad0[4];
|
|
void * Nm;
|
|
};
|
|
|
|
struct Game_FleetNameGenerator {
|
|
char _pad0[4];
|
|
int FNGNum;
|
|
};
|
|
|
|
struct Game_SpyReport {
|
|
char _pad0[8];
|
|
int defc2;
|
|
char _pad1[8];
|
|
int rtc;
|
|
char _pad2[8];
|
|
int evc;
|
|
char _pad3[8];
|
|
int ttc;
|
|
};
|
|
|
|
struct Game_PlayerTurnHistory {
|
|
char _pad0[4];
|
|
int ply;
|
|
};
|
|
|
|
struct Game_GameTurnHistory {
|
|
char _pad0[12];
|
|
int nply;
|
|
};
|
|
|
|
struct Mars_SyncChecksumBuffer {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
Mars_vector fc;
|
|
};
|
|
|
|
struct Mars_SyncParams {
|
|
char _pad0[4];
|
|
bool f4;
|
|
bool f5;
|
|
char _pad1[2];
|
|
Mars_string f8;
|
|
int f24;
|
|
int f28;
|
|
int f2c;
|
|
};
|
|
|
|
struct Game_CNMPlayerLeft {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_CNMClientNotResponding {
|
|
char _pad0[4];
|
|
int f4;
|
|
bool f8;
|
|
};
|
|
|
|
struct Game_CNMUpdateComplete {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_CNMUserShips {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
int f14;
|
|
};
|
|
|
|
struct Game_CNMPlayerJoined {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
};
|
|
|
|
struct Game_SVSOGrandMenaceTrigger {
|
|
char _pad0[4];
|
|
int gmch;
|
|
};
|
|
|
|
struct Game_SVSODerelict {
|
|
char _pad0[4];
|
|
void * Eflt;
|
|
char _pad1[16];
|
|
Mars_vector NDsn;
|
|
};
|
|
|
|
struct Game_SVSOSlaversRefuel {
|
|
char _pad0[4];
|
|
Mars_vector NAsg;
|
|
char _pad1[4];
|
|
Mars_vector NTD;
|
|
Mars_vector NAD;
|
|
int CDiff;
|
|
};
|
|
|
|
struct Game_SVSOSwarm {
|
|
char _pad0[4];
|
|
Mars_vector NAsg;
|
|
char _pad1[12];
|
|
void * infest;
|
|
};
|
|
|
|
struct Game_SVSOSwarmQueen {
|
|
char _pad0[16];
|
|
Mars_vector Hives;
|
|
Mars_vector Queens;
|
|
Mars_vector SysMem;
|
|
};
|
|
|
|
struct Game_SVSOCrowRuins {
|
|
char _pad0[4];
|
|
Mars_vector NAsg;
|
|
char _pad1[4];
|
|
Mars_vector NWD;
|
|
};
|
|
|
|
struct Game_SVSORefugees {
|
|
char _pad0[12];
|
|
int rsuc;
|
|
char _pad1[4];
|
|
bool ini;
|
|
char _pad2[3];
|
|
Mars_vector didc;
|
|
};
|
|
|
|
struct Game_SVSOMonitor {
|
|
char _pad0[4];
|
|
void * Eflt;
|
|
char _pad1[16];
|
|
Mars_vector NDsn;
|
|
Mars_string scnm;
|
|
};
|
|
|
|
struct Game_SVSOCrowDefenders {
|
|
char _pad0[4];
|
|
void * sys;
|
|
Mars_vector ndsys;
|
|
Mars_vector ndes;
|
|
char _pad1[16];
|
|
float drad;
|
|
};
|
|
|
|
struct Game_SVSOVonNeumann {
|
|
char _pad0[4];
|
|
Mars_vector dfts;
|
|
char _pad1[16];
|
|
int rusav;
|
|
int nenc;
|
|
int nmb;
|
|
int nml;
|
|
int nbb;
|
|
int nbl;
|
|
int nskb;
|
|
int nskl;
|
|
void * vnhw;
|
|
longlong vnhp;
|
|
int mbid;
|
|
int mbgid;
|
|
int skgid;
|
|
int ntm;
|
|
Mars_vector mts;
|
|
int ntb;
|
|
bool sken;
|
|
char _pad2[3];
|
|
int skdid;
|
|
int skhid;
|
|
int skfid;
|
|
int sktq;
|
|
int skt;
|
|
int sktc;
|
|
};
|
|
|
|
struct Game_SVSOTraps {
|
|
char _pad0[20];
|
|
Mars_vector traps;
|
|
};
|
|
|
|
struct Game_CommonPlague {
|
|
char _pad0[8];
|
|
void * PlgSys;
|
|
int PlgCByF;
|
|
void * PlgCBy;
|
|
char _pad1[36];
|
|
int PlgCM;
|
|
int PlgTurns;
|
|
int PlgInf;
|
|
};
|
|
|
|
struct Game_ZuulInfestation {
|
|
char _pad0[8];
|
|
void * PlgSys;
|
|
int PlgCByF;
|
|
void * PlgCBy;
|
|
char _pad1[4];
|
|
longlong PlgNZ;
|
|
float PlgZdr;
|
|
};
|
|
|
|
struct Game_JewelsProject {
|
|
char _pad0[8];
|
|
Game_SpecialProject SPi;
|
|
int Stp;
|
|
char _pad1[4];
|
|
int einv;
|
|
int eapp;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_FEARS_YOUR_POWER {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
int LASTTURN;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_REQUIRES_CASH {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
int LASTTURN;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_ENERGY_WEAPONS_DECADENT {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
int LASTTURN;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_MUST_EXPAND {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
char _pad1[4];
|
|
int LASTTURN;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_DEMANDS_VICTORY {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
int LASTTURN;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_GIFTS {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_DEMANDS_TRADE_GOODS {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
int LASTTURN;
|
|
};
|
|
|
|
struct Game_SVSOLandGrab {
|
|
char _pad0[8];
|
|
int nwt;
|
|
char _pad1[124];
|
|
float winr;
|
|
};
|
|
|
|
struct Game_SVSOAntiquarians {
|
|
char _pad0[8];
|
|
Mars_vector narts;
|
|
int wpid;
|
|
int wpturn;
|
|
};
|
|
|
|
struct Game_SVSOMasterVoice {
|
|
char _pad0[8];
|
|
Mars_vector hom;
|
|
Mars_vector hmd;
|
|
};
|
|
|
|
struct Game_SVSOJewelsOfTheCrown {
|
|
char _pad0[8];
|
|
int JEWELLOCATIONID;
|
|
int JEWELSHIPID;
|
|
int JEWELLOCATIONID_1;
|
|
Mars_vector prjdone;
|
|
char _pad1[8];
|
|
int PREVJEWELSHIPID;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_DEMANDS_SHIPS {
|
|
char _pad0[12];
|
|
int OBJECTIVEID;
|
|
int TURNCREATED;
|
|
Mars_vector REQUESTS;
|
|
int LASTTURN;
|
|
int SUCCESSSTANDING;
|
|
int FAILURESTANDING;
|
|
};
|
|
|
|
struct Game_SVSOProgressionWars {
|
|
char _pad0[8];
|
|
int stg;
|
|
int sft;
|
|
int snt;
|
|
int snec;
|
|
int ses;
|
|
int snet;
|
|
int snep;
|
|
int srsi;
|
|
int srs;
|
|
char _pad1[20];
|
|
Mars_vector lts;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes {
|
|
char _pad0[12];
|
|
int EMPIREFLAGS;
|
|
int EMPIRESTANDING;
|
|
char _pad1[28];
|
|
int NEXTORDERTURN;
|
|
char _pad2[16];
|
|
int EARTHID;
|
|
};
|
|
|
|
struct Game_SVSOSots {
|
|
char _pad0[4];
|
|
int ScnID;
|
|
void * ScnObj;
|
|
Mars_vector NEncObjs;
|
|
char _pad1[24];
|
|
int numx;
|
|
};
|
|
|
|
struct Game_SNMSetTimers {
|
|
char _pad0[4];
|
|
Game_StrategyTimerParams f4;
|
|
};
|
|
|
|
struct Game_SNMLeaveAlliance {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMSetAIPolicy {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMRemoveCommMessage {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMDemandEmpireSurrender {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMDemandEmpireSurrenderResponse {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
bool fc;
|
|
};
|
|
|
|
struct Game_SNMTechOffer {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
Mars_string f10;
|
|
bool f2c;
|
|
};
|
|
|
|
struct Game_SNMUpdateComplete {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
};
|
|
|
|
struct Game_SNMTurnInfo {
|
|
char _pad0[4];
|
|
Game_StrategyTurnInfo f4;
|
|
};
|
|
|
|
struct Game_SNMDoEncounterQuery {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMChat {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
Mars_string f10;
|
|
int f2c;
|
|
};
|
|
|
|
struct Game_SNMTransferProgress {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_SNMUpdate {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
Mars_vector f14;
|
|
Mars_vector f24;
|
|
Mars_vector f34;
|
|
Mars_vector f44;
|
|
};
|
|
|
|
struct Game_SNMAllCombatDone {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_SNMSlotSetForcedSpecies {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMSlotSetState {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_SNMSlotRemoveClient {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMSlotMoveClient {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_SNMSlotReqPW {
|
|
char _pad0[4];
|
|
float f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMSlotPWRejected {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMJoinReply {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMCombatTimeRemaining {
|
|
char _pad0[4];
|
|
int f4;
|
|
float f8;
|
|
};
|
|
|
|
struct Game_SNMSetPlayerStatus {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMMakePlayerAI {
|
|
char _pad0[4];
|
|
int f4;
|
|
bool f8;
|
|
};
|
|
|
|
struct Game_SNMCommMessage {
|
|
char _pad0[4];
|
|
void * f4;
|
|
};
|
|
|
|
struct Game_SNMKillAI {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMAllianceInvite {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_SNMAllianceReply {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
bool f10;
|
|
};
|
|
|
|
struct Game_SNMAllianceNotify {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_SNMLeaveNonAggression {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMLeaveCeaseFire {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMCancelAllianceInvite {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMGenericGameMessage {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
};
|
|
|
|
struct Game_SNMPlaySpeechEvent {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
int fc;
|
|
};
|
|
|
|
struct Game_SpecialProjectImpl {
|
|
char _pad0[8];
|
|
Game_SpecialProject SPi;
|
|
int Stp;
|
|
};
|
|
|
|
struct Game_SNMProgressionWarsConvoyShips {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Game_SNMEncounterQueryResults {
|
|
char _pad0[4];
|
|
int f4;
|
|
Game_EncounterQuery f8;
|
|
};
|
|
|
|
struct Game_SNMPendingAlliances {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_SNMSlotInsertClient {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
Mars_string fc;
|
|
};
|
|
|
|
struct Game_SNMSlotSetPW {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
bool f24;
|
|
bool f25;
|
|
};
|
|
|
|
struct Game_SNMSlotPWAttempt {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
};
|
|
|
|
struct Game_SNMRefreshSlots {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_MonitorProject {
|
|
char _pad0[8];
|
|
Game_SpecialProject SPi;
|
|
int Stp;
|
|
int Sys;
|
|
int RMn;
|
|
int RMx;
|
|
int RDn;
|
|
float RMd;
|
|
};
|
|
|
|
struct Game_TechProject {
|
|
char _pad0[8];
|
|
Game_SpecialProject SPi;
|
|
int Stp;
|
|
float AOdd;
|
|
float AInc;
|
|
char _pad1[4];
|
|
int RCst;
|
|
int RDn;
|
|
};
|
|
|
|
struct Game_BackEngProject {
|
|
char _pad0[8];
|
|
Game_SpecialProject SPi;
|
|
int Stp;
|
|
float AOdd;
|
|
float AInc;
|
|
char _pad1[4];
|
|
int RCst;
|
|
int RDn;
|
|
};
|
|
|
|
struct Game_TechOfferProject {
|
|
char _pad0[8];
|
|
Game_SpecialProject SPi;
|
|
int Stp;
|
|
float AOdd;
|
|
float AInc;
|
|
char _pad1[4];
|
|
int RCst;
|
|
int RDn;
|
|
int giv;
|
|
int rcp;
|
|
bool rcpd2;
|
|
};
|
|
|
|
struct Game_SNMJoin {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
bool f24;
|
|
};
|
|
|
|
struct Game_SNMHostCombat {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
Mars_string fc;
|
|
int f28;
|
|
float f2c;
|
|
bool f30;
|
|
bool f31;
|
|
};
|
|
|
|
struct Game_SNMJoinCombatReply {
|
|
char _pad0[4];
|
|
bool f4;
|
|
char _pad1[3];
|
|
Mars_string f8;
|
|
};
|
|
|
|
struct Game_SNMEncounterProgress {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_SNMAIRelationValues {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
};
|
|
|
|
struct Game_SNMAllianceInviteChat {
|
|
char _pad0[4];
|
|
int f4;
|
|
int f8;
|
|
Mars_string fc;
|
|
int f28;
|
|
};
|
|
|
|
struct Game_SNMLobbyChat {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
Mars_string f24;
|
|
};
|
|
|
|
struct Game_SNMRunAI {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
bool f24;
|
|
};
|
|
|
|
struct Game_SNMUserNames {
|
|
char _pad0[4];
|
|
Mars_vector f4;
|
|
int f14;
|
|
};
|
|
|
|
struct Game_SNMSetSlotPassword {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
};
|
|
|
|
struct Game_SNMGenericEvent {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_string f8;
|
|
};
|
|
|
|
struct Game_SNMAllianceInviteProgress {
|
|
char _pad0[4];
|
|
int f4;
|
|
Game_AllianceInvite f8;
|
|
};
|
|
|
|
struct Game_SNMSlotInit {
|
|
char _pad0[4];
|
|
bool f4;
|
|
bool f5;
|
|
bool f6;
|
|
char _pad1[1];
|
|
int f8;
|
|
Mars_vector fc;
|
|
int f1c;
|
|
bool f20;
|
|
char _pad2[3];
|
|
int f24;
|
|
int f28;
|
|
Game_StrategyPlayerGameSettings f2c;
|
|
};
|
|
|
|
struct Game_SNMLaunchCombat {
|
|
char _pad0[4];
|
|
int f4;
|
|
Mars_vector f8;
|
|
Game_EncounterQuery f18;
|
|
};
|
|
|
|
struct Mars_NMCommand {
|
|
char _pad0[4];
|
|
void * f4;
|
|
};
|
|
|
|
struct Mars_NMSyncCheck {
|
|
char _pad0[4];
|
|
void * f4;
|
|
};
|
|
|
|
struct Mars_NMSyncError {
|
|
char _pad0[4];
|
|
int f4;
|
|
};
|
|
|
|
struct Mars_FNMBase {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
};
|
|
|
|
struct Mars_FNMSendNotify {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
int f24;
|
|
};
|
|
|
|
struct Mars_FNMDone {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
int f24;
|
|
int f28;
|
|
};
|
|
|
|
struct Mars_FNMError {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
Mars_string f24;
|
|
};
|
|
|
|
struct Mars_FNMSendReply {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
};
|
|
|
|
struct Mars_FNMChunkReply {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
};
|
|
|
|
struct Mars_FNMDoneReply {
|
|
char _pad0[4];
|
|
Mars_string f4;
|
|
int f20;
|
|
};
|
|
|
|
struct Quaternion {
|
|
float f0;
|
|
float f4;
|
|
float f8;
|
|
float fc;
|
|
};
|
|
|
|
struct Vector3 {
|
|
float f0;
|
|
float f4;
|
|
float f8;
|
|
};
|
|
|
|
struct Vector2 {
|
|
float f0;
|
|
float f4;
|
|
};
|
|
|
|
struct Game_PlanetStats {
|
|
float f0;
|
|
float f4;
|
|
int f8;
|
|
char _pad0[4];
|
|
longlong f10;
|
|
longlong f18;
|
|
float f20;
|
|
};
|
|
|
|
struct Game_NodePointParams {
|
|
float f0;
|
|
int f4;
|
|
Mars_string f8;
|
|
float f24;
|
|
int f28;
|
|
Mars_vector f2c;
|
|
};
|
|
|
|
struct Game_CombatTechFlags {
|
|
int f0;
|
|
int f4;
|
|
};
|
|
|
|
struct Game_XenoTechsPerSpecies {
|
|
int f0;
|
|
};
|
|
|
|
struct Game_LocustFleetLogistics {
|
|
bool hav;
|
|
bool don;
|
|
char _pad0[2];
|
|
int dsy;
|
|
Vector3 dst;
|
|
};
|
|
|
|
struct Game_SVSOUpstartApes_EO_DEMANDS_SHIPS_ShipRequest {
|
|
char _pad0[28];
|
|
int NUMREQUIRED;
|
|
};
|
|
|
|
struct Game_ShipWeapon {
|
|
Mars_string wfn;
|
|
int wid;
|
|
int did;
|
|
};
|
|
|
|
struct Game_ShipParams_Section {
|
|
Mars_string f0;
|
|
char _pad0[28];
|
|
Mars_vector f38;
|
|
Game_CombatTechFlags f48;
|
|
};
|
|
|
|
struct Game_FieldTemplate_Point {
|
|
int FTPShID;
|
|
int FTPDesID;
|
|
int FTPPosX;
|
|
int FTPPosY;
|
|
int FTPSqd;
|
|
};
|
|
|
|
struct Game_AttribMap {
|
|
char _pad0[8];
|
|
int f8;
|
|
};
|
|
|
|
struct Game_AICombatReport {
|
|
int CRTrn;
|
|
bool CRPce;
|
|
char _pad0[3];
|
|
int CRSys;
|
|
Game_CombatPlayerStats CRPlSv2;
|
|
};
|
|
|
|
struct Game_ShipSectionID {
|
|
int f0;
|
|
int f4;
|
|
};
|
|
|
|
struct Game_StarSystem_OutputRates {
|
|
float SRt;
|
|
float SRsc;
|
|
float SRtf;
|
|
float SRi;
|
|
float SRoh;
|
|
float SRs;
|
|
int SRnr;
|
|
};
|
|
|
|
struct Game_ShipDesignDef_Section {
|
|
char _pad0[8];
|
|
Mars_vector DGbnk2;
|
|
Mars_vector DOpts;
|
|
};
|
|
|
|
struct Address {
|
|
Mars_string f0;
|
|
int f1c;
|
|
Mars_string f20;
|
|
Mars_string f3c;
|
|
};
|
|
|
|
struct Game_PlayerAlliances {
|
|
int ALid;
|
|
int AL;
|
|
int NA;
|
|
int CF;
|
|
};
|
|
|
|
struct Game_ShipDesignDef_LegacyWeaponDef {
|
|
char _pad0[28];
|
|
int DWi;
|
|
};
|
|
|
|
struct Game_Objective {
|
|
int ID;
|
|
bool Cmp;
|
|
char _pad0[59];
|
|
int NID;
|
|
};
|
|
|
|
struct Game_CombatCommandShipSetWaypoint {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
Quaternion f18;
|
|
Mars_vector f28;
|
|
bool f38;
|
|
};
|
|
|
|
struct Game_CombatCommandShipAttack {
|
|
char _pad0[8];
|
|
Mars_vector f8;
|
|
int f18;
|
|
Vector3 f1c;
|
|
float f28;
|
|
int f2c;
|
|
};
|
|
|
|
struct Game_CombatReport {
|
|
char _pad0[4];
|
|
int cid;
|
|
int trn;
|
|
Vector3 pos;
|
|
int sid;
|
|
bool auto_;
|
|
char _pad1[3];
|
|
float dur;
|
|
int cow;
|
|
bool cdst;
|
|
char _pad2[3];
|
|
int cpk;
|
|
int cpt;
|
|
float cdt;
|
|
float cdi;
|
|
Mars_vector prep;
|
|
Mars_vector wrep;
|
|
};
|
|
|
|
struct Game_FlightPlan {
|
|
char _pad0[4];
|
|
Mars_vector wpts;
|
|
float FPsp2;
|
|
int FPeta2;
|
|
Vector3 FPogn2;
|
|
Vector3 FPdpos;
|
|
int pnd;
|
|
};
|
|
|
|
struct Game_SystemParams {
|
|
char _pad0[4];
|
|
Vector3 f4;
|
|
Mars_string f10;
|
|
int f2c;
|
|
int f30;
|
|
float f34;
|
|
};
|
|
|
|
struct Game_StarMapNode {
|
|
char _pad0[24];
|
|
Vector3 Pos;
|
|
};
|
|
|
|
struct Game_StarSystem {
|
|
char _pad0[24];
|
|
Vector3 Pos;
|
|
};
|
|
|
|
struct Game_ClientSystem {
|
|
char _pad0[24];
|
|
Vector3 Pos;
|
|
};
|
|
|
|
struct Game_EventStorage_Event {
|
|
char _pad0[4];
|
|
int EvEID;
|
|
Mars_string EvDsc;
|
|
Mars_string EvMsg;
|
|
int EvLoc;
|
|
Vector3 EvPos;
|
|
Mars_string EvImg;
|
|
int EvAct;
|
|
int EvCID;
|
|
};
|
|
|
|
struct Game_TradeSector {
|
|
char _pad0[24];
|
|
Vector3 Pos;
|
|
};
|
|
|
|
struct Game_ClientTradeSector {
|
|
char _pad0[24];
|
|
Vector3 Pos;
|
|
};
|
|
|
|
struct Game_ServerTradeSector {
|
|
char _pad0[24];
|
|
Vector3 Pos;
|
|
char _pad1[68];
|
|
int tsgridID;
|
|
Vector3 tsctr;
|
|
Mars_vector tsnumsys;
|
|
int tssec;
|
|
int tsct;
|
|
int tscr;
|
|
int ptssec;
|
|
int ptsct;
|
|
int ptscr;
|
|
Mars_vector tsnumflt;
|
|
void * fwarn;
|
|
};
|
|
|
|
struct Game_SVSOOrtgay {
|
|
char _pad0[4];
|
|
bool init;
|
|
char _pad1[3];
|
|
int design;
|
|
int state;
|
|
Vector3 origin;
|
|
Vector3 center;
|
|
int turnLv;
|
|
int turnAn;
|
|
int spawnturn;
|
|
int spawnodds;
|
|
};
|
|
|
|
struct Game_SVSOPuppetMaster {
|
|
char _pad0[8];
|
|
void * Flt;
|
|
bool Init2;
|
|
char _pad1[3];
|
|
Mars_vector NSys;
|
|
Vector3 End;
|
|
};
|
|
|
|
struct Game_SVSOSystemKiller {
|
|
char _pad0[8];
|
|
void * Flt;
|
|
bool Init2;
|
|
char _pad1[3];
|
|
Mars_vector NSys;
|
|
Vector3 End;
|
|
};
|
|
|
|
struct Game_SNMUpdateAlliances {
|
|
char _pad0[4];
|
|
int f4;
|
|
Game_PlayerAlliances f8;
|
|
};
|
|
|
|
struct Game_SNMHostCombatReply {
|
|
char _pad0[4];
|
|
bool f4;
|
|
char _pad1[3];
|
|
Address f8;
|
|
Mars_string f60;
|
|
};
|
|
|
|
struct Game_SNMJoinCombat {
|
|
char _pad0[4];
|
|
Address f4;
|
|
Mars_string f5c;
|
|
Mars_string f78;
|
|
int f94;
|
|
int f98;
|
|
};
|