Difference between revisions of "SOLDIER.DAT (TFTD)"
(→Structure: Minor changes. Nailed down MC skill fields (initial and improvement) .) |
(Added hex offsets.) |
||
Line 4: | Line 4: | ||
SOLDIER.DAT has a fixed structure of 250 entries of 70 bytes each. (Only a maximum of 250 soldiers can be had). Thus it is always 17,500 bytes long (250x70). | SOLDIER.DAT has a fixed structure of 250 entries of 70 bytes each. (Only a maximum of 250 soldiers can be had). Thus it is always 17,500 bytes long (250x70). | ||
− | Values are presented according to byte count (0 to 69) followed by the equivalent hex offset (00 to | + | Values are presented according to byte count (0 to 69) followed by the equivalent hex offset (00 to 45) in <b>bold</b>, followed by the normal (non-hacked) range of values in <i>italics</i>. Most fields can be hacked up to FF, but sometimes it can make for weirdness! |
Unfortunately, this file is not conveniently ordered like Enemy Unknown's file so everything is just jumbled together. | Unfortunately, this file is not conveniently ordered like Enemy Unknown's file so everything is just jumbled together. | ||
== Structure == | == Structure == | ||
− | <b>0</b> MC Skill Improvement | + | <b>0 / 00</b>: MC Skill Improvement |
− | <b>1</b> Time Unit Improvement | + | <b>1 / 01</b>: Time Unit Improvement |
− | <b>2</b> In MC Implantation Flag | + | <b>2 / 02</b>: In MC Implantation Flag |
− | <b>3</b> Promotion Flag | + | <b>3 / 03</b>: Promotion Flag |
− | <b>4</b> Health Improvement | + | <b>4 / 04</b>: Health Improvement |
− | <b>5</b> Strength Improvement | + | <b>5 / 05</b>: Strength Improvement |
− | <b>6-7</b> Base Reference using values from LOC.DAT for where soldier is. First base is always 0 (first entry in [[LOC.DAT]]). Value of FF means the soldier is being transferred. | + | <b>6-7 / 06-07</b>: Base Reference using values from LOC.DAT for where soldier is. First base is always 0 (first entry in [[LOC.DAT]]). Value of FF means the soldier is being transferred. |
− | <b>8-9</b> Craft Reference | + | <b>8-9 / 08-09</b>: Craft Reference |
− | <b>10-11</b> Rank | + | <b>10-11 / 0A-0B</b>: Rank |
− | <b>12-13</b> <span style="color:red">Unknown</span> | + | <b>12-13 / 0C-0D</b>: <span style="color:red">Unknown</span> |
− | <b>14-15</b> Kills | + | <b>14-15 / 0E-0F</b>: Kills |
− | <b>16-17</b> Wound Recovery | + | <b>16-17 / 10-11</b>: Wound Recovery |
− | <b>18-19</b> Missions | + | <b>18-19 / 12-13</b>: Missions |
− | <b>20-21</b> Soldier Value | + | <b>20-21 / 14-15</b>: Soldier Value |
− | <b>22</b> Always 0 except for existing soldiers being transferred, in which case it equals the LOC.DAT value for destination base. | + | <b>22 / 16</b>: Always 0 except for existing soldiers being transferred, in which case it equals the LOC.DAT value for destination base. |
− | <b>23</b> Stamina Improvement | + | <b>23 / 17</b>: Stamina Improvement |
− | <b>24</b> Reaction Improvement | + | <b>24 / 18</b>: Reaction Improvement |
− | <b>25</b> Firing Accuracy Improvement | + | <b>25 / 19</b>: Firing Accuracy Improvement |
− | <b>26</b> Initial Time Units | + | <b>26 / 1A</b>: Initial Time Units |
− | <b>27</b> Initial Health | + | <b>27 / 1B</b>: Initial Health |
− | <b>28</b> Initial Stamina | + | <b>28 / 1C</b>: Initial Stamina |
− | <b>29</b> Initial Throwing Accuracy | + | <b>29 / 1D</b>: Initial Throwing Accuracy |
− | <b>30</b> Armor | + | <b>30 / 1E</b>: Armor |
− | <b>31</b> Gender | + | <b>31 / 1F</b>: Gender |
− | <b>32</b> Race | + | <b>32 / 20</b>: Race |
− | <b>33</b> Initial Firing Accuracy | + | <b>33 / 21</b>: Initial Firing Accuracy |
− | <b>34</b> Initial Strength | + | <b>34 / 22</b>: Initial Strength |
− | <b>35-61</b> Name. 21 characters can be entered in-game, 27 via hex editing. Does not need to be null terminated. | + | <b>35-61 / 23-3D</b>: Name. 21 characters can be entered in-game, 27 via hex editing. Does not need to be null terminated. |
− | <b>62</b> Bravery Improvement | + | <b>62 / 3E</b>: Bravery Improvement |
− | <b>63</b> Throwing Accuracy Improvement | + | <b>63 / 3F</b>: Throwing Accuracy Improvement |
− | <b>64</b> Initial Bravery | + | <b>64 / 40</b>: Initial Bravery |
− | <b>65</b> Initial MC Skill | + | <b>65 / 41</b>: Initial MC Skill |
− | <b>66</b> Melee Accuracy Improvement | + | <b>66 / 42</b>: Melee Accuracy Improvement |
− | <b>67</b> MC Strength | + | <b>67 / 43</b>: MC Strength |
− | <b>68</b> Initial Melee Accuracy | + | <b>68 / 44</b>: Initial Melee Accuracy |
− | <b>69</b> Initial Reactions | + | <b>69 / 45</b>: Initial Reactions |
Revision as of 03:55, 11 November 2008
General Notes
SOLDIER.DAT has a fixed structure of 250 entries of 70 bytes each. (Only a maximum of 250 soldiers can be had). Thus it is always 17,500 bytes long (250x70).
Values are presented according to byte count (0 to 69) followed by the equivalent hex offset (00 to 45) in bold, followed by the normal (non-hacked) range of values in italics. Most fields can be hacked up to FF, but sometimes it can make for weirdness!
Unfortunately, this file is not conveniently ordered like Enemy Unknown's file so everything is just jumbled together.
Structure
0 / 00: MC Skill Improvement
1 / 01: Time Unit Improvement
2 / 02: In MC Implantation Flag
3 / 03: Promotion Flag
4 / 04: Health Improvement
5 / 05: Strength Improvement
6-7 / 06-07: Base Reference using values from LOC.DAT for where soldier is. First base is always 0 (first entry in LOC.DAT). Value of FF means the soldier is being transferred.
8-9 / 08-09: Craft Reference
10-11 / 0A-0B: Rank
12-13 / 0C-0D: Unknown
14-15 / 0E-0F: Kills
16-17 / 10-11: Wound Recovery
18-19 / 12-13: Missions
20-21 / 14-15: Soldier Value
22 / 16: Always 0 except for existing soldiers being transferred, in which case it equals the LOC.DAT value for destination base.
23 / 17: Stamina Improvement
24 / 18: Reaction Improvement
25 / 19: Firing Accuracy Improvement
26 / 1A: Initial Time Units
27 / 1B: Initial Health
28 / 1C: Initial Stamina
29 / 1D: Initial Throwing Accuracy
30 / 1E: Armor
31 / 1F: Gender
32 / 20: Race
33 / 21: Initial Firing Accuracy
34 / 22: Initial Strength
35-61 / 23-3D: Name. 21 characters can be entered in-game, 27 via hex editing. Does not need to be null terminated.
62 / 3E: Bravery Improvement
63 / 3F: Throwing Accuracy Improvement
64 / 40: Initial Bravery
65 / 41: Initial MC Skill
66 / 42: Melee Accuracy Improvement
67 / 43: MC Strength
68 / 44: Initial Melee Accuracy
69 / 45: Initial Reactions