PDA

View Full Version : Will be released this weekend (ignore other post):



XyZspineZyX
09-19-2003, 10:17 PM
S! All!

This is cut/pasted from the 'About' section of the RAF74 IL2/FB Dynamic Campaign System. If you want an easier to read (formatted) html version, let me know. This is NOT a public release, but if you have lots of mission building experience and/or database experience (and a copy of Microsoft Access) let me know - we ARE looking for beta testers.

There are instructions following the introduction - if you think you might be a good candidate for beta testing, I'd encourage you to read those.

Anyway, here it is:

RAF74 IL2/FB Dynamic Campaign System 5.5
By RAF74_Wall-dog (AKA Wally Garneau)
Special Thanks to RAF74_Taipan, IV/JG7_4Shades, Claudius Henrichs, and BlitzPig_Mung,


Introduction

RAF74 IL2/FB Dynamic Campaign System
Copyright (C) 2003 Wallace L. "RAF74_Wall-dog" Garneau

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Founcation; either version 2 of the License, or (at your option) and later version.

This program is distributed in teh hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 12111-1307 USA.

A full version of the GNU General Public License can calso be found by visiting http://www.gnu.org/licenses/gpl.txt.

The RAF74 IL2/FB Dynamic Campaign System (DCS) is being created for the upcoming Scorched Earth dynamic online war. Scorched Earth will be the first truly dynamic war either online or off for the IL2 family of flight simulators. Other "dynamic" campaigns mock true dynamic environments by making parts of the environment dynamic while other parts are random. The user may "feel" the dynamic elements of these campaign systems because they can see things they do having some kind of impact and because no two campaigns are alike, but playing a campaign that is only dynamic in a very superficial sense will never have the same depth or flavor as a true dynamic campaign. Everything about Scorched Earth will be dynamic - and players will be in control of every element. Even the ground war in Scorched Earth will be dynamic.

The most important part of a dynamic campaign is the database. The DCS is written on top of an Access database. Microsoft Access was chosen because it is easy to use even for novice database developers, because many people have it, because it integrates well with other Microsoft products (like Excel) making it easy for the end-user to manipulate data even if they are not comfortable in Access, and because Access tables can hold as much as one gigabyte of data (which is a LOT of data!). Other databases can hold even more, and would perform better in larger environments. The database was made with this in mind, and could easily be ported to other databases. Contact RAF74_Wall-dog for details on porting the DCS to other databases.

Without a database, it would be impossible to accurately keep track of all the different elements of a dynamic war. There were tens of millions of men involved in the Eastern Front of WWII, and thousands upon thousands of vehicles. Consider the complexity involved in trying to keep track of all of it all. IL2 and FB do not even attempt to keep track of vehicle locations from mission to mission, or quantities of vehicles available for reinforcements, or resupply routes, or any of the other facets of running a war. Even with small numbers of vehicles, trying to keep track of where everything is located from mission to mission when there is nothing in the log files to tell you where vehicles were when a mission ended would be a nightmare - not to mention the difficulties in reading the logs and trying to make some kind of sensible use of them. There are a number of viable utilities available that enable you to look at the logs and even to slice the data into report-like formats. But the data in these cases is still in the logs. If you purge your log you lose the data - and worse than that you can not do anything with the data except look at it and maybe copy it into a publishable (static) format.

The RAF74 IL2/FB Dynamic Campaign System opens the door to all kinds of possibilities. The DCS does not open the data into a window and let you view it, but rather reads each line from your log, discerns what that line says, and writes the line to a database. Every line is read, and the mission file(s) that go with the log are also read - allowing reports to show not only who destroyed who, but also what kinds of vehicles were destroyed. Every line from the log and every line from the mission file(s) are parsed - the reporting possibilities alone are endless. Some reports are pre-written and included with the program. Users will find it easy to write new reports as well. We would invite those who write reports to share them with us so that we may include them in future versions!

The DCS also uses Crystal Reports to make reporting possible for users who do NOT have Access. These reports are included in such a way that new Crystal Reports can be added without the user needing to download the entire program again - you can just download the new reports and copy them into your reports folder. Crystal Reports is a very powerful reporting engine, including drill-down functionality and a host of other advanced features. Only a handful of Crystal Reports are included with the DCS, but we do take requests... If you have an idea for a new report, let us know and we will build it.

Users have been using the parsing and reporting portions of the DCS for over two years already. It works, and it is very powerful.

