Jump to content

SOLDIER.DAT (TFTD): Difference between revisions

From UFOpaedia
Structure: Updated name field.
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== General Notes ==
== General Notes ==
<b><div style="color:red">Page Currently Under Construction!</div></b>


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 43) 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!
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> Molecular Control Skill Improvement
<b>0 / 00</b>: How much the MC Skill changed in the last month


<b>1</b> Time Unit Improvement
<b>1 / 01</b>: Time Unit Improvement


<b>2</b> In Molecular Control Lab?
<b>2 / 02</b>: In MC Implantation Flag


<b>3</b> <span style="color:red">Unknown</span>
<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>: Craft soldier was assigned to before being wounded and spending time in the infirmary. <i>Half-implemented feature or not used.</i>


<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> Molecular Control Skill Improvement?
<b>65 / 41</b>: MC Skill


<b>66</b> <span style="color:red">Unknown</span>
<b>66 / 42</b>: Melee Accuracy Improvement


<b>67</b> Molecular Control 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
 
== See Also ==
 
[[SOLDIER.DAT]]
 
[[Saved Game Files]]
 
[[Category:Game Files (TFTD)]]
[[Category:TFTD]]

Latest revision as of 14:20, 23 July 2013

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: How much the MC Skill changed in the last month

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: Craft soldier was assigned to before being wounded and spending time in the infirmary. Half-implemented feature or not used.

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: MC Skill

66 / 42: Melee Accuracy Improvement

67 / 43: MC Strength

68 / 44: Initial Melee Accuracy

69 / 45: Initial Reactions

See Also

SOLDIER.DAT

Saved Game Files