Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
loadmisn.c
Go to the documentation of this file.
1/*
2 * Loads mission data.
3 *
4 * Retail object 0x4401C0-0x44048F (link order; see docs/ORDER.md).
5 */
6#include "game.h"
7
8#pragma function(strcat)
9/* Function start: 0x4401C0 */
10void LoadMissionData(short series, short mission)
11{
12 unsigned char *packet;
13 unsigned char *source;
14 int position;
15 char campaignSlot[4];
16 char fileName[13] = "module.00";
17
18 strcat(fileName,
20 campaignSlot, 10));
21
22 packet = FetchDiskPacketRetrying(fileName, 0, 0);
23 position = series * 0x60;
24 position += mission * 0x18;
25 source = packet + position;
27 ReleasePacketHandle(packet);
28
29 packet = FetchDiskPacketRetrying(fileName, 1, 0);
30 position = series * 0xfc8;
31 position += mission * 0x3f2;
32 source = packet + position;
33 DosMemmove(g_aMissionNavPoints, source, 0x3f2);
34 ReleasePacketHandle(packet);
35
36 packet = FetchDiskPacketRetrying(fileName, 2, 0);
37 position = series * 0x800;
38 position += mission * 0x200;
39 source = packet + position;
41 ReleasePacketHandle(packet);
42
43 packet = FetchDiskPacketRetrying(fileName, 3, 0);
44 position = series * 0xf00;
45 position += mission * 0x3c0;
46 source = packet + position;
47 DosMemmove(g_aMissionShips, source, 0x3c0);
48 ReleasePacketHandle(packet);
49
50 packet = FetchDiskPacketRetrying(fileName, 4, 0);
51 position = series * 0xa0;
52 position += mission * 0x28;
53 source = packet + position;
55 ReleasePacketHandle(packet);
56
57 packet = FetchDiskPacketRetrying(fileName, 5, 0);
58 position = series * 0x28;
59 source = packet + position;
60 DosMemmove(g_abSeriesAuxData, source, 0x28);
61 ReleasePacketHandle(packet);
62
63 packet = FetchDiskPacketRetrying(fileName, 6, 0);
64 position = series * 0x378;
65 position += mission * 0xde;
66 source = packet + position;
68 ReleasePacketHandle(packet);
69}
void LoadMissionData(short series, short mission)
Definition loadmisn.c:10
void DosMemmove(void *dst, const void *src, unsigned short n)
void * FetchDiskPacketRetrying(char *fileName, short section, short flags)
Definition disk.c:187
void ReleasePacketHandle(void *handle)
Definition memapi.c:108
Shared Win32 declarations, types and library interfaces.
unsigned char g_abMissionBriefingData[0xde]
Definition hotspot.c:256
MissionNavPoint g_aMissionNavPoints[MISSION_NAV_POINT_COUNT]
Definition hotspot.c:237
short g_nSelectedCampaignSlot
Definition campaign.c:354
MissionObjectiveSource g_69_aMissionObjectiveSources[8]
Definition hotspot.c:252
MissionShipRecord g_aMissionShips[MISSION_SHIP_COUNT]
Definition hotspot.c:240
unsigned char g_abSeriesAuxData[0x28]
Definition hotspot.c:251
unsigned char g_5_abMissionAuxBlockBytes[0x28]
Definition hotspot.c:250
MissionHeader g_13_stMissionHeaderBlock
Definition hotspot.c:253