4b825dc642cb6eb9a060e54bf8d69288fbee4904ebd360ec63ec976c05699f3180e866b3f69e5472
 
 
1
#include "prototyp.h"
 
 
2
#include "avp_envinfo.h"
 
 
3
#include "gamedef.h"
 
 
4
#include <string.h>
 
 
5
 
 
 
6
const struct Map alien_episodes[MAX_NO_OF_ALIEN_EPISODES] =
 
 
7
{
 
 
8
    {
 
 
9
    "temple",
 
 
10
    "Episode I: Temple",
 
 
11
    },
 
 
12
 
 
 
13
    {
 
 
14
    "escape",
 
 
15
    "Episode II: Escape",
 
 
16
    },
 
 
17
 
 
 
18
    {
 
 
19
    "nost03",
 
 
20
    "Episode III: Ferarco",
 
 
21
    },
 
 
22
 
 
 
23
    {
 
 
24
    "stat101",
 
 
25
    "Episode IV: Gateway",
 
 
26
    },
 
 
27
 
 
 
28
    {
 
 
29
    "breakout",
 
 
30
    "Episode V: Earthbound",
 
 
31
    },
 
 
32
 
 
 
33
    {
 
 
34
    "invasion_a",
 
 
35
    "Bonus I: Invasion",
 
 
36
    },
 
 
37
 
 
 
38
    {
 
 
39
    "derelict_a",
 
 
40
    "Bonus II: Derelict",
 
 
41
    },
 
 
42
 
 
 
43
    {
 
 
44
    "sulaco_a",
 
 
45
    "Bonus III: Tyrargo",
 
 
46
    },
 
 
47
 
 
 
48
    {
 
 
49
    "caverns_a",
 
 
50
    "Bonus IV: Caverns",
 
 
51
    },
 
 
52
 
 
 
53
    {
 
 
54
    "furyall_a",
 
 
55
    "Bonus V: Fury 161"
 
 
56
    }
 
 
57
};
 
 
58
 
 
 
59
const struct Map marine_episodes[MAX_NO_OF_MARINE_EPISODES] =
 
 
60
{
 
 
61
    {
 
 
62
    "derelict",
 
 
63
    "Episode I: Derelict",
 
 
64
    },
 
 
65
 
 
 
66
    {
 
 
67
    "genshd1",
 
 
68
    "Episode II: Colony",
 
 
69
    },
 
 
70
 
 
 
71
    {
 
 
72
    "invasion",
 
 
73
    "Episode III: Invasion",
 
 
74
    },
 
 
75
 
 
 
76
    {
 
 
77
    "odobenus",
 
 
78
    "Episode IV: Orbital",
 
 
79
    },
 
 
80
 
 
 
81
    {
 
 
82
    "sulaco",
 
 
83
    "Episode V: Tyrargo",
 
 
84
    },
 
 
85
 
 
 
86
    {
 
 
87
    "hangar",
 
 
88
    "Episode VI: Hangar",
 
 
89
    },
 
 
90
 
 
 
91
    {
 
 
92
    "temple_m",
 
 
93
    "Bonus I: Temple",
 
 
94
    },
 
 
95
 
 
 
96
    {
 
 
97
    "vaults_m",
 
 
98
    "Bonus II: Vaults",
 
 
99
    },
 
 
100
 
 
 
101
    {
 
 
102
    "nost03_m",
 
 
103
    "Bonus III: Ferarco",
 
 
104
    },
 
 
105
 
 
 
106
    {
 
 
107
    "stat101_m",
 
 
108
    "Bonus IV: Gateway",
 
 
109
    },
 
 
110
 
 
 
111
    {
 
 
112
    "fall_m",
 
 
113
    "Bonus V: Waterfall",
 
 
114
    }
 
 
115
};
 
 
116
 
 
 