But parsing and reporting is only the beginning! The "real" reason we wanted to store that data was not to report off of it (though we certainly wanted to be able to do that - imagine the website you can build with content that changes automatically as the database is updated - things like top scores, top aces, most ground kills, top hit rates, most missions played, etc. etc. etc. all being updated AUTOMATICALLY as the missions are played -- Scorched Earth will have all of this). The real reason was so that we could use the data in the database to build a new mission based on everything that happened in the last mission. If a tank drove 15 Kilometers we want to see it 15 kilometers further up the road in the next mission - and we want it to still be enroute to it's next target. If a bridge is destroyed we want it to remain destroyed until something happens that would fix it (we are actually able to go right down to the SPAN level!). We want building damage carried forward. We want destroyed vehicles carried forward. We want supply, resupply, and refitting to be included! Consequently the DCS includes a mission generator that creates a mission based on the results from the last mission. The ability to create missions is available now - though this functionality is still under development and improvements will continue to be made. Really, the mission generator as-is is ready for 'mini-wars' of four or five missions in length. You could use it for longer wars, but it would be a bit of work...

I could talk about all of the things the DCS will be capable of doing for days, but that's not the point of this introduction. What is the point then? To let you, the community of IL2 and Forgotten Battles, know that rather than create something proprietary for our war, we decided to create a program that anyone could use and then release it free of charge under a GPL open source license! So if you want to have your own war and want to be able to do all of the things we are doing, then you are in luck. You won't have to develop anything at all. Of course, the source code is open source - so if you want to develop within this toolset, you are free to do so provided you do so as per the terms of the GPL.

Contact Information
E-Mail: RAF74_Wall-dog
Website: Scorched Earth

Instructions Follow (only worth reading if you are thinking about being a beta tester):

Regular Use Instructions
Before You Use:
The "Host" name is the name of the person using the parser. In order to integrate with other servers (in a multiple server environment) this name must be unique. It is required. You can not do anything until you enter your name in this box. Once you enter your name it will be there - and stay the same - each time the program is opened. To change it, use the "Change Host" option of the "File" menu.
The "Theatre" name is used to differentiate between different parts of the same war in a multiple-server environment, or to differentiate between different wars in a single-server environment. This is required to parse a mission, and will be required to build new missions. Note that in order to build a mission you have to use the same theatre name you used for the mission you parsed. If for example you parse a mission using the theatre name 'My Theatre,' you will need to use 'My Theatre' as the theatre name for subsequent missions created with the mission builder.
The "Select Game" box is used to determine how the DCS should function. Select "IL2 Sturmovik" if you are using the parser with IL2 Sturmovik. Select "Forgotten Battles" if you are using the parser with Forgotten Battles.
The log parser is pretty simple to use, and instructions are generated on the screen as the parser is being used. Simply run a coop mission or single player mission in IL2 Sturmovik or Forgotten Battles (note that scoring data is only available in online missions though everything else is available in single player missions - 'quick' missions however do NOT parse). You MUST BE THE HOST of online missions to parse the data. The reason for this is simple - the data the parser needs is in the coop log file (which is only generated by the host) as well as the mission files themselves (only available on the host). It IS possible to parse the hosts logs if you have the host send you the mission files and the log file. You will need to make sure the log file uses the same name you have configured in your conf.ini file. For IL2 ONLY you can use the mission file from your cache to parse missions you did not host (if you can find it).
The first time you run the parser you will have to specify your "host name." It is necessary to have the host name if multiple servers are going to be used in a war, so this is mandatory. It is also important that the host name not change during a war! You only need to enter a host name once - the parser will remember it. If you need to change it, you can click the "Change Host" button. You also need to enter a "Theatre." This is also necessary for the upcoming mission generator, though the value is NOT stored from mission to mission. The purpose of the "Theatre" box is to allow war developers to specify what part of a front a given mission covers. This again is necessary to allow multiple servers to take place in the same war - in this case they can both run missions concurrently by covering different parts of the same front (each given a unique 'theatre' name).
Parsing Missions:
1. Make sure you have a Host Name and Theatre Name as described above. Select the game you are using - IL2, or Forgotten Battles.
2. Once you have a host name and theatre name entered and have a log file created you can parse your coop log! Simply press the 'Import Log' button. The mission will parse. The status bar will show you your progress.
3. After the mission is parsed, you will get an informational window telling you that the parser is finished and that the coop log file has been renamed to coop.old. If you wish to archive the log files you will have to do it manually - the coop.old file is NOT an archive - all it does is allow you to do something with the log file other than have it erased after parsing. There really is no reason to keep the coop log file after parsing because all of the data in it will be in the database though.
4. The reports can be accessed through MS Access or by clicking the "Reports" button. Note that in order to see the Reports in the "Reports" button, ODBC must be setup. Detailed instructions are available here.

