This file contains all of the forces and commanders present at the battle as well as all of the basic information for the units and the AI scripting. It is a tab-delimited text file to be opened in a spreadsheet program (see above). The columns of the spreadsheet, identified by both their label in the top row of each file and their column letter(s) in the spreadsheet, are:
1. PosID (A): Every unit or echelon has a sequential i.d. number, which is used in the Positions.txt file and by the code itself.
2. child (B): Shows the hierarchy of containment: the largest “container” for each side, normally an army, will always be ‘0’ and then any other container (e.g., a corps) or unit attached to it will be ‘1’. The highest number one will ever use will be ‘4’, for a regiment or other unit inside a brigade (3), division (2), corps (1) and army (0). (Note: It is possible for one side to have co-equal and independent 0-level containers. This was the case for the CSA at Wilson’s Creek, where neither McCulloch commanded the Western Army but not Price’s Missouri State Guard, and vice versa.)
3. playerID (C): Use ‘1’ for USA and ‘2’ for CSA.
4. ContainerUnitName (D): This is where the full name of every “container” (echelon group) and unit goes. Be sure to use <underscore> instead of <space>.
5. Truncated Name (E): Currently inactive. Will provide the option of using an alternative, abbreviated name (e.g., “1st Vt.” for “1st Vermont Infantry.” If not using a cell just leave an ‘x’ there and the code will default to the name in Column D.
6. ContainerUnitType (F): Every “container” and unit must be identified by type for the code to handle it properly, and this is done by means of assigning it one of the following standard U.S. Army abbreviations: AM, CORPS, DIV, BDE, CAVBDE, ARTBDE, REG, INFCOY, CAV, CAVCOY, HRSART, and ARTBAT.
7. IsHQ (G): For “containers” to be commanded their commander must be assigned a small “staff and escort” cavalry unit. To distinguish these from regular cavalry regiments a ‘1’ is entered in this column. (Note that the commanders themselves are named in the army/corps/division/brigade’s row, not the Headquarters unit’s row. As can be seen by studying each HQ unit’s row, they function like other units, needing to be assigned arrival times, strength, etc., and also having a “child” level in Column B that indicates attachment to their “container.” They do not need to have AI scripting, however, as the code has special routines that will ensure that HQ units go where their subordinate units go.)
8. BrigadeCommand (H): This column, which should only be used for an infantry or cavalry brigade’s or artillery battalions rows, is used to assign each brigade’s Brigade Order at the beginning of a scenario. These are the B.O.’s and the number to use: No brigade command (-1), March (0), Rally (1), Hold (2), Fighting withdrawal (3), Advance (4), Attack (5), Mass charge (6).
9. Red / Green / Blue (I, J, K): These three columns assign the color-coding used to indicate the hierarchies, both in the order of battle that is found on the left side of the screen and the circles and squares beneath the individual units. Colors, which are indicated using the basic red-green-blue (RGB) system with values of 0-255, should only be assigned to armies, corps, divisions and brigades – not units.
10. Officer1number (L): For the unique number of the general or officer commanding the “container” or unit. (See ScenarioCommanders.txt section.)
11. Officer1name / Officer1FirstName (M, N): Two columns for that officer’s name, with the first being last-first-middle and the second for presenting the name more properly. It is this second column that shows up on the screen. Be sure to use <underscore> instead of <space>.
12. Officer1rank (O): Assigns that officer his rank: GEN, MG, BG, COL, LTC, MAJ, CAPT, LT.
13. Officer2number / Officer2name / Officer2FirstName / Officer2rank (P, Q, R, S): Same as Columns L-O, but for the subordinate officer (normally of a regiment or other unit, but some “containers” have a secondary officer listed). These subordinates do not have a role in the game unless Officer1 is killed or severely wounded (or promoted to brigade command), in which case they take over, or unless their unit is split, in which case the second-in-command takes over.
14. Officer3number / Officer3name / Officer3FirstName / Officer3rank (T, U, V, W): Same as Columns P-S, other than that this third officer plays no role whatsoever unless the first or second is incapacitated (or promoted out of the unit). Note that if a unit is not to have a second or third officer these columns should each have ‘0’; if, however, there should be an officer but his name is unknown then use ‘0’ for the number and name columns, but assign him a rank.
15. CompaniesNumber (X): For infantry and cavalry regiments indicates the number of companies present, while for infantry and cavalry companies as well as artillery batteries indicates that the unit is company-sized. For infantry and cavalry regiments this figure also indicates the number of abstracted junior officers (normally captains, one per company).
16. MaxCaptains (Y): This column is used for mid-battle scenarios to let the code know that it should calculate how many junior officers remain to an infantry or cavalry regiment that has seen action: by replacing the ‘0’ with ‘1’ such a calculation will be made, using the ratio of current strength to starting strength to estimate how many officers have been killed or incapacitated. (Since infantry and cavalry companies as well as artillery batteries are already at company size their junior officers, normally two lieutenants serving under a captain, are represented among the unit’s three officers, and thus this function does not apply to such small units.)
17. StrengthCurrent (Z): Indicates a unit’s strength at the start of the scenario. (This figure should be the same as Column AA or AB if a scenario is set at the beginning of the battle.)
18. StrengthStarting (AA): Indicates a unit’s strength at the start of the battle.
19. StrengthStarting(Estimated) (AB): When accurate numbers for units’ strength are unavailable – a very common phenomenon – an estimated strength can be provided using this column. (One should choose between assigning unit strength via Column AA or AB, rather than using both.)
20. HistoricalCasualties (AC): This column is intended only for scenario design and is ignored by the code: when creating mid-battle scenarios, which requires estimating how many casualties a unit has already suffered, it is much easier to have its total casualties right there beside Columns Z-AB.
21. Encamped (AD): If a unit should begin a scenario in “encamped” mode a ‘1’ should be used, while if set to “guard” mode a ‘2’ is used.
22. UnencampMinute (AE): Uses the number of minutes past midnight (e.g. 420 = 7:00 a.m.) to set the time for when a unit in “encamped” or “guard” mode is activated.
23. ArrivalDay / ArrivalMonth / ArrivalYear (AF, AG, AH): Sets the date of a unit’s appearance in a scenario – superfluous information in battles fought on a single day, but essential for multi-day battles.
24. ArrivalHour / Arrival Minute (AI, AJ): Uses military time (e.g., 13 = 1:00 p.m.) to set the hour, and 0/20/40 to set the minute.
25. Quality (AK): Assigns a unit’s quality at the start of a battle.
26. Morale (AL): Assigns a unit’s current morale level (which at the start of a battle will be equal to its quality, whereas for mid-battle scenarios it will normally be lower for a unit that has been engaged in fighting). Note that it is possible to assign a morale level higher than a unit’s quality, if one wishes to have a unit begin a scenario especially eager to fight and confident of success.
27. Fresh (AM): If a unit should start a scenario “fresh” replace the ‘0’ with a ‘1’.
28. FatigueLevel (AN): If a unit should start a scenario “fatigued” replace the ‘0’ with a ‘1’.
29. FatigueProne (AO): This value is currently unused.
30. Attribute0 / Attribute1 (AP, AQ): Used to assign up to two “unit attributes” to a unit, indicating that some of its men have a particular specialty or that it has superior equipment, horses, etc. For the list of available attributes, see Sect. 20.8 of the manual. To assign an attribute, simply include its i.d. number: Sharpshooters (3), Pioneers (8), Baggage Train (9), Scouts (12), Military Band (15), Zouaves (16), Quality Horses (17). Note that, as specified in the manual, some of these attributes are currently inactive.
31. Special0 / Special1 / Special2 (AR, AS, AT): Used to assign up to three “special abilities” to a unit, indicating that its men are especially skilled in a particular area of combat or movement. For the list of available abilities and how they function, see Sect. 20.7 of the manual. While the majority of abilities can be employed for any combat unit, some are unavailable to particular unit types. To assign an attribute, simply include its i.d. number: Disciplined (1), Brave (2; no art.), Wild (3; no art.), Fast (4), Hardy (5), Oblique Fire (6), Diggers (7; no cav.), Night Owls (8), Independent (9; no cav./art.), Shooters (10), Flankers (11), Swampwise (12), Chargers (13; no art.), Steady (14), Blasted (15; no art.), Obedient (16), Foragers (17), Polar Bears (18), Woodsmen (19), Sustained Volley (20), Dreaded (21), Heroes (22), Resilient (23), Organized (24), Bulldogs (25), Thrifty (26; no cav.), Stalwart (27; no art.), Rangers (28; no cav./art.), Cautious (29), Aggressive (30), Tenacious (31; no cav./art.), Hill Defenders (32; no cav./art.), Uphill Chargers (33; no cav./art.), Efficient Fire (34; no inf./cav.), Anti-Battery (35; no inf./cav.), Abatis Fighters (36; no cav./art.), Bombarders (37; no inf./cav.), Streetfighters (38; no art.), Skilled Skirmishers (39; no cav./art.), Marksmen (40; no cav./art.), Mounted Infantry (41; no inf./art.).
32. Key4Special0 / Key4Special1 / Key4Special2 (AU, AV, AW): These three columns are ignored by the code, and are there so that one can note which special abilities have been assigned.
33. Supply (AX): This column assigns a unit’s starting supply, which in the case of infantry and cavalry corresponds to the number of rounds each man would carry into combat (normally around sixty), while for artillery it is more abstracted. This column is also used to assign each supply unit the supply from which it resupplies the combat units.
34. Weapon1 / Weapon2 / NumberOfGuns1 / NumberOfGuns2 (AY, AZ, BA, BB): The Guns.txt file in the DATA folder provides a database of fifty-eight types of firearms and artillery, in addition to a mixture of inferior types designated “Improvised,” and up to two of these types may be assigned to each unit via these four columns. The first two columns assign the gun type based on its i.d. number, which is from 0-58 and can be found in the first column of Guns.txt. The second two columns are used for infantry and cavalry units to indicate what percentage of their men carry one gun or the other, while for artillery they indicate the exact number of guns a battery has: thus to assign an infantry unit 70% Springfields (#4) and 30% Enfields (#6) the four columns would have 4-6-70-30, while an artillery battery with three 6-pounders (15) and two 12-pounders (16) would have 15-16-3-2. (See below on modding this file.)
35. FlagNumber (BC): If non-zero, specifies the flag displayed for the unit given by the flag’s left-to-right, top-to-bottom index in the file Gfx/Flags/ACW_HWFlags.pcx.
36. UniformType (BD): Currently unused. Presently units’ uniform graphics is determined by their quality and perhaps by unit attributes.
37. AlwaysInCommand (BE): At the heart of the command & control system in “Brother against Brother” is that units must be in command range of their brigadier’s headquarters, and he must in turn be close enough to his division in order to receive commands, etc. Sometimes, however, it would be unrealistic for a unit/brigade/division/corps to be penalized for being out-of-command – for example, at Manassas the Confederate brigadiers guarding fords knew their assignment and did not need to have a division commander close by – and in such cases they can be rendered always in-command by putting a ‘1’ in this column. (Note that for commanders of brigades, divisions and corps the ‘1’ goes in the commander’s row, not that of the HQ unit to which he is attached.)
38. StartsReadyToFight (BF): Units with a ‘1’ in this column always begin a scenario with the status of “ready to fight” (see Sect. 5.3 of the manual).
39. CommandStaff / LogisticStaff (BG, BH): Currently unused.
40. AI_Doctrine / AI_X / AI_Y / AI_Radius / AI_MarchX / AI_MarchY (BI, BJ, BK, BL, BM, BN): Sets the initial A.I. scripting for a unit at the start of a scenario (see below).
41. AI_NewMinutes / AI_NewDoctrine / AI_NewX / AI_NewY / AI_NewRadius (BO, BP, BQ, BR, BS): A second set of A.I. Scripts.
42. AI_NewerMinutes / AI_NewerDoctrine / AI_NewerX / AI_NewerY / AI_NewerRadius (BT, BU, BV, BW, BX): A third set of A.I. Scripts.
43. Scripting_Notes (BY): A column that is ignored by the code, and solely intended for note-taking as one scripts a scenario. (Be sure to use <underscore> rather than <space> characters between all words.)
44. Bio (BZ): Used to provide the unit/brigade/division/corps/army histories that have already been composed for some, and will be added for others over time. There is a limit of 3900 characters.
45. Notes_to_Player (CA): A column that is ignored by the code, in which WCS (or a modder) may provide interesting information to players, or explain particular decisions. Only accessible to those who open and read the file itself.
Important: At the very end be sure to include “eof” (end of file) in the last column for the scenario to work properly.