BTD
FAQ
How
to use original and player-made CC3 Maps in CC4
1)
You must have the full installation of the full version of CC4 to
use new maps. When installing the files or maps mentioned in this
FAQ, the CC4 files that will be replaced may be backed up by renaming
them with an O [=original] at the start of their file names. To
restore CC4 to original configuration simply delete the new files
and the O from the corresponding original files. Or simply delete
the original CC4 game files or overwrite them with the new files
and reinstall CC4 [a 5 minute task] to get back to standard game
setup. It is also recommended you configure Windows Explorer to
display file extensions. File management is difficult if file type
extensionare not diplayed in Win Explorer. The Windows Help file
index listing for 'extensions' has instructions on how to do this.
2)
Download the CC3_4E&T.zip
. This zip contains a modified Elements.adb file that uses the CC3
terrain elements edited to have the increased cover and protection
values found in the West Front mod. It also adds the 8 new "West
Front" terrain elements some mapmakers have used on their maps.
The new CC4 Elements file allows most CC3 Map.txt files to work
'as-is' in CC4 [only the CC3 maps done for the Nam and Pac mods
will not work with the new Elements file]. Unzip the new Elements
file to CC4/Data/Base .
The
zip also contains modified Terrain files which removes all traces
of snow from the 'Newly Dug' trench graphics. The new Terrain files
replace the winter treetop graphics with summer trees. Unzip the
new Terrain and TerrainA.stm files to CC4/Graphics.
3)
Unzip or copy the 5 or 6 CC3 map files [*.bgm *.ovm *.mmm *.rfm
*.txt & *.los] to CC4/Maps. CC3 or 4 Maps without buildings
will not have a *.rfm file. Rename [eg. OAssenois.*] or delete the
5 or 6 CC4 map files that are being replaced by the new map files.
Do not rename or delete the CC4 *.btd file. If you choose
to backup the original CC4 game files being replaced, make a backup
of the .btd you plan to edit. Rename the CC3 map files to be used
in CC4 the same as the CC4 map name [eg. Assenois.bgm etc]. Now
comes...
The
Hard Part
It
will be necessary to do some light hex editing to the CC4 map.btd
file. Fear not. A hex editor works much like a text editor [Notepad
etc] and the edits you will make are simple. Dont get alarmed when
you open a game file and see 3 columns of strange looking letter/number
combinations. There is a pattern to that madness and with a little
patience you can play god with the game. The *.btd file specifys
the location, value, name and links to any adjoining maps for all
the victory locations [VLs] on a CC4 map. Download a hex editor
[Hex Workshop , Ultra
Edit or similar].
Open
the CC4 *.btd file in the hex editor. Your chosen *.btd file will
look similar to [but lack the color coding Ive added] the original
Bastogne.btd file in image1. You may need change the hex editors
preferences so the layout is 16 bytes per row as seen below [note:
a byte is simply a pair of 2 alpha-numeric characters; OA, 48, FF
etc.] :
image1
The
.btd file format is color coded as follows :
Bytes
1-4 [the first 8 characters shaded in blue] are the file header.
Do not edit the file header.
Byte
5 [shaded in light green] is the map index number. The roster of
the 43 CC4 map index numbers is here.
Youll note Bastogne is map index number 1C as shown in the roster
and in byte 5. Do not edit the map index number.
Then
follows a 32 bytes data sequence [boxed in black] for the first
VL on the map. Each subsequent VL also has 32 bytes of data [boxed
in black] with a maximum of 10 VLs per map.
Byte
1 [shaded in red] represents the X [or horizontal] megatile coordinate
for the VL.
Byte
2 [shaded in light blue] represents the Y [or vertical] megatile
coordinate for the VL.
NOTE!!!
- the X,Y megatile coordinates for the 'to Senonchamps' VL are 00,0F
in hexadecimal. Specifics on X,Y megatiles coordinates and the hexadecimal
number value system are explained later in this FAQ.
Bytes
3 & 4 are always 00.
Byte
5 [shaded in yellow] is the point value of the VL [VLs are worth
1-3 points in CC4]. If byte 5 = 32 that VL is worth 1 point. If
byte 5 = 64 that VL is worth 2 points. If byte 5 = C8 that VL is
worth 3 points.
Bytes
6-8 are always 00.
Bytes
9-29 [shaded in purple] represent the 20 characters maximum alloted
for the VL name. VL names of less than 20 characters use zeros to
fill the remaining bytes. Editing VL names is discussed later.
Byte
30 [shaded in orange] is the map index number
of the map that VL links to IF that VL is a road exit VL.
IF the VL is not a road exit VL then the hex value in byte
30 can be any of the following hex values - 00, D9, FF or FE. FE
is used to signify a special type of road exit which will be explained
later. The map index numbers in byte 30 of road exit VLs are how
CC4 knows to permit movement between maps on the Strategic Map.
Bytes
31 & 32 are always 00.
This
32 byte data sequence repeats for every VL on the map up to a maximum
of 10 VLs. The ten 32 byte VL data sequences in the Bastogne.btd
file are shown boxed in black in image1.
Immediately
after the 32nd byte of the 10th VL's data sequence is the 8 byte
map name [shaded in dark green and boxed in black]. CC4 map names
can be up to 8 letters long. The restriction on map name length
results in the abbreviated map names used on many of the CC4 map
files. The map name in the .btd can be edited but it must exactly
match the mapname used in the Index.mpi file in CC4/Maps as well
as the file names for that map set [*.bgm etc.]. Hex editing
the Index.mpi file is optional. One small advantage to changing
the map name in the .btd and editing the Index.mpi file is you can
use the CC3 map name and not have to rename the CC3 map files to
match the CC4 map being replaced. Details on doing this are given
later in this document.
Following
the map name there is one blank byte [00 boxed in black]. Then comes
the map briefing text [shaded in violet] for the US. .BTD files
must have at least one letter at the start of both briefings [the
German briefing is found by scrolling down to the exact middle of
the file] or the game will crash if the mini-map on the Strat screen
is clicked to preview the map. This crash problem will not affect
you as long as you edit an original .btd file since they all contain
briefing text.
X,Y
megatile coordinates
Megatiles
are the deployment 'squares' players set for Allied, Axis or neutral
control in the CC3 Scenario Editor. The original CC4 VL locations
can be modified to fit the CC3 map by changing the X & Y coordinates
in bytes 1 & 2 of a VLs data. Modifying VLs coordinates to fit
a CC3 map is made easier if you open the CC3 map in CC3's Scenario
Editor. Place up to 8 VLs where you want them, hit the PRINT SCREEN
button on you keyboard, quit CC3, open MS Paint [or similar] and
use CTRL+V to paste the screenshot of the CC3 Scenario Editor deploy
screen into the window. Crop the screenshot so only the map is pictured
[image3] and you can then easily switch between your hex editor
and the screenshot of the megatile grid while editing the .btd without
having to ALT+TAB in and out of the CC3 Scenario Editor.
Count
off the X,Y megatiles [as explained in the text below image3] to
determine the coordinates of the VL locations shown in red on the
screenshot. The CC3 Scenario editor only allows 8 VLs to be placed
so if you want 10 on your map in CC4 youll have to 'eyeball' the
last two.
Now
comes the fun part :) The X,Y coordinates given in the bytes 1 &
2 in every VL data sequence are in hexadecimal notation [also called
hex]. Hexadecimal is a variation of a base 16 numeric system. The
decimal [regular everyday base 10 numbers] coordinates you count
off on the new map in the CC3 Scenario Editor to determine a new
VL location must be 'converted' into hex. Any decent hex editor
will have a base converter tool that lets you type in either a hex
or decimal value to display the equivilent value in the other numbering
system.
image2
However,
since the highest decimal value you will need to convert to hex
when editing a .btd file is 42 [0-42 because there are 43 maps in
CC4], this decimal to hex conversion table
can be used to find the hex equivilents for decimal values.
Note
- since a byte is always 2 characters, hex values containing only
1 character are 'padded' with a 0 in front of that one character.
image3
image3
shows the Bastogne map in the CC3 Scenario Editor. The upper left
megatile of every map is the point of coordinate origin [0,0 in
decimal, 00,00 in hex]. The megatiles with red boxes are the actual
VL locations specified in Bastogne.btd. The X,Y megatile coordinates
are noted on image3 for each Bastogne.btd VL in both hex [the values
in bytes 1 & 2 of the VL data] and decimal [with the decimal
coordinates in brackets]. Bytes 1 & 2 [shaded in green and red
in image1 above] in the data for the first VL in Bastogne.btd are
00,0F. Using a base converter or the hex=dec list above note 00,0F
in hex = 0,15 in decimal.
To
better familiarize yourself with the X,Y coordinate system, starting
from the 0,0 megatile upper left, count how many megatiles it is
first across [the horizontal X decimal value] and then down [the
vertical Y decimal value] to the red box indicating the location
of the first VL in the Bastogne.btd.
Your
count should have been 0 megatiles across and 15 megatiles down.
If it helps, think of the X values as indicating which column of
megatiles the VL is in and the Y values as which row.
More
about road exit VLs
Assuming
Future's WFBocage map is going to replace the Bastogne map and its
intended to have only the 8 VLs indicated by the red boxed megatiles
on the CC3 Scenario Editor screenshot shown in image4 - The first
thing to keep in mind when editing a .btd is if you want the new
map to work in CC4 operations or campaigns you must include the
same number of road exit VLs, using the same map index number in
byte 30 of the road exit VL data sequences, that the original .btd
file had. The road exit VL names can be different than the original
exit VLs.
There
is a special class of road exit VLs on some maps in CC4. The special
road exit VLs are identified by the hex value FE in byte 30. These
do not serve to link maps on the strategic level but rather to facilitate
entry onto that map from 'outside' the strategic map. The maps with
this special class of VL are located around the perimeter of the
strategic map [Simmerath
Its
easy to identify road exit VLs in an original .btd file because
those VL names always start with 'to...Somehwere' and byte
30 will always be a map index number. As a rule, road exit VLs are
located on one of the four map edges but youll find you can 'cheat'
toward the center of the map with these. Keep in mind moving a VL
towards the interior of a map will affect the map entry deployment
'box' around that VL when you play. Experiment with road exit VL
locations to see how 'interior' road exit VL location affects deployment.
Its
logical, but not necessary that the road exit VLs on the new map
be arranged on the map perimeter in the same order they were on
the original map. For example - Assenois is the map due south of
Bastogne but the 'to Assenois' road exit could be located on the
north [top] side of WFBocage and the 'to Foy' exit VL could be on
the south side. While this would be confusing to the player, it
would still work to allow movement between these maps in the strategic
level.
image4
A
Practical Example
image1
image5
image5
indicates in red the edits that were made to the original Bastogne.btd
file [image1] to make the VL data conform to the VL locations and
names intended for the WF Bocage map as shown in image4.
Note
the data sequences for the last 2 VLs in the original Bastogne.btd
file were 'zeroed out' [deleted] by typing zeros over all their
data because only 8 VLs will be on the WF Bocage map instead of
the 10 that were on the original Bastogne map.
Note
also that the 'Wrecked House' VL that replaces Bastogne's 'The Train
Staion' VL is now worth 2 points [64 in hex], the 'Middle of the
Map' VL that replaces the 'Hotel de Ardennes' VL is worth 3 points
[C8 in hex] and all 6 road exit VLs are worth 1 point [32 in hex].
Particular
care must be taken to adjust byte 30 in the road exit VLs to maintain
the strategic movement linkage between the new Bastogne map and
the surrounding original CC4 maps. This can be seen in the image5
edits to byte 30 in the new 'to Marvie' [map index number 24] and
'to Neffe' [map index number 1D] data sequences. Remember
- it doesnt matter what the name of a road exit VL is. If a CC3
map has replaced the Neffe map for example, as long as map index
number in the 'to Neffe' exilt VL data in the Bastogne .btd file
is used it doesnt matter what VL name you use. If the new Neffe
map is Kursk1, the exit VL in the Bastogne.btd that links Neffe
could be named 'to Kursk1' as long as the Neffe map index number
is in byte 30 of the VL data.
Working
in the Hex Editor
The
image5 edits were made by placing the cursor immediately left of
the original hex values to be changed and simply typing in the new
values. The only exception to this is editing VL names. To edit
VL names place the cursor in the right hand "ascii" column,
again immediately left of the first letter to be changed, and type
in the new name.
Example
- The edit to the 'Train Station' VL name was made by placing the
cursor immediately left of the 'T' in 'Train Station' and typing
'Wrecked House'
Important
- if the new VL name is shorter than the old VL name, do not use
the space bar to space over the remaining letters of the old VL
name in the ascii column. Instead, you must reposition the cursor
in the middle column of hex data at the end of the new name and
use zeros to delete ['zero out'] the hex values for the remaining
letters of the old VL name.
The
ascii column of data is the text equivilent of the hex values in
the middle data column. [eg. in the ascii column, the capital 'M'
in the VL name Marvie corresponds to the hex value 4D at the beginning
of the same row in the middle data column. To delete the 'e' at
the end of Marvie, you would place the cursor immediately left of
the hex value 65 [ie. between the hex values 69 and 65] in the data
column of that row and type 00.
When
finished editing the .btd file it must be saved to the CC4/Maps
folder using the same name as the original .btd file.
Adding
multiple CC3 maps to CC4
Adding
more than one CC3 map to CC4 is simply a matter of repeating the
steps above for each new CC3 map.
Index#
- Map Name - [size in megatiles]
00-Hotton [14x14]
01-Stoumont [15x12]
02-LaGleize [24x13]
03-Stavelot [14x14]
04-Baugnez [13x13]
05-Smmrth [13x12]
06-Manhay [16x11]
07-Marche [17x17]
08-LaRoche [14x14]
09-BrqDFrtr [16x12]
0a-Vielsalm [14x12]
0b-StVith [15x17]
0c-Manschau [18x10]
0d-SchnEflW [16x11]
0e-SchnEflE [12x12]
0f-Udnbrth [14x14]
10-Losheim [12x12]
11-Frrrs [14x13]
12-Orthvll [13x16]
13-Hfflz [16x14]
14-Champs [14x12]
15-Foy [13x14]
16-Noville [15x15]
17-Clerf [13x13]
18-Dasburg [13x15]
19-StHubert [16x14]
1a-Chenogne [15x13]
1b-Snnchmps [13x11]
1c-Bastogne [19x21]
1d-Neffe [13x11]
1e-Margret [13x15]
1f-Lngvlly [13x10]
20-Weiler [13x12]
21-Morhet [16x11]
22-Clchmnt [14x12]
23-Assenois [13x16]
24-Marvie [12x12]
25-Wardin [12x10]
26-Wiltz [16x15]
27-Siegfied [15x16]
28-Mrtlng [13x12]
29-Eschsrsr [14x17]
2a-Echtrnch [14x13]