11 unsigned char *cursor;
12 unsigned char *nextChunk;
18 nextChunk = (
unsigned char *)scenePacket +
23 if (formId == 0x52544f48) {
29 }
else if (formId == 0x54585448) {
35 }
else if (formId == 0)
44 if (hotspotCount <= 2)
56 unsigned char *cursor;
57 unsigned char *nextForm;
64 nextForm = (
unsigned char *)scenePacket +
69 if (magic == 0x52544f48) {
75 }
else if (magic == 0x54585448) {
81 }
else if (magic == 0)
106 short offsetY,
short x,
short y)
110 unsigned char *cursor;
113 unsigned char *nextForm;
120 nextForm = (
unsigned char *)scenePacket +
125 if (magic == 0x52544f48) {
131 }
else if (magic == 0x54585448) {
137 }
else if (magic == 0)
153 index = (short)(selection - 1);
154 while (index-- != 0) {
171 short offsetY,
short dismissOnBackground,
172 short maximumSelection)
177 short controlPressed;
190 if ((controlPressed != 0 && jPressed != 0) ||
201 inputEvent = &polled;
204 scenePacket, offsetX, offsetY, inputEvent->
x, inputEvent->
y);
205 if (maximumSelection != 0 && selection > maximumSelection)
211 if (selection != 0) {
217 if (inputEvent->
type != 1) {
219 }
else if (selection == 0 && dismissOnBackground != 0) {
222 if (selection != 0 ||
223 (dismissOnBackground != 0 &&
short WaitForSceneAdvance(void *scenePacket)
short ServiceInputDevices(short deviceMask)
void CalibrateJoystickInteractive()
InputEventState * FindQueuedInputEvent(int type)
void ReleasePacketSlot(void **slot)
short PollSceneHotspotInput(void *scenePacket, short offsetX, short offsetY, short dismissOnBackground, short maximumSelection)
unsigned int ReadNextSceneForm(unsigned char **cursor, unsigned char **nextForm)
int GetControlKeyState(void)
short OffsetSceneHotspotBounds(ShortRect *bounds, const SceneHotspot *hotspot, short offsetX, short offsetY)
char * DosStrchr(const char *s, short c)
int GetNextInputEvent(InputEventState *event)
signed char DecodeSceneResourceChunk(unsigned char **cursor, SceneResourceTable *resource)
short FindSceneHotspotAtPosition(void *scenePacket, short offsetX, short offsetY, short x, short y)
void LoadSceneHotspotBoundsForSelection(void *scenePacket, short selection)
short IsPointInRect(short x, short y, const short *rect)
void SetMouseCursorShape(unsigned char *shape, short frame)
void ReleaseInputEventQueue(void)
Shared Win32 declarations, types and library interfaces.
#define MISSION_SHIP_COUNT
#define MISSION_NAV_POINT_COUNT
short g_8_nSceneRegionRightWord
short g_27_nSceneHotspotTopValue
int g_bJoystickCalibrationHotkey
unsigned char g_abMissionBriefingData[0xde]
InputManagerState * g_18_pEventManager
MissionNavPoint g_aMissionNavPoints[MISSION_NAV_POINT_COUNT]
char * g_pszPersonnelFooter
MissionObjectiveSource g_69_aMissionObjectiveSources[8]
void * g_pActiveScenePacket
short g_bPersonnelMenuDrawing
CampaignDate * g_4_pElapsedCampaignDatePointer
short g_bDisableChalkboardReplay
short g_128_nShotHotspotLeft
short g_15_nSceneAreaLowestWord
MissionShipRecord g_aMissionShips[MISSION_SHIP_COUNT]
unsigned char g_abSeriesAuxData[0x28]
unsigned char g_5_abMissionAuxBlockBytes[0x28]
SceneResourceTable g_stSceneTextList
SceneResourceTable g_stSceneZoneTable
MissionHeader g_13_stMissionHeaderBlock
short g_8_bSceneBackdropClicked
char g_10_nUnusedHotspotWord