Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
startup.c
Go to the documentation of this file.
1/*
2 * Game startup and main.
3 *
4 * Retail object 0x45B810-0x45CA4F (link order; see docs/ORDER.md).
5 */
6#include "game.h"
7
8extern unsigned int g_dwCannedSceneSnapshotEnd; /* 0x004961a4 */
9
10/* Function start: 0x45B810 */
12{
13 short black[3] = { 0, 0, 0 };
14 short entry;
15 unsigned char *colours;
16 unsigned char *paletteData;
17
18 /* As in WC1, the legacy modes treat the colour list from blue onwards as
19 * a byte array; the Win32 globals are four bytes apart. */
20 colours = &g_cBlueColour;
22 case 9:
23 case 13:
24 for (entry = 0; entry < 14u; entry++)
25 colours[entry] = g_abLegacyVideoModeColours[entry];
26 break;
27 case 0x13:
28 paletteData = FetchDiskPacketRetrying("brief.pal", 0, 0);
29 for (entry = 0; entry < 0x100; entry++)
30 SetPaletteEntryFromTriplet(paletteData + entry * 3, entry);
33 break;
34 }
35}
36
37/* Function start: 0x45B905 */
43
44/* Function start: 0x45B924 */
67
68#pragma function(strcat)
69/* Function start: 0x45B9D3 */
71{
72 int requiredBytes = 100000;
73 char campaignDigits[4];
74 FILE *memoryLogFile;
75 char packetName[13] = "stars.00";
76 int availableMemory;
77 int shipMemoryBytes;
78 short paletteResult;
79
86 printf("No ");
87 printf("Expanded Memory Detected.\n");
90 exit_squadron("Failed to load Origin-FX drivers");
93 EMStartUp();
96 availableMemory = (int)GetAvailableFarMemoryByType(4);
98 availableMemory = 0x7c0600;
102 if (g_nMinimumMemoryNoMusic + 0x1000 <
108 printf("Speech Enabled.\n");
109 }
110 }
111 }
114 memoryLogFile = fopen("mem.$$$", "w+");
115 LogMemoryStateToFile(memoryLogFile);
116 if (memoryLogFile != 0)
117 fclose(memoryLogFile);
120 g_nMinimumMemoryNoMusic = 0x42680;
121 }
126 }
127 shipMemoryBytes =
128 (int)g_nExpandedShipMemoryKb << 10;
129 if (g_nMusicDriverMode != 0 &&
130 g_nMusicDriverMode != 3) {
131 if (g_nMusicDriverMode == 1)
132 g_8_nMusicMemoryNeed = 0x1b800;
133 else if (g_nMusicDriverMode == 2)
134 g_8_nMusicMemoryNeed = 0x13800;
136 requiredBytes += g_8_nMusicMemoryNeed;
137 }
140 availableMemory = 0x7c0600;
141 if (availableMemory > requiredBytes) {
144 printf("Expanded Memory fully used.\n");
145 } else {
152 if (g_nMusicDriverMode == 1 ||
153 g_nMusicDriverMode == 2) {
162 printf("Full");
163 } else {
164 printf("Limited");
165 }
166 printf(" music/FX will play.");
167 }
168 }
170 LoadJoystickCalibrationFile(9, 9, 1, 1);
179 "Requested graphics display mode not available.");
182 paletteResult = InitializePostPaletteState();
183 if (g_nMusicDriverMode == 3)
184 SetMusicTickRateHook(0x1e00);
185 else
187 g_nFrameSkip = 1;
188 if (g_nMusicDriverMode != 0 &&
192 strcat(packetName,
193 itoa((int)g_nSelectedCampaignSlot,
194 campaignDigits, 10));
196 LoadPacketAllocated(packetName, 0);
197 if (g_nOriginDevUnlock != 0)
198 _unlink("logfile.txt");
199 if (g_nShowMemoryStatus != 0) {
200 _unlink("track0.txt");
201 _unlink("track1.txt");
202 _unlink("track2.txt");
203 _unlink("track3.txt");
204 _unlink("track4.txt");
205 _unlink("track5.txt");
206 _unlink("track6.txt");
207 _unlink("track7.txt");
208 _unlink("track8.txt");
209 _unlink("track9.txt");
210 }
211 (void)shipMemoryBytes;
212 (void)paletteResult;
213}
214
215/* The memory check above reports through exit_squadron with the shared
216 * message; its named parameter also keeps this unit's symbol-key numbering. */
217void exit_squadron(const char *msg, ...);
218
219/* Function start: 0x45BF30 */
221{
222 unsigned int highMemoryEnd;
223
228 highMemoryEnd = (unsigned int)g_wHighMemoryBlockBytes +
230 /* The DOS build shrank and reallocated block A until it ended inside the
231 * addressable window. The Win32 port reduced the test to a constant, so
232 * the retry body is compiled but never runs. */
233 while (0) {
239 (unsigned int)g_wHighMemoryBlockBytes);
242 highMemoryEnd = (unsigned int)g_wHighMemoryBlockBytes +
244 }
247 if (g_pHighMemoryBlockB == 0 ||
248 g_pHighMemoryBlockA == 0) {
252 } else {
254 }
255}
256
257/* Function start: 0x45C04B */
258/* Nothing in the shipped executable calls this. Releases the two blocks
259 * InitializeHighMemoryGraphicsBuffers reserves. */
267
268/* Function start: 0x45C088 */
289
290/* Function start: 0x45C128 */
307
308/* Function start: 0x45C1A1 */
309void initialize_direction_view_frame(short yaw, short pitch,
310 signed char frame)
311{
312 FixedVector right = { 0x100, 0, 0 };
313 FixedVector up = { 0, 0x100, 0 };
314 FixedVector forwardAxis = { 0, 0, 0x100 };
315
316 rotate_about_j(yaw, &right, &forwardAxis);
317 rotate_about_i(pitch, &up, &forwardAxis);
318 g_9_aDirectionLookRightVector[frame] = right;
320 g_2_aDirectionViewForwardAxisTable[frame] = forwardAxis;
321}
322
323/* Function start: 0x45C279 */
325{
326 signed char frameIndex;
327 signed char yawIndex;
328 SphericalVector direction = { 0x100, 0, 0 };
329 signed char pitchRing;
330
331 frameIndex = 0;
332 direction.yaw = 0;
333 direction.pitch = 90;
334 initialize_direction_view_frame(direction.yaw, direction.pitch,
335 frameIndex++);
336 for (pitchRing = 0; pitchRing < 5; pitchRing++) {
337 direction.pitch -= 30;
338 direction.yaw = 0;
339 for (yawIndex = 0; yawIndex < 12; yawIndex++) {
340 initialize_direction_view_frame(direction.yaw, direction.pitch,
341 frameIndex++);
342 direction.yaw += 30;
343 }
344 }
345 direction.pitch = -90;
346 direction.yaw = 0;
347 initialize_direction_view_frame(direction.yaw, direction.pitch,
348 frameIndex);
349}
350
351/* Function start: 0x45C35C */
353{
355 return;
357 4, "objects.vga") == 0)
358 return;
360 4, "objects.vga");
370 4, "cockpit.vga");
371}
372
373/* Function start: 0x45C3EF */
374/* Nothing in the shipped executable calls this; an empty sound-effects
375 * driver hook between the resource loader and music start-up. */
377{
378}
379
380/* Function start: 0x45C3FA */
382{
383 if (g_nMusicDriverMode != 0)
385}
386
387/* Function start: 0x45C419 */
389{
390 int resource;
391
392 FadeMusic(200);
394 for (resource = 0; resource < 0x42; resource++) {
395 if (g_acMusicResourcePresent[resource] != 0) {
396 if (g_nMusicDriverMode == 1) {
397 g_aTuneResources[resource].packet =
399 "music.r00", (short)resource, 4);
400 } else {
401 g_aTuneResources[resource].packet =
403 "music.a00", (short)resource, 4);
404 }
405 } else {
406 g_aTuneResources[resource].packet = 0;
407 }
408 if (g_aTuneResources[resource].packet == 0)
409 continue;
410 else
411 g_aTuneResources[resource].loaded = 1;
412 }
413 } else if (g_98_nMemConfiguration == 1) {
414 g_aLimitedMusicBuffers[0].buffer =
415 AllocateTaggedMemory(0x33d0, 0x10);
416 g_aLimitedMusicBuffers[0].state = -1;
417 g_aLimitedMusicBuffers[1].buffer =
418 AllocateTaggedMemory(0x33d0, 0x10);
419 g_aLimitedMusicBuffers[1].state = -1;
420 }
421}
422
423#pragma function(strcmp)
424/* Function start: 0x45C558 */
425void main(short argc, char **argv)
426{
427 short argumentIndex;
428 int campaignIsDigit;
429 int missionIsDigit;
430
435 for (argumentIndex = 0; argumentIndex < argc; argumentIndex++) {
436 if (strcmp("Origin", argv[argumentIndex]) == 0)
438
439 switch (argv[argumentIndex][0]) {
440 case '?':
441 printf("Version %s.\n", g_pszGameVersion);
442 case '+':
443 if (argv[argumentIndex][1] == 'w')
445 if (argv[argumentIndex][1] == 'l')
447 if (argv[argumentIndex][1] == 'e') {
450 (short)atoi(argv[argumentIndex] + 2);
451 }
452 break;
453 case '-':
454 if (argv[argumentIndex][1] == 'm')
456 if (argv[argumentIndex][1] == 'x')
458 if (argv[argumentIndex][1] == 't')
460 if (argv[argumentIndex][1] == 'f')
462 if (g_nOriginDevUnlock != 0) {
463 switch (argv[argumentIndex][1]) {
464 case 'k':
466 break;
467 case 'b':
469 break;
470 }
471 }
472 break;
473 case 'E':
474 case 'e':
475 if (g_nOriginDevUnlock != 0)
477 break;
478 case 'T':
479 case 't':
480 if (g_nOriginDevUnlock != 0) {
481 missionIsDigit = isdigit(argv[argumentIndex][1]);
482 if (missionIsDigit != 0) {
484 (short)atoi(argv[argumentIndex] + 1);
485 } else {
486 g_stDirectMissionSelection.mission = (short)(
487 toupper(argv[argumentIndex][1]) - 'A');
488 }
489 if (g_stDirectMissionSelection.mission > 3)
490 g_stDirectMissionSelection.mission = 0;
492 }
493 break;
494 case 'V':
495 case 'v':
496 if (g_nOriginDevUnlock != 0) {
498 (short)atoi(argv[argumentIndex] + 1);
500 }
501 break;
502 case 'Z':
503 case 'z':
504 campaignIsDigit = isdigit(argv[argumentIndex][1]);
505 if (campaignIsDigit != 0) {
507 (short)(argv[argumentIndex][1] - '0');
508 } else {
510 }
511 break;
512 case 'R':
513 case 'r':
514 break;
515 case 'X':
516 case 'x':
519 (short)atoi(argv[argumentIndex] + 1);
520 break;
521 case 'A':
522 case 'a':
523 break;
524 case 'P':
525 case 'p':
526 break;
527 case 'C':
528 case 'c':
531 (short)(argv[argumentIndex][1] - '0');
533 (short)(argv[argumentIndex][2] - '0');
534 break;
535 }
536 }
537}
538
539/* This unit's initialized data, after its functions so that it does not
540 * move the functions' symbol keys. The colour list matches WC1's (blue,
541 * yellow, red, dark green, primary text, orange, dark blue, ...); WC2 never
542 * reads its dark blue or brown entries. */
543short g_bRewritePacketExtensions = 0; /* 0x0049cb48 */
544unsigned char g_cSecondaryViewBufferColour = 0; /* 0x0049cb4c */
545unsigned char g_bPrimaryViewBufferColour = 15; /* 0x0049cb50 */
546unsigned char g_cBlueColour = 0x25; /* 0x0049cb54 */
547unsigned char g_cYellowColour = 0x42; /* 0x0049cb58 */
548unsigned char g_cRedColour = 0x47; /* 0x0049cb5c */
549unsigned char g_cDarkGreenColour = 0x5d; /* 0x0049cb60 */
550unsigned char g_ucPrimaryTextColour = 0x5b; /* 0x0049cb64 */
551unsigned char g_ucHostileCapitalScannerColour = 0x46; /* 0x0049cb68 */
552unsigned char g_cDarkBlueColour = 0x27; /* 0x0049cb6c */
553unsigned char g_ucHomeCarrierScannerColour = 0xa9; /* 0x0049cb70 */
554unsigned char g_ucPlayerNavLabelColour = 0xa5; /* 0x0049cb74 */
555unsigned char g_ucNavObjectiveMarkerColour = 0xb6; /* 0x0049cb78 */
556unsigned char g_ucDefaultTextColour = 0x5c; /* 0x0049cb7c */
557unsigned char g_cBrownColour = 0xe8; /* 0x0049cb80 */
558unsigned char g_ucAsteroidNavMarkerColour = 0xf5; /* 0x0049cb84 */
559unsigned char g_cPrimaryViewBufferColour = 0xf8; /* 0x0049cb88 */
560unsigned char g_abLegacyVideoModeColours[14] = {
561 9, 14, 4, 2, 10, 12, 15, 8, 7, 5, 2, 6, 7, 0
562}; /* 0x0049cb90 */
563char g_szInputCursorPacketName[12] = "arrow.vga"; /* 0x0049cba0 */
564short g_nExpandedShipMemoryKb = 0; /* 0x0049cbac */
565short g_bOriginFxDriverActive = 0; /* 0x0049cbb0 */
567 "You do not have enough memory to play Wing Commander 2.\n"
568 "Refer to your reference guide for assistance."; /* 0x0049cbb8 */
569int g_nMinimumMemoryNoMusic = 0x43238; /* 0x0049cc20 */
570int g_nMinimumMemoryFullMusic = 0x49bb0; /* 0x0049cc24 */
571int g_nMinimumMemoryAlternate = 0x43238; /* 0x0049cc28 */
572short g_bSpeechResourcesEnabled = 0; /* 0x0049cc2c */
573signed char g_acMusicResourcePresent[66] = {
574 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
575 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
577 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
578 0, 0
579}; /* 0x0049cc30 */
580short g_bDirectCampaignSelection = 0; /* 0x0049cc74 */
581short g_bSkipCampaignScenes = 0; /* 0x0049cc78 */
582short g_bPumpMessagesDuringLoad = 0; /* 0x0049cc7c */
583int g_nUnusedStartupWord = 0; /* 0x0049cc80 */
584short g_bMemoryAdjustmentEnabled = 0; /* 0x0049cc84 */
585
586/* Linker commons defined here. LINK lays a unit's commons out by the
587 * identifiers' hash keys, so these spellings follow the original addresses. */
588int g_98_nMemConfiguration; /* 0x005c8dc8 */
589int g_8_nMusicMemoryNeed; /* 0x005c8dcc */
590unsigned int g_dwInitialSpareMemory; /* 0x005c8dd0 */
591int g_3_nUnusedStartupValue; /* 0x005c8dd4 */ /* never referenced */
592short g_3_nVoiceBlasterIrqSetting; /* 0x005c8dd8 */
593short g_5_nStorageAdjustmentKbValue; /* 0x005c8dda */
596int g_nAvailableGameMemoryNumber; /* 0x005c8de0 */
597int g_11_nMissionResourceBudget; /* 0x005c8de4 */
598short g_bSpeechEnabledFlag; /* 0x005c8de8 */
void(__cdecl *g_pIxFree)(void *)
void FxDriverInitHook(void)
Definition startup.c:376
int ConfigureInputPump(int slot, void(*pump)(void))
Definition eventmgr.c:2112
short InitializeSoundBlaster(short port, short irq)
Definition speech.c:205
void SetInputViewport(Viewport *viewport)
Definition eventmgr.c:2093
void PollJoystickButtonEvents(void)
Definition input.c:74
void initialize_direction_view_frames(void)
Definition startup.c:324
void FadeMusic(short duration)
Definition music.c:75
short LoadInputCursorShape(const char *filename, short section, short flags)
Definition eventmgr.c:2120
short LogMemoryUsage(void)
Definition main.c:24
void * LoadPacketAllocated(char *fileName, short section)
Definition disk.c:157
void * AllocateDefaultMemory(unsigned int size)
Definition eventmgr.c:1465
void main(short argc, char **argv)
Definition startup.c:425
void RewritePacketFilenameForInstalledData(char *fileName)
Definition disk.c:126
short InitializePostPaletteState(void)
Definition eventmgr.c:499
void rotate_about_i(short angle, FixedVector *j, FixedVector *k)
Definition geom.c:393
void InitializeTextContextFromFont(TextContext *context, short fontIndex, unsigned char colour, signed char background)
Definition disk.c:254
void LogMemoryStateToFile(FILE *file)
Definition gameflow.c:132
void StopMusicStream(void)
Definition music.c:14
void SetMusicTickRateHook(short period)
Definition eventmgr.c:2214
short LoadShapeSet(PacketResourceDescriptor *resources, short flags, char *defaultFileName)
Definition fltsetup.c:15
void SetTextContext(TextContext *context)
Definition eventmgr.c:179
unsigned int GetLargestFreeMemoryBlockByType(short memoryType)
Definition memapi.c:139
void ReportFatalErrorCode(const char *errorCode)
Definition message.c:29
void InitializeGameTextContexts(void)
Definition startup.c:269
void SetFrameTimerPeriodDirect(short p)
Definition eventmgr.c:1418
unsigned short InitializeDIBScreenViewport(Viewport *viewport, unsigned short colour)
Definition screen.c:9
void LoadOriginFxDrivers(void)
Definition startup.c:70
void * AllocateTaggedMemory(unsigned int size, short flags)
Definition memapi.c:92
void * FetchDiskPacketRetrying(char *fileName, short section, short flags)
Definition disk.c:187
void InitializeMusicResources(void)
Definition startup.c:388
void StopMusicIfDriverActive(void)
Definition startup.c:381
void SetPaletteEntryFromTriplet(const unsigned char *triplet, short index)
Definition eventmgr.c:2202
unsigned short IsSoundHardwarePresent(short device)
Definition memapi.c:17
short InitializeInputManagerMemory(short eventQueueSize)
Definition eventmgr.c:512
void EMStartUp(void)
Definition startup.c:45
short LoadGraphicsDriver(short rewritePacketExtensions)
Definition grdriver.c:10
void ResetGameTextContexts(void)
Definition startup.c:291
void ResetCockpitPaletteEntries(void)
Definition fltsetup.c:76
void InitializeHighMemoryGraphicsBuffers(void)
Definition startup.c:220
void LoadGamePaletteFile(void)
Definition startup.c:11
short LoadJoystickCalibrationFile(short horizontalRange, short verticalRange, short horizontalDeadZone, short verticalDeadZone)
Definition joycal.c:15
short QueryCurrentGraphicsMode(void)
Definition getmode.c:9
short InitializeMouseCursorDepth()
Definition eventmgr.c:1022
void ConfigureDefaultSpacePalette(short mode)
Definition palalloc.c:11
void LoadSpaceflightResources(void)
Definition startup.c:352
unsigned int GetAvailableFarMemoryByType(short memoryType)
Definition memapi.c:132
void SaveGamePalette(void)
Definition palette.c:9
void exit_squadron(const char *msg,...)
Definition message.c:44
void initialize_direction_view_frame(short yaw, short pitch, signed char frame)
Definition startup.c:309
void MessagePumpHook(int mode)
Definition memapi.c:24
void FreePacketAndClear(void *slot, unsigned short releaseFlags)
Definition disk.c:45
void InitializeInputDriverHook(void)
Definition eventmgr.c:2138
void FinalizeInputDriverHook(void)
Definition eventmgr.c:2144
void EMShutDown(void)
Definition startup.c:38
DwordPtr IdentityDword(DwordPtr value)
Definition eventmgr.c:1491
void rotate_about_j(short angle, FixedVector *i, FixedVector *k)
Definition geom.c:413
void ShutdownEventManager(void)
Definition eventmgr.c:521
Shared Win32 declarations, types and library interfaces.
unsigned int DwordPtr
Definition game.h:45
#define CANNED_SCENE_SNAPSHOT_BYTES
Definition game.h:61
short g_nShowMemoryStatus
Definition main.c:1948
PacketResourceDescriptor g_aCommon3SpaceResources[11]
Definition fltsetup.c:1001
signed char g_acMusicResourcePresent[66]
Definition startup.c:573
int g_nMinimumMemoryFullMusic
Definition startup.c:570
short g_nFrameSkip
Definition main.c:1940
short g_bSpeechResourcesEnabled
Definition startup.c:572
short g_bPumpMessagesDuringLoad
Definition startup.c:582
short g_78_bHighMemoryBuffersSetState
Definition cockpt.c:3839
short g_bSkipCampaignScenes
Definition startup.c:581
void(*) g_59_pfnEventShutdownCallback(void)
Definition eventmgr.c:2558
short g_bSpeechEnabledFlag
Definition startup.c:598
short g_86_nCurrentInputTickInterval
Definition eventmgr.c:2536
unsigned int g_dwInitialSpareMemory
Definition startup.c:590
TextContext g_168_stFlightTextContext
Definition cockpt.c:3832
short g_bDirectCampaignSelection
Definition startup.c:580
unsigned char g_cYellowColour
Definition startup.c:547
signed char g_bAutopilotDebugEnabled
Definition gameflow.c:13
DwordPtr g_dwHighMemoryParagraphValue
Definition taperec.c:327
ObjectTypeData g_aObjectTypeData[OBJECT_DATA_COUNT]
Definition campglob.c:310
PacketResourceDescriptor g_aMissionResourceDescriptors[8]
Definition fltsetup.c:1014
short g_5_nStorageAdjustmentKbValue
Definition startup.c:593
FixedVector g_137_aDirectionViewUpVectorArray[DIRECTION_VIEW_COUNT]
Definition cockpt.c:3837
int g_98_nMemConfiguration
Definition startup.c:588
FixedVector g_2_aDirectionViewForwardAxisTable[DIRECTION_VIEW_COUNT]
Definition cockpt.c:3838
int g_11_nMissionResourceBudget
Definition startup.c:597
short g_nSelectedCampaignSlot
Definition campaign.c:354
short g_3_nVoiceBlasterIrqSetting
Definition startup.c:592
int g_nMinimumMemoryNoMusic
Definition startup.c:569
short g_3_nAudioBlasterPortSettingValue
Definition startup.c:595
unsigned char g_cBlueColour
Definition startup.c:546
char g_6_szDefaultTextBufferText[0xc8]
Definition message.c:228
short g_nDirectSeries
Definition main.c:1954
short g_bPlayerCollisionEnabled
Definition main.c:1947
signed char g_cKeypadMouseSpeedValue
Definition eventmgr.c:2524
unsigned char g_26_bMouseCursorEnabled
Definition eventmgr.c:2506
char g_szNotEnoughMemoryMessage[]
Definition startup.c:566
FixedVector g_9_aDirectionLookRightVector[DIRECTION_VIEW_COUNT]
Definition cockpt.c:3836
unsigned char g_cSecondaryViewBufferColour
Definition startup.c:544
short g_nSpacePaletteFadeMode
Definition palalloc.c:8
short g_nMusicDriverMode
Definition music.c:522
short g_bOriginFxDriverActive
Definition startup.c:565
int g_nMinimumMemoryAlternate
Definition startup.c:571
unsigned short g_wHighMemoryBlockBytes
Definition taperec.c:9
short g_bRewritePacketExtensions
Definition startup.c:543
signed char g_acExpectedGraphicsModes[5]
Definition joycal.c:10
unsigned char g_ucHomeCarrierScannerColour
Definition startup.c:553
unsigned char g_88_nEventRepeatDelayState
Definition eventmgr.c:2500
short g_18_bEventManagerInitializationState
Definition eventmgr.c:2495
unsigned char g_cRedColour
Definition startup.c:548
Viewport g_27_stViewScratchInfo
Definition cockpt.c:3841
unsigned char g_ucAsteroidNavMarkerColour
Definition startup.c:558
unsigned char g_ucPrimaryTextColour
Definition startup.c:550
int g_8_nMusicMemoryNeed
Definition startup.c:589
short g_14_nCurrentGraphicsModeDetectedValue
Definition eventmgr.c:2498
unsigned char g_bPrimaryViewBufferColour
Definition startup.c:545
Viewport g_2_stModalSourceWindow
Definition message.c:231
unsigned char g_abLegacyVideoModeColours[14]
Definition startup.c:560
unsigned char g_cPrimaryViewBufferColour
Definition startup.c:559
unsigned char g_ucDefaultTextColour
Definition startup.c:556
unsigned char g_ucHostileCapitalScannerColour
Definition startup.c:551
short g_bExpandedShipGraphicsEnabled
Definition viewrect.c:49
short g_nExpandedShipMemoryKb
Definition startup.c:564
short g_19_bStoredHighMemoryEnabled
Definition eventmgr.c:2505
unsigned char g_ucNavObjectiveMarkerColour
Definition startup.c:555
short g_bPlayerDamageEnabled
Definition main.c:1946
unsigned char g_cDarkGreenColour
Definition startup.c:549
Viewport g_101_stScrViewInfo
Definition cockpt.c:3831
short g_nSelectedStartingCampaign
Definition campaign.c:353
signed char g_bRoomTransitionAnimationEnabled
Definition gameflow.c:14
PacketResourceDescriptor g_aHighMemoryCockpitResources[5]
Definition fltsetup.c:1024
MusicResource g_aTuneResources[66]
Definition music.c:608
char * g_pszGameVersion
Definition version.c:10
void * g_pHighMemoryBlockA
Definition taperec.c:8
short g_2_bPumpMessagesWhileLoadingState
Definition startup.c:594
void * g_13_pStartupStellarPacket
Definition cockpt.c:3827
short g_nOriginDevUnlock
Definition main.c:1944
TextContext g_3_stDefaultStringContext
Definition message.c:239
void * g_pHighMemoryBlockB
Definition taperec.c:10
volatile short g_nNearHeapMaxDescriptors
Definition nearheap.c:10
int g_nAvailableGameMemoryNumber
Definition startup.c:596
short g_nInputDoubleClickInterval
Definition input.c:8
char g_szInputCursorPacketName[12]
Definition startup.c:563
unsigned char g_ucPlayerNavLabelColour
Definition startup.c:554
short g_bMemoryAdjustmentEnabled
Definition startup.c:584
struct DirectMissionSelection g_stDirectMissionSelection
Definition main.c:1953
struct LimitedMusicBuffer g_aLimitedMusicBuffers[2]
Definition music.c:527
unsigned int g_dwCannedSceneSnapshotEnd
Definition viewrect.c:200
unsigned char g_cBrownColour
Definition startup.c:557
int g_nUnusedStartupWord
Definition startup.c:583
unsigned char g_cDarkBlueColour
Definition startup.c:552
void ReleaseHighMemoryGraphicsBuffers(void)
Definition startup.c:260
int g_3_nUnusedStartupValue
Definition startup.c:591
void * packet
Definition game_data.h:692
unsigned char * shapeSet
Definition game_data.h:392
char * text
Definition game.h:290
signed char alignment
Definition game.h:292
Viewport * viewport
Definition game.h:284