|
Wing Commander
Reconstructed Win32 source (1996)
|
Data files and packet fetching with retries, text-font setup and input waits. More...
#include "wc1.h"Go to the source code of this file.
Functions | |
| void | ReportPacketLoadError (void *packet, short logicalFile, short retry, short section, const char *sourceTag) |
| void * | LoadPacketIntoBuffer (short logicalFile, short section, void *destination) |
| void * | LoadPacketAllocated (short logicalFile, short section) |
| void * | FetchDiskPacketRetrying (short logicalFile, short section, short flags) |
| unsigned int | InitializeTextContextFromFont (TextContext *context, short fontIndex, unsigned char colour, signed char background) |
| unsigned int | ReleaseTextFont (short fontIndex) |
| unsigned int | DrawTextAt (TextContext *context, short x, short y, const char *text, unsigned char alignment) |
| unsigned int | SortSignedByteValuesAscending (signed char *values, short count) |
| short | OpenDiskDataFile (short logicalFile) |
| void __stdcall | PromptInsertNumberedDisk (short logicalFile) |
| unsigned int | SetDiskFileNumber (char *fileName, short diskNumber) |
| unsigned int | GetZeroUnused (void) |
| short | CheckEscaped (void) |
| short | WaitForInputKey (void) |
| void | WaitForSceneAdvance (short duration, short unused) |
| void | MoveMenuPointerFromKeyboard (InputEventState *event) |
| void | EraseLastTextInputCharacter (void) |
| short | WaitForStreamInputKey (void) |
Variables | |
| const char * | apszGraphicsModeNames [4] |
| const char * | pszPacketReadOperation = "reading from disk" |
| const char * | pszPacketAllocationOperation = "allocating memory" |
| const char * | pszPacketLoadErrorFormat |
| char | szDiskMarkerFile [9] = "DISK.000" |
| short | nDiskPromptBorderColour = 0x50 |
| const char * | DAT_00469698 [3] |
| short | nKeyboardPointerStep = 4 |
| DiskFileRecord * | pDiskFileRecords |
| Viewport | stDiskPromptBgView |
| unsigned char | abDiskPromptDriveStates [0x20] |
| Viewport | stDiskPromptViewport |
| int | bPtrMovedByKeyboardState |
| TextContext | stDiskPromptTextContext |
| ShortRect | stDiskPromptBounds |
Data files and packet fetching with retries, text-font setup and input waits.
Address range 41d120-41dedf; the Mac ship unit begins right after it, with initialize_object at 41dee0.
Definition in file disk.c.
| short CheckEscaped | ( | void | ) |
Definition at line 442 of file disk.c.
References CheckEscaped(), FlushInputEvents(), IsInputEventQueued(), PeekInputEvent(), PollInputEvent(), PumpWindowMessages(), and InputEventState::value.
Referenced by AnimateTrainSimTitle(), CheckEscaped(), CloseLook(), DebriefingEstablishingShot(), Dismissed(), DisplayTrainSimHighScoreTable(), DrawFuneralLongShot(), DrawMedalChest(), DrawMedalLongShot(), EstablishingShot(), funeral_wingman(), LongTalk(), MedalEstablish(), PinMedal(), PlaySceneAnimation(), ReturnToBriefingLongShot(), ShowCampaignVictorySequence(), Title_Sequence(), wait_for_end_of_music(), WaitForMusicOrInput(), and WaitForSceneAdvance().
| unsigned int DrawTextAt | ( | TextContext * | context, |
| short | x, | ||
| short | y, | ||
| const char * | text, | ||
| unsigned char | alignment ) |
Definition at line 239 of file disk.c.
References TextContext::alignment, DIBslam(), DrawTextAt(), DrawTextString(), Viewport::pixels, SetTextContext(), SetTextCursor(), stScreenView, TextContext::text, and TextContext::viewport.
Referenced by DrawHudMessageSlot(), DrawTextAt(), print_message_text(), show_communications_disp(), show_damage_disp(), show_info_disp(), show_navigation_disp(), show_target_disp(), show_weapon_disp(), and UpdateDamageDisplay().
Definition at line 619 of file disk.c.
References TextContext::backgroundColour, Viewport::bottom, ClearViewport(), TextContext::cursorX, TextContext::cursorY, DosStrlen(), EnterAllocationScope(), EraseLastTextInputCharacter(), TextContext::font, FontHeight(), GetFontCharWidth(), LeaveAllocationScope(), Viewport::left, MeasureTextPixelWidthClamped(), pCurTextContext, Viewport::right, TextContext::text, Viewport::top, and TextContext::viewport.
Referenced by EraseLastTextInputCharacter(), and ReadTextInput().
| void * FetchDiskPacketRetrying | ( | short | logicalFile, |
| short | section, | ||
| short | flags ) |
Definition at line 126 of file disk.c.
References AllocateViewport(), cBlackColour, ClearInputKeyStatePreservingModifiers(), cPrimaryViewBufferColour, FetchDiskPacketRetrying(), free_viewport(), FreePacketAndClear(), GetFixedOneMillionThunkAlt(), GetPacketSize(), nPacketError, PacketLoad(), pDiskFileRecords, Viewport::pixels, PromptInsertNumberedDisk(), ReportPacketLoadError(), stSceneBuffer, and stSpaceBufferViewport.
Referenced by AwardCampaignMedal(), BarracksScreen(), BriefingMap_LoadShapes(), death_sequence(), DeBriefing(), Dismissed(), DrawBriefingLongShot(), DrawPendingCockpitDamage(), DrawPodiumShot(), ejection_sequence(), EnterPilotNameAndCallsign(), EstablishingShot(), explosion_draw(), FetchDiskPacketRetrying(), funeral_sequence(), get_right_shape(), InflightComputer(), init_constellation(), initialize_cockpit(), InitializeConstellationObject(), InitializeEventManagerResources(), InitializeTextContextFromFont(), landing(), LaunchPlayerShip(), load_ship(), LoadAnswerPromptAndResponse(), LoadBriefingData(), LoadBriefingRoom(), LoadCommDisplayResources(), LoadCommPortraitShape(), LoadFace(), LoadMissionData(), LoadPacketResourceList(), LoadSceneAnimationResources(), LoadShapeSet(), LoadTrainSimOpponentShape(), Office(), PlayScrambleHangarScene(), RecRoom(), ReturnToBriefingLongShot(), scramble(), ShowCampaignVictorySequence(), ShowCarrierLaunchSequence(), ShowChalkBoard(), ShowGameOverScreen(), ShowGetReadyScreen(), ShowMeanwhileTransition(), ShowTheEndScreen(), ShowTigerClawEscapeScene(), ShowTrainSimHighScores(), ShowVictoryScreen(), stranded_sequence(), Title_Sequence(), and ViewMedals().
| unsigned int GetZeroUnused | ( | void | ) |
| unsigned int InitializeTextContextFromFont | ( | TextContext * | context, |
| short | fontIndex, | ||
| unsigned char | colour, | ||
| signed char | background ) |
Definition at line 192 of file disk.c.
References AllocateFontWorkspace(), apFontWorkspaces, apTextFonts, TextContext::backgroundColour, TextContext::colour, FetchDiskPacketRetrying(), TextContext::font, TextContext::fontWorkspace, InitializeTextContextFromFont(), and SetTextContext().
Referenced by BuildMap(), CalibrateJoystickInteractive(), DrawNavLocationReadout(), init_vdus(), InitializeCockpitResources(), InitializeConversationText(), InitializeDiskPromptTextContext(), InitializeGameTextContexts(), InitializeModalTextPanel(), InitializeRoomMenu(), InitializeTextContextFromFont(), InitializeTrainSimTextPanel(), SelectTrainSimMission(), ShowChalkBoard(), ShowMemoryStatusDebug(), and ShowTrainSimHighScores().
| void * LoadPacketAllocated | ( | short | logicalFile, |
| short | section ) |
Definition at line 94 of file disk.c.
References AllocateTaggedMemory(), GetPacketSize(), LoadPacketAllocated(), nPacketError, PacketLoad(), pDiskFileRecords, PromptInsertNumberedDisk(), and ReportPacketLoadError().
Referenced by InitializeCockpitResources(), LoadOriginFxDrivers(), LoadPacketAllocated(), and RecRoom().
Definition at line 80 of file disk.c.
References LoadPacketIntoBuffer(), PacketLoad(), pDiskFileRecords, PromptInsertNumberedDisk(), and ReportPacketLoadError().
Referenced by ejection_sequence(), LoadGameFromSlot(), LoadPacketIntoBuffer(), and StartNewCampaign().
| void MoveMenuPointerFromKeyboard | ( | InputEventState * | event | ) |
Definition at line 551 of file disk.c.
References bPtrMovedByKeyboardState, MoveMenuPointerFromKeyboard(), nKeyboardPointerStep, QueueInputEvent(), RetainInputEventsOfType(), SetMousePosition(), stHostMouseState, stMouseCursorState, InputEventState::value, MouseCursorState::x, and MouseCursorState::y.
Referenced by BarracksScreen(), InflightComputer(), MoveMenuPointerFromKeyboard(), RecRoom(), SelectTrainSimMission(), and Title_Sequence().
| short OpenDiskDataFile | ( | short | logicalFile | ) |
Definition at line 288 of file disk.c.
References abDiskPromptDriveStates, bCurrentRunningFromHardDiskFlag, CloseDataFile(), FillGraphicSuffix(), GetCurrentDiskDriveHook(), OpenDataFileOrDie(), OpenDiskDataFile(), pDiskFileRecords, SelectDiskDriveHook(), and szDiskMarkerFile.
Referenced by OpenDiskDataFile(), and PromptInsertNumberedDisk().
| void __stdcall PromptInsertNumberedDisk | ( | short | logicalFile | ) |
Definition at line 322 of file disk.c.
References AllocateViewport(), bGraphicsActive, Viewport::bottom, cBlackColour, ClearViewport(), CopyViewportContents(), cPrimaryViewBufferColour, cViewportClearColour, DiskFileRecord::diskNumber, DiskPromptDrawHook(), DrawTextString(), DrawViewportBorder(), FormatTextBufferFromStart(), free_viewport(), ShortRect::left, Viewport::left, nDiskPromptBorderColour, OpenDiskDataFile(), pCurTextContext, pDiskFileRecords, Viewport::pixels, PromptInsertNumberedDisk(), ResetDiskPromptTimerHook(), ShortRect::right, Viewport::right, SetTextContext(), SetTextCursor(), stDiskPromptBgView, stDiskPromptBounds, stDiskPromptTextContext, stDiskPromptViewport, stSceneBuffer, stSpaceBufferViewport, szTxtWorkspaceBuffer, Viewport::top, and WaitForInputKey().
Referenced by CreateEmptySaveGameFile(), ejection_sequence(), EMStartUp(), EnsureSaveGameFile(), FetchDiskPacketRetrying(), get_pilot_talk(), LoadAnswerPromptAndResponse(), LoadGame(), LoadGamePaletteFile(), LoadOriginFxDrivers(), LoadPacketAllocated(), LoadPacketIntoBuffer(), LoadPacketResourceList(), PromptInsertNumberedDisk(), and SaveGame().
| unsigned int ReleaseTextFont | ( | short | fontIndex | ) |
Definition at line 222 of file disk.c.
References apFontWorkspaces, apTextFonts, FreeFontWorkspace(), ReleasePacketHandle(), and ReleaseTextFont().
Referenced by AwardCampaignMedal(), BarracksScreen(), BriefingMap_DisplayMap(), CalibrateJoystickInteractive(), DeBriefing(), free_cockpit(), funeral_sequence(), landing(), LoadBriefingRoom(), Office(), PromptForAnswerText(), RecRoom(), ReleaseTextFont(), SelectTrainSimMission(), ShowCampaignVictorySequence(), ShowChalkBoard(), ShowMeanwhileTransition(), ShowTheEndScreen(), ShowTigerClawEscapeScene(), and ShowTrainSimHighScores().
| void ReportPacketLoadError | ( | void * | packet, |
| short | logicalFile, | ||
| short | retry, | ||
| short | section, | ||
| const char * | sourceTag ) |
Definition at line 48 of file disk.c.
References FatalErrorAndExit(), GetFixedOneMillionThunkAlt(), GetPacketSize(), LogMemoryUsage(), nPacketError, pDiskFileRecords, pszPacketAllocationOperation, pszPacketLoadErrorFormat, pszPacketReadOperation, ReportPacketLoadError(), and szDefaultTxtBuf.
Referenced by FetchDiskPacketRetrying(), InitializeConversationViewport(), LoadPacketAllocated(), LoadPacketIntoBuffer(), and ReportPacketLoadError().
| unsigned int SetDiskFileNumber | ( | char * | fileName, |
| short | diskNumber ) |
Definition at line 419 of file disk.c.
References apszGraphicsModeNames, bSlowSceneAnimation, ConvertChar_Int(), and SetDiskFileNumber().
Referenced by SetDiskFileNumber().
| unsigned int SortSignedByteValuesAscending | ( | signed char * | values, |
| short | count ) |
Definition at line 258 of file disk.c.
References SortSignedByteValuesAscending().
Referenced by SortSignedByteValuesAscending().
| short WaitForInputKey | ( | void | ) |
Definition at line 467 of file disk.c.
References bInputModeState, ClearInputKeyStatePreservingModifiers(), FlushInputEvents(), nEventManagerActive, PollInputEvent(), PumpMessagesDuringWait(), InputEventState::value, and WaitForInputKey().
Referenced by InflightComputer(), PromptInsertNumberedDisk(), RunAnimationDemoLoop(), UpdateTrainSimHighScores(), ViewMedals(), WaitForInputKey(), WaitForStreamInputKey(), and WarnLoadGameFirst().
| void WaitForSceneAdvance | ( | short | duration, |
| short | unused ) |
Definition at line 509 of file disk.c.
References bInputModeState, CheckEscaped(), ClearInputKeyStatePreservingModifiers(), FlushInputEvents(), IsFrameTickElapsed(), PollInputEvent(), SetFrameTimerPeriodDirect(), void(), and WaitForSceneAdvance().
Referenced by CloseLook(), DebriefingEstablishingShot(), Dismissed(), DrawFuneralLongShot(), DrawMedalChest(), DrawMedalLongShot(), EstablishingShot(), landing(), LongTalk(), MedalEstablish(), PinMedal(), ReturnToBriefingLongShot(), scramble(), ShowCampaignVictorySequence(), ShowMeanwhileTransition(), UpdateMap(), and WaitForSceneAdvance().
| short WaitForStreamInputKey | ( | void | ) |
Definition at line 649 of file disk.c.
References bKeyEventQueueEnabled, WaitForInputKey(), and WaitForStreamInputKey().
Referenced by ConfirmAwakenAfterBadData(), ConfirmQuitWingCommander(), ConfirmReplaceFaultyData(), ReadTextInput(), and WaitForStreamInputKey().
| unsigned char abDiskPromptDriveStates[0x20] |
Definition at line 41 of file disk.c.
Referenced by main(), and OpenDiskDataFile().
| const char* apszGraphicsModeNames[4] |
Definition at line 12 of file disk.c.
Referenced by SetDiskFileNumber().
| int bPtrMovedByKeyboardState |
Definition at line 43 of file disk.c.
Referenced by HandleSpaceFlightControls(), init_player_input(), MainWindowProc(), MoveMenuPointerFromKeyboard(), and RunSpaceFlight().
| const char* DAT_00469698[3] |
| short nDiskPromptBorderColour = 0x50 |
Definition at line 28 of file disk.c.
Referenced by InitializeDiskPromptTextContext(), and PromptInsertNumberedDisk().
| short nKeyboardPointerStep = 4 |
Definition at line 33 of file disk.c.
Referenced by MoveMenuPointerFromKeyboard().
| DiskFileRecord* pDiskFileRecords |
Definition at line 36 of file disk.c.
Referenced by ejection_sequence(), FetchDiskPacketRetrying(), get_pilot_talk(), LoadInstallDat(), LoadPacketAllocated(), LoadPacketIntoBuffer(), LoadPacketResourceList(), OpenDiskDataFile(), PromptInsertNumberedDisk(), ReportPacketLoadError(), and RewriteDiskFileGraphicsExtensions().
| const char* pszPacketAllocationOperation = "allocating memory" |
Definition at line 19 of file disk.c.
Referenced by ReportPacketLoadError().
| const char* pszPacketLoadErrorFormat |
Definition at line 21 of file disk.c.
Referenced by ReportPacketLoadError().
| const char* pszPacketReadOperation = "reading from disk" |
Definition at line 18 of file disk.c.
Referenced by ReportPacketLoadError().
| Viewport stDiskPromptBgView |
Definition at line 37 of file disk.c.
Referenced by PromptInsertNumberedDisk().
| ShortRect stDiskPromptBounds |
Definition at line 45 of file disk.c.
Referenced by InitializeDiskPromptTextContext(), and PromptInsertNumberedDisk().
| TextContext stDiskPromptTextContext |
Definition at line 44 of file disk.c.
Referenced by InitializeDiskPromptTextContext(), and PromptInsertNumberedDisk().
| Viewport stDiskPromptViewport |
Definition at line 42 of file disk.c.
Referenced by InitializeDiskPromptTextContext(), and PromptInsertNumberedDisk().
| char szDiskMarkerFile[9] = "DISK.000" |
Definition at line 27 of file disk.c.
Referenced by OpenDiskDataFile().