Building Missions:
Bear with us a bit on this part of the toolset - it is still under development and portions of it are hard to use. Version Beta 6.0 will include a nice GUI interface for entering waypoints. Version 5.5 is a 'pre-public' release and does NOT include a GUI interface for entering waypoints. Building missions is easy - once you have parsed a mission, you use the same 'Theatre Name' and click the 'Build Mission' button. That's it - within a minute you will have a new mission.
The waypoints are the hard part.
For ground objects, waypoints are carried forward from previous missions unless they have been reached. Once a ground object runs out of waypoints, it will pull waypoints from the 'NewWaypoints' table of the RAF74WarData.mdb database. Following is an explanation of how that table works:
Mission_Nbr: The number of the mission. The term 'Mission' as used here describes a logical grouping of waypoints designed to perform a particular task. For aircraft that's an easy concept - they fly an entire mission in each coop. For ground objects the concept of a 'Mission' is a bit more complex. You may define a town as a mission objective for a tank and it may take ten coops for that tank to get to that town. There is a tendency to think of a coop as being a 'mission.' That is NOT the case in the DCS!
Group: Think of a group as being the lowest level unit. A tank column or a flight of aircraft are a 'group.' Missions are made for groups.
Way_Nbr: Waypoint Number. This is a numeric field that determines the order within which waypoints for a particular mission are achieved. These should be sequential. Waypoint '1' will be reached first. Waypoint '2' will be reached second. Etc.
Way_Type: The type of waypoint. This could be 'TAKEOFF,' 'LANDING,' NORMFLY,' or 'GATTACK.' For escort missions, just use NORMFLY.
Way_Long: The X-Axis coordinate of the waypoint.
Way_Latt: The Y-Axis coordinate of the waypoint.
Way_Alt: The Altitude of the waypoint - only used for air units.
Way_Speed: The speed of the waypoint - only used for air units.
Terrain: Use the number '20'.
Orientation: The direction (in degrees with 360 Being north) the object will be pointing - used for Static objects.
Reached: Ignore. This is used by the program to check-off waypoints once they are met.
Target: The unit a group is targeting to attack or escort.
Target_Way (previously Target_Qty): The waypoint the escorted flight will be on (when applicable). When in doubt, use '0'.
See examples below:
[r0110_Way]
TAKEOFF 116406.11 65648.73 0 0
NORMFLY 132867.79 116663.79 2000.0 300.0 r0102 1
NORMFLY 131736.34 128294.94 2000.0 300.0 r0102 2
NORMFLY 100210.90 127296.67 2000.0 300.0 r0102 3
LANDING 127543.32 112307.48 0 0
In this series of waypoints, group 'r0110' will takeoff from location 116406.11 X 65648.73, meet up with r0102, and escort them for three waypoints prior to landing. r0102 will be at their first waypoint (takeoff is waypoint number zero) when the units meet.
[g0100_Way]
NORMFLY 142292.14 139964.16 2000.00 295.00 III_JG100 0
NORMFLY 117255.61 66208.15 2000.00 300.00 III_JG100 1
NORMFLY 111329.56 73502.37 2000.00 300.00
NORMFLY 120727.04 73544.14 2000.00 300.00
NORMFLY 118596.94 64919.35 2000.00 300.00
NORMFLY 108990.63 60325.03 2000.00 300.00
NORMFLY 110515.11 72896.76 2000.00 300.00
LANDING 116405.92 65650.11 0 0
In this series of waypoints, g0100 will takeoff with III_JG100, fly to their next waypoint together, and then split up.
[g0103_Way]
NORMFLY 132067.84 105587.20 2000.00 300.00
NORMFLY 136208.37 102047.90 2000.00 300.00
NORMFLY 130905.18 82589.11 2000.00 300.00
GATTACK 87497.81 61517.69 2000.00 300.00 249_Static 0
LANDING 116405.92 65650.11 0 0
In this series of waypoints, g0103 will look for and attack the static group '249_Static'.

