|
Wing Commander
Reconstructed Win32 source (1996)
|
Training simulator: menus, pilot name entry, high scores and the mission loop. More...
#include "wc1.h"Go to the source code of this file.
Functions | |
| unsigned short | EraseTextContextBackground (TextContext *context) |
| int | DisplayTrainSimHighScoreTable (short phase) |
| int | AnimateTrainSimTitle (void) |
| unsigned char * | GetHighScoreEntry (short i) |
| unsigned int | GetHighScoreValue (short i) |
| unsigned int | SetHighScoreEntry (short i, unsigned char b, unsigned int v) |
| void | SortTrainSimHighScores (void) |
| short | FindTrainSimHighScore (short pilot) |
| short | InsertTrainSimHighScore (short pilot, unsigned int score) |
| short | RandomBelowOrEqual (short n) |
| void | InitializeTrainSimHighScores (void) |
| short | IsHighScoreSlotUsed (short i) |
| short | RandomBelow (short n) |
| void | AddRandomTrainSimHighScores (void) |
| void | DrawTextInputCursor (char character) |
| void | ClearTextInputCharacter (short character) |
| void | ClearNextTextInputCharacter (short character) |
| short | ReadTextInput (char *destination, short maximumLength, short mode) |
| void | ReadRequiredPilotField (short x, short y, const char *label, char *destination, short maximumLength) |
| void | PromptForPilotField (short x, short y, const char *label, char *destination, short maximumLength, const char *defaultText) |
| void | InitializeTrainSimTextPanel (void) |
| void | ShowTrainSimTextMessage (const char *message) |
| void | EnterPilotNameAndCallsign (void) |
| void | UpdateTrainSimHighScores (int score) |
| void | ShowTrainSimHighScores (void) |
| struct Shape * | LoadTrainSimOpponentShape (int opponent) |
| short | SelectTrainSimMission (short *mission) |
| void | RunTrainSim (void) |
Variables | |
| int | DAT_00469da0 = 10 |
| ShortRect | stTrainSimPanelBounds |
| Viewport | stTrainSimPanelViewport = {0} |
| char | szTrainSimTitle [24] = "SQUADRON: TRAINSIM" |
| unsigned char * | apszBuiltInHighScoreNames [6] |
| TitleMenuRegion | aTrainSimMissionRegions [5] |
| int | nTrainSimActive = 0 |
| short | nTrainSimMission = 0 |
| short | nArcadeWave = 0 |
| Viewport | stTrainSimulatorHighScoreBufView |
| int | nCurrentArcadeScore |
| TextContext | stTrainSimTxtContext |
| Viewport | stTrainSimHighScoreDisplayViewport |
| TextContext | stTrainSimHighScoreTextContext |
| short | nArcadeTimeRemaining |
| HighScoreEntry | aHighScoreEntriesArray [6] |
| int | nArcadeWaveBonusValue |
Training simulator: menus, pilot name entry, high scores and the mission loop.
Address range 425c30-4272ef. The initialized panel, resource tables and state precede this unit's name and UI literal pool.
Definition in file trainsim.c.
Definition at line 236 of file trainsim.c.
References AddRandomTrainSimHighScores(), aHighScoreEntriesArray, FindTrainSimHighScore(), InsertTrainSimHighScore(), RandomBelow(), RandomBelowOrEqual(), RandomInRange(), HighScoreEntry::score, and stCampaignState.
Referenced by AddRandomTrainSimHighScores(), GameFlow(), and init_3Space_objects().
| int AnimateTrainSimTitle | ( | void | ) |
Definition at line 90 of file trainsim.c.
References AnimateTrainSimTitle(), ShortRect::bottom, Viewport::bottom, cBlackColour, CheckEscaped(), CopyViewportContents(), DIBslam(), DIBslamReal(), DrawFilledViewportRect(), TextContext::font, FontHeight(), ShortRect::left, ShortRect::right, SetFrameTimerPeriodDirect(), stCurrentTrainSimTitleDisplayViewport, stModalSrcViewport, stTrainSimPanelBounds, stTrainSimPanelViewport, stTrainSimTxtContext, ShortRect::top, Viewport::top, and WaitForFrameTick().
Referenced by AnimateTrainSimTitle(), init_3Space_objects(), and ShowTrainSimHighScores().
| void ClearNextTextInputCharacter | ( | short | character | ) |
Definition at line 312 of file trainsim.c.
References ClearNextTextInputCharacter(), ClearTextInputCharacter(), TextContext::cursorX, and pCurTextContext.
Referenced by ClearNextTextInputCharacter(), init_3Space_objects(), and ReadTextInput().
| void ClearTextInputCharacter | ( | short | character | ) |
Definition at line 293 of file trainsim.c.
References TextContext::backgroundColour, Viewport::bottom, ClearTextInputCharacter(), ClearViewport(), TextContext::cursorX, TextContext::cursorY, EnterAllocationScope(), TextContext::font, FontHeight(), GetFontCharWidth(), LeaveAllocationScope(), Viewport::left, pCurTextContext, Viewport::right, Viewport::top, and TextContext::viewport.
Referenced by ClearNextTextInputCharacter(), ClearTextInputCharacter(), and init_3Space_objects().
| int DisplayTrainSimHighScoreTable | ( | short | phase | ) |
Definition at line 57 of file trainsim.c.
References ShortRect::bottom, cBlackColour, CheckEscaped(), CopyViewportContents(), DIBslam(), DIBslamReal(), DisplayTrainSimHighScoreTable(), DrawFilledViewportRect(), IsFrameTickElapsed(), ShortRect::left, Viewport::left, ShortRect::right, SetFrameTimerPeriodDirect(), stModalSrcViewport, stTrainSimHighScoreDisplayViewport, stTrainSimPanelBounds, stTrainSimulatorHighScoreBufView, ShortRect::top, and void().
Referenced by DisplayTrainSimHighScoreTable(), init_3Space_objects(), and ShowTrainSimHighScores().
| void DrawTextInputCursor | ( | char | character | ) |
Definition at line 276 of file trainsim.c.
References TextContext::backgroundColour, TextContext::colour, TextContext::cursorX, DrawFormattedText(), DrawTextInputCursor(), and pCurTextContext.
Referenced by DrawTextInputCursor(), init_3Space_objects(), and ReadTextInput().
Definition at line 515 of file trainsim.c.
References PilotRecord::callsign, cCockpitLogicalFile, ClearViewport(), CampaignState::currentPilot, TextContext::cursorY, DrawSpriteDefault(), EnterPilotNameAndCallsign(), FetchDiskPacketRetrying(), InitializeTrainSimTextPanel(), PilotRecord::name, nOriginDevUnlock, PromptForPilotField(), ReleasePacketHandle(), ShowTrainSimTextMessage(), stCampaignState, stScreenView, and stTrainSimTxtContext.
Referenced by EnterPilotNameAndCallsign(), init_3Space_objects(), and UpdateTrainSimHighScores().
| unsigned short EraseTextContextBackground | ( | TextContext * | context | ) |
Definition at line 45 of file trainsim.c.
References TextContext::backgroundColour, cBlackColour, ClearViewport(), EraseTextContextBackground(), and TextContext::viewport.
Referenced by EraseTextContextBackground(), init_3Space_objects(), InitializeModalTextPanel(), InitializeTrainSimTextPanel(), SelectTrainSimMission(), and ShowTrainSimHighScores().
| short FindTrainSimHighScore | ( | short | pilot | ) |
Definition at line 170 of file trainsim.c.
References aHighScoreEntriesArray, and FindTrainSimHighScore().
Referenced by AddRandomTrainSimHighScores(), FindTrainSimHighScore(), init_3Space_objects(), InsertTrainSimHighScore(), and UpdateTrainSimHighScores().
| unsigned char * GetHighScoreEntry | ( | short | i | ) |
Definition at line 129 of file trainsim.c.
References aHighScoreEntriesArray, aPilotEntriesList, apszBuiltInHighScoreNames, PilotRecord::callsign, and GetHighScoreEntry().
Referenced by GetHighScoreEntry(), init_3Space_objects(), and ShowTrainSimHighScores().
| unsigned int GetHighScoreValue | ( | short | i | ) |
Definition at line 139 of file trainsim.c.
References aHighScoreEntriesArray, GetHighScoreValue(), and HighScoreEntry::score.
Referenced by GetHighScoreValue(), init_3Space_objects(), and ShowTrainSimHighScores().
Definition at line 199 of file trainsim.c.
References aHighScoreEntriesArray, InitializeTrainSimHighScores(), RandomBelowOrEqual(), RandomInRange(), and SetHighScoreEntry().
Referenced by init_3Space_objects(), InitializeTrainSimHighScores(), and ResetCampaignData().
Definition at line 484 of file trainsim.c.
References cBlackColour, cDefaultTextColour, ClearViewport(), EraseTextContextBackground(), InitializeTextContextFromFont(), InitializeTrainSimTextPanel(), Viewport::left, ResetStringBuilder(), SetTextContext(), stScreenView, stTrainSimPanelBounds, stTrainSimPanelViewport, stTrainSimTxtContext, szDefaultTxtBuf, TextContext::text, and TextContext::viewport.
Referenced by EnterPilotNameAndCallsign(), init_3Space_objects(), InitializeTrainSimTextPanel(), and UpdateTrainSimHighScores().
| short InsertTrainSimHighScore | ( | short | pilot, |
| unsigned int | score ) |
Definition at line 184 of file trainsim.c.
References FindTrainSimHighScore(), InsertTrainSimHighScore(), SetHighScoreEntry(), and SortTrainSimHighScores().
Referenced by AddRandomTrainSimHighScores(), init_3Space_objects(), InsertTrainSimHighScore(), and UpdateTrainSimHighScores().
| short IsHighScoreSlotUsed | ( | short | i | ) |
Definition at line 227 of file trainsim.c.
References aHighScoreEntriesArray, IsHighScoreSlotUsed(), and HighScoreEntry::pilotIndex.
Referenced by init_3Space_objects(), IsHighScoreSlotUsed(), and ShowTrainSimHighScores().
| struct Shape * LoadTrainSimOpponentShape | ( | int | opponent | ) |
Definition at line 697 of file trainsim.c.
References cCurrentObjResourceLogicalFile, FetchDiskPacketRetrying(), and LoadTrainSimOpponentShape().
Referenced by init_3Space_objects(), LoadTrainSimOpponentShape(), and SelectTrainSimMission().
| void PromptForPilotField | ( | short | x, |
| short | y, | ||
| const char * | label, | ||
| char * | destination, | ||
| short | maximumLength, | ||
| const char * | defaultText ) |
Definition at line 470 of file trainsim.c.
References TextContext::alignment, DosStrcpy(), DrawFormattedText(), Viewport::left, PromptForPilotField(), ReadTextInput(), SetTextCursor(), stTrainSimPanelViewport, and stTrainSimTxtContext.
Referenced by EnterPilotNameAndCallsign(), init_3Space_objects(), and PromptForPilotField().
| void ReadRequiredPilotField | ( | short | x, |
| short | y, | ||
| const char * | label, | ||
| char * | destination, | ||
| short | maximumLength ) |
Definition at line 454 of file trainsim.c.
References TextContext::alignment, DosStrcpy(), DrawFormattedText(), Viewport::left, ReadRequiredPilotField(), ReadTextInput(), SetTextCursor(), stTrainSimPanelViewport, and stTrainSimTxtContext.
Referenced by init_3Space_objects(), and ReadRequiredPilotField().
| short ReadTextInput | ( | char * | destination, |
| short | maximumLength, | ||
| short | mode ) |
Definition at line 323 of file trainsim.c.
References TextContext::backgroundColour, bKeyEventQueueEnabled, Viewport::bottom, cBlackColour, ClearNextTextInputCharacter(), ClearViewport(), TextContext::cursorX, TextContext::cursorY, DIBslam(), DIBslamReal(), DosStrcpy(), DosStrlen(), DrawFormattedText(), DrawTextInputCursor(), EraseLastTextInputCharacter(), TextContext::font, FontHeight(), GetShiftKeyState(), Viewport::left, MeasureTextPixelWidthClamped(), pCurTextContext, ReadTextInput(), Viewport::right, SetTextCursor(), TextContext::text, Viewport::top, TextContext::viewport, and WaitForStreamInputKey().
Referenced by init_3Space_objects(), PromptForPilotField(), PromptForTextInput(), ReadRequiredPilotField(), and ReadTextInput().
Definition at line 847 of file trainsim.c.
References aasShipMaximumShieldTable, aasShipShield, acPlayerComponentDamageList, acShipDmg, aeObjectTypeList, aObjectTypeData, bCampaignStartupMode, bInputModeState, bKeyEventQueueEnabled, CampaignState::campaignIndex, cCockpitLogicalFile, cCurrentCockpitView, DIBslam(), DIBslamReal(), FigureArcadeTime(), free_3Space(), free_all_slots(), free_cockpit(), init_mission(), InvalidateVduMode(), nArcadeBonusCountdown, nArcadeState, nArcadeTimeRemaining, nArcadeWave, nCampaignDataSet, nCannedSceneMode, nCurrentArcadeScore, nCurrentWave, nTrainSimActive, nTrainSimMission, PollMenuInputDevices(), PreloadMusicTrackHook(), ReleaseMusicTrackHook(), ResetStringBuilder(), RunSpaceFlight(), RunTrainSim(), SelectTrainSimMission(), set_up_next_wave(), SetEventManagerPump(), ShowGameOverScreen(), ShowGetReadyScreen(), ShowTrainSimHighScores(), ShowVictoryScreen(), stCampaignState, stHudMessageTextContext, and UpdateTrainSimHighScores().
Referenced by GameFlow(), init_3Space_objects(), RunTrainSim(), and StartNewCampaign().
| short SelectTrainSimMission | ( | short * | mission | ) |
Definition at line 706 of file trainsim.c.
References TextContext::alignment, AlignSpriteFrameToRectCorner(), aTrainSimMissionRegions, bEscapePressedFlag, bInputModeState, cBlackColour, cDefaultTextColour, ClearInputKeyStatePreservingModifiers(), DIBslam(), DIBslamReal(), DrawSpriteDefault(), EnterAllocationScope(), EraseTextContextBackground(), EventManagerHook(), FindMenuRegionAtPoint(), FormatTextBufferFromStart(), GetShapeFrameBounds(), InitializeTextContextFromFont(), LeaveAllocationScope(), Viewport::left, LoadTrainSimOpponentShape(), MoveMenuPointerFromKeyboard(), nMenuInputRepeatDelay, PollInputEvent(), PollMenuInputDevices(), ReleasePacketHandle(), ReleaseTextFont(), SelectTrainSimMission(), SetEventManagerPump(), SetTextContext(), SetTextCursor(), stCurrentTrainSimTitleDisplayViewport, stMouseCursorState, stScreenView, stTrainSimPanelBounds, stTrainSimTxtContext, Viewport::top, UpdateTrainSimMenuCursor(), InputEventState::value, MouseCursorState::viewport, TextContext::viewport, WarpMouseTo(), InputEventState::x, and InputEventState::y.
Referenced by init_3Space_objects(), RunTrainSim(), and SelectTrainSimMission().
| unsigned int SetHighScoreEntry | ( | short | i, |
| unsigned char | b, | ||
| unsigned int | v ) |
Definition at line 145 of file trainsim.c.
References aHighScoreEntriesArray, HighScoreEntry::pilotIndex, HighScoreEntry::score, and SetHighScoreEntry().
Referenced by init_3Space_objects(), InitializeTrainSimHighScores(), InsertTrainSimHighScore(), and SetHighScoreEntry().
Definition at line 589 of file trainsim.c.
References TextContext::alignment, AllocateViewport(), AnimateTrainSimTitle(), Viewport::bottom, cBlackColour, cCockpitLogicalFile, cDefaultTextColour, ClearViewport(), DIBslam(), DIBslamReal(), DisplayTrainSimHighScoreTable(), DrawFormattedText(), DrawSpriteDefault(), EraseTextContextBackground(), FetchDiskPacketRetrying(), FlushInputEvents(), TextContext::font, FontHeight(), FormatTextBufferFromStart(), free_viewport(), GetHighScoreEntry(), GetHighScoreValue(), InitializeTextContextFromFont(), IsHighScoreSlotUsed(), Viewport::left, MeasureTextPixelWidthClamped(), PollJoystickButtonEvents(), RandomInRange(), ReleasePacketHandle(), ReleaseTextFont(), ResetStringBuilder(), Viewport::right, SetEventManagerPump(), SetTextContext(), SetTextCursor(), SetViewportRect(), ShowTrainSimHighScores(), stCurrentTrainSimTitleDisplayViewport, stScreenView, stTrainSimHighScoreDisplayViewport, stTrainSimHighScoreTextContext, stTrainSimPanelBounds, stTrainSimPanelViewport, stTrainSimTxtContext, stTrainSimulatorHighScoreBufView, szDefaultTxtBuf, szTrainSimTitle, TextContext::text, Viewport::top, and TextContext::viewport.
Referenced by init_3Space_objects(), RunTrainSim(), and ShowTrainSimHighScores().
| void ShowTrainSimTextMessage | ( | const char * | message | ) |
Definition at line 502 of file trainsim.c.
References TextContext::alignment, DIBslam(), DIBslamReal(), FormatTextBufferFromStart(), Viewport::left, SetTextCursor(), ShowTrainSimTextMessage(), stTrainSimPanelViewport, stTrainSimTxtContext, and Viewport::top.
Referenced by EnterPilotNameAndCallsign(), init_3Space_objects(), ShowTrainSimTextMessage(), and UpdateTrainSimHighScores().
Definition at line 152 of file trainsim.c.
References aHighScoreEntriesArray, and SortTrainSimHighScores().
Referenced by init_3Space_objects(), InsertTrainSimHighScore(), and SortTrainSimHighScores().
| void UpdateTrainSimHighScores | ( | int | score | ) |
Definition at line 546 of file trainsim.c.
References aHighScoreEntriesArray, bCampaignStartupMode, DIBslam(), DIBslamReal(), EnterPilotNameAndCallsign(), FindTrainSimHighScore(), InitializeTrainSimTextPanel(), InsertTrainSimHighScore(), PollJoystickButtonEvents(), PollMenuInputDevices(), HighScoreEntry::score, SetEventManagerPump(), ShowTrainSimTextMessage(), UpdateTrainSimHighScores(), and WaitForInputKey().
Referenced by init_3Space_objects(), RunTrainSim(), and UpdateTrainSimHighScores().
| HighScoreEntry aHighScoreEntriesArray[6] |
Definition at line 41 of file trainsim.c.
Referenced by AddRandomTrainSimHighScores(), FindTrainSimHighScore(), GetHighScoreEntry(), GetHighScoreValue(), InitializeTrainSimHighScores(), IsHighScoreSlotUsed(), SetHighScoreEntry(), SortTrainSimHighScores(), and UpdateTrainSimHighScores().
| unsigned char* apszBuiltInHighScoreNames[6] |
Definition at line 21 of file trainsim.c.
Referenced by GetHighScoreEntry().
| TitleMenuRegion aTrainSimMissionRegions[5] |
Definition at line 24 of file trainsim.c.
Referenced by SelectTrainSimMission(), and UpdateTrainSimMenuCursor().
| int DAT_00469da0 = 10 |
Definition at line 14 of file trainsim.c.
| short nArcadeTimeRemaining |
Definition at line 40 of file trainsim.c.
Referenced by DrawArcadeScorePanel(), FigureArcadeTime(), GetArcadeBonus(), RunTrainSim(), and UpdateArcadeScoreDisplay().
| short nArcadeWave = 0 |
Definition at line 33 of file trainsim.c.
Referenced by FigureArcadeTime(), GetArcadeBonus(), RenderSpaceViewFrame(), RunTrainSim(), and UpdateArcadeScoreDisplay().
| int nArcadeWaveBonusValue |
Definition at line 42 of file trainsim.c.
Referenced by GetArcadeBonus(), RenderSpaceViewFrame(), and UpdateArcadeScoreDisplay().
| int nCurrentArcadeScore |
Definition at line 36 of file trainsim.c.
Referenced by affect_mission_score(), DrawArcadeScorePanel(), RenderSpaceViewFrame(), RunTrainSim(), and UpdateArcadeScoreDisplay().
| int nTrainSimActive = 0 |
Definition at line 31 of file trainsim.c.
Referenced by check_stranded(), gametrack(), HandleSpaceFlightControls(), house_keep(), init_constellation(), init_vdus(), new_space_music_changes(), npc_communication(), place_damage_on_cockpit(), prepare_mission(), RenderSpaceViewFrame(), RunSpaceFlight(), RunTrainSim(), send_message(), set_up_next_wave(), ShowComponentHitHudMessage(), try2rout(), update_lights(), update_missile_warning(), update_VDUs(), UpdateArcadeScoreDisplay(), and vid_equiv().
| short nTrainSimMission = 0 |
Definition at line 32 of file trainsim.c.
Referenced by GetArcadeBonus(), RunTrainSim(), and UpdateArcadeScoreDisplay().
| Viewport stTrainSimHighScoreDisplayViewport |
Definition at line 38 of file trainsim.c.
Referenced by DisplayTrainSimHighScoreTable(), and ShowTrainSimHighScores().
| TextContext stTrainSimHighScoreTextContext |
Definition at line 39 of file trainsim.c.
Referenced by ShowTrainSimHighScores().
| ShortRect stTrainSimPanelBounds |
Definition at line 17 of file trainsim.c.
Referenced by AnimateTrainSimTitle(), DisplayTrainSimHighScoreTable(), InitializeTrainSimTextPanel(), SelectTrainSimMission(), and ShowTrainSimHighScores().
| Viewport stTrainSimPanelViewport = {0} |
Definition at line 16 of file trainsim.c.
Referenced by AnimateTrainSimTitle(), InitializeTrainSimTextPanel(), PromptForPilotField(), ReadRequiredPilotField(), ShowTrainSimHighScores(), and ShowTrainSimTextMessage().
| TextContext stTrainSimTxtContext |
Definition at line 37 of file trainsim.c.
Referenced by AnimateTrainSimTitle(), EnterPilotNameAndCallsign(), InitializeTrainSimTextPanel(), PromptForPilotField(), ReadRequiredPilotField(), SelectTrainSimMission(), ShowTrainSimHighScores(), and ShowTrainSimTextMessage().
| Viewport stTrainSimulatorHighScoreBufView |
Definition at line 35 of file trainsim.c.
Referenced by DisplayTrainSimHighScoreTable(), and ShowTrainSimHighScores().
| char szTrainSimTitle[24] = "SQUADRON: TRAINSIM" |
Definition at line 20 of file trainsim.c.
Referenced by ShowTrainSimHighScores().