File: bidd1_data.c

package info (click to toggle)
crimson 0.5.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,968 kB
  • sloc: cpp: 21,862; ansic: 1,722; xml: 1,625; sh: 994; makefile: 277
file content (211 lines) | stat: -rw-r--r-- 8,437 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
/*
bi2cf - A map converter for Crimson Fields
copyright (c) 2002 by Florian Dietrich

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 Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the 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  02111-1307  USA
*/

//-----------------------------------------------------------------------------
// bidd1_data.c:
// this file contains all the data necessary to convert BI DATA1 maps.
//
// If no appropriate tile is available in CF a similar one is used.
// Same goes for units, though some are completely left out for now.
//-----------------------------------------------------------------------------

#include "bi2cf.h"

const unsigned short bidd1_rawtiles[0x68] = {
  362, // 0x00 - OK deep water
  361, // 0x01 - OK water
  360, // 0x02 - OK shallow water
   30, // 0x03 - OK plains
   38, // 0x04 - OK plains with tiny dunes
   34, // 0x05 - OK rocky plains
   35, // 0x06 - OK rocky plains
   65, // 0x07 - OK plains with small dunes
   66, // 0x08 - OK plains with small dunes
   68, // 0x09 - OK long dunes (southwest)
   69, // 0x0A - OK long dunes (northeast)
   71, // 0x0B - OK big dunes (north)
   73, // 0x0C - OK big dunes (south)
   70, // 0x0D - OK big dunes (west)
   72, // 0x0E - OK big dunes (east)
   77, // 0x0F - OK very few plants
   78, // 0x10 - OK few plants
   79, // 0x11 - OK many plants
   80, // 0x12 - OK many many plants (forest)
  363, // 0x13 - OK cliff
  364, // 0x14 - OK cliffs
  308, // 0x15 - OK lake (north exit)
  117, // 0x16 - OK mountain
  117, // 0x17 - mountains (northeast-southwest end)
  117, // 0x18 - mountains (southwest-northeast end)
  296, // 0x19 - OK road (north-south) over river (southwest-northeast)
  297, // 0x1A - OK road (northwest-southeast) over river (north-south)
  117, // 0x1B - mountains (southwest-northeast)
  208, // 0x1C - OK road bridge (north-south)
  209, // 0x1D - OK road bridge (northwest-southeast)
  210, // 0x1E - OK road bridge (southwest-northeast)
  368, // 0x1F - OK docks with crane (water east)
  367, // 0x20 - OK docks (water west)
  370, // 0x21 - OK jetty
  176, // 0x22 - OK road (north-south)
  177, // 0x23 - OK road (northwest-southeast)
  178, // 0x24 - OK road (southwest-northeast)
  180, // 0x25 - OK road (north-southeast)
  179, // 0x26 - OK road (southwest-north)
  181, // 0x27 - OK road (northwest-south)
  182, // 0x28 - OK road (south-northeast)
  184, // 0x29 - OK road (southwest-southeast)
  183, // 0x2A - OK road (northwest-northeast)
  198, // 0x2B - OK road junction (northwest-southeast-southwest)
  196, // 0x2C - OK road junction (northeast-southwest-northwest)
  195, // 0x2D - OK road junction (northwest-southeast-northeast)
  189, // 0x2E - OK road junction (south-north-northwest)
  190, // 0x2F - OK road junction (south-north-northeast)
  187, // 0x30 - OK road junction (north-south-southwest)
  201, // 0x31 - OK road crossing (southwest-northeast-northwest-southeast)
  309, // 0x32 - OK river (north-south)
  311, // 0x33 - OK river (southwest-northeast)
  310, // 0x34 - OK river (northwest-southeast)
  312, // 0x35 - OK river (southwest-north)
  313, // 0x36 - OK river (north-southeast)
  314, // 0x37 - OK river (south-northwest)
  315, // 0x38 - OK river (northeast-south)
  316, // 0x39 - OK river (northwest-northeast)
  317, // 0x3A - OK river (southwest-southeast)
  319, // 0x3B - OK river junction (south-northwest-northeast)
  318, // 0x3C - OK river junction (north-southwest-southeast)
  364, // 0x3D - reef (northwest-southeast)
  365, // 0x3E - reef (southwest-northeast)
    0, // 0x3F - OK headquarters (north entrance) red player 1
    1, // 0x40 - OK headquarters (north entrance) yellow player 2
   25, // 0x41 - headquarters (center)
   24, // 0x42 - headquarters (south)
   22, // 0x43 - headquarters (northwest)
   22, // 0x44 - headquarters (southwest)
   23, // 0x45 - headquarters (northeast)
   23, // 0x46 - headquarters (southeast)
   11, // 0x47 - OK depot (north entrance) neutral
    9, // 0x48 - OK depot (north entrance) red player 1
   10, // 0x49 - OK depot (north entrance) yellow player 2
   24, // 0x4A - OK depot (south)
   22, // 0x4B - OK depot (west)
   23, // 0x4C - OK depot (east)
   26, // 0x4D - OK unfinished depot (north)
   29, // 0x4E - OK unfinished depot (south)
   27, // 0x4F - OK unfinished depot (west)
   28, // 0x50 - OK unfinished depot (east)
   17, // 0x51 - OK factory (east entrance) neutral
   15, // 0x52 - OK factory (east entrance) red player 1
   16, // 0x53 - OK factory (east antrance) red player 2
   21, // 0x54 - factory (north)
   24, // 0x55 - factory (south)
   22, // 0x56 - factory (west)
  340, // 0x57 - OK river (northwest-southeast end)
  337, // 0x58 - OK river (southeast-northwest end)
   30, // 0x59 - medium floes
   30, // 0x5A - big floes
   30, // 0x5B - many small floes
   30, // 0x5C - ice
   38, // 0x5D - ice with small snow drifts
   38, // 0x5E - ice medium snow drifts
   65, // 0x5F - ice with snow hill
   30, // 0x60 - snow with dirt
  999, // 0x61 - "forbidden" tile
  366, // 0x62 - OK docks (water east)
  341, // 0x63 - OK river (north-south) with tiny bridge (east-west)
  342, // 0x64 - OK river (northwest-southeast) with tiny bridge (southwest-northeast)
  361, // 0x65 - shore (land west)
  361, // 0x66 - shore (land east)
  186};// 0x67 - OK road junction (south-northeast-northwest)