Finally - a ground object ('Chief') mission:
[14_Chief_Road]
133700.00 146500.00 20.00 0 58 5.555555820465088
133900.00 146300.00 20.00
134100.00 146300.00 20.00
134300.00 146500.00 20.00
134700.00 146500.00 20.00
134900.00 146300.00 -155.00
135100.00 146100.00 -155.00
135300.00 145900.00 20.00
135700.00 145500.00 20.00
135700.00 145300.00 20.00
135300.00 144900.00 20.00
135500.00 144700.00 20.00
136100.00 144700.00 20.00
136900.00 143900.00 20.00
137500.00 143900.00 20.00
137700.00 143700.00 20.00
137700.00 142100.00 20.00
136100.00 140500.00 20.00
136100.00 138900.00 20.00
134500.00 137300.00 20.00
134500.00 134900.00 20.00
132100.00 132500.00 20.00
132100.00 130100.00 20.00
129700.00 127700.00 20.00
129700.00 122100.00 20.00
127300.00 119700.00 20.00
127300.00 117300.00 20.00
122500.00 112500.00 20.00
122500.00 110100.00 20.00
120100.00 107700.00 20.00
120100.00 107100.00 20.00
118500.00 105500.00 20.00
118500.00 102900.00 20.00
116100.00 100500.00 20.00
116100.00 98100.00 20.00
115300.00 97300.00 20.00
115300.00 96500.00 20.00
113700.00 94900.00 20.00
113700.00 91700.00 20.00
112100.00 90100.00 20.00
112100.00 89300.00 20.00
111300.00 88500.00 20.00
111300.00 86100.00 20.00
113700.00 83700.00 20.00
113700.00 81300.00 20.00
116100.00 78900.00 20.00
116100.00 76700.00 20.00
114300.00 74900.00 20.00
114300.00 74700.00 20.00
114700.00 74300.00 20.00
114900.00 74300.00 20.00
115100.00 74100.00 20.00
115100.00 73900.00 20.00
114900.00 73700.00 20.00
114100.00 73700.00 20.00
113900.00 73500.00 20.00
113900.00 72900.00 20.00
114500.00 72300.00 20.00
You can imagine that this ground object will need more than one coop to reach it's last location. I believe this particular 'Mission' took four coops...
Note on Ground Objects: We have not yet added code to force ground objects to follow roads (or rails, or to stay on the water for ships). If you want to add 'NewWaypoints' for ground objects, MAKE SURE YOU FOLLOW THE ROADS or stay in the water or whatever is applicable for the ground object type you choose.
You can use many different combinations of waypoints to create missions.
The other thing you need to be aware of is that EVERY OBJECT TYPE USED IN A MISSION NEEDS TO BE IN THE ObjTypes TABLE. The program will actually add when you parse a mission them if they don't already exist in that table, but the program will NOT give them a speed or a 'Quantity_Per' value. You will need to add these values manually for all Chief (movable ground object) types.
There is an 'Options' item under the 'File' menu that controls various parts of the programs' use. Fuel Consumption is still under development, so this item is not available, but the other options work. The 'Chute Shooting Penalty' increases an enemy flight by the specified number whenever a human pilot shoots a chute from that flight, and enabling 'Plane Refit' makes planes sit-out for an hour after flying (code is being written that will make them static objects during that time). Keep in mind that if you have 'Plane Refit' enabled, you will need to stagger flights! The easiest way to stagger flights is to fly all flights in the first mission, and then in the Obj_Mission_Data table, flip the value of the 'Refueling' field from '1' to '0'. All of the values will be '0' if Plane Refit is not enabled, and enabling it will have no effect until after the next mission. Plane refit will have a major impact on future versions of the program...
Please keep in mind that these complex 'instructions' are temporary while data is entered into the database and while a GUI is created for entering waypoints. When we are done you won't need to play with the database at all, and will be able to make missions by pointing and clicking.
Also please keep in mind that while the mission generator works, it is still a work-in-progress. This program does a lot already, but we are by no means finished!

Other Features:
It is a pain in the butt deleting missions from the database. To assist with this process (and to make it possible for those who do not have Access) we have included an easy to use mission deleting tool. Click the 'Delete Mission' item under the 'File' menu to open this tool. It's a breeze - the mission names are listed in a drop-down box. Click the mission you want to delete and click the 'Delete' button. That's it. You have to delete missions one at a time, but they only take a moment to delete.
If you already have data in your conf.ini file and you do not want it parsed (the parser will parse multiple missions if they are in your coop log file) you can press the 'Purge Log' item under the 'File' menu and your coop log file will be renamed to "coop.old" just as if it had been parsed - only it gets renamed without parsing it.
I hope you enjoy the parser, and I hope you are looking forward to the mission generator!
If you have any problems, please let me know so that I can look into it. I am committed to making this as good a product as possible. I think you will agree that at this point the parser is starting to really look (and perform) like a professional product.
Reports are available under the 'Reports' menu item. We made this so that additional reports could be added without needing to download the entire program again. If you have an idea for a report, or if you create a report to be used with the program (in Crystal Reports) please let us know and/or send us a copy!

NOTE: If you do have any problems using this program, PLEASE report it to RAF74_Wall-dog!!! And include your coop log and .mis file when you do. It is unfortunate that in order to thoroughly test a program the program must be used. It is likely that there will be bugs found within this pre-public release. I can't fix it if I don't know it's broken.

Final Thoughts:
If you have any ideas on how to improve this product, let me know. This is a beta - meaning that we do not yet have everything we want from it written. This is also now an Open Source product, meaning that there could be a number of people working on the things you suggest.


RAF74_Wall-dog

<a href="http://www.doghousecomputing.com/scorchedearth">http://www.doghousecomputing.com/scorchedearth/images/parsersmall.jpg

XyZspineZyX
09-19-2003, 10:17 PM
S! All!

