14#pragma function(strcpy)
41 printf(
"Series %d, Mission %d (%c)\n",
48 "initial far: %lu. current far: %lu. current near: %u.\n",
98 printf(
"Loading WING COMMANDER 2. Please wait...\n");
113 printf(
"Adjusting Mem size by %dK\n",
146 while (selectionMade == 0) {
188 printf(
"have landed.\n");
191 printf(
"are stranded.\n");
194 printf(
"have died.\n");
197 printf(
"have ejected.\n");
206#pragma intrinsic(strcpy)
319 entry[0] = (short)(entry[0] - 4);
351 unsigned char palette;
360 if (sequenceState == 0x28) {
374 for (palette = 0; palette < 6; palette++) {
408 if ((buttons & 1) != 0) {
415 if ((buttons & 2) != 0) {
481 while (finished == 0) {
669 unsigned int buttons;
674 short verticalDistance;
678 int savedPlayerInputActive;
712 if ((buttons & 1) != 0) {
713 if ((buttons & 2) != 0) {
731 if (inputPolled != 0)
733 boostControl = (short)(message.
modifiers & 2);
734 if (boostControl != 0 &&
747 dx = (short)(message.
x -
750 mouseY = (short)(message.
y -
755 absX = (short)abs((
int)dx);
756 verticalDistance = (short)abs((
int)mouseY);
762 dx = (short)-threshold;
770 mouseY = (short)-threshold;
789 if (boostControl != 0) {
821 boostControl = (short)(message.
modifiers & 2);
822 if (boostControl != 0 &&
826 if (boostControl != 0) {
849 if (message.
value == 2)
891#pragma function(strlen)
897 return (
short)((
MinShort(5, (
short)(strlen(text) >> 1)) + 5) *
917 char decimalText[30];
1009 if (notRepeated && controlHeld == 0) {
1045 if (notRepeated && controlHeld != 0 &&
1061 if (notRepeated && controlHeld == 0)
1065 if (notRepeated && controlHeld == 0) {
1070 "VIDEO IMAGES SUPRESSED",
1086 if (notRepeated &&
get_mode(1) == 4 &&
1096 if (controlHeld != 0 && notRepeated) {
1426 if (controlHeld != 0) {
1437 if (controlHeld != 0) {
1478 if (notRepeated && controlHeld == 0) {
1493 if (notRepeated && controlHeld != 0)
1497 if (notRepeated && controlHeld != 0)
1499 else if (notRepeated)
1507 for (pauseScan = 0; pauseScan < 0x100; pauseScan++) {
1518 if (notRepeated && controlHeld == 0 &&
1541 if (notRepeated && controlHeld != 0) {
1557 if (controlHeld != 0) {
1571 if (controlHeld != 0) {
1585 if (controlHeld != 0) {
1599 if (controlHeld != 0) {
1617 if (notRepeated && controlHeld != 0) {
1618 for (
object = 1;
object < 10;
object++) {
1623 while (
explode(0,
object) == 0) {
1630 if (notRepeated && controlHeld != 0 &&
1634 while (
explode(0,
object) == 0) {
1647 short paletteCycleActive;
1650 paletteCycleActive = 0;
1656 paletteCycleActive++;
1695 if (paletteCycleActive == 0)
1697 if (hidePlayer != 0)
1756 short navPointIndex = 0;
1758 for (; navPointIndex < 10; navPointIndex++, entry++) {
1759 if (entry->
type == 1 &&
1763 return navPointIndex;
1781 unsigned char savedInputDelay;
1782 short savedUiInputMode;
1792 for (i = 0; i < 7; i++)
1804 if (entryNavPoint == -1)
1878 if (savedInputContext != 0)
1902 armorDamage += (typeData->
armorFront * 100) /
1905 armorDamage += (typeData->
armorRear * 100) /
1908 armorDamage += (typeData->
armorLeft * 100) /
1911 armorDamage += (typeData->
armorRight * 100) /
1914 damage += armorDamage;
1918 else if (damage < 40)
1920 else if (damage < 70)
1931 0, 500, 1000, 2500, 5000, 11000,
1932 22500, 34000, 44000, 54000, 64000
1967 10, 37, 52, 57, 62, 1070
1970 5, 18, 27, 35, 38, 1040
void(__cdecl *g_pIxFree)(void *)
unsigned char g_128_abPauseInputState[0x100]
unsigned char g_13_abPreviousPauseKeyStatuses[0x100]
void ShowGamePausedBanner(short showBanner)
void InitializeNewPilotCampaign(short campaignSlot)
void ComputeVectorDelta(FixedVector *from, FixedVector *to, FixedVector *delta)
void SaveAndFreeTemporaryCampaignGlobals(void)
void init_mission(short series, short mission)
void ShutdownSoundBlaster(void)
int ConfigureInputPump(int slot, void(*pump)(void))
short HandleSpaceFlightControls(void)
void SetInputViewport(Viewport *viewport)
void PollJoystickButtonEvents(void)
short fire_missile(short ship)
short MaxShort(short a, short b)
void initialize_view_buffer(void)
void BuildObjectDepthOrder(void)
short LogMemoryUsage(void)
void SetViewportRect(Viewport *viewport, unsigned short left, unsigned short top, unsigned short right, unsigned short bottom)
short explode(short attacker, short victim)
void SaveVolumeSettingsToRegistry(void)
short GetShipDistanceToNavPoint(short ship, MissionNavPoint *navPoint)
void main(short argc, char **argv)
void SetMusicStreamVolume(unsigned short volume)
void dump_buffer_to_screen(void)
short ServiceInputDevices(short deviceMask)
void SetPaletteEntry(short index, short *rgb)
void house_keep_objects(void)
short AllocateViewport(Viewport *viewport, short clearColour, short flags)
long Vector_magnitude(const FixedVector *vector)
void ejection_sequence(short outcome, signed char restoreCockpit)
unsigned int fire_players_lasers(void)
void AdjustSpaceFramePeriod(short adjustment)
void CalibrateJoystickInteractive()
int RunSpaceFlight(short entryNavPoint)
void FinishCannedScenePlayback(void)
void FireTargetCameraGuns(void)
void SetSpaceFlightFrameTiming(void)
unsigned int DrawSpaceSceneFrame(void)
void InitializeSpaceFlightInput(void)
void your_afterburner(void)
void free_viewport(Viewport *viewport)
void free_inflight_music(void)
InputEventState * FindQueuedInputEvent(int type)
void RefreshMemoryStatusOverlay(void)
void IssueQuickCommCommand(short recipient, short command)
unsigned int PollKeyboardState(void)
void get_player_input(void)
short HandleFleetOverviewInput(void)
unsigned int GetLargestFreeMemoryBlockByType(short memoryType)
void SetPersonnelCursorPosition(int x, int y, short unused1, short unused2)
void TryBeginStarSystemJump(void)
void auto_pilot_sequence(void)
void ClearTargetCameraView(void)
void set_up_action_sphere(short navPoint)
short FixedToShortSaturating(int value)
void FlushInputEvents(void)
short MinShort(short a, short b)
short any_enemy(short obj, short range)
unsigned int clear_view_buffer(void)
void ReportFramesSkipped(short adjustment)
void InvalidateVduMode(short i)
void players_flight_dynamics(void)
void ShowOnScreenMessage(short duration, const char *format,...)
void CopyViewportRuns(Viewport *source, Viewport *destination, const short *runs)
void SetFrameTimerPeriodDirect(short p)
void CloseCommChoiceMenu(void)
void RenderSpaceViewFrame(void)
void LoadOriginFxDrivers(void)
void ClearHudMessageDisplay(short closeCommMenu)
short RunSelectedCampaign(void)
void copy_frame(short source, short destination)
short RunPilotDatabaseMenu(void)
void ShowMemoryStatusDebug(void)
short RunTitleScreen(void)
void CheckAllGuardedAllocations(void)
short BarracksScreen(void)
void * AllocateTaggedMemory(unsigned int size, short flags)
short LoadWingCmdrCfgFile(short argc, char **argv)
void update_cockpit(void)
void StopMusicIfDriverActive(void)
void SelectNextExternalViewObject(void)
void WaitForVerticalBlankThunk(void)
void force_view(int view, short obj)
void Chosen_communicate_option(short choice)
void TranslatePolledInputEvent(unsigned short type, unsigned int value)
void ProcessCannedSceneInput(void)
unsigned int GetF1KeyLatch(void)
void draw_sorted_objects_to_buffer(void)
short IsCockpitWeaponShapeLoaded(void)
void overlay_head_up_display(void)
void fire_fixed_projectile_weapon(short obj)
short LoadSelectedPilotCampaign(void)
short ReadCalibratedJoystick(void)
void ResetCockpitPaletteEntries(void)
void FinalizeInputManagerHook(void)
void LoadTemporaryCampaignGlobals(void)
void UpdateSpacePaletteFade(void)
int GetControlKeyState(void)
unsigned int update_star_field(void)
void ReportOutOfMemoryAndExit(const char *resource)
void RestoreTransientCockpitGraphics(void)
short FindNearestNavPoint(short ship)
void BeginInflightReplayHook(void)
short MeasureMessageWidth(const char *text)
void WaitForFrameTick(void)
void ClearViewport(Viewport *viewport, short colour)
void init_inflight_music(void)
short calculate_damage_level(void)
void SetMessageDisplaySpeed(void)
void place_exhaust_on_ships(void)
void SetHudMessageText(char *text, unsigned short colour, unsigned short duration)
void reposition_fixed_child_objects(void)
void FlushSoundEffectsAndLog(void *effect, short flags)
void SetHudTextColour(char *text, unsigned short colour)
void ToggleTargetCameraOverlay(void)
void SetPersonnelMousePosition(short x, short y)
void PlaySfxWaveFileByNumber(int soundNumber, int sourceObject, int looping)
void FadeFlightPaletteEntry(short *entry)
void process_player_input(void)
void initialize_cockpit(signed char mode)
unsigned int new_view(int view, short obj)
void RunGameApplication(short argc, char **argv)
void transform_objects_to_your_view(void)
void SetMenuInputPump(void)
short IsInputEventQueued(int type)
void ReleaseSceneMusicPacket(void)
void ConfigureDefaultSpacePalette(short mode)
void flag_objective(short objective, unsigned char flags)
void InitializeCampaignConstellationState(CampaignGlobals *globals, short copyPosition)
void TriggerPlayerHitPaletteFlash(void)
void AcknowledgeModalMessage(void)
unsigned int ReleaseStaleNavTarget(void)
short Draw_3Space_Frame(void)
void ShowVersionBanner(void)
int GetShiftKeyState(void)
unsigned int set_eye_direction_and_position(void)
void accelerate(short amount)
void MessagePumpHook(int mode)
void RestoreCockpitExplosionIfVisible(void)
void SetSoundEffectsVolume(int volume)
void free_view_buffer(void)
unsigned short RandomInRange(unsigned short lo, unsigned short hi)
void update_objects_in_space(void)
unsigned int GetKeyboardModifiers(void)
void SetFrameTimerAndWait(short period)
void SelectCockpitVduMode(short vdu, int mode)
void SetDefaultFrameTiming(void)
int GetNextInputEvent(InputEventState *event)
void ResetCannedSceneRecording(void)
void CopyViewportContents(Viewport *source, Viewport *destination)
void FlushPendingInputEvents(void)
short find_objective(short type, short index)
short message_showing(void)
Shared Win32 declarations, types and library interfaces.
@ OBJECTIVE_HOLD_FORMATION
@ SPECIAL_MANEUVER_BLOWING_UP
@ SPECIAL_MANEUVER_AFTERBURNER
short g_nShowMemoryStatus
HostMouseMessage g_6_stHostMouseTextBlock
int g_27_nLastAltCommandScanNumberWord
short g_1_bDiscreteFlightInputWaiting
int g_1_bSpaceFlightActive
short g_nExternalViewShip
short g_nSpaceBlastFlashIncrement
short g_nCurStellarSystem
signed char g_acPlayerComponentDamage[9]
short g_nEnemyTauntCommandBase
int g_nCockpitDisplayMode
short g_78_bHighMemoryBuffersSetState
signed char g_bVideoImagesSuppressed
short g_anObjectRollRotation[SPACE_OBJECT_COUNT]
short g_anPreviousFlightInput[3]
InputDeviceSample g_10_stPrevFlightControls
short g_bSpeechEnabledFlag
short g_asMousePitchThresholds[6]
int g_bJoystickCalibrationHotkey
short g_nPendingEjectionSequenceCount
int g_bFlightButtonOneHeld
signed char g_bSceneEscapeRequested
const ScreenViewportGeometry *volatile g_15_pScreenViewportGeometry
unsigned int g_dwInitialSpareMemory
short g_aeObjectClass[SPACE_OBJECT_COUNT]
short g_nSelectedReleaseWeaponIndex
char * g_pszPendingHudMessage
short g_bDirectCampaignSelection
signed char g_acShipTarget[16]
short g_anObjectYawRotation[SPACE_OBJECT_COUNT]
short g_asObjectType[SPACE_OBJECT_COUNT]
char * g_pInitialArguments[31]
short g_nCannedSceneRecordedFrameCountNumber
int g_bFullScreenSpaceView
short g_9_aasCockpitHitPaletteFades[6][3]
short g_nEjectionSequenceState
CampaignGlobals * g_pCampaignGlobals
InputDeviceSample g_stCurrentFlightInput
ObjectTypeData g_aObjectTypeData[OBJECT_DATA_COUNT]
MissionNavPoint g_aMissionNavPoints[MISSION_NAV_POINT_COUNT]
short g_5_nStorageAdjustmentKbValue
short g_nCockpitControlGoal
short g_nSpaceFramePeriod
signed char g_cViewObject
short g_19_bPolledFlightInputQueued
int g_bFlightButtonTwoHeld
MouseCursorState g_37_stPersonnelMousePointerState
short g_nSpaceExplosionFlashActive
short g_aeSpecialManeuver[12]
short g_nSelectedCampaignSlot
signed char g_acMissionShipStatusFlagsBytes[8]
void * g_pMemoryAdjustment
unsigned short g_18_nHudMessageColour
signed char g_bMouseMoveEventQueued
short g_bJumpSequenceActive
short g_asShipWeaponEnergy[10]
short g_12_wInputDeviceButtonStatus
unsigned char g_ucPendingEjectionTransition
short g_bPlayerCollisionEnabled
short g_6_wQueuedButtonsState
short g_6_bMissionWingmanState
short g_asObjectDamage[SPACE_OBJECT_COUNT]
unsigned char g_26_bMouseCursorEnabled
short g_bMissileCameraEnabled
short g_anObjectPitchRotation[SPACE_OBJECT_COUNT]
short g_bDisplayWingmanTargetData
short g_nRenderedSpaceFrame
signed char g_cPreviousKey
short g_nSpacePaletteFadeMode
short g_bCarrierLandingEnabled
int g_bAltNumpadSubtractShortcut
MAIN_STATIC short g_wSavedInputDeviceButtonState
short g_bRewritePacketExtensions
int g_anShipSpeed[SPACE_OBJECT_COUNT]
PilotProfile g_stDefaultPilotProfile
short g_nMissionEntryNavOverride
short g_aSpaceExplosionFlashPalette[13][3]
unsigned char g_88_nEventRepeatDelayState
int g_10_bPlayerInputActive
unsigned char g_cRedColour
Viewport g_27_stViewScratchInfo
unsigned char g_ucPrimaryTextColour
short g_nCockpitControlState
short g_1_asSpacePaletteFade[3]
int g_6_bMenuTHotkeySwitch
short g_14_nCurrentGraphicsModeDetectedValue
short g_bDeveloperCampaignReady
FixedVector g_aShipPosition[SPACE_OBJECT_COUNT]
int g_39_bAltNumpadAddHotkeySwitch
unsigned char g_cPrimaryViewBufferColour
signed char g_cMessageSpeed
short g_nTargetCameraFrame
short g_asShipManeuver[12]
short g_19_bStoredHighMemoryEnabled
InputDeviceSample g_aInputDeviceSamplesList[2]
short g_bPlayerDamageEnabled
Viewport g_101_stScrViewInfo
int g_4_nSevereDmgWarningSfxHandle
MAIN_STATIC int g_bMouseFireButtonLatched
short g_asMouseYawThresholds[6]
short g_nCommMenuChoiceCount
signed char g_1_cStoredViewDisplayModeValue
int g_bRenderingSpaceFrame
InputEvent g_3_aInputEventArray[0x100]
short g_aeShipObjective[12]
PilotNameVariables g_stPilotNameVariables
signed char g_cCurrentKey
Viewport g_stSecondaryViewBufferBlock
signed char g_bSecondaryMouseButtonHeld
short g_wFlightInputButtonState
short g_8_nActiveInputDeviceWord
MissionShipRecord g_aMissionShips[MISSION_SHIP_COUNT]
short g_bSpaceViewBufferEnabled
char g_szCannedSceneTapeFile[9]
short g_aasShipArmor[10][4]
signed char g_acShipDamage[16]
short g_3_nOptionMessageColour
PilotProfile g_stCurrentPilotProfile
short g_18_nInterfaceEventMode
signed char g_bParentDirectorySelected
int g_nMusicVolumeSetting
short g_nFrameSkipCountdown
char * g_pszDisplayedHudMessage
signed char g_acObjectType[SPACE_OBJECT_COUNT]
short g_5_nCannedSceneFrameCount
short g_asObjectCounter[SPACE_OBJECT_COUNT]
MissionHeader g_13_stMissionHeaderBlock
signed char g_12_abCockpitLightGoalTable[7]
short g_bMissionDeathSequencePending
short g_nHazardFieldCount
short g_1_nResourcePaletteState
short g_bMemoryAdjustmentEnabled
short g_10_nMenuDarkColour
int g_6_nUnusedMainNumber1
int g_129_nUnusedMainNumber2[2]
int g_47_nUnusedMainValue1
short g_nCockpitCameraObject
short g_bMapPrimaryInputQueued
int g_47_nUnusedMainValue2[2]
struct DirectMissionSelection g_stDirectMissionSelection
short CtrlBreakHandler(void)
int g_39_nIdleMainNumber[4]
short g_2_bFleetMouseMovePosted
struct Viewport * viewport
struct InputPumpContext * context