// strings to use for unit conversions
const unsigned char bidd1_units[27][20] = {
  "Anti-Aircraft Guns",  // 0x00 = SPHINX
  "Infantry",            // 0x01 = DEMON
  "Medium Tanks",        // 0x02 = GLADIATOR
  "Heavy Tanks",         // 0x03 = CRUSADER
  "Anti-Aircraft Tanks", // 0x04 = BLITZ
  "Scouts",              // 0x05 = BUSTER
  "Personnel Carriers",  // 0x06 = PROVIDER
  "Artillery",           // 0x07 = ANGEL
  "Personnel Carriers",  // 0x08 = MERLIN
  "Interceptors",        // 0x09 = MOSQUITO
  "Bomber Wing",         // 0x0A = RAVEN
  "Gunships",            // 0x0B = FIREBIRD
  "Transport Planes",    // 0x0C = GIANT
  "Torpedo Boats",       // 0x0D = MARAUDER
  "Hovercraft",          // 0x0E = INVADER
  "Troopships",          // 0x0F = AMAZON
  "",                    // 0x10 = AMAZON
  "Submarines",          // 0x11 = BARRACUDA
  "",                    // 0x12 = BARRACUDA
  "Aircraft Carriers",   // 0x13 = PEGASUS
  "",                    // 0x14 = PEGASUS
  "Patrol Boats",        // 0x15 = FORTRESS
  "",                    // 0x16 = FORTRESS
  "Patrol Boats",        // 0x17 = BUCCANEER
  "Medium Tanks",        // 0x18 = SCORPION
  "",                    // 0x19 = ALDINIUM
  "Mines"};              // 0x1A = BRICK

// this is for identifying which units are transporters
const unsigned char bidd1_transport[27] = {
0, // 0x00+0x01 = SPHINX
0, // 0x02+0x03 = DEMON
0, // 0x04+0x05 = GLADIATOR
0, // 0x06+0x07 = CRUSADER
0, // 0x08+0x09 = BLITZ
0, // 0x0A+0x0B = BUSTER
1, // 0x0C+0x0D = PROVIDER
0, // 0x0E+0x0F = ANGEL
0, // 0x10+0x11 = MERLIN
0, // 0x12+0x13 = MOSQUITO
0, // 0x14+0x15 = RAVEN
0, // 0x16+0x17 = FIREBIRD
1, // 0x18+0x19 = GIANT
0, // 0x1A+0x1B = MARAUDER
1, // 0x1C+0x1D = INVADER
1, // 0x1E+0x1F = AMAZON
0, // 0x20+0x21 = AMAZON
0, // 0x22+0x23 = BARRACUDA
0, // 0x24+0x25 = BARRACUDA
1, // 0x26+0x27 = PEGASUS
0, // 0x28+0x29 = PEGASUS
0, // 0x2A+0x2B = FORTRESS
0, // 0x2C+0x2D = FORTRESS
1, // 0x2E+0x2F = BUCCANEER
0, // 0x30+0x31 = SCORPION
0, // 0x32+0x33 = ALDINIUM
0};// 0x34+0x35 = BRICK


// this is for finding out which buildings are which.
const unsigned char bidd1_buildings[8] = {
0x3F,  // Headquarters Player 1
0x40,  // Headquarters Player 2
0x51,  // Factory Neutral
0x52,  // Factory Player 1
0x53,  // Factory Player 2
0x47,  // Depot Neutral
0x48,  // Depot Player 1
0x49}; // Depot player 2

// all the above in a struct, along with map type and number of units
const tconvdata bidd1_convdata =
{ MAP_BIDD1, bidd1_units, bidd1_rawtiles, bidd1_buildings, bidd1_transport, 27 };