This is cut/pasted from the 'About' section of the RAF74 IL2/FB Dynamic Campaign System. If you want an easier to read (formatted) html version, let me know. This is NOT a public release, but if you have lots of mission building experience and/or database experience (and a copy of Microsoft Access) let me know - we ARE looking for beta testers.

There are instructions following the introduction - if you think you might be a good candidate for beta testing, I'd encourage you to read those.

Anyway, here it is:

RAF74 IL2/FB Dynamic Campaign System 5.5
By RAF74_Wall-dog (AKA Wally Garneau)
Special Thanks to RAF74_Taipan, IV/JG7_4Shades, Claudius Henrichs, and BlitzPig_Mung,


Introduction

RAF74 IL2/FB Dynamic Campaign System
Copyright (C) 2003 Wallace L. "RAF74_Wall-dog" Garneau

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Founcation; either version 2 of the License, or (at your option) and later version.

This program is distributed in teh hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 12111-1307 USA.

A full version of the GNU General Public License can calso be found by visiting http://www.gnu.org/licenses/gpl.txt.

The RAF74 IL2/FB Dynamic Campaign System (DCS) is being created for the upcoming Scorched Earth dynamic online war. Scorched Earth will be the first truly dynamic war either online or off for the IL2 family of flight simulators. Other "dynamic" campaigns mock true dynamic environments by making parts of the environment dynamic while other parts are random. The user may "feel" the dynamic elements of these campaign systems because they can see things they do having some kind of impact and because no two campaigns are alike, but playing a campaign that is only dynamic in a very superficial sense will never have the same depth or flavor as a true dynamic campaign. Everything about Scorched Earth will be dynamic - and players will be in control of every element. Even the ground war in Scorched Earth will be dynamic.

The most important part of a dynamic campaign is the database. The DCS is written on top of an Access database. Microsoft Access was chosen because it is easy to use even for novice database developers, because many people have it, because it integrates well with other Microsoft products (like Excel) making it easy for the end-user to manipulate data even if they are not comfortable in Access, and because Access tables can hold as much as one gigabyte of data (which is a LOT of data!). Other databases can hold even more, and would perform better in larger environments. The database was made with this in mind, and could easily be ported to other databases. Contact RAF74_Wall-dog for details on porting the DCS to other databases.

Without a database, it would be impossible to accurately keep track of all the different elements of a dynamic war. There were tens of millions of men involved in the Eastern Front of WWII, and thousands upon thousands of vehicles. Consider the complexity involved in trying to keep track of all of it all. IL2 and FB do not even attempt to keep track of vehicle locations from mission to mission, or quantities of vehicles available for reinforcements, or resupply routes, or any of the other facets of running a war. Even with small numbers of vehicles, trying to keep track of where everything is located from mission to mission when there is nothing in the log files to tell you where vehicles were when a mission ended would be a nightmare - not to mention the difficulties in reading the logs and trying to make some kind of sensible use of them. There are a number of viable utilities available that enable you to look at the logs and even to slice the data into report-like formats. But the data in these cases is still in the logs. If you purge your log you lose the data - and worse than that you can not do anything with the data except look at it and maybe copy it into a publishable (static) format.

The RAF74 IL2/FB Dynamic Campaign System opens the door to all kinds of possibilities. The DCS does not open the data into a window and let you view it, but rather reads each line from your log, discerns what that line says, and writes the line to a database. Every line is read, and the mission file(s) that go with the log are also read - allowing reports to show not only who destroyed who, but also what kinds of vehicles were destroyed. Every line from the log and every line from the mission file(s) are parsed - the reporting possibilities alone are endless. Some reports are pre-written and included with the program. Users will find it easy to write new reports as well. We would invite those who write reports to share them with us so that we may include them in future versions!

The DCS also uses Crystal Reports to make reporting possible for users who do NOT have Access. These reports are included in such a way that new Crystal Reports can be added without the user needing to download the entire program again - you can just download the new reports and copy them into your reports folder. Crystal Reports is a very powerful reporting engine, including drill-down functionality and a host of other advanced features. Only a handful of Crystal Reports are included with the DCS, but we do take requests... If you have an idea for a new report, let us know and we will build it.

Users have been using the parsing and reporting portions of the DCS for over two years already. It works, and it is very powerful.

