Aces High Bulletin Board
Help and Support Forums => Help and Training => Topic started by: Dawger on June 15, 2010, 06:32:24 AM
-
Is there any info on manual edit of arena tables?
-
Is there any info on manual edit of arena tables?
Heya Dawger,
go to the Help Page:
http://www.hitechcreations.com/frindex.html
then scroll to the very bottom on the left Frame and you will see:
Configuring an Arena
Adjust Time
Arena Settings
Arena Tables
Country Reset
Destroy Objects
Field Settings
Load Terrain
Object Settings
Task Group Jump
Wind
this should get ya what you need........ these settings are only editable in offline mode, unless you are a SE CM or an AvsA CM for those arenas, or a Trainer for the TA...
hope this helps
-
Heya Dawger,
go to the Help Page:
http://www.hitechcreations.com/frindex.html
then scroll to the very bottom on the left Frame and you will see:
Configuring an Arena
Adjust Time
Arena Settings
Arena Tables
Country Reset
Destroy Objects
Field Settings
Load Terrain
Object Settings
Task Group Jump
Wind
this should get ya what you need........ these settings are only editable in offline mode, unless you are a SE CM or an AvsA CM for those arenas, or a Trainer for the TA...
hope this helps
Thanks for the help but that isn't exactly what I am looking for.
I don't know if you have looked at the files created by the arena tables save command but they are just text files. Back in that other game I used to directly edit those files instead of using the game interface because it was normally much quicker.
Specifically, I was looking at the .pln file and trying to figure out a few things.
there are 110 lines each starting with a number followed by a comma and then a long string of characters.
I have determined that the first number is the plane number and the characters following the comma is the status for each field for that plane number.
Knowing that information I can quickly copy and past strings that would significantly reduce the time it takes to configure every airfield but I don't have all the required information.
1. I don't know what plane number matches to which plane. I've figured out several through trial and error and could figure out all of them eventually but I was hoping there was a list
2. I haven't figured out what character accomplishes what for the field setting. I know an N is no one has the selected plane/vehicle at the field and Y means everyone does. I thought I had figured out the other 6 possible combinations but I can't get it to work correctly offline. I think it may be that offline doesn't work quite the same way as online when it comes to loading tables or there is a problem with the way I am editing the text file directly.
This is a pretty unusual request, I know, but I like playing with stuff like that and was just wondering if i could figure out how to directly edit the files instead of using the game interface.
-
OK, I understand what you need now.....
you might be best served by asking some of the older CM's like daddog or Easycor
I remember seeing something someone posted somewhere regarding a possible CM commands manual or similar... not sure if that would have all the info you are looking for.....
I take it this is for some "custom settings" you are wanting to do to save for upload for the AvsA arena, perhaps?
personally, all I have ever done was go in and save a copy of Ghosth's training Arena settings, incase it needed to be reloaded after a weekly Arena reset or new patch update , etc......
maybe some of the SE CM's or avsA CM's could be of more help, Dawger
best of luck
-
OK, I understand what you need now.....
you might be best served by asking some of the older CM's like daddog or Easycor
I remember seeing something someone posted somewhere regarding a possible CM commands manual or similar... not sure if that would have all the info you are looking for.....
I take it this is for some "custom settings" you are wanting to do to save for upload for the AvsA arena, perhaps?
personally, all I have ever done was go in and save a copy of Ghosth's training Arena settings, incase it needed to be reloaded after a weekly Arena reset or new patch update , etc......
maybe some of the SE CM's or avsA CM's could be of more help, Dawger
best of luck
It is more to satisfy curiosity than anything. While I have offered my services, the AvA staff doesn't seem like they are interested in any new members. I used to play around with the H2H arenas here and that was a blast but alas those are gone so I don't have that avenue to help me figure this out. But I think that is why they are gone...too many people figuring stuff out. ;)
This week I got involved in a setup idea in the AvA and from that I got involved in arena setup mainly just to get a screen shot to post. My curiosity went from there until I was playing around with the text files. Not much use for the ability to manually edit arena tables by non-CM's but I still would like to figure it out.
-
Thanks for the help but that isn't exactly what I am looking for.
I don't know if you have looked at the files created by the arena tables save command but they are just text files. Back in that other game I used to directly edit those files instead of using the game interface because it was normally much quicker.
Specifically, I was looking at the .pln file and trying to figure out a few things.
there are 110 lines each starting with a number followed by a comma and then a long string of characters.
I have determined that the first number is the plane number and the characters following the comma is the status for each field for that plane number.
Knowing that information I can quickly copy and past strings that would significantly reduce the time it takes to configure every airfield but I don't have all the required information.
1. I don't know what plane number matches to which plane. I've figured out several through trial and error and could figure out all of them eventually but I was hoping there was a list
2. I haven't figured out what character accomplishes what for the field setting. I know an N is no one has the selected plane/vehicle at the field and Y means everyone does. I thought I had figured out the other 6 possible combination but I can't get it to work correctly offline. I think it may be that offline doesn't work quite the same way as online when it comes to loading tables or there is a problem with the way I am editing the text file directly.
This is a pretty unusual request, I know, but I like playing with stuff like that and was just wondering if i could figure out how to directly edit the files instead of using the game interface.
1) Here is the list of aircraft represented by the zero based index of pln file.
I developed this list by manually disabling all aircraft for all fields in tables then turning on one plane at a time in the CM setup offline, saving the table, closing the game then reading the pln file...and YES...this took time to do...
Planes listed as UNKNOWN are deprecated aircraft that have evolved into the system as HTC developed the game over time...It is interesting to note that this list is chronological...in other words the planes in the list appear in the order they were modeled into the game going back many versions if not to the beginning of the game...
This list was done about 8 months ago and contains only 104 entries (0>103)...I haven't looked at a recent pln file. If as you say there are 110 entries, then 6 additional aircraft have been added to the game since this list was created.
To capture those aircraft simply do some manual checking and editing of the most recently added aircraft to determine their index in this new extended array...using the method described above.
2) Your second question is unclear.
The Y is for yes meaning the plane is available at that field. A N means it is not. There is a corresponding Y or N for every field for the terrain in which the present pln file is associated with. If you use notepad and do a simple find/replace on this file and set all instances of Y to N, all planes and vehicles at all fields will be disabled.
Every terrain also has .fld file. If you open the fld file you will see a zero based index of the fields for the terrain in which your editing. The first character is field ID....the second character is the original owner of the field, and the final character is the current owner of the field...
The country designators are also zero based {0,1,2} = {Bishop, Knight, Rook}. As you can see when they set country order to 3, 1, 2 it is actually being set to 2, 0, 1 (zero based)...
Here is a snippet of the fld file for northsea in its default configuration:
0,0,0
1,1,1
2,2,2
3,0,0
4,0,0
5,0,0
6,0,0
7,0,0
8,0,0
9,0,0
....
132,2,2
Here is the first line of the pln file for northsea:
0,YYYNYYNYNYYYYYYYYYYYYNYYYNYYYYYYYYNYNYYYYYYYNYYYYYYYYYNYYNYNYYYNNYYNYYYNYNNNYYNYYYYNNNYYYNNYYYYNYNYNNYYNYNYYYNYNYYNNYYNNNNNYNNNNNNYYY
This line is the P51D ...each of the Y and N characters correspond to a field of the fld file zero index 0>132 representing fields 1 through 133
Hope this helps...
Oneway
-
// AH Index, Ride Type, Ride Style, Has Formations, CV Enabled, IsAttack, Country
static readonly string[] master = new string[]{
"0;P-51D;Aircraft;Fighter;false;false;true;American",
"1;Bf 109K-4;Aircraft;Fighter;false;false;false;German",
"2;Spitfire Mk IX;Aircraft;Fighter;false;false;false;British",
"3;B-17G;Aircraft;Bomber;true;false;false;American",
"4;C-47A;Aircraft;Bomber;false;false;false;American",
"5;La-5FN;Aircraft;Fighter;false;false;true;Russian",
"6;UNKNOWN6;Undefined;Undefined;false;false;false;Undefined",
"7;N1K2-J;Aircraft;Fighter;false;false;true;Japanese",
"8;UNKNOWN8;Undefined;Undefined;false;false;false;Undefined",
"9;Fw 190A-8;Aircraft;Fighter;false;false;true;German",
"10;C.205;Aircraft;Fighter;false;false;false;Italian",
"11;F4U-1D;Aircraft;Fighter;false;true;true;American",
"12;B-26B;Aircraft;Bomber;true;false;true;American",
"13;Bf 109F-4;Aircraft;Fighter;false;false;false;German",
"14;Bf 109G-2;Aircraft;Fighter;false;false;true;German",
"15;Bf 109G-6;Aircraft;Fighter;false;false;true;German",
"16;F4U-1C;Aircraft;Fighter;false;true;true;American",
"17;Spitfire Mk V;Aircraft;Fighter;false;false;false;British",
"18;P-38L;Aircraft;Fighter;false;false;true;American",
"19;C.202;Aircraft;Fighter;false;false;false;Italian",
"20;M16 MGMC;Vehicle;AAA;false;false;false;American",
"21;Typhoon;Aircraft;Fighter;false;false;true;British",
"22;Panzer IV H;Vehicle;Tank;false;false;false;German",
"23;Fw 190A-5;Aircraft;Fighter;false;false;false;German",
"24;Yak-9U;Aircraft;Fighter;false;false;false;Russian",
"25;A6M5b;Aircraft;Fighter;false;true;true;Japanese",
"26;M3;Vehicle;Troop;false;false;false;American",
"27;P-47D-40;Aircraft;Fighter;false;false;true;American",
"28;P-47D-25;Aircraft;Fighter;false;false;true;American",
"29;Ostwind;Vehicle;AAA;false;false;false;German",
"30;Ju 88A-4;Aircraft;Bomber;true;false;true;German",
"31;Lancaster III;Aircraft;Bomber;true;false;false;British",
"32;UNKNOWN32;Undefined;Undefined;false;false;false;Undefined",
"33;F6F-5;Aircraft;Fighter;false;true;true;American",
"34;TBM-3;Aircraft;Bomber;false;true;true;American",
"35;PT Boat;Vehicle;Boat;false;true;false;American",
"36;Gun Ship or Field;Other;FieldGun;false;true;false;Universal",
"37;Seafire Mk IIc;Aircraft;Fighter;false;true;true;British",
"38;Tempest;Aircraft;Fighter;false;false;true;British",
"39;Ar 234;Aircraft;Bomber;true;false;false;German",
"40;Ta 152H-1;Aircraft;Fighter;false;false;false;German",
"41;Fw 190F-8;Aircraft;Fighter;false;false;true;German",
"42;La-7;Aircraft;Fighter;false;false;true;Russian",
"43;Yak-9T;Aircraft;Fighter;false;false;true;Russian",
"44;Fw 190D-9;Aircraft;Fighter;false;false;true;German",
"45;P-51B;Aircraft;Fighter;false;false;true;American",
"46;P-47D-11;Aircraft;Fighter;false;false;true;American",
"47;Ki-61-I-Tei;Aircraft;Fighter;false;false;true;Japanese",
"48;LVTA4;Vehicle;Tank;false;true;false;American",
"49;LVTA2;Vehicle;Troop;false;true;false;American",
"50;Il-2 Type 3;Aircraft;Bomber;false;false;true;Russian",
"51;Me 262A-1;Aircraft;Fighter;false;false;false;German",
"52;M8;Vehicle;Tank;false;false;false;American",
"53;F4U-1;Aircraft;Fighter;false;true;true;American",
"54;F4U-4;Aircraft;Fighter;false;true;true;American",
"55;Hurricane Mk IIC;Aircraft;Fighter;false;false;true;British",
"56;Hurricane Mk IID;Aircraft;Fighter;false;false;true;British",
"57;Mosquito Mk VI;Aircraft;Fighter;false;false;true;British",
"58;Ki-67;Aircraft;Bomber;true;false;true;Japanese",
"59;Bf 110C-4b;Aircraft;Fighter;false;false;true;German",
"60;Spitfire Mk I;Aircraft;Fighter;false;false;false;British",
"61;Bf 109E-4;Aircraft;Fighter;false;false;false;German",
"62;Hurricane Mk I;Aircraft;Fighter;false;false;false;British",
"63;Bf 110G-2;Aircraft;Fighter;false;false;true;German",
"64;Spitfire Mk XIV;Aircraft;Fighter;false;false;false;British",
"65;Boston III;Aircraft;Bomber;true;false;true;British",
"66;F4F-4;Aircraft;Fighter;false;true;true;American",
"67;FM2;Aircraft;Fighter;false;true;true;American",
"68;A-20G;Aircraft;Bomber;false;false;true;American",
"69;D3A1;Aircraft;Bomber;false;true;true;Japanese",
"70;SBD-5;Aircraft;Bomber;false;true;true;American",
"71;A6M2;Aircraft;Fighter;false;true;true;Japanese",
"72;P-40E;Aircraft;Fighter;false;false;true;American",
"73;P-40B;Aircraft;Fighter;false;false;false;American",
"74;Me 163B;Aircraft;Fighter;false;false;false;German",
"75;Tiger I;Vehicle;Tank;false;false;false;German",
"76;Ju 87D-3;Aircraft;Bomber;false;false;true;German",
"77;B5N2;Aircraft;Bomber;false;true;true;Japanese",
"78;Ki-84-Ia;Aircraft;Fighter;false;false;true;Japanese",
"79;B-24J;Aircraft;Bomber;true;false;false;American",
"80;T-34/76;Vehicle;Tank;false;false;false;Russian",
"81;P-38G;Aircraft;Fighter;false;false;true;American",
"82;P-38J;Aircraft;Fighter;false;false;true;American",
"83;P-47N;Aircraft;Fighter;false;false;true;American",
"84;Bf 109G-14;Aircraft;Fighter;false;false;true;German",
"85;Spitfire Mk VIII;Aircraft;Fighter;false;false;true;British",
"86;Spitfire Mk XVI;Aircraft;Fighter;false;false;true;British",
"87;Jeep;Vehicle;Troop;false;false;false;American",
"88;RV-8;Aircraft;Toy;false;false;false;American",
"89;F4U-1A;Aircraft;Fighter;false;true;true;American",
"90;Sherman VC Firefly;Vehicle;Tank;false;false;false;American",
"91;B-25C;Aircraft;Bomber;true;false;true;American",
"92;B-25H;Aircraft;Bomber;false;false;true;American",
"93;P-39D;Aircraft;Fighter;false;false;true;American",
"94;P-39Q;Aircraft;Fighter;false;false;true;American",
"95;Wirbelwind;Vehicle;AAA;false;false;false;German",
"96;SdKfz 251;Vehicle;Troop;false;false;false;German",
"97;T-34/85;Vehicle;Tank;false;false;false;Russian",
"98;UNKNOWN98;Undefined;Undefined;false;false;false;Undefined",
"99;UNKNOWN99;Undefined;Undefined;false;false;false;Undefined",
"100;I-16;Aircraft;Fighter;false;false;true;Russian",
"101;Brewster B-239;Aircraft;Fighter;false;false;false;American",
"102;P-47M;Aircraft;Fighter;false;false;false;American",
"103;UNKNOWN103;Undefined;Undefined;false;false;false;Undefined"
};
-
It should also be noted that .pln and .fld file defaults are hardwired into the terrain .res file. When a terrain is loaded into your system you will need to go in to arena setup and save the tables to create local text versions of the files.
It is recommended that for each terrain your interested in to save the default version of the pln and fld files before making changes. When you create the tables for the first time the program will create a sub-directory in your terrain folder for each terrain, as well as a fld and pln file in the main directory with file names exactly matching the res file name for the terrain.
Copy the default files into the sub directory for the terrain to retain copies.
This is helpful in case you corrupt the working copy and need to replace it, and also serves as template for comparative analysis as you make changes to your current table.
Of course you can always restore the defaults by loading them in the CM setup and re-saving the table...but saving them externally keeps from having to go into to game to restore them. If you wish to restore defaults via in game setup it is recommended you delete the pln and fld files in the root-directory that have files names exactly matching the terrain res.
It should also be noted that the game always reads the pln and fld files located in the terrain root. When you load a table it simply loads the table from the sub-directory and overwrites the root file that matches the res file name.
Oneway
-
Great info Oneway! Thanks. :aok
-Peabody-
-
I am running a test on mindan09 on the pln file to determine the present state of available aircraft within the game...
In other words I have set the Y to N for all and will update the zero based index plane array shortly...
Immediately apparent is slot 103 has been filled with something (TBD) as well as some other reshuffling of the deck...
It is interesting to note that the current end of the array has had several slots added, but no actual aircraft assigned...these are slots 104 to 110 (index 1)...
This leads one to conclude that additional aircraft are in the works yet not deployed by HTC...given the fact 103 (end of array as of last check) is now populated with an available aircraft...
Will post here after testing...
If your interested in a current breakout of plane ID to game in real time it will be posted here...and of course the list is transient and contingent upon HTC dev...
Out
Oneway
-
Great info Oneway! Thanks. :aok
-Peabody-
Peabody? Did you host any arenas in H2H? Like Guadalcanal?
-
The additional aircraft in the master list is correlated with WWI...
Still working it out but I believe slots 103 and up are biplanes...
Will Confirm...
Oneway
-
Peabody? Did you host any arenas in H2H? Like Guadalcanal?
Yes. Those were the days.....
That terrain is still available if you're interested. See my sig [below].
-Peabody-
-
Thanks
-
System Testing Complete..........
The list of aircraft/vehicles can be updated as follows definitively:
All deprecated slots up to zero index 103 are valid pursuant to original list posting...103 is still deprecated...
Slots 104 to 109 are as follows:
104 - Dr.I
105 - F.2B
106 - F.1 Camel
107 - D.VII
108 - M4A3(75)
109 - M4A3(76)W
These are the new vehicles/aircraft added since the original posted list was compiled...
:salute
Out
Oneway
These findings are consistent with prior results in as much that HTC does not use deprecated slots for new models...they simply add to the existing array and ignore open holes in the array...
-
Remember that you have evil con mission planes taking some of those slots in the past.
-
Remember that you have evil con mission planes taking some of those slots in the past.
What does that mean?
-
What does that mean?
The planes flown by the attendees of the AH con in the main arena:
The sharks with friggin lasers mounted on their back... Santa's Sled... the RV-8 with gatlings... and so on.
-
Exactly, each of them at one point had a slot in the plane list.
I don't know if any of those slots have been recycled, or what.
I do know that it isn't easy to try to bring one of those back up again.
Except for the Rv8.
-
1) Here is the list of aircraft represented by the zero based index of pln file.
I developed this list by manually disabling all aircraft for all fields in tables then turning on one plane at a time in the CM setup offline, saving the table, closing the game then reading the pln file...and YES...this took time to do...
Planes listed as UNKNOWN are deprecated aircraft that have evolved into the system as HTC developed the game over time...It is interesting to note that this list is chronological...in other words the planes in the list appear in the order they were modeled into the game going back many versions if not to the beginning of the game...
This list was done about 8 months ago and contains only 104 entries (0>103)...I haven't looked at a recent pln file. If as you say there are 110 entries, then 6 additional aircraft have been added to the game since this list was created.
To capture those aircraft simply do some manual checking and editing of the most recently added aircraft to determine their index in this new extended array...using the method described above.
2) Your second question is unclear.
The Y is for yes meaning the plane is available at that field. A N means it is not. There is a corresponding Y or N for every field for the terrain in which the present pln file is associated with. If you use notepad and do a simple find/replace on this file and set all instances of Y to N, all planes and vehicles at all fields will be disabled.
Every terrain also has .fld file. If you open the fld file you will see a zero based index of the fields for the terrain in which your editing. The first character is field ID....the second character is the original owner of the field, and the final character is the current owner of the field...
The country designators are also zero based {0,1,2} = {Bishop, Knight, Rook}. As you can see when they set country order to 3, 1, 2 it is actually being set to 2, 0, 1 (zero based)...
Here is a snippet of the fld file for northsea in its default configuration:
0,0,0
1,1,1
2,2,2
3,0,0
4,0,0
5,0,0
6,0,0
7,0,0
8,0,0
9,0,0
....
132,2,2
Here is the first line of the pln file for northsea:
0,YYYNYYNYNYYYYYYYYYYYYNYYYNYYYYYYYYNYNYYYYYYYNYYYYYYYYYNYYNYNYYYNNYYNYYYNYNNNYYNYYYYNNNYYYNNYYYYNYNYNNYYNYNYYYNYNYYNNYYNNNNNYNNNNNNYYY
This line is the P51D ...each of the Y and N characters correspond to a field of the fld file zero index 0>132 representing fields 1 through 133
Hope this helps...
Oneway
NOTE: Plane refers to any numbered plane or vehicle in the set
Here is what I understand:
the first number is the plane followed by a comma and then one character for each field in the terrain.
N is no chess piece has the plane at that field, Y is all chess pieces have the plane at that field. 0 (Zero) is Bishops have the plane at that field. 1 is Knights have the plane at that field. 2 is Rooks have the plane at that field.
There are some missing pieces. Three pieces to be exact. What are the numbers for the following combinations ?: Bishops and Knights have the plane at the field, Bishops and Rooks have the plane at that field and Knights and Rooks have the plane at the field.
-
NOTE: Plane refers to any numbered plane or vehicle in the set
Here is what I understand:
the first number is the plane followed by a comma and then one character for each field in the terrain.
N is no chess piece has the plane at that field, Y is all chess pieces have the plane at that field. 0 (Zero) is Bishops have the plane at that field. 1 is Knights have the plane at that field. 2 is Rooks have the plane at that field.
There are some missing pieces. Three pieces to be exact. What are the numbers for the following combinations ?: Bishops and Knights have the plane at the field, Bishops and Rooks have the plane at that field and Knights and Rooks have the plane at the field.
Not quite...what actually is happening from the program perspective is that their is a bitwise enumerated variable that holds a value, and the variable is more than likely defined thusly:
[FLAG ATTRIBUTE]
enum BitwiseFieldFlag
{
Undefined = 0, //0000
Bishop = 1, //0010
Knight = 2, //0100
Rook = 4 //1000
}
If you look at the following lines for the P51D for field A1 (mindan09.pln) it should become apparent rather rapidly what is going on..
When an aircraft is unrestricted by country, meaning it is either available for all, or disabled for all, the program omits the NUMERIC second character in the csv line and rightfully simply looks at Y or N for each corresponding field in the string. Of course the program reading this file is doing an "Is Numeric Function Call" check on that second character while parsing that text line...
However when an aircraft has a country restrictions, the second character is a numeric character...the program sees this and converts the text to an integer value and assigns the value to the bitwise variable. its a tad more complicated than that but suffice to say that explanation should do for now...
In the case of our example, the integer equivalent values that can be represented by our bitwise flag variable are : 0, 1, 2, 3, 4, 5, 6 and 7
Based on this it is simple to see that
0 = Undefined
1 = Only Bishop Selected
2 = Only Knight Selected
3 = Bishop + Knight Selected ( 1 + 2 )
4 = Only Rook Selected
5 = Bishop + Rook Selected ( 1 + 4 )
6 = Knight + Rook Selected ( 2 + 4 )
7 = Not Used > Falls back to Undefined
So when you set a field for Bishop and Knight, you are telling the program that the bitwise variable would go something like this:
BitWiseFieldFlag myFieldFlag = BitWiseFieldFlag.Bishop AND BitwiseFieldFlag.Knight
The program variable now equals both Bishop and Knight and the program prints a 3 as the second character of the line for that aircraft as a string representation of an integer value (actually its bitwise 0011 ...)
Oneway
EXAMPLE .PLN FILE OUT PUT ALL VARIABLE CHOICES FOR MINDAN09, P51, FIELD A1
P51D Field A1 (index 0) mindan09
Disabled for all countries:
0,NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Bishops (country 1, index 0):
0,1NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Knights (country 2, index 1):
0,2NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Rooks (country 3, index 2):
0,4NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Bishops & Knights:
0,3NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Knights & Rooks:
0,6NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Bishops and Rooks
0,5NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for All Countries:
0,YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
-
Exactly, each of them at one point had a slot in the plane list.
I don't know if any of those slots have been recycled, or what.
I do know that it isn't easy to try to bring one of those back up again.
Except for the Rv8.
The deprecated plane slots cannot be edited in game, but they can be turned on via the PLN file.
However nothing happens in the game...
The program has been written to ignore the return result or product when cycling the array through the loop...
My experience is the program doesn't break when you do it, but I strongly recommend against it...
The RV8 has its own dedicated slot like all of the other active aircraft....index 88...and there is a simple bool flag switch set via the command line .showrv. There does not appear to be a reciprocal command .hiderv...so once the flag has been set you are stuck with it unless you do a reset..
Incidentally...it would be my guess that instead of an array of aircraft, we simply have a rather large enumerated variable type. This might explain why the slots are abandoned.
I am sure the plane variables are referenced thousands of time in the code...by using an enumerated variable instead of an array index...the code won't break when changes are made to the definition of the enumerated type...
-
Not quite...what actually is happening from the program perspective is that their is a bitwise enumerated variable that holds a value, and the variable is more than likely defined thusly:
[FLAG ATTRIBUTE]
enum BitwiseFieldFlag
{
Undefined = 0, //0000
Bishop = 1, //0010
Knight = 2, //0100
Rook = 4 //1000
}
If you look at the following lines for the P51D for field A1 (mindan09.pln) it should become apparent rather rapidly what is going on..
When an aircraft is unrestricted by country, meaning it is either available for all, or disabled for all, the program omits the NUMERIC second character in the csv line and rightfully simply looks at Y or N for each corresponding field in the string. Of course the program reading this file is doing an "Is Numeric Function Call" check on that second character while parsing that text line...
However when an aircraft has a country restrictions, the second character is a numeric character...the program sees this and converts the text to an integer value and assigns the value to the bitwise variable. its a tad more complicated than that but suffice to say that explanation should do for now...
In the case of our example, the integer equivalent values that can be represented by our bitwise flag variable are : 0, 1, 2, 3, 4, 5, 6 and 7
Based on this it is simple to see that
0 = Undefined
1 = Only Bishop Selected
2 = Only Knight Selected
3 = Bishop + Knight Selected ( 1 + 2 )
4 = Only Rook Selected
5 = Bishop + Rook Selected ( 1 + 4 )
6 = Knight + Rook Selected ( 2 + 4 )
7 = Not Used > Falls back to Undefined
So when you set a field for Bishop and Knight, you are telling the program that the bitwise variable would go something like this:
BitWiseFieldFlag myFieldFlag = BitWiseFieldFlag.Bishop AND BitwiseFieldFlag.Knight
The program variable now equals both Bishop and Knight and the program prints a 3 as the second character of the line for that aircraft as a string representation of an integer value (actually its bitwise 0011 ...)
Oneway
EXAMPLE .PLN FILE OUT PUT ALL VARIABLE CHOICES FOR MINDAN09, P51, FIELD A1
P51D Field A1 (index 0) mindan09
Disabled for all countries:
0,NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Bishops (country 1, index 0):
0,1NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Knights (country 2, index 1):
0,2NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Rooks (country 3, index 2):
0,4NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Bishops & Knights:
0,3NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Knights & Rooks:
0,6NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for Bishops and Rooks
0,5NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
Enabled for All Countries:
0,YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
That makes a lot more sense now.
-
:aok
-
Whoops...
Your response a post up got me thinking...and unfortunately my suspicions were confirmed...
This following line of PLN file represents the enabling of the P51D at the first four fields for Bishop Only...
0,1111NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
What we have here is this:
If condition 0 or 7 are detected...the program simply prints N(=0) or Y(=7)...otherwise it prints the bitwise numeric value..as a string (1,2,3,4,5,6)...depending on which country flags are set for that field and that plane...
In other words...the program is forced to parse the file on a slot by slot basis for each field based on the content of the PLN file...EACH time it starts...
Not optimal by any stretch of the imagination...and as a result adds to the load up time of the game as it parses the file..
But for your understanding and the intended purpose of my response to your post...this is now complete and fully fleshes out the performance and results of the PLN file...
The numeric value is unique and exclusive to each field...as is the Y or N...each field pigeon hole could contain a 1, 2, 4, 3, 5 or 6....as well as the fallback Y and N,,,,that is the flag and that is the designator...for the full spectrum of fields...for each terrain...and for each setting....
Its not only possible but probable that a PLN file for line 1 (P51) might look like this:
0,1NN264NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
And in this case field 1 is enabled for Bish, field 2 and 3 are disabled for all, field 4 is enabled for Knight, field 5 is enabled for Knight and Rook, field 6 is enabled for Rook...all else disabled...
I mistakenly assumed they set the second character in the line as a flag...not the case at all...
Sorry for any confusion but the above premise on the bitwise flags is valid and apples
Out
:salute
Oneway
Edit: thanks for the question originally posted...I learned a bit more about how the game works and functions.... :aok