Campaign Editor v0.9
remember Direct Draw?
2004 03 25 Total restructuring of CE and CM has forced me to go back to basics. Instead of using the old programming techniques, I have begun to get a grip on Class programmng or Object Oriented Programming (OOP). This was easier said than done. The learning curve has been steep and riddled with "What the &%^&*$% happened now? Why won't it accept this line?" events. Anyway, read further down regarding this concept. Slowly but surely, I am getting the base classes together, but with work and family it is very slow going.
2004 02 14 Squadron Aircraft now displays properly. Screenshot further down. When I get to it, I'll add a small picture with each plane, showing fuselage bmp file. This screen actually changes size according to squadron size (Me, proud? No way <g> ). Main Summary screen has been updated with larger font size and added # medals just for BvH.That is as far as I want to go with the summary screen.
2004 02 13 I made a bit of
progress on the guts of CE and you will find 2 new screenshots further
down the page.
2004 02 11 No Still no work done on CM2. However, I managed to decompile vonTom's Campaign Manager v1.1. It is tough trying to follow some of the code
2004 02 06 No work on CE for a couple of days. Worked on RB Date Changer (See Development page). Not really wasted time, since the guts of it will be part of CM2
2004 02 03 I have been working on the Campaign Editor and it will read the entire campgnXX.dat file on its own. Mostly programming the structure and tweaking the layout. See below Program layout, which has also been updated.
2004 01 26 Got campgnXX.datcompletely mapped. Drew up the relationship between forms in the Campaign Editor. See screenshot #3
2004 01 21: Created this page
Campaign Manager II is planned to have these features:
1. CM1.1 features.
2. Monitor and edit CampgnXX.dat and CampgnXX.mis.on the fly.
3. Read from definition files squadron composition and make changes to CampgnXX.dat
4. Set up missions from scratch, based on historical data and using flights
5. Make sure that aces fly their specially painted A/C ONLY - including A/C not normally assigned to that squadron (ie Albert Ball N17)
6. Convert some squadron mates to aces to keep them in squadron, award promotions and medals as needed.
7. Read the date in CampgnXX.dat and update SimPatch folder from dat folders as needed.
8. Reverse some ace deaths (1 chance in 20), simulating that someone else was flying that plane. It has always been annoying that Aces in particular get klilled as soon as they are in a battle near Player flight path.
9. It will be suggested that you do not enter the local squadrons info in the Intelligence Room. CM2 is planned to gather intelligence through recon and display only known information on the intelligence page and sector map.
10. It will have its own data files, from which it will actually build RB Data files from scratch. That will reduce the number of Squadron.dat, except.dat, etc in sub folders. This will allow more than the current number of squadrons and aces. As for aces, when one dies, CM2 will just replace that ace with another one, re-writing the Pilots.dat file, Filelist.dat and except.dat file. It will also be possible to have region specific info and swapping between them. Any number of regions will be possible. Jasta 1 may happen after all...
11. Your suggestion perhaps
More plans covered on the SWWISA forum, CMII Ground Work
1. Completely replace all missions.
2. Set up missions for an entire day in a separate file.
3. arrange such that missions are flown in a realistic "flow", not once a day, etc. Perhaps wether dependent.
4. Implement ALL of the features in MissionGen.
5. Implement ALL the features in vonTom's Campaign Manager (if someone could get me the code)
6. Have the NEW manager monitor a couple of files and FIX them after RB3D has screwed around with them.
7. Keep track of mission successes and allow damage to really have some impact on the war. If you seriously damage an aerodrome, for example, it will NOT be flying planes the next day.
8. Flights away from the player's flight path will have random events assined to them.
9) make it possible to adjust the time between waypoints, so planes with realisitic climb rates will have the time to make the altitude.
One other addition... the ability to change your pilots status from dead/POW/Mained back to active like Tym's Editor...
Version 1.1 of von Tom's Campaign Manager allows the use of a text file to remove files at specified dates, rather than overwriting them. That way you could use custom graphics for early dates and then revert to stock graphics on a specified date, without including duplicate stock graphics files in your patch to insert on the specified date. Now that we can buuild new VOL files, it allows switching to the VOL version and back. I believe the operation of the delfile.txt file is described in the readme that accompanies the original zip of CM11.
Here is some idea of what we may be looking forward to:
Brits went to flights of 6 by the Battle of the Somme, three flights per squadron, July 1, 1916, and kept that basic organization for the rest of the war. Operations involving double and triple flights began in late Spring of 1917, with the Germans going first and the Allies copying them. By 1918 there were some missions flown with as many as six full squadrons assigned to the same operation, though not to a single formation.
Without getting into a lofty explanation, I'll jump straight into an
example that we can understand.
Each pilot has info as we have seen on a different page on this site. With VB in mind it has the following structure:
Collection of Kills
Collection of Medals
To create the data structure for this Class (Pilot.cls), we need the
following building blocks:
SpecialRBDate Class (you know, the 246A4D, etc info)
This is just the beginning. Each of these classes has to be self contained
so that the higher class can use it in a predicatable manner. I can't just
go and change the interface on the fly. Because PilotHeader, Kill and Medal
all use the special RB Date format, this class has to work first. It has
to have properties and methods
Properties are DayNumber, Month, Day, Year
Methods are SetMDY and GetMDY (so that we can get the entire date in one command)
A method is basically a user defined command.
The RBDate has to be referenced to and initialized by Kill, Medal and
PilotHeader. That means that the Class RBDate has to be defined before
I can proceed with the other classes. There is a lot of time spent on these
basic building blocks, but once they are done, I can just put the program
together like LEGO - or at least that is the theory. Instead of chasing
variables and procedure calls all over the code, not to mention Global
variables, I can just change the workings INSIDE the Class, or in worst
case scenario add a method or two. RB is a finished product, so the possibility
of adding data to the classes is moot. Problem with CM2, CE and even just
a Mission Generator is that most of the data in RB is involved in these
programs, and therefore I have to include Pilot Class, LandMark Class,
Aerodrome Class, FlightPath Class, Mission Class, Campaign Class, LandObject
Class, Aircraft Class, ACSpecs Class, ACOrdnance Class....... You get the
VB allows me to define what is called User Types. These can have a local or global scope. Here is an example:
Month As Long 'Long Integer, 4 bytes
Day As Long
Year As Long
AircraftID As AircraftType 'Enum Type - defined elsewhere. Basically a predefined list of constants
Very useful, but not so fast: You can NOT use these to hold data inside a class. Drat! So much for making the code easy to read and use.
frmMain is where you choose which Campaign to load, along with a couple of other tasks. When you choose a campaign, it will display summary information on buttons:
Makes you want to press the buttons, doesn't it? Well I can
The screen adapts its output to the data given. If you fly with a british
squadron, the cross on the map will be replaced by a roundel.The Player
label will be opposite your actual position in the squadron. The
Flight info (which RB does not currently deal with) is there in
preparation for CM2. If the squadron has more than 18 pilots/planes in
it, it will also display the 2 squadron staff positions, CO and adjutant
(or whatever title is appropriate). I will probably make the rank a ComboBox
instead (textbox with an arrow and a list to select from)
This is output from an actual campgnXX.dat file.So I had a bad mission...(Well, actually all the other pilots had a bad mission,. They couldn't keep their ruddy planes out of the dirt. 6 Morane 'N' bit the dust, but that is poor comfort.)