But parsing and reporting is only the beginning! The "real" reason we wanted to store that data was not to report off of it (though we certainly wanted to be able to do that - imagine the website you can build with content that changes automatically as the database is updated - things like top scores, top aces, most ground kills, top hit rates, most missions played, etc. etc. etc. all being updated AUTOMATICALLY as the missions are played -- Scorched Earth will have all of this). The real reason was so that we could use the data in the database to build a new mission based on everything that happened in the last mission. If a tank drove 15 Kilometers we want to see it 15 kilometers further up the road in the next mission - and we want it to still be enroute to it's next target. If a bridge is destroyed we want it to remain destroyed until something happens that would fix it (we are actually able to go right down to the SPAN level!). We want building damage carried forward. We want destroyed vehicles carried forward. We want supply, resupply, and refitting to be included! Consequently the DCS includes a mission generator that creates a mission based on the results from the last mission. The ability to create missions is available now - though this functionality is still under development and improvements will continue to be made. Really, the mission generator as-is is ready for 'mini-wars' of four or five missions in length. You could use it for longer wars, but it would be a bit of work...

I could talk about all of the things the DCS will be capable of doing for days, but that's not the point of this introduction. What is the point then? To let you, the community of IL2 and Forgotten Battles, know that rather than create something proprietary for our war, we decided to create a program that anyone could use and then release it free of charge under a GPL open source license! So if you want to have your own war and want to be able to do all of the things we are doing, then you are in luck. You won't have to develop anything at all. Of course, the source code is open source - so if you want to develop within this toolset, you are free to do so provided you do so as per the terms of the GPL.

Contact Information
E-Mail: RAF74_Wall-dog
Website: Scorched Earth

Instructions Follow (only worth reading if you are thinking about being a beta tester):

Regular Use Instructions
Before You Use:
The "Host" name is the name of the person using the parser. In order to integrate with other servers (in a multiple server environment) this name must be unique. It is required. You can not do anything until you enter your name in this box. Once you enter your name it will be there - and stay the same - each time the program is opened. To change it, use the "Change Host" option of the "File" menu.
The "Theatre" name is used to differentiate between different parts of the same war in a multiple-server environment, or to differentiate between different wars in a single-server environment. This is required to parse a mission, and will be required to build new missions. Note that in order to build a mission you have to use the same theatre name you used for the mission you parsed. If for example you parse a mission using the theatre name 'My Theatre,' you will need to use 'My Theatre' as the theatre name for subsequent missions created with the mission builder.
The "Select Game" box is used to determine how the DCS should function. Select "IL2 Sturmovik" if you are using the parser with IL2 Sturmovik. Select "Forgotten Battles" if you are using the parser with Forgotten Battles.
The log parser is pretty simple to use, and instructions are generated on the screen as the parser is being used. Simply run a coop mission or single player mission in IL2 Sturmovik or Forgotten Battles (note that scoring data is only available in online missions though everything else is available in single player missions - 'quick' missions however do NOT parse). You MUST BE THE HOST of online missions to parse the data. The reason for this is simple - the data the parser needs is in the coop log file (which is only generated by the host) as well as the mission files themselves (only available on the host). It IS possible to parse the hosts logs if you have the host send you the mission files and the log file. You will need to make sure the log file uses the same name you have configured in your conf.ini file. For IL2 ONLY you can use the mission file from your cache to parse missions you did not host (if you can find it).
The first time you run the parser you will have to specify your "host name." It is necessary to have the host name if multiple servers are going to be used in a war, so this is mandatory. It is also important that the host name not change during a war! You only need to enter a host name once - the parser will remember it. If you need to change it, you can click the "Change Host" button. You also need to enter a "Theatre." This is also necessary for the upcoming mission generator, though the value is NOT stored from mission to mission. The purpose of the "Theatre" box is to allow war developers to specify what part of a front a given mission covers. This again is necessary to allow multiple servers to take place in the same war - in this case they can both run missions concurrently by covering different parts of the same front (each given a unique 'theatre' name).
Parsing Missions:
1. Make sure you have a Host Name and Theatre Name as described above. Select the game you are using - IL2, or Forgotten Battles.
2. Once you have a host name and theatre name entered and have a log file created you can parse your coop log! Simply press the 'Import Log' button. The mission will parse. The status bar will show you your progress.
3. After the mission is parsed, you will get an informational window telling you that the parser is finished and that the coop log file has been renamed to coop.old. If you wish to archive the log files you will have to do it manually - the coop.old file is NOT an archive - all it does is allow you to do something with the log file other than have it erased after parsing. There really is no reason to keep the coop log file after parsing because all of the data in it will be in the database though.
4. The reports can be accessed through MS Access or by clicking the "Reports" button. Note that in order to see the Reports in the "Reports" button, ODBC must be setup. Detailed instructions are available here.

