Ok, for all those of you waiting to edit character trait, research available and more. This is the post you should check.

I haven't figure out everything yet but I planned on updating this post as I go along.

Here what I figure out so far.

(Note: this will be assuming you can read hex and have a hex editor available. I'm using a freeware program called WinVi version 2.99 hex mode and ansi character view. Use these setting if you want to follow what I'm doing.)

Character trait (editing current available trait to character)

Using a hex editor open up the and locate the character of the faction your looking to edit.

The structure of startpos.esf file is as follows (from what I understand right now!) Interestingly, the save files of the game are similar encode hex files as the startpos.esf!

The first few lines are basic campaign string information.
After alot of few 10 of thousands of lines of you start to see unit name and faction relations and ship information.
After this section, is the character and agent area.

Character trait placed before the character name description.
You can also from ancillarys, character ability(duel ability, religion and so on)

You can identify the character trait by their names.

The first character that come up is Great Britain Faction Leader. Line (around 47986)

You can see he has the following trait before his name C_Leader_Debauched, C_leader_Navy_Buff and C_leader_Infertile.

Character trait name


unknown
(might determine how much points need to be added for next level?)

Character trait level

hex of the first character trait string is as follows: 43 00 5f 00 4c 00 65 00 61 00 64 00 65 00 72 00 5f 00 44 00 65 00 62 00 61 00 75 00 63 00 68 00 65 00 64 00 04 00

The blue pair of hex value is important. From what I understand, the higher the second hex value become, determine a trait level. (There is a character trait level point table somewhere we need to find.)

Next up research available to a faction (making them researched!)

On line (around 52676)

Is the research list for Great Britain faction.

First up is military_army_plug_bayonet

tech string name
unknown
research points (how many points left)

hex code is as follows: 6d00 6900 6c00 6900 7400 6100 7200 7900 5f 00 6100 7200 6d 00 7900 5f 00 7000 6c00 7500 6700 5f00 6200 6100 7900 6f00 6e00 6500 7400 0802

The research points determine how much more points is needed to fully research the tech. So by changing it to 00, Great Britain would have military_army_plug_bayonet available on campaign start!

Enjoy my hard work for now, and feel free to help me along my quest to decode the startpos.esf!

I'm trying to figure out how to add and remove character trait for the character back several blocks of hex before and after the character string need to be understood. Plainly, adding the code break the startpos file! If anyone figure anything out please do tell!