9 'j',
'e',
'f',
'f', 0, 0, 0, 0
31 clearArea.
left += pixelWidth - characterWidth;
32 clearArea.
right = (short)(clearArea.
left + characterWidth - 1);
34 clearArea.
bottom = (short)(clearArea.
top +
58 unsigned char savedBackground =
62 char glyph[2] = { character, 0 };
92 clearArea.
right = (short)(clearArea.
left + characterWidth - 1);
94 clearArea.
bottom = (short)(clearArea.
top +
103 short backgroundColour,
short borderColour)
112 (
unsigned char)clearColour,
113 (
signed char)backgroundColour);
131#pragma function(strcat)
134 unsigned char alignment,
135 const char *format, ...)
140 va_start(argList, format);
141 vsprintf(text, format, argList);
144 (
unsigned short)(panel->
top + y));
170 va_start(argList, format);
171 vsprintf(text, format, argList);
190 bounds.
left = 159 - halfWidth;
191 bounds.
right = 161 + halfWidth;
225 volatile short allowPathSeparators)
234 unsigned char backgroundInk;
237 short characterCount;
255 textArea.
left = textX;
256 textArea.
top = textY;
257 textArea.
bottom = (short)(
271 while (keyHandled == 0) {
277 if (textBuffer[0] != 0)
284 if (textBuffer[0] == 0)
290 if (inputCode == 8 && characterCount != 0) {
295 textBuffer[characterCount] = 0;
296 }
else if (characterCount < maximumLength &&
297 ((allowPathSeparators != 0 &&
298 (inputCode ==
':' || inputCode ==
'\\')) ||
299 isalnum(inputCode) ||
300 (inputCode ==
' ' && characterCount != 0))) {
303 inputCode = (short)toupper(inputCode);
306 if (inputCode <
'0' || inputCode >
'9')
313 textBuffer[characterCount] = (char)inputCode;
315 textBuffer[characterCount] = 0;
317 (
unsigned short)textY);
338 int font,
const char *prompt,
339 char *destination,
int maximumLength,
340 int mode,
int required)
351 if (
ReadTextInput(destination, (
short)maximumLength, (
short)mode,
352 (
short)required) != 0) {
360#pragma function(strcmp)
383 (
unsigned short)((320 -
388 "Exit to DOS") != 0) {
403#pragma function(strcpy)
417 while (selection == 0) {
short ReadPersonnelTextField(unsigned int x, unsigned int y, int font, const char *prompt, char *destination, int maximumLength, int mode, int required)
short ReadWord(unsigned short *p)
void RefreshCampaignChalkboardScreen(short cockpitVariant)
void FormatTextBufferFromStart(const char *format,...)
void SetInputViewport(Viewport *viewport)
void RestoreModalTextPanel(ModalTextPanel *panel)
void InitializeTextContextFromFont(TextContext *context, short fontIndex, unsigned char colour, signed char background)
short AllocateViewport(Viewport *viewport, short clearColour, short flags)
void ClearTextInputCharacter(char character)
short DosStrlen(const char *s)
void free_viewport(Viewport *viewport)
void RefreshMemoryStatusOverlay(void)
short MeasureTextPixelWidthClamped(const char *text)
void DrawModalTextPanel(ModalTextPanel *panel, short x, short y, unsigned char alignment, const char *format,...)
void EraseCharacterAfterTextCursor(char character)
void DrawSpriteDefault(Viewport *viewport, short x, short y, unsigned char *shape, short frame)
void StopMusicUnlessSuppressed(void)
void FlushInputEvents(void)
void ReleaseMusicTrack(int track)
void InitializeCampaignChalkboardScreen(short cockpitVariant)
void spacetrack(int track, int mode, int enabled)
short PollCampaignChalkboardMenu(unsigned char *scene)
short WaitForQueuedInputPress(void)
void * AllocateTaggedMemory(unsigned int size, short flags)
void ServiceSoundSystem(void)
short InitializeModalTextPanel(ModalTextPanel *panel, short fontIndex, ModalPanelBounds bounds, short clearColour, short backgroundColour, short borderColour)
short RunCampaignChalkboardMenu(short campaignSlot)
short PollSceneHotspotInput(void *scenePacket, short offsetX, short offsetY, short dismissOnBackground, short maximumSelection)
void RunPilotSaveLoadMenu(void)
void RunCampaignScript(short campaignSlot)
char * DosStrcpy(char *dst, const char *src)
void DisableMouseCursorDrawing(void)
void ResetStringBuilder(TextContext *context)
void DrawViewportBorder(Viewport *viewport, short left, short top, short right, short bottom, short colour)
void ClearViewport(Viewport *viewport, short colour)
void EnableMouseCursorDrawing(void)
short ReadTextInput(char *destination, short maximumLength, volatile short mode, volatile short allowPathSeparators)
void DrawTextInputCursor(char character)
void SetMenuInputPump(void)
void ReleasePacketHandle(void *handle)
void SetTextCursor(unsigned short a, unsigned short b)
void EraseLastTextInputCharacter(void)
void exit_squadron(const char *msg,...)
void ReleaseModalTextPanel(void)
void FreePacketAndClear(void *slot, unsigned short releaseFlags)
ShortRect ModalPanelBounds
void EraseTextContextBackground(TextContext *context)
void DrawFormattedText(const char *format,...)
void PreloadMusicTrack(int track)
void CopyViewportContents(Viewport *source, Viewport *destination)
short GetFontCharWidth(char i)
short ShowModalTextPanel(short fontIndex, const char *format,...)
Shared Win32 declarations, types and library interfaces.
CampaignGlobals * g_pCampaignGlobals
unsigned char * g_pCampaignChalkboardShape
TextContext * g_29_pCurrentTextContext
unsigned char g_cBlueColour
char * g_pszPersonnelFooter
unsigned char g_cSecondaryViewBufferColour
short g_bRewritePacketExtensions
unsigned char g_cRedColour
short g_bDisableChalkboardReplay
unsigned char g_bPrimaryViewBufferColour
Viewport g_2_stModalSourceWindow
char g_16_szTextBufferBuffer[256]
Viewport g_101_stScrViewInfo
Viewport g_stSecondaryViewBufferBlock
PilotProfile g_stCurrentPilotProfile
unsigned char g_abTaggedAllocationPrefix[8]
TextContext g_3_stDefaultStringContext
ModalTextPanel * g_pModalTextPanel
ShortRect g_stModalBounds
TextContext * previousContext
unsigned char backgroundColour