117
const struct Map predator_episodes[MAX_NO_OF_PREDATOR_EPISODES] =
 
 
118
{
 
 
119
    {
 
 
120
    "fall",
 
 
121
    "Episode I: Waterfall",
 
 
122
    },
 
 
123
 
 
 
124
    {
 
 
125
    "area52",
 
 
126
    "Episode II: Area 52",
 
 
127
    },
 
 
128
 
 
 
129
    {
 
 
130
    "vaults",
 
 
131
    "Episode III: Vaults",
 
 
132
    },
 
 
133
 
 
 
134
    {
 
 
135
    "furyall",
 
 
136
    "Episode IV: Fury 161",
 
 
137
    },
 
 
138
 
 
 
139
    {
 
 
140
    "caverns",
 
 
141
    "Episode V: Caverns",
 
 
142
    },
 
 
143
 
 
 
144
    {
 
 
145
    "battle",
 
 
146
    "Episode VI: Battle",
 
 
147
    },
 
 
148
 
 
 
149
    {
 
 
150
    "invasion_p",
 
 
151
    "Bonus I: Invasion",
 
 
152
    },
 
 
153
 
 
 
154
    {
 
 
155
    "escape_p",
 
 
156
    "Bonus II: Escape",
 
 
157
    },
 
 
158
 
 
 
159
    {
 
 
160
    "temple_p",
 
 
161
    "Bonus III: Temple",
 
 
162
    },
 
 
163
 
 
 
164
    {
 
 
165
    "breakout_p",
 
 
166
    "Bonus IV: Earthbound",
 
 
167
    },
 
 
168
 
 
 
169
    {
 
 
170
    "sulaco_p",
 
 
171
    "Bonus V: Tyrargo",
 
 
172
    }
 
 
173
};
 
 
174
 
 
 
175
const struct Map MultiplayerMaps[MAX_NO_OF_MULTIPLAYER_EPISODES] =
 
 
176
{
 
 
177
    {
 
 
178
    "e3demo",
 
 
179
    "Massacre",
 
 
180
    },
 
 
181
 
 
 
182
    {
 
 
183
    "statue",
 
 
184
    "Statue",
 
 
185
    },
 
 
186
 
 
 
187
    {
 
 
188
    "als-dm",
 
 
189
    "Sewer",
 
 
190
    },
 
 
191
 
 
 
192
    {
 
 
193
    "jockey",
 
 
194
    "Jockey",
 
 
195
    },
 
 
196
 
 
 
197
    {
 
 
198
    "hive",
 
 
199
    "Hive",
 
 
200
    },
 
 
201
 
 
 
202
    //multipack multiplayer levels
 
 
203
    {
 
 
204
    "leadworks",
 
 
205
    "Leadworks",
 
 
206
    },
 
 
207
 
 
 
208
    {
 
 
209
    "hadleyshope",
 
 
210
    "Hadley's Hope",
 
 
211
    },
 
 
212
 
 
 
213
    {
 
 
214
    "meat_factory",
 
 
215
    "Meat Factory",
 
 
216
    },
 
 
217
 
 
 
218
    {
 
 
219
    "nostromo",
 
 
220
    "Nostromo",
 
 
221
    },
 
 
222
 
 
 
223
    {
 
 
224
    "subway",
 
 
225
    "Subway",
 
 
226
    },
 
 
227
 
 
 
228
    {
 
 
229
    "elevator",
 
 
230
    "Elevator",
 
 
231
    },
 
 
232
 
 
 
233
    {
 
 
234
    "lab14",
 
 
235
    "Lab 14",
 
 
236
    },
 
 
237
 
 
 
238
    {
 
 
239
    "compound",
 
 
240
    "Compound",
 
 
241
    },
 
 
242
 
 
 
243
    {
 
 
244
    "office",
 
 
245
    "Office",
 
 
246
    },
 
 
247
};
 
 
248
 
 
 
