CFSMap
Scenery Creation Program for Combat Flight Simulator
| Introduction Acknowledgements Requirements Installation |
Initial Setup Top ToolBar Left ToolBar Menus |
Choosing a Location Creating a Scenery Into Airport |
Addon Bitmap Sets Updates Copyright |
CFSMap is a Program for creating Flat Scenery "Backgrounds" for Microsoft Combat Flight Simulator utilising the default texture files included with every installation of CFS. It can also be used, in conjunction with Add-on Texture sets, for creating Ground layouts of Runways, Roads, Railways or virtually anything .
Bitmaps can be rotated 90, 180 or 270 degrees without the need to distribute any images with the scenery. In the case of Add-on Texture sets only the "Base" unrotated images will need to be distributed. (see the documentation of the particular Add-on set to determine any redistribution restrictions)
Paul Harmon -- For being the (unwitting) inspiration for creating this Program when he painstakingly created complex ground layouts using converted textures and my drawr8.api. Placing each one by hand in Airport.
Misho Katulic -- For showing what could be done with the Standard Textures (with the Terrabuilder 2 SynthWizard) and for the all-important information about the CFS texture naming convention that made the Matching routines possible.
Ralf-J Triebel -- For a constant stream of ideas (including inventing the whole "Construction Kit" Concept), Bug finding (and finding, and finding.....) and for the immense amount of work he put in creating the ACK addon bitmaps.
CFSMap is an MWGfx program and requires mwgfx.dll to run. This will either have been included in the Program distribution or can be found on the MWGraphics website. Regular updates for the Program and for mwgfx.dll can be found there also.
The program will run on any PC with at least a 486 processor and Windows 95. As with any Graphics-based program the more memory you have installed and the more advanced your graphics card the better.
Really requires a minimum of an 800x600 16 bit Graphics Display for reasonable functionality.
CFS is Required to be installed on your computer (or at least the Textures.......)
In order to Create any Scenery from you will need to have installed on your system Airport 2.10 by Pascal Meziat, Brian McWilliams, Tom Hiscox, and Manfred Moldenhauer. You can create Scenery just with scasm alone but it is much easier using Airport (and you can add further objects before compiling)
The self-extracting arcive will be extracted and create a CFSMap folder in the location of your choice (default C:\Graphics\CFSMap).
If mwgfx.dll is included then there will be a file "mwgfxdll.exe" present. If it is present then run it. If not then you will need to get hold of a copy from the Website unless you already have another MWGfx program installed (in which case you already have it!)
When installing mwgfx.dll you will be offered the chance to change the installation from the default (C:\Windows\System\) - Only change this if your Windows installation location differs from the usual C:\Windows\.
If you want to add a shortcut to the Start menu go to "Start"->"Settings"->"Taskbar & Start Menu"->"Start Menu Programs"->"Add" and browse to the Program.
If you want to add a Shortcut on the Desktop just right-click on a blank area of the desktop and select "New"->"Shortcut" and browse to the Program.
On first running the program it will attempt (by querying the registry) to locate your CFS Folder. The file "090909s1.bmp" will be copied to the "texture" folder in your main CFS folder. This image is used for blank areas in scenery maps.
The first time you run CFSMap you will need to set up several parts of the program before using it to create anything.
On first running you may be prompted to set the location of your CFS Textures. Use the Drive and Folder gadgets on the left side of the window to find it ("Textures" in your main CFS folder) then click "Done". If the program has successfully located your CFS installation from the Registry then this will be done without prompting you.
If you are going to be using the "Create BGL" feature to compile Scenery directly you will need to set the location of scasm.exe from the Prefs menu. If you have Airport installed on your system there will be a copy of scasm.exe in the main Airport folder.
If you want to be able to run CFS from CFSMap then you will need to set the location of combatfs.exe from the Prefs menu. This will be located in your main CFS folder.
The Cache folder (for storing rotated versions of the default textures as required) is initially set to the folder named "Cache" in the CFSMap Program Folder. You can chenge this from the Prefs menu . The Program will not let you use the Windows "Temp" folder as this will cause problems with the Rotation routines
The Toolbar across the top of the Program Window contains the main gadgets for setting up and creating an initial scenery
| Width & Height | Use these Number gadgets to set the number of tiles across and down to use when creating the layout |
| Create | Pressing this button will drop down a list of scenery types to use to create the base scenery. Selecting
one of this will create a new layout in the main window based on the type selected. Selecting "Random"
will create a totally random scenery then attempt to create a Match with the random textures based on the current
Default Texture type |
| Perform Match | Pressing this button will cause the program to try to match all the tiles in the layout to each
other. Locked textures will not change but all others are liable to be substituded with a more suitable texture.
Several passes are made through the layout in an attempt to create a 100% match of all tiles to their surrounding
textures. This is not always possible. |
| Lat/Lon Position | This collection of gadgets lets you set the location in the world to place the scenery. Set N/S
and W/E using the drop down gadgets. Set the Degrees in the next gadgets and the Minutes (including fractions e.g.
34.7778) in the next boxes. |
| ALT | In this box set the height (in Ft) above sealevel of the scenery when it is placed in the location. |
| Layer | The number you set in this box will decide how the Textures are drawn in the scenery when using
the "Surface" option. It defines what level it is drawn at. Setting it too high will result in Airport
Roads and Polys not being visible (as the textures will be painted over the top). It also allows for the creation
of multiple overlays when using an add-on set of Construction Kit bitmaps - just set each higher overlay to a higher
layer level. It will have no effect if the "TexRelief" option is being used. |
| API | This gadget lets you choose between 2 different ways of drawing the textures in the Scenery. "Surface"
uses the scasm Surface( ) command and lets you use the "Layer" setting to adjust the layer level. "TexRefief"
uses the scasm TexRelief( ) command and appears over the top of existing scenery (including CFS Runways!). For
general Airport purposes Surface is the best way to go but for creating Base layouts on "un-sceneried"
parts of CFS TexRelief can give better tile-joining. |
| Airport Scale | This box sets the scale of the tiles when outputting Airport Source. Currently creating Scasm or
Compiling to BGL is fixed at Scale 4. Any suitable number can be used from 0.1 to 8.0. A scale of 4 corresponds
to 1024x1024 metres for each texture. A scale of 1 is 256x256 metres. The normal textures you see on the ground
in CFS are at an equivalent to Scale 4. |
| Move | This cluster of buttons allows the shifting of the current location to the adjoining location (taking
into account the size of the layout) in the chosen direction. When you have finished the Layout you are creating
(and SAVED it!) you can click one of these buttons to start a new layout adjoining the current one. As well as
changing the Lat/Lon location appropriately the program will flip the existing tiles in the given direction so
that the edge adjoining the original layout will contain the last row or column of that layout to ease the matching
of the edged of the 2 layouts together. It will also Lock all the edge tiles. Once you have created a new layout
that matches up to the "Carried over" tiles you can use the Shift menu to move the layout one row/column
to remove the carry overs. This will just leave the opposite side to tidy up and you should have a perferct match
up. |
| Default Texture | This gadget dictates which Texture-type is used during matching if no match is possible.
|
| File List | Use this gadget to select which Texture image to display in the thumbnail ready for insertion into
the layout.
|
| Thumbnail | This gadget will display a thumbnail view of the currently selected image (selected either from
the File list or by Right-clicking on a tile in the layout). To insert this image into the layout just double-click
the desired layout tile.
|
| Rotation Buttons | These buttons will rotate the Texture currently displayed in the thumbnail to the specified orientation.
The current orientation displayed is Greyed-out and any of the other possibilities can be selected.
|
| Fill | This will fill all the tiles in the layout (except those that are Locked) with the Texture currently
displayed in the thumbnail
|
| Random | This will fill all the tiles in the layout (except those that are Locked) with a random texture
and then performs a Match
|
| Edge Lock/ Unlock | These buttons will Lock (or unlock) all the tiles around the perimeter of the layout.
|
| Create All | This will create the Full set of every possible rotation of the CFS Default Textures. This will
take several minutes and nearly 50 meg of Disk Space but will give the best possible chance of a 100% realistic
looking match. Note that if you have "Flush Cache on Exit" selected then the files will all be deleted
when you close the program. Use for special projects (or if you have loads of spare Disk space!)
|
| File | Prefs | Shift |
| File |
Load Map File |
Load a previously created layout into the program. The texture folder will be set to that in use when the file was saved. If Cache Flushing is enabled then any needed rotated images will be Auto-Created. If Flushing is not enabled then the required images should already be in the cache but if empty grey tiles appear then you will need to use "Import Map File" to force Auto-Creation. |
|
Import Map File |
This works the same as "Load Map File" except the Texture folder is not changed and Auto-Creation of rotated tiles is carried out. Use this option when loading map files sent by someone else (who probably has a different Texture path) or if any tiles are missing when using the normal Load. |
|
|
Save Map File |
Save the current Layout as a map file. The saved file includes data about the size, location, scale, Api type, Layer Setting and Texture Folder of the layout |
|
|
Save Layout as BMP |
Save a 256 colour Bitmap of the current Layout. This Bitmap takes into account the scale of the layout so that the Bmp can be imported into Airport as a background (at 10 pixels/100m) for assistance in placing further scenery objects before compiling. |
|
|
View Saved BMP |
Displays the last "Save Layout as BMP" bitmap in a seperate window. |
|
|
Create Airport File |
Outputs 2 files - An Airport APT file and a scasm macro API file with the name you select. Loading the APT file into Airport is all that is required to load the scenery for compilation |
|
|
Create Scasm File |
Outputs 2 files - A scasm SCA source file and a scasm API macro file. Can be compiled with scasm from dos by invoking scasm on the SCA file. |
|
|
Create BGL |
Outputs a scasm SCA/API pair and compiles them to a finished BGL scenery file (providing you have set up a valid location for scasm.exe in the Prefs menu). The file dialog will ask for the SCA filename to use. The finished BGL will have the same name but with the .bgl extension. |
|
|
Copy BGL to CFS |
Copy the last created BGL file to the CFS scenery folder you desire. Browse to <CFS>\Scenery and then to the desired scenery sub-folder. (\All\Scenery\ if you are not sure or have no Add-on scenery folders) |
|
|
Run CFS |
Runs CFS so you can test out your new BGL (providing you have set up a valid combatfs.exe path in the Prefs menu) |
|
| Prefs |
Select Scasm Location |
Set up the location of scasm.exe for compiling directly to finished scenery BGL |
|
Select CFS Location |
Set up the location of combatfs.exe to enable the direct running of it from the program |
|
|
Select Cache Folder |
Set up the location to use for storing the rotated versions of Bitmaps. Initially set to the Windows Temp folder |
|
|
Select Texture Location |
Set up the location containing the textures to be used for creating layouts. For normal purposes this will be the <CFS>\Texture folder but if working with Add-on Bitmap sets this may well be elsewhere. When loading map files this location will be set to the texture location used by the original layout when saved. |
|
|
Centre Airport Layout |
If this is ticked then Airport source files will be saved with the texture tiles arranged so that the Lat/Lon location is at the centre of the Layout. If not then the Lat/Lon location will refer to the Bottom-left corner of the layout (which is the method used when outputting scasm source or BGL from CFSMap) |
|
|
Use Rotated...... |
If this is ticked then the Matching routine will also take into account rotated images. If not then only the default textures will be used to find a match. Note that only rotated images currently in the cache will be used so you may want to turn off Cache Flushing if you want to retain the maximum number of images for matching. |
|
|
Flush Cache on Exit |
If this is ticked then all the rotated images stored in the cache folder will be deleted when you exit the Program. If you intend to use a lot of rotated images for matching then you should leave this off (and make sure you have created and set a dedicated Cache folder for the program) |
|
| Shift |
|
Use this menu to shift the whole layout by one row or column in the specified direction |
The first thing to do when creating a scenery is to decide where in the world it is going to be.
In CFS there are 2 distinctly different "Worlds" - The "European Theatre" that is fully covered with ground textures and lots of variations in altitude and......."The Rest" covered with a very basic coating of Water, Desert or Forest.
In "The Rest" you can create CFSMap scenery anywhere - it is all pretty level over very large areas. In "Europe" you will need to locate an area of the same Altitude (within a few feet) large enough to accommodate your scenery or you will be liable for gaps in the textures (or worse if the altitude variations are very large).
While bearing this in mind you can place your scenery anywhere.
Start CFS and go to Free-Flight. Select the rough coordinates of where you want to go and Fly!. Switch to "Slew" mode by pressing "Y" and move around the area (watching the Altitude readout and frequently pressing F1 to keep yourself on the ground if the altitude drops). Once you have selected the rough area go to the middle of it and copy the Lat/Lon and Altitude figures down (for entering into CFSMap)
Start CFSMap. Decide how much area you are going to cover (at scale 4 each tile is 1024x1024 metres) and set the Width/Height to achieve this (Tip - Although the Layout seems to be restricted to a rectangular area oriented North/South you can create different shapes of layout by making the area larger than your requirements and filling around the edges with the "Blank" tile to leave the rough shape you want)
Set up the Lat/Lon Location gadgets and the Altitude using the data you copied down when in CFS. Set the Scale (a scale of 4 is the right size to match existing CFS ground textures). Set the API type to "Surface" and the Layer to 10
Decide what type of basic texture the scenery is going to be (Water, Rural, Woods etc) and click the appropriate type from the "Create" button (or set the Default Texture to the appropriate type and click Random from the Create Button)
Browse the files listed on the Left and insert the textures as desired by bouble-clicking the tile in the layout where you want to put it. After inserting one or more textures click "Perform Match" to attempt to match the new and old tiles together. This may change or remove the inserted textures in the process of matching all the tiles together. If you wish to preserve particular tiles from change (and force the program to try to match the rest) then Right-Click on the Tile(s) so they are outlined in Red and they will be "Locked". To copy a texture from one place to another in the layout Right-Double-Click on the tile (to make it the current selected file) then Double-click in the place(s) you wish to put it.
Once you are happy with the scenery save the map file (File->Save Map File). If you are going to be adding other objects once in Airport then it is worth using the "Save Layout as BMP" function from the file menu so that you can import this into Airport to assist in laying out addition objects.
To create an Airport Source File select File->Create Airport File. Airport only supports old-style dos filenames so browse to the location to save the APT file (preferably somewhere in your Airport folder) and pick a short (max 8 characters) name.
Start Airport and load this APT file. You will see a series of Blue boxes representing the individual tiles. They are all carefully placed to adjoin each other so don`t move them! If you wish to place further objects (either built-in Airport objects - Buildings, Roads etc or Addon Macro objects) you may wish to first import the Layout bitmap you saved from CFSMap. This is done from the Airport File Menu and the Import settings should be set to 10 pixels/100m for correct scaling.
Once finished with Airport just use the Airport functions to create a scenery BGL file (The Airport instructions will tell you how to set up the Program to create the file in the correct place - it needs to be in a Valid CFS Scenery folder in order to be found by CFS. If you have no extra scenery installed then this will be <cfs>\Scenery\All\Scenery\.). There is a short Tutorial on my website (in the CFS/FS section under Info) showing how to set up Airport and CFS to work together.
If you have the path to the scasm executable correctly set then you can create scenery directly without using Airport. There are some differences when creating a BGL directly. Whereas "Save Airport File" creates the layout centred around the Lat/Lon position selected creating directly will use the Lat/Lon position to set the SW (bottom-left) corner of the scenery. Also direct compilation uses an inbuilt routine to convert Lat/Lon offsets to metres for the laying out of the tiles which is not guaranteed accurate outside N60-S60.
Scasm only allows old dos filenames so you will need to ensure that both the filename of the SCA file you create and the Path to the folder you create it in are "Short". Saving it somewhere in your Airport folder should be safe as that program also requires short path/file names.
CFSMap includes support for additional Addon Bitmap sets. These "Construction Kits" are collections of carefully designed bitmaps for using to create "Overlays" on the CFS Ground surface. If correctly designed they will have a transparent background and be laid out so that they can be used in all 4 rotations and still line up with each other where needed.
The first Addon Set is the ACK Airfield Construction Kit developed by Ralf-J Triebel. This has been developed alongside the Development of CFSMap at all stages and is the Prototype for any Addon set.
Because of the way CFSMap uses the Bitmap naming convention to track textures and rotations the main key to a functioning Bitmap set lies in the filenames used.
If anyone is interested in creating more Addons then they should contact me for information on the format required.
Adding a Bitmap set for Use
Any Addon set should come with detailed installation and usage instructions. Note that any scenery created using Addon Bitmaps will need the end user to have the appropriate Base (unrotated) bitmaps available in their CFS system. This may require distributing Base Images (as listed in the API created for the scenery) with the finished scenery or (as in the case of ACK) having the whole set available for download by anyone ( in a similar fashion to the freely available Airport and VOD textures). Any redistribution restrictions of the Designer of the Addon set MUST be respected!
Once installed as per the Designers instructions it is simply a matter of changing the Texture Folder Location in the Prefs menu (if the new bitmaps are not in the main CFS Texture folder) and using the new images in the same manner as the Default Textures.
Any map file saved will have its Texture location saved so the next time you load that map file CFSMap will switch to the appropriate folder.
Differences
Addon Bitmaps are treated differently in several ways. They are not available for "Matching" or "Random" routines and you will only have "Blank" available on the Create Button. You should start by creating a Blank layout of the desired size.
Updates to CFSMap and mwgfx.dll will be made available on the MWGraphics website as they appear.
To view the list of updates so for see update.txt
All files in this distribution are (c)2000 Martin Wright
No Redistribution in whole or in part without Permission
Scenery created using CFSMap may be distributed as Freeware.
Any and All Copyrights imposed by the Authors of Airport, Scasm and any Additional Bitmap sets must be fully respected.