DaveFrommer
Conscript
Posts: 14
Joined: Thu Feb 14, 2008 3:43 am
Location: Atlanta, GA

Information request

Thu Feb 14, 2008 4:40 am

Hi all,
I have been playing this game for about 4 weeks now and love it!!! Something I have been looking for for many many years. I find it very easy to learn and understand with an intuitive interface (At least for an experienced wargamer -- more decades than I care to count :p leure: --)

Ok, schmozzing out of the way :innocent:

Since I am very detailed oriented and a software developer I was examining thee various save files and there is a lot of useful informatio in there, Through experimentation, I was able to figure out what a decent chunk of the numbers represent, but not all of them.

Is there a document somewhere that documents the .hst, .trn, and .rod file structures?

User avatar
Rafiki
Posts: 5811
Joined: Thu Aug 24, 2006 9:19 am
Location: Oslo, Norway

Thu Feb 14, 2008 7:48 am

Hi DaveFrommer, and welcome to the forums Image

I haven't seen a specification for the formats for those files, but I know that there are others who have been looking at them. I suggest asking any questions you have about specific sections, and see what answers you can get from those familiar with the files :)
[CENTER]Latest patches: AACW :: NCP :: WIA :: ROP :: RUS :: PON :: AJE
Visit AGEWiki - your increasingly comprehensive source for information about AGE games
[SIGPIC][/SIGPIC]
[/CENTER]

User avatar
Pocus
Posts: 25673
Joined: Wed Oct 19, 2005 7:37 am
Location: Lyon (France)

Thu Feb 14, 2008 9:43 am

The files formats are much less interesting than how to scripts setups and events in my opinion. Actually, no one should really have to look into the actual files, as scripting is done with XLS files.
Image


Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's law."

User avatar
Rafiki
Posts: 5811
Joined: Thu Aug 24, 2006 9:19 am
Location: Oslo, Norway

Thu Feb 14, 2008 9:49 am

I imagine that DaveFrommer might be wanting to make something like a savegame analyzer, given the files he's interested in?
[CENTER]Latest patches: AACW :: NCP :: WIA :: ROP :: RUS :: PON :: AJE

Visit AGEWiki - your increasingly comprehensive source for information about AGE games

[SIGPIC][/SIGPIC]

[/CENTER]

User avatar
Pocus
Posts: 25673
Joined: Wed Oct 19, 2005 7:37 am
Location: Lyon (France)

Thu Feb 14, 2008 9:51 am

that would be interesting then!
Image


Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's law."

DaveFrommer
Conscript
Posts: 14
Joined: Thu Feb 14, 2008 3:43 am
Location: Atlanta, GA

Fri Feb 15, 2008 1:21 am

Thanks I will identify what I know and don't know about the format and see if anyone can help me.

I am indeed interested in writing more of an analyzer so I can track history of what happens to individual units throughout a game. Organizational structure changes, etc.

I am also examining the battle log and seems to be lots of good info there to produce a more detailed battle result by unit.

I do love playing games, but have almost as much fun analyzing results and writing code :-)

I have played around with the various files and the spreadsheets and experimented with modding. Looks like a great deal of info is exposed for this purpose :cool:

I can see what little free time I have fast disappearing

DaveFrommer
Conscript
Posts: 14
Joined: Thu Feb 14, 2008 3:43 am
Location: Atlanta, GA

Fri Feb 15, 2008 2:05 am

Here is what I have deduced so far from the .hst file format. Anyone have any information to add?


<Scratch that, pasting an excel speadsheet copy into a post doe not work!!?

<Lets try attaching the .xls>
Attachments

[The extension xls has been deactivated and can no longer be displayed.]


DaveFrommer
Conscript
Posts: 14
Joined: Thu Feb 14, 2008 3:43 am
Location: Atlanta, GA

More up to date analysis

Fri Feb 15, 2008 4:18 am

Here is a little better organized sheet of my analysis to date
Attachments

[The extension xls has been deactivated and can no longer be displayed.]


User avatar
Pocus
Posts: 25673
Joined: Wed Oct 19, 2005 7:37 am
Location: Lyon (France)