249
const struct Map CoopMaps[MAX_NO_OF_COOPERATIVE_EPISODES] =
 
 
250
{
 
 
251
    {
 
 
252
    "kens-co-op",
 
 
253
    "Stranded",
 
 
254
    },
 
 
255
 
 
 
256
    {
 
 
257
    "trapped",
 
 
258
    "Trapped",
 
 
259
    },
 
 
260
 
 
 
261
    {
 
 
262
    "als-dm-coop",
 
 
263
    "Sewer",
 
 
264
    },
 
 
265
 
 
 
266
    {
 
 
267
    "jockeycoop",
 
 
268
    "Jockey",
 
 
269
    },
 
 
270
 
 
 
271
    {
 
 
272
    "hive_c",
 
 
273
    "Hive",
 
 
274
    },
 
 
275
 
 
 
276
    //multipack multiplayer cooperative levels
 
 
277
    {
 
 
278
    "leadworks_coop",
 
 
279
    "Leadworks",
 
 
280
    },
 
 
281
 
 
 
282
    {
 
 
283
    "hadleyshope_coop",
 
 
284
    "Hadley's Hope",
 
 
285
    },
 
 
286
 
 
 
287
    {
 
 
288
    "co-op_meat_factory",
 
 
289
    "Meat Factory",
 
 
290
    },
 
 
291
 
 
 
292
    {
 
 
293
    "nostromo_coop",
 
 
294
    "Nostromo",
 
 
295
    },
 
 
296
 
 
 
297
    {
 
 
298
    "subwaycoop",
 
 
299
    "Subway",
 
 
300
    },
 
 
301
 
 
 
302
    {
 
 
303
    "elevator_co-op",
 
 
304
    "Elevator",
 
 
305
    },
 
 
306
 
 
 
307
    {
 
 
308
    "lab14coop",
 
 
309
    "Lab 14",
 
 
310
    },
 
 
311
 
 
 
312
    {
 
 
313
    "compoundcoop",
 
 
314
    "Compound",
 
 
315
    }
 
 
316
};
 
 
317
 
 
 
318
void SetLevelToLoadForSinglePlayer(int episode)
 
 
319
{
 
 
320
    const char *filename = NULL;
 
 
321
    AvP.level = episode;
 
 
322
 
 
 
323
    switch(AvP.PlayerType)
 
 
324
    {
 
 
325
        case I_Alien:
 
 
326
            filename = alien_episodes[episode].filename;
 
 
327
        break;
 
 
328
        case I_Marine:
 
 
329
            filename = marine_episodes[episode].filename;
 
 
330
        break;
 
 
331
        case I_Predator:
 
 
332
            filename = predator_episodes[episode].filename;
 
 
333
    }
 
 
334
 
 
 
335
    strcpy(AvP.LevelName, filename);
 
 
336
}
 
 
337
 
 
 
338
void SetLevelToLoadForMultiplayer(int episode)
 
 
339
{
 
 
340
    strcpy(AvP.LevelName, MultiplayerMaps[episode].filename);
 
 
341
}
 
 
342
 
 
 
343
void SetLevelToLoadForCooperative(int episode)
 
 
344
{
 
 
345
    strcpy(AvP.LevelName, CoopMaps[episode].filename);
 
 
346
}
 
 
347
 
 
 
348
void SetLevelToLoadForCheatMode(int environment)
 
 
349
{
 
 
350
    //AvP.level = environment;
 
 
351
    //strcpy(AvP.LevelName, RifNamesForEnvironments[AvP.level]);
 
 
352
}
 
 
353
 
 
 
354
int NumberForCurrentLevel() 
 
 
355
{
 
 
356
    int i;
 
 
357
 
 
 
358
    for (i=0; i < MAX_NO_OF_MULTIPLAYER_EPISODES; i++)
 
 
359
    {
 
 
360
        if (!strcmp(AvP.LevelName, MultiplayerMaps[i].pretty_name)) 
 
 
361
            return i;
 
 
362
 
 
 
363
    }
 
 
364
 
 
 
365
    for (i=0; i < MAX_NO_OF_COOPERATIVE_EPISODES; i++)
 
 
366
    {
 
 
367
        if (!strcmp(AvP.LevelName, CoopMaps[i].pretty_name)) 
 
 
368
            return i;
 
 
369
    }
 
 
370
 
 
 
371
return -1;
 
 
372
}