13 short black[3] = { 0, 0, 0 };
15 unsigned char *colours;
16 unsigned char *paletteData;
24 for (entry = 0; entry < 14u; entry++)
29 for (entry = 0; entry < 0x100; entry++)
68#pragma function(strcat)
72 int requiredBytes = 100000;
73 char campaignDigits[4];
75 char packetName[13] =
"stars.00";
87 printf(
"Expanded Memory Detected.\n");
98 availableMemory = 0x7c0600;
108 printf(
"Speech Enabled.\n");
114 memoryLogFile = fopen(
"mem.$$$",
"w+");
116 if (memoryLogFile != 0)
117 fclose(memoryLogFile);
140 availableMemory = 0x7c0600;
141 if (availableMemory > requiredBytes) {
144 printf(
"Expanded Memory fully used.\n");
166 printf(
" music/FX will play.");
179 "Requested graphics display mode not available.");
194 campaignDigits, 10));
198 _unlink(
"logfile.txt");
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");
211 (
void)shipMemoryBytes;
222 unsigned int highMemoryEnd;
326 signed char frameIndex;
327 signed char yawIndex;
329 signed char pitchRing;
333 direction.
pitch = 90;
336 for (pitchRing = 0; pitchRing < 5; pitchRing++) {
337 direction.
pitch -= 30;
339 for (yawIndex = 0; yawIndex < 12; yawIndex++) {
345 direction.
pitch = -90;
357 4,
"objects.vga") == 0)
394 for (resource = 0; resource < 0x42; resource++) {
399 "music.r00", (
short)resource, 4);
403 "music.a00", (
short)resource, 4);
423#pragma function(strcmp)
425void main(
short argc,
char **argv)
435 for (argumentIndex = 0; argumentIndex < argc; argumentIndex++) {
436 if (strcmp(
"Origin", argv[argumentIndex]) == 0)
439 switch (argv[argumentIndex][0]) {
443 if (argv[argumentIndex][1] ==
'w')
445 if (argv[argumentIndex][1] ==
'l')
447 if (argv[argumentIndex][1] ==
'e') {
450 (short)atoi(argv[argumentIndex] + 2);
454 if (argv[argumentIndex][1] ==
'm')
456 if (argv[argumentIndex][1] ==
'x')
458 if (argv[argumentIndex][1] ==
't')
460 if (argv[argumentIndex][1] ==
'f')
463 switch (argv[argumentIndex][1]) {
481 missionIsDigit = isdigit(argv[argumentIndex][1]);
482 if (missionIsDigit != 0) {
484 (short)atoi(argv[argumentIndex] + 1);
487 toupper(argv[argumentIndex][1]) -
'A');
498 (short)atoi(argv[argumentIndex] + 1);
504 campaignIsDigit = isdigit(argv[argumentIndex][1]);
505 if (campaignIsDigit != 0) {
507 (short)(argv[argumentIndex][1] -
'0');
519 (short)atoi(argv[argumentIndex] + 1);
531 (short)(argv[argumentIndex][1] -
'0');
533 (short)(argv[argumentIndex][2] -
'0');
561 9, 14, 4, 2, 10, 12, 15, 8, 7, 5, 2, 6, 7, 0
567 "You do not have enough memory to play Wing Commander 2.\n"
568 "Refer to your reference guide for assistance.";
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,
void(__cdecl *g_pIxFree)(void *)
void FxDriverInitHook(void)
int ConfigureInputPump(int slot, void(*pump)(void))
short InitializeSoundBlaster(short port, short irq)
void SetInputViewport(Viewport *viewport)
void PollJoystickButtonEvents(void)
void initialize_direction_view_frames(void)
void FadeMusic(short duration)
short LoadInputCursorShape(const char *filename, short section, short flags)
short LogMemoryUsage(void)
void * LoadPacketAllocated(char *fileName, short section)
void * AllocateDefaultMemory(unsigned int size)
void main(short argc, char **argv)
void RewritePacketFilenameForInstalledData(char *fileName)
short InitializePostPaletteState(void)
void rotate_about_i(short angle, FixedVector *j, FixedVector *k)
void InitializeTextContextFromFont(TextContext *context, short fontIndex, unsigned char colour, signed char background)
void LogMemoryStateToFile(FILE *file)
void StopMusicStream(void)
void SetMusicTickRateHook(short period)
short LoadShapeSet(PacketResourceDescriptor *resources, short flags, char *defaultFileName)
void SetTextContext(TextContext *context)
unsigned int GetLargestFreeMemoryBlockByType(short memoryType)
void ReportFatalErrorCode(const char *errorCode)
void InitializeGameTextContexts(void)
void SetFrameTimerPeriodDirect(short p)
unsigned short InitializeDIBScreenViewport(Viewport *viewport, unsigned short colour)
void LoadOriginFxDrivers(void)
void * AllocateTaggedMemory(unsigned int size, short flags)
void * FetchDiskPacketRetrying(char *fileName, short section, short flags)
void InitializeMusicResources(void)
void StopMusicIfDriverActive(void)
void SetPaletteEntryFromTriplet(const unsigned char *triplet, short index)
unsigned short IsSoundHardwarePresent(short device)
short InitializeInputManagerMemory(short eventQueueSize)
short LoadGraphicsDriver(short rewritePacketExtensions)
void ResetGameTextContexts(void)
void ResetCockpitPaletteEntries(void)
void InitializeHighMemoryGraphicsBuffers(void)
void LoadGamePaletteFile(void)
short LoadJoystickCalibrationFile(short horizontalRange, short verticalRange, short horizontalDeadZone, short verticalDeadZone)
short QueryCurrentGraphicsMode(void)
short InitializeMouseCursorDepth()
void ConfigureDefaultSpacePalette(short mode)
void LoadSpaceflightResources(void)
unsigned int GetAvailableFarMemoryByType(short memoryType)
void SaveGamePalette(void)
void exit_squadron(const char *msg,...)
void initialize_direction_view_frame(short yaw, short pitch, signed char frame)
void MessagePumpHook(int mode)
void FreePacketAndClear(void *slot, unsigned short releaseFlags)
void InitializeInputDriverHook(void)
void FinalizeInputDriverHook(void)
DwordPtr IdentityDword(DwordPtr value)
void rotate_about_j(short angle, FixedVector *i, FixedVector *k)
void ShutdownEventManager(void)
Shared Win32 declarations, types and library interfaces.
#define CANNED_SCENE_SNAPSHOT_BYTES
short g_nShowMemoryStatus
PacketResourceDescriptor g_aCommon3SpaceResources[11]
signed char g_acMusicResourcePresent[66]
int g_nMinimumMemoryFullMusic
short g_bSpeechResourcesEnabled
short g_bPumpMessagesDuringLoad
short g_78_bHighMemoryBuffersSetState
short g_bSkipCampaignScenes
void(*) g_59_pfnEventShutdownCallback(void)
short g_bSpeechEnabledFlag
short g_86_nCurrentInputTickInterval
unsigned int g_dwInitialSpareMemory
TextContext g_168_stFlightTextContext
short g_bDirectCampaignSelection
unsigned char g_cYellowColour
signed char g_bAutopilotDebugEnabled
DwordPtr g_dwHighMemoryParagraphValue
ObjectTypeData g_aObjectTypeData[OBJECT_DATA_COUNT]
PacketResourceDescriptor g_aMissionResourceDescriptors[8]
short g_5_nStorageAdjustmentKbValue
FixedVector g_137_aDirectionViewUpVectorArray[DIRECTION_VIEW_COUNT]
int g_98_nMemConfiguration
FixedVector g_2_aDirectionViewForwardAxisTable[DIRECTION_VIEW_COUNT]
int g_11_nMissionResourceBudget
short g_nSelectedCampaignSlot
short g_3_nVoiceBlasterIrqSetting
int g_nMinimumMemoryNoMusic
short g_3_nAudioBlasterPortSettingValue
unsigned char g_cBlueColour
char g_6_szDefaultTextBufferText[0xc8]
short g_bPlayerCollisionEnabled
signed char g_cKeypadMouseSpeedValue
unsigned char g_26_bMouseCursorEnabled
char g_szNotEnoughMemoryMessage[]
FixedVector g_9_aDirectionLookRightVector[DIRECTION_VIEW_COUNT]
unsigned char g_cSecondaryViewBufferColour
short g_nSpacePaletteFadeMode
short g_bOriginFxDriverActive
int g_nMinimumMemoryAlternate
unsigned short g_wHighMemoryBlockBytes
short g_bRewritePacketExtensions
signed char g_acExpectedGraphicsModes[5]
unsigned char g_ucHomeCarrierScannerColour
unsigned char g_88_nEventRepeatDelayState
short g_18_bEventManagerInitializationState
unsigned char g_cRedColour
Viewport g_27_stViewScratchInfo
unsigned char g_ucAsteroidNavMarkerColour
unsigned char g_ucPrimaryTextColour
short g_14_nCurrentGraphicsModeDetectedValue
unsigned char g_bPrimaryViewBufferColour
Viewport g_2_stModalSourceWindow
unsigned char g_abLegacyVideoModeColours[14]
unsigned char g_cPrimaryViewBufferColour
unsigned char g_ucDefaultTextColour
unsigned char g_ucHostileCapitalScannerColour
short g_bExpandedShipGraphicsEnabled
short g_nExpandedShipMemoryKb
short g_19_bStoredHighMemoryEnabled
unsigned char g_ucNavObjectiveMarkerColour
short g_bPlayerDamageEnabled
unsigned char g_cDarkGreenColour
Viewport g_101_stScrViewInfo
short g_nSelectedStartingCampaign
signed char g_bRoomTransitionAnimationEnabled
PacketResourceDescriptor g_aHighMemoryCockpitResources[5]
MusicResource g_aTuneResources[66]
void * g_pHighMemoryBlockA
short g_2_bPumpMessagesWhileLoadingState
void * g_13_pStartupStellarPacket
TextContext g_3_stDefaultStringContext
void * g_pHighMemoryBlockB
volatile short g_nNearHeapMaxDescriptors
int g_nAvailableGameMemoryNumber
short g_nInputDoubleClickInterval
char g_szInputCursorPacketName[12]
unsigned char g_ucPlayerNavLabelColour
short g_bMemoryAdjustmentEnabled
struct DirectMissionSelection g_stDirectMissionSelection
struct LimitedMusicBuffer g_aLimitedMusicBuffers[2]
unsigned int g_dwCannedSceneSnapshotEnd
unsigned char g_cBrownColour
unsigned char g_cDarkBlueColour
void ReleaseHighMemoryGraphicsBuffers(void)
int g_3_nUnusedStartupValue