Building Missions:
Bear with us a bit on this part of the toolset - it is still under development and portions of it are hard to use. Version Beta 6.0 will include a nice GUI interface for entering waypoints. Version 5.5 is a 'pre-public' release and does NOT include a GUI interface for entering waypoints. Building missions is easy - once you have parsed a mission, you use the same 'Theatre Name' and click the 'Build Mission' button. That's it - within a minute you will have a new mission.
The waypoints are the hard part.
For ground objects, waypoints are carried forward from previous missions unless they have been reached. Once a ground object runs out of waypoints, it will pull waypoints from the 'NewWaypoints' table of the RAF74WarData.mdb database. Following is an explanation of how that table works:
Mission_Nbr: The number of the mission. The term 'Mission' as used here describes a logical grouping of waypoints designed to perform a particular task. For aircraft that's an easy concept - they fly an entire mission in each coop. For ground objects the concept of a 'Mission' is a bit more complex. You may define a town as a mission objective for a tank and it may take ten coops for that tank to get to that town. There is a tendency to think of a coop as being a 'mission.' That is NOT the case in the DCS!
Group: Think of a group as being the lowest level unit. A tank column or a flight of aircraft are a 'group.' Missions are made for groups.
Way_Nbr: Waypoint Number. This is a numeric field that determines the order within which waypoints for a particular mission are achieved. These should be sequential. Waypoint '1' will be reached first. Waypoint '2' will be reached second. Etc.
Way_Type: The type of waypoint. This could be 'TAKEOFF,' 'LANDING,' NORMFLY,' or 'GATTACK.' For escort missions, just use NORMFLY.
Way_Long: The X-Axis coordinate of the waypoint.
Way_Latt: The Y-Axis coordinate of the waypoint.
Way_Alt: The Altitude of the waypoint - only used for air units.
Way_Speed: The speed of the waypoint - only used for air units.
Terrain: Use the number '20'.
Orientation: The direction (in degrees with 360 Being north) the object will be pointing - used for Static objects.
Reached: Ignore. This is used by the program to check-off waypoints once they are met.
Target: The unit a group is targeting to attack or escort.
Target_Way (previously Target_Qty): The waypoint the escorted flight will be on (when applicable). When in doubt, use '0'.
See examples below:
[r0110_Way]
TAKEOFF 116406.11 65648.73 0 0
NORMFLY 132867.79 116663.79 2000.0 300.0 r0102 1
NORMFLY 131736.34 128294.94 2000.0 300.0 r0102 2
NORMFLY 100210.90 127296.67 2000.0 300.0 r0102 3
LANDING 127543.32 112307.48 0 0
In this series of waypoints, group 'r0110' will takeoff from location 116406.11 X 65648.73, meet up with r0102, and escort them for three waypoints prior to landing. r0102 will be at their first waypoint (takeoff is waypoint number zero) when the units meet.
[g0100_Way]
NORMFLY 142292.14 139964.16 2000.00 295.00 III_JG100 0
NORMFLY 117255.61 66208.15 2000.00 300.00 III_JG100 1
NORMFLY 111329.56 73502.37 2000.00 300.00
NORMFLY 120727.04 73544.14 2000.00 300.00
NORMFLY 118596.94 64919.35 2000.00 300.00
NORMFLY 108990.63 60325.03 2000.00 300.00
NORMFLY 110515.11 72896.76 2000.00 300.00
LANDING 116405.92 65650.11 0 0
In this series of waypoints, g0100 will takeoff with III_JG100, fly to their next waypoint together, and then split up.
[g0103_Way]
NORMFLY 132067.84 105587.20 2000.00 300.00
NORMFLY 136208.37 102047.90 2000.00 300.00
NORMFLY 130905.18 82589.11 2000.00 300.00
GATTACK 87497.81 61517.69 2000.00 300.00 249_Static 0
LANDING 116405.92 65650.11 0 0
In this series of waypoints, g0103 will look for and attack the static group '249_Static'.

