Aces High Bulletin Board

Help and Support Forums => Help and Training => Topic started by: Dawger on June 15, 2010, 06:32:24 AM

Title: Manual edit of arena tables for offline use
Post by: Dawger on June 15, 2010, 06:32:24 AM
Is there any info on manual edit of arena tables?
Title: Re: Manual edit of arena tables for offline use
Post by: TequilaChaser on June 15, 2010, 09:03:07 AM
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
Title: Re: Manual edit of arena tables for offline use
Post by: Dawger on June 15, 2010, 12:40:16 PM
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.
Title: Re: Manual edit of arena tables for offline use
Post by: TequilaChaser on June 15, 2010, 12:50:44 PM
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
Title: Re: Manual edit of arena tables for offline use
Post by: Dawger on June 15, 2010, 01:26:56 PM
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.
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 26, 2010, 10:14:49 AM
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

Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 26, 2010, 10:15:36 AM
 // 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"       
        };
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 26, 2010, 10:58:00 AM
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
Title: Re: Manual edit of arena tables for offline use
Post by: bbosen on June 26, 2010, 02:56:43 PM
Great info Oneway!  Thanks.     :aok


-Peabody-
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 26, 2010, 04:22:05 PM
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
Title: Re: Manual edit of arena tables for offline use
Post by: crazierthanu on June 26, 2010, 04:36:51 PM
Great info Oneway!  Thanks.     :aok


-Peabody-
Peabody? Did you host any arenas in H2H? Like Guadalcanal?
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 26, 2010, 04:57:09 PM
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
Title: Re: Manual edit of arena tables for offline use
Post by: bbosen on June 26, 2010, 05:15:31 PM
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-
Title: Re: Manual edit of arena tables for offline use
Post by: Dawger on June 26, 2010, 05:21:13 PM
Thanks
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 26, 2010, 05:21:20 PM
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...
Title: Re: Manual edit of arena tables for offline use
Post by: Ghosth on June 26, 2010, 09:22:10 PM
Remember that you have evil con mission planes taking some of those slots in the past.



Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 27, 2010, 06:04:58 PM
Remember that you have evil con mission planes taking some of those slots in the past.





What does that mean?
Title: Re: Manual edit of arena tables for offline use
Post by: Lusche on June 27, 2010, 06:05:57 PM
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.
Title: Re: Manual edit of arena tables for offline use
Post by: Ghosth on June 27, 2010, 06:47:02 PM
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.
Title: Re: Manual edit of arena tables for offline use
Post by: Dawger on June 28, 2010, 10:01:13 AM
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.

Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 28, 2010, 05:18:42 PM
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
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 28, 2010, 05:27:08 PM
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...
Title: Re: Manual edit of arena tables for offline use
Post by: Dawger on June 28, 2010, 08:30:20 PM
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.
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 28, 2010, 08:33:18 PM
 :aok
Title: Re: Manual edit of arena tables for offline use
Post by: oneway on June 28, 2010, 08:57:14 PM
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