Data Files Help - Printable Version +- Forums (https://www.theblitz.club/message_boards) +-- Forum: The Firing Line (https://www.theblitz.club/message_boards/forumdisplay.php?fid=1) +--- Forum: Tiller Operational Campaigns (https://www.theblitz.club/message_boards/forumdisplay.php?fid=11) +--- Thread: Data Files Help (/showthread.php?tid=74706) |
Data Files Help - zaxhutchinson - 06-07-2021 I'm looking for help understanding an aspect of the PzC data files. Between a .btl file, .scn file and the .oob file, how does the engine tell which formation/unit belongs to which side in a scenario? For example, when it's player 1's turn, where does it find the data to only show the player 1 units. I see where the current active side is stored in the .btl, but I don't see where this is correlated with the unit data. Unit data in the .btl appears to be stored in order by x,y coords. So each side's units are jumbled in the data. OOB files are stored in a homegrown nested format. Top-level formations have additional "nation" data. However, the OOB file can have multiple nations. For example, the N44 oob has a top-level formation for Germans, Americans and British. In other words, when the engine takes a unit from the .btl file and looks it up in the .oob, how does it know which side to allocate it to? I was expecting to see a 0 or 1 somewhere and I don't. That said, there are still quite a few lines in the .btl file I don't understand. It might be hard-coded in the engine. Thanks in advance and if this topic has been covered before, let me know. Didn't find it in a search. RE: Data Files Help - Warhorse - 06-07-2021 (06-07-2021, 02:51 AM)zaxhutchinson Wrote: I'm looking for help understanding an aspect of the PzC data files.It uses the unit ID number of the unit, such as 1 2 22 60655 16 16 9 0 0 64 0 in the Krasny Liman scn. This is a German ATG it's unit ID is 60655 which places it in the GERMAN B 60654 0 PanzerJäger.Abt.209 if you open the oob for any given scenario, then look for that number. RE: Data Files Help - zaxhutchinson - 06-07-2021 Thanks Warhorse. That connection I understand between .btl and .oob. I'm trying to connect nations to sides in a scenario. Let me rephrase the question: Let's say I'm playing as the Axis in a title/scenario with Italian, German and Soviet units. How does the engine determine I should see Italian and German units, but not Soviet units? Do the data files contain a list of nations that belong to the Axis (or a particular side)? Or is this hard-coded into the engine? Playing around with the oobeditor, my guess is that it's hard-coded (or at least hard-coded in the oobeditor). This is based on the fact that you can't, say, add a historically Allied nation to an Axis formation (and vice versa). Which means that each PzC title has its own list of nations for each side. RE: Data Files Help - LordDeadwood - 06-07-2021 (06-07-2021, 02:51 AM)zaxhutchinson Wrote: I'm looking for help understanding an aspect of the PzC data files.I've been doing some work with the OOB files lately. Your question about how does the engine know what nationality a unit belongs to is a little tricky. When reading the OOB file, the very first record has a nationality assigned to it. Every unit after that has the same nationality as its parent UNTIL a new nationality is read. At that point the new nationality becomes the "default", being applied to all subordinate units. When the OOB is finished with that level, the nationality defaults back to the last parent nationality. For example, an abbreviated OOB file from France '40: German AG 133324 0 Wehrmacht Begin C. 141434 HQ MOT 90 3 0 0 0 0 50 0 2 0 0 12 0 10 0 OKW, Hitler AG 49801 0 Heer Begin C. 154166 HQ MOT 90 4 0 0 0 0 50 0 2 0 0 12 0 10 0 OKH, von Brauchitsch AG 49802 0 Heeresgruppe B ... ... ... German-SS R 114257 0 Leibstandarte SS Adolf Hitler Begin C. 114276 HQ MOT 100 3 6 0 0 0 8 0 4 1 0 18 2 15 0 Stab der LSSAH, Dietrich B 114258 0 I./LSSAH ... ... ... German-SS R 114212 0 SS-Standarte Der Führer Begin C. 114185 HQ MOT 100 5 6 0 0 0 8 0 4 1 0 18 2 15 0 Stab der SS-St.F, Keppler B 114213 0 I./SS-St.F ... ... ... D 114078 0 X. AK. Korpstruppen Begin C. 146539 ARM RL 7 4 1 12 0 5 12 0 3 0 0 2 6 6 4097 ... C. 146540 ARM RL 7 4 1 12 0 5 12 0 3 0 0 2 6 6 4097 ... C. 146541 ARM RL 7 4 1 12 0 5 12 0 3 0 0 2 6 6 4097 ... Luftwaffe B 114085 0 II./Flak-Regiment 241 Begin All the records after the first are German until the German-SS is read. All of the records after the LSSAH record default to German-SS. The SS-St.F record has to be declared German-SS again because if it wasn't, it would default back to its parent which is German. When the OOB reaches the X. AK. Korpstruppen, they don't need a declaration because their parent is German. Then the flak regiment is declared Luftwaffe, etc. Exactly what the process is when the engine reads a .btl or .scn file, I don't know. I don't know if it reads the entire .oob file or if it just looks up the ID and figures out the parent, etc. But there's no way to determine a unit's parent by just reading a single record in the .oob file. Since the .blt or .scn file is only read once when starting a turn, I'm guessing it goes through the entire .oob file. Hope that helps. RE: Data Files Help - zaxhutchinson - 06-07-2021 Thanks for the reply! That's helpful and cleared up a potential bug in my code. Yeah, I'm assuming there's a hardcoded link between nationality and side which differs per PzC title. Although it really isn't nationality. It's more like army command structure (e.g. SS being separate from Wehrmacht) I would be surprised if the engine walks through the oob every time it needs a parent name. It's probably stored with the data during runtime. Seems a coding decision to avoid having to put in the parent for each record. RE: Data Files Help - LordDeadwood - 06-07-2021 (06-07-2021, 05:43 AM)zaxhutchinson Wrote: Thanks for the reply! That's helpful and cleared up a potential bug in my code. The term "nationality" in PzC is a little unusual. I do know there is a hardcoded "set" of nationalities in the PzC (and maybe Modern Campaigns?) series. That's why some games use strange nationality designations. Like in France '40, the handful of Luxembourg units are designated as West-German in the .oob and the Units folder. Non-fragile French troops are "South-Korean". Even though German-SS and Luftwaffe are not "nationalities" per se, I think they have to be designated that way to allow for having the different style counters. Same with the non-fragile morale French units; although there's no visible difference between the counters, fragile morale is an attribute assigned to a "nationality". So the term "nationality" encompasses a number of different characteristics. RE: Data Files Help - Warhorse - 06-07-2021 I see what you meant, some are axis, some allied, follows through with all JT titles pretty much. This from my SBWW2 Mod for Squad Battles Advance of the Reich, list of nations. Germany Enemy Italy Enemy Rumania Enemy Hungary Enemy Finland Enemy Russia Ally Poland Ally Norway Ally Britain Ally France Ally Netherlands Ally Belgium Ally FrenchVichy Enemy Greece Ally Yugoslavia Ally US Ally ItalyAllied Ally RumaniaAllied Ally FrenchFree Ally GermanySS Enemy RussianGuards Ally USAB Ally BritainAB Ally Canada Ally USMarine (Brazilian) Ally NVA(Axis Russian Guards) Enemy VC (Axis Russia) Enemy ARVN(Ethiopia) Ally Australia Ally SouthKorea (Allied Slovakia) Ally GermanAB Enemy Japanese Enemy NorthKorea (Axis Slovakia) Enemy Chinese Ally VietMinh (Axis Chinese) Enemy Mujahideen (Allied Bulgaria) Ally Nationalist (Blue Division) Enemy Republican (Indian Army) Ally Argentinean (Axis Bulgarian) Enemy Iraqi Coalition (New Zealand) Ally South African Ally Germany = 0 E Italy = 1 E Rumania = 2 E Hungary = 3 E Finland = 4 E Russia = 5 A Poland = 6 A Norway = 7 A Britain = 8 A France = 9 A Netherlands = 10 A Belgium = 11 A FrenchVichy = 12 E Greece = 13 A Yugoslavia = 14 A US = 15 A ItalyAllied = 16 A RumaniaAllied = 17 A FrenchFree = 18 A GermanySS = 19 E RussianGuards = 20 A USAB = 21 A BritainAB = 22 A Canada = 23 A USMarine = 24 A NVA = 25 E VC = 26 E ARVN = 27 A Australia = 28 A SouthKorea = 29 A GermanAB = 30 E Somalia = 31 E Afghan = 32 E Japanese = 33 E Turkish = 34 E AustroHungarian = 35 E NorthKorea = 36 E Chinese = 37 A VietMinh = 38 E Mujahideen = 39 A Nationalist = 40 E Republican = 41 A Iraqi = 42 E Cuban = 43 E Panamanian = 44 E Taliban = 45 E Argentinean = 46 E Iraqi Insurgents = 47 E Iraqi Coalition = 48 A (New Zealand) South African = 49 A Grenadian = 50 E (Thailand) RE: Data Files Help - zaxhutchinson - 06-07-2021 I compiled the following list by goofing around with the PzC oob editor shipped with Sealion. Not sure if it differs in other versions. The terms AXIS and ALLIES are arbitrary and just indicate the mutually exclusive sets of nationalities. Code: AXIS = [ |