Finally - a ground object ('Chief') mission:
[14_Chief_Road]
133700.00 146500.00 20.00 0 58 5.555555820465088
133900.00 146300.00 20.00
134100.00 146300.00 20.00
134300.00 146500.00 20.00
134700.00 146500.00 20.00
134900.00 146300.00 -155.00
135100.00 146100.00 -155.00
135300.00 145900.00 20.00
135700.00 145500.00 20.00
135700.00 145300.00 20.00
135300.00 144900.00 20.00
135500.00 144700.00 20.00
136100.00 144700.00 20.00
136900.00 143900.00 20.00
137500.00 143900.00 20.00
137700.00 143700.00 20.00
137700.00 142100.00 20.00
136100.00 140500.00 20.00
136100.00 138900.00 20.00
134500.00 137300.00 20.00
134500.00 134900.00 20.00
132100.00 132500.00 20.00
132100.00 130100.00 20.00
129700.00 127700.00 20.00
129700.00 122100.00 20.00
127300.00 119700.00 20.00
127300.00 117300.00 20.00
122500.00 112500.00 20.00
122500.00 110100.00 20.00
120100.00 107700.00 20.00
120100.00 107100.00 20.00
118500.00 105500.00 20.00
118500.00 102900.00 20.00
116100.00 100500.00 20.00
116100.00 98100.00 20.00
115300.00 97300.00 20.00
115300.00 96500.00 20.00
113700.00 94900.00 20.00
113700.00 91700.00 20.00
112100.00 90100.00 20.00
112100.00 89300.00 20.00
111300.00 88500.00 20.00
111300.00 86100.00 20.00
113700.00 83700.00 20.00
113700.00 81300.00 20.00
116100.00 78900.00 20.00
116100.00 76700.00 20.00
114300.00 74900.00 20.00
114300.00 74700.00 20.00
114700.00 74300.00 20.00
114900.00 74300.00 20.00
115100.00 74100.00 20.00
115100.00 73900.00 20.00
114900.00 73700.00 20.00
114100.00 73700.00 20.00
113900.00 73500.00 20.00
113900.00 72900.00 20.00
114500.00 72300.00 20.00
You can imagine that this ground object will need more than one coop to reach it's last location. I believe this particular 'Mission' took four coops...
Note on Ground Objects: We have not yet added code to force ground objects to follow roads (or rails, or to stay on the water for ships). If you want to add 'NewWaypoints' for ground objects, MAKE SURE YOU FOLLOW THE ROADS or stay in the water or whatever is applicable for the ground object type you choose.
You can use many different combinations of waypoints to create missions.
The other thing you need to be aware of is that EVERY OBJECT TYPE USED IN A MISSION NEEDS TO BE IN THE ObjTypes TABLE. The program will actually add when you parse a mission them if they don't already exist in that table, but the program will NOT give them a speed or a 'Quantity_Per' value. You will need to add these values manually for all Chief (movable ground object) types.
There is an 'Options' item under the 'File' menu that controls various parts of the programs' use. Fuel Consumption is still under development, so this item is not available, but the other options work. The 'Chute Shooting Penalty' increases an enemy flight by the specified number whenever a human pilot shoots a chute from that flight, and enabling 'Plane Refit' makes planes sit-out for an hour after flying (code is being written that will make them static objects during that time). Keep in mind that if you have 'Plane Refit' enabled, you will need to stagger flights! The easiest way to stagger flights is to fly all flights in the first mission, and then in the Obj_Mission_Data table, flip the value of the 'Refueling' field from '1' to '0'. All of the values will be '0' if Plane Refit is not enabled, and enabling it will have no effect until after the next mission. Plane refit will have a major impact on future versions of the program...
Please keep in mind that these complex 'instructions' are temporary while data is entered into the database and while a GUI is created for entering waypoints. When we are done you won't need to play with the database at all, and will be able to make missions by pointing and clicking.
Also please keep in mind that while the mission generator works, it is still a work-in-progress. This program does a lot already, but we are by no means finished!

Other Features:
It is a pain in the butt deleting missions from the database. To assist with this process (and to make it possible for those who do not have Access) we have included an easy to use mission deleting tool. Click the 'Delete Mission' item under the 'File' menu to open this tool. It's a breeze - the mission names are listed in a drop-down box. Click the mission you want to delete and click the 'Delete' button. That's it. You have to delete missions one at a time, but they only take a moment to delete.
If you already have data in your conf.ini file and you do not want it parsed (the parser will parse multiple missions if they are in your coop log file) you can press the 'Purge Log' item under the 'File' menu and your coop log file will be renamed to "coop.old" just as if it had been parsed - only it gets renamed without parsing it.
I hope you enjoy the parser, and I hope you are looking forward to the mission generator!
If you have any problems, please let me know so that I can look into it. I am committed to making this as good a product as possible. I think you will agree that at this point the parser is starting to really look (and perform) like a professional product.
Reports are available under the 'Reports' menu item. We made this so that additional reports could be added without needing to download the entire program again. If you have an idea for a report, or if you create a report to be used with the program (in Crystal Reports) please let us know and/or send us a copy!

NOTE: If you do have any problems using this program, PLEASE report it to RAF74_Wall-dog!!! And include your coop log and .mis file when you do. It is unfortunate that in order to thoroughly test a program the program must be used. It is likely that there will be bugs found within this pre-public release. I can't fix it if I don't know it's broken.

Final Thoughts:
If you have any ideas on how to improve this product, let me know. This is a beta - meaning that we do not yet have everything we want from it written. This is also now an Open Source product, meaning that there could be a number of people working on the things you suggest.


RAF74_Wall-dog

<a href="http://www.doghousecomputing.com/scorchedearth">http://www.doghousecomputing.com/scorchedearth/images/parsersmall.jpg

XyZspineZyX
09-20-2003, 01:48 AM
bump

RAF74_Wall-dog

<a href="http://www.doghousecomputing.com/scorchedearth">http://www.doghousecomputing.com/scorchedearth/images/parsersmall.jpg