Fri Feb 15, 2008 10:29 am

Faction level data

Code: Select all

  _nbIntegerData = 40; {30-39 :p laceholders}
  // indexes of integer data
  _idxUID          = 0;
  _idxKind         = 1;
  _idxDefType      = 2;
  _idxMoney        = 3;
  _idxPriceInc     = 4;
  _idxAILevel      = 5;
  _idxOffsetX      = 6;
  _idxOffsetY      = 7;
  _idxAllianceUID  = 8;
  _idxAutoRaiseOn  = 9;
  _idxVPWinLevel   = 10;
  _idxRulSudDeath  = 11;
  _idxRulPettyWar  = 12;
  _idxVPTotal      = 13;
  _idxWinStatus    = 14;
  _idxCurrentTurn  = 15;
  _idxPassive      = 16;
  _idxUnSelectable = 17;
  _idxRailPool     = 18;
  _idxRiverPool    = 19;
  _idxBlockadePerc = 20;
  _idxMoraleWin    = 21;
  _idxMoraleLoose  = 22;
  _idxMorale       = 23;
  _idxConscript    = 24;
  _idxWarSupply    = 25;
  _idxForeignEntry = 26;
  _idxConscLosses  = 27;
  _idxMaxCombiUnit = 28;
  _idxRedeployUse  = 29;
  _idxMaxEntrench  = 30;

  // faire progresser l'indicateur d'effacement dans Serialize

  _nbStringData = 40; {33-39 :p laceholders}
  // indexes of string data
  _idxNote         = 0;
  _idxVictoryCond  = 1;
  _idxRempls       = 2;
  _idxAutoRaiseUID = 3;
  _idxAutoRaiseNum = 4;
  _idxAutoDismiss  = 5;
  _idxObjRegions   = 6;
  _idxWinParams    = 7;
  _idxLooseParams  = 8;
  _idxWinParamsVP  = 9;
  _idxLoosePrmsVP  = 10;
  _idxSpecialRgn   = 11;
  _idxLoyatyCoeff  = 12;
  _idxOnAttack     = 13;
  _idxNavalPoolUID = 14;
  _idxBlockadeUID  = 15;
  _idxHarborNoBlock= 16;
  _idxHarborBlock  = 17;
  _idxUnitsPool    = 18;
  _idxBuiltActors  = 19;
  _idxActorsPool   = 20;
  _idxPrisoners    = 21;
  _idxTrsAssetsInfs= 22;
  _idxRevoltInfos  = 23;
  _idxCapitals     = 24;
  _idxAIPoolRatios = 25;
  _idxCombiUnitsNb = 26;
  _idxGarrInfos    = 27;
  _idxScorchEarth  = 28;
  _idxSEOneTurnCmd = 29;
  _idxPassword     = 30;
  _idxRelationships= 31;
  _idxRelationsBias= 32;
Group level data

Code: Select all

  _nbIntegerData = 28; {26-27 placeholders}

  // indexes of integer data
  _idxUID            = 0;
  _idxLinkedUID      = 1;
  _idxStartGameSpace = 2;
  _idxStartSubSpace  = 3;
  _idxUnitCapacity   = 4;
  _idxFaction        = 5;
  _idxOriX           = 6;
  _idxOriY           = 7;
  _idxEndGameSpace   = 8;
  _idxEndSubSpace    = 9;
  _idxFightAgainst   = 10;
  _idxTargetUID      = 11;
  _idxDisengaging    = 12;
  _idxAngle          = 13;
  _idxDstX           = 14;
  _idxDstY           = 15;
  _idxPosture        = 16;
  _idxPrevSubSpace   = 17;
  _idxInCityScape    = 18;
  _idxEntrenchLevel  = 19;
  _idxSpecOrderDays  = 20;
  _idxInterceptFac   = 21;
  _idxInterceptUnt   = 22;
  _idxPrevPosture    = 23;
  _idxUINoMerge      = 24;
  _idxROE            = 25;

  _nbStringData = 5; {- placeholders}
  // indexes of string data
  _idxName         = 0;
  _idxNote         = 1;
  _idxStoredPath   = 2;
  _idxSpecOrders   = 3;
  _idxAIInfos      = 4;
Unit level data

Code: Select all

  _nbIntData = 20; {16-19 : placeholders} // ! CopyGameProperties pour données modifiables par joueur
  // indexes of integer data
  _idxUID             = 0;
  _idxUnitType        = 1;
  _idxCombiKind       = 2;
  _idxStartSubSpace   = 3;
  _idxActivation      = 4;
  _idxParentGrpUID    = 5;
  _idxFactionUID      = 6;
  _idxDaysSpent       = 7;
  _idxSupplied        = 8;
  _idxBeenActive      = 9;
  _idxRgnDaysSpent    = 10;
  _idxTurnHideValue   = 11;
  _idxFixType         = 12;
  _idxBesiegedUID     = 13;
  _idxPrevCombiKind   = 14;
  _idxRelocatedFrom   = 15;

  _nbStrData = 10; {was:6; - Placeholder} // ! CopyGameProperties pour données modifiables par joueur
  // indexes of string data
  _idxName          = 0;
  _idxShortName     = 1;
  _idxCombiName     = 2;
  _idxNote          = 3;
  _idxInternalName  = 4;
  _idxMergedUnits   = 5;
  _idxFlavorName    = 6;
  _idxFlavorIName   = 7;
  _idxGHQName       = 8;
  _idxParentGHQ     = 9;
Sub-unit level data

Code: Select all

  _nbIntData = 22 {17-21: placeholder};
  // indexes of integer data
  _idxUID        = 0;
  _idxModelUID   = 1;
  _idxHealth     = 2;
  _idxExp        = 3;
  _idxBeingBuilt = 4;
  _idxcuSupply   = 5;
  _idxcuAmmo     = 6;
  _idxcuPower    = 7;
  _idxTurnsNoSup = 8;
  _idxcuCohesion = 9;
  _idxGHQStrat   = 10;
  _idxGHQOff     = 11;
  _idxGHQDef     = 12;
  _idxSenChange  = 13; {*}
  _idxPOLChange  = 14; {*}
  _idxCanUpgrade = 15;
  _idxStratMod   = 16;
  _idxOffMod     = 17;
  _idxDefMod     = 18;

  _nbStrData = 1;
  // indexes of string data
  _idxName      = 0;
Did I said I like people wanting to do third party tools? :siffle:
Image


Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's law."

DaveFrommer
Conscript
Posts: 14
Joined: Thu Feb 14, 2008 3:43 am
Location: Atlanta, GA

Fri Feb 15, 2008 1:12 pm

Thanks man, That is awesome.

I got a start last night on a treeview of the Organizational structure. I am using C# with DotNet 2.1. This definitely filed in the blanks for the structure.

I forget sometimes how much fun I used to have coding (I do exclusively data warehousing and design the last 6 years) but spent 17 years as a programmer in various languages.

DaveFrommer
Conscript
Posts: 14
Joined: Thu Feb 14, 2008 3:43 am
Location: Atlanta, GA

Sat Feb 16, 2008 4:52 am

I have some questions on the Gamesim section at the top of the .hst file

{Gamesim}
1000001 -- ID of the faction hosting? human player if single player
2695 -- current turn number
2703 -- last turn number
1862 Shiloh -- scenario Name
str1862ShilohDispName
str1862ShilohDescription
USA| -- faction 1 name
CSA| -- faction 2 name
0 -- marks end of faction list?
str1862ShilohBackground1
str1862ShilohBackground2
str1862ShilohVC_USA
str1862ShilohVC_CSA
1 -- ?
AACW 1.09 -- Game Version
24 -- TurnsPerYear (Used instead of global value in turnsformat.opt?
2695 -- Current Turn??
8103 -- ?



Also, to verify I am using the turn numbers correctly? This is the number of turns from the YearFirstTurn setting in the turnsformat.opt file?

Return to “AACW Mods”

Who is online

Users browsing this forum: No registered users and 3 guests