21 6, -3, 7, 2, 7, 9, 7, 12, 8, 13, 0, -1, -1, -1,
22 -4, -1, -6, -1, 6, 0, 8, 0, 10, 0, 13, 3, 8, -7,
66 18, 14, 71, 5, 80, 29, 49, 27, 14, 13
75 {{224, 5}, {132, 96}, {233, 107}, {149, 161}},
76 {{177, 6}, {153, 142}, {103, 140}, {55, 183}},
77 {{107, 25}, {211, 32}, {21, 178}, {300, 178}},
78 {{74, 10}, {294, 19}, {197, 105}, {105, 134}},
79 {{0, 0}, {0, 0}, {0, 0}, {0, 0}}
111 while ((character = (
signed char)*text++) != 0)
112 writer((
short)character);
117 const char *format, va_list arguments)
122 character = (
signed char)*format++;
123 while (character != 0) {
126 writer((
short)character);
129 character = (
signed char)*format++;
133 (
unsigned char)va_arg(arguments,
int);
137 ltoa(va_arg(arguments,
long),
142 (
unsigned char)va_arg(arguments,
int);
146 (
unsigned char)va_arg(arguments,
int);
153 ultoa(va_arg(arguments,
unsigned long),
158 va_arg(arguments,
short);
162 va_arg(arguments,
short);
165 writer(va_arg(arguments,
short));
169 itoa((
int)va_arg(arguments,
short),
177 ultoa(va_arg(arguments,
unsigned short),
183 va_arg(arguments,
unsigned short),
187 writer((
short)character);
192 character = (
signed char)*format++;
201 va_start(arguments, format);
215 va_start(arguments, format);
230 format, (va_list)(&format + 1));
241 vsprintf(text, format, (
char *)(&format + 1));
254 short top,
short right,
short bottom,
259 clippedViewport = *viewport;
260 if (right >= left && bottom >= top) {
261 clippedViewport.
left = left;
262 clippedViewport.
top = top;
263 clippedViewport.
right = right;
264 clippedViewport.
bottom = bottom;
272 signed char filledFrame;
273 signed char emptyFrame;
274 signed char swapFrame;
282 extent = (short)((percent *
294 emptyFrame = (
signed char)
296 filledFrame = (
signed char)
301 if (direction == 1) {
302 extent = (short)(percent - extent);
303 swapFrame = emptyFrame;
304 emptyFrame = filledFrame;
305 filledFrame = swapFrame;
319 if (direction == 3) {
320 extent = (short)(percent - extent);
321 swapFrame = emptyFrame;
322 emptyFrame = filledFrame;
323 filledFrame = swapFrame;
385 unsigned char savedColour;
387 short showingEraseColour;
400 oldDrawColour == slot->
colour) {
413 return showingEraseColour;
428 if (slot->
text == text)
443 short x,
short y,
const char *text,
444 unsigned short colour,
signed char flashCount)
460 short showingEraseColour;
462 if (slot->
text != 0) {
464 if (slot->
flashCount == 0 && showingEraseColour != 0)
476 text, colour, (
signed char)flashCount);
505 for (ship = 0; ship < 10; ship++) {
528 reason =
"Already Near";
530 reason =
"Enemy Near";
532 reason =
"Hazard Near";
534 if (showReason != 0 && reason != 0)
581 for (light = 0; light < 7; light++) {
628 fuelPercent = (short)(
811 3, itoa((
int)(
short)(velocity >> 8),
833 return (
unsigned short)
RandomInRange(0, 15) < damage * damage;
859 colour, (
signed char)flashCount);
866 int index = (int)component;
872 if (
malf(component) != 0 && index == 3) {
877 sprintf(text,
"%s HIT",
893 (
signed char)(preferredType * 2 - 0x2f);
914 unsigned char *background;
959 const char *releaseName;
970 "WEAPON DISPLAY", 2);
982 switch ((
int)selectedGunType) {
987 gunName =
"Full Guns";
1010 frame = (short)((
int)weapons->
type * 2 +
1085 "COMP NAVIGATION", 2);
1107 if (nameHidden != 0 ||
1111 objective].index].state != 0))
1122 objective].index].missionType ==
1133 if (pathIndex < 0) {
1170 }
while (wraps < 3);
1220 signed char navPoint;
1229 }
while (ship < 10);
1240 unsigned int arriving = checkArrivingShips();
1251 short carrierMissionShip;
1252 short carrierObject;
1253 short objectiveType;
1254 short advanceDestination;
1261 advanceDestination = 0;
1264 carrierObject == -1 ||
1271 advanceDestination = markVisited = 1;
1273 if (objectiveType != 1 ||
1285 if (objectiveType != 1 && markVisited != 0) {
1286 if (
visited(objective) == 0 && carrierObject != -1 &&
1294 if (advanceDestination != 0)
1313 if (
sighted(objective) == 0 && range < 16000 &&
1326 reachedRange = 6000;
1328 reachedRange = 1500;
1329 if (range < reachedRange)
1362 unsigned short state;
1397 horizontal = position->
yaw;
1398 if (abs((
int)horizontal) < 45)
1437 if (type == 1 || type == 3 || type == 4 || type == 2)
1485 }
while (
object != 0);
1503 if (showOnScanner != 0)
1548 unsigned short colour;
1559 if (gridValue == -1) {
1588 }
while (*grid != -2);
1599 for (
object = 1;
object <= 9;
object++) {
1603 if (spherical.
radius < 0xea6000) {
1633 if (
object != -1 &&
get_color(
object, &colour) != 0) {
1726 if (countdown < -1) {
1730 radiusSquared = y * y;
1731 radiusSquared += x * x;
1732 if (radiusSquared > 0xe10) {
1738 switch (weaponType) {
1763 unsigned short c,
unsigned short d)
1765 viewport->
left = (short)a;
1766 viewport->
top = (short)b;
1767 viewport->
right = (short)c;
1768 viewport->
bottom = (short)d;
1774 return viewport->
right - viewport->
left;
1784 short charactersPerLine;
1785 short lastSpace = -1;
1787 int characterPosition;
1816 for (position = 0; *input != 0; position++, input++, output++) {
1819 lastSpace = position;
1820 characterPosition = position;
1821 if ((characterPosition + 1) % charactersPerLine == 0) {
1822 if (lastSpace == -1) {
1826 characterPosition -= lastSpace;
1827 output[characterPosition] =
'\n';
1892 short solid,
short drawLockMarker,
short padding,
1901 colourValue = (short)colour;
1903 valid = savedBounds->
left != -0x7fff;
1904 bounds = *savedBounds;
1906 valid =
object != -1 &&
1921 bounds.
left = (short)(bounds.
left - padding);
1922 bounds.
top = (short)(bounds.
top - padding);
1923 bounds.
right = (short)(bounds.
right + padding);
1931 if ((
int)(
unsigned char)
cRedColour == colourValue &&
1939 short segmentLength;
1942 (short)(((
int)bounds.
right - bounds.
left) / 6 + 1);
1944 (
short)(bounds.
left + segmentLength), bounds.
top,
1947 (
short)(bounds.
left + segmentLength), bounds.
bottom,
1950 (
short)(bounds.
right - segmentLength), bounds.
top,
1953 (
short)(bounds.
right - segmentLength), bounds.
bottom,
1956 (short)(((
int)bounds.
bottom - bounds.
top) / 6 + 1);
1958 bounds.
left, (
short)(bounds.
top + segmentLength),
1962 (
short)(bounds.
bottom - segmentLength), colour);
1964 bounds.
right, (
short)(bounds.
top + segmentLength),
1968 (
short)(bounds.
bottom - segmentLength), colour);
1970 if (drawLockMarker != 0) {
1977 centerX = (short)(centerX +
1980 centerY = (short)(centerY +
1998 savedBounds->
left = -0x7fff;
2000 *savedBounds = bounds;
2003 savedBounds->
left = -0x7fff;
2054 &objectivePosition, &direction);
2070 viewPosition.
z) >> 8);
2075 viewPosition.
z) >> 8);
2172 char *displayedMessage;
2194 displayedMessage != 0)
2219 unsigned short duration)
2232 short sound,
short refresh)
2251 enum Side playerSide;
2253 signed char targetIndex;
2274 }
while (
object <= 9);
2282 unsigned char index;
2283 short previousTarget;
2294 (
signed char)index < count &&
2300 index = ((
signed char)index + 1) % count;
2316 short selectNewTarget;
2320 unsigned char count;
2322 selectNewTarget = 1;
2324 if (oldTarget != -1 &&
2336 if (oldTarget != -1 &&
2342 if (oldTarget == -1)
2353 if (hasEnemy == 0 && oldTarget != -1 &&
2358 selectNewTarget = 0;
2361 if (selectNewTarget != 0) {
2362 for (targetIndex = 0;
2363 targetIndex < (
signed char)count &&
2371 targetIndex % (
signed char)count];
2403 (
signed char)
MinShort((
short)(yaw + 8), 12);
2408 (
signed char)
MinShort((
short)(4 - yaw), 8);
2413 (
signed char)
MinShort((
short)(pitch + 12), 16);
2418 (
signed char)
MinShort((
short)-pitch, 4);
2500 if (obj > -1 && obj < 10 &&
2571 for (damage = 0; damage < 4; damage++) {
2662 unsigned int *state;
2721 if (randomFrame < 3)
2926 (
void)selectionSound;
2952 (mode == 4 &&
malf(4) != 0)) {
static ShortPoint aaCockpitDamagePositions[5][4]
static signed char cReleaseWeaponDisplayState
static char szNoWeaponName[5]
static Viewport stTrainSimVduSource
static const char * pszMissileLockedMessage
static signed char cReleaseWeaponDisplayFrame
static short asHudMessageOrigins[10]
static int nDisplayedObjectiveRange
static int DAT_00469010[2]
static signed char cReleaseWeaponDisplayTicks
static int nCommPortraitFrame
static short nTargetLockMarkerX
static unsigned char bTargetBracketVisible
static short asPilotHandOffsets[34]
static short nScannerTargetObject
static int aiScannerGridRows[79]
static char * pszObjectiveStatusMessage
static unsigned char abMouseCursorBackground[0x400]
static int bForceDamageDisplayRedraw
static char *volatile pszDisplayedHudMessage
static ShortRect stPreviousTargetBracketBounds
static volatile signed char cRenderedPilotHandFrame
void ClearGlobalMessage(void)
static short asVduSelectionSound[2]
static ShortRect stTargetBracketBounds
void(__cdecl *pIxFree)(void *)
struct Shape * pCockpitExplosionShape
unsigned char cYellowColour
Viewport stPilotHandBackdropView
signed char acShipRating[16]
enum ObjectType eReleaseWpnDisplayType
short asViableTgtDistList[16]
short asObjScreenScalesArray[SPACE_OBJECT_COUNT]
short anShipMissionShips[16]
TextContext stRightVduTxtContext
signed char acViableTargetList[16]
unsigned short nPendingHudMessageColour
Viewport stPilotHandComposite
struct Shape * pConfedCommBackground
struct Shape * pCockpitDamageShape
Viewport stRightVduViewport
short nRenderedSpaceFrame
signed char aShipWeaponsTable[10][0x47]
signed char acPlayerComponentDamageList[9]
short asObjScreenAngles[SPACE_OBJECT_COUNT]
short nTargetLockMarkerAngle
unsigned char * pRadarMarkerBackground
ObjectTypeData aObjectTypeData[OBJECT_TYPE_COUNT]
short nCockpitExplosionFrame
signed char abShipNavPtIdx[16]
signed char acVduModeStackDepth[16]
unsigned char cBlackColour
ShortVector stRotationInput
short anObjectRollRotationList[SPACE_OBJECT_COUNT]
signed char cViableTargetCount
short anObjPitchRot[SPACE_OBJECT_COUNT]
unsigned int anVduModeCache[2]
char szTxtWorkspaceBuffer[256]
signed char cMissionObjectiveCountValue
unsigned short ausVduModeStack[16]
signed char acWingmanMessageStatesArray[16]
short asScannerBackgroundColour[10]
TextContext * pCurTextContext
char szComponentHitMessage[40]
unsigned char cBlueColour
unsigned char cViewportClearColour
short aasCockpitLightX[5][7]
FixedVector aObjectViewPositionsList[SPACE_OBJECT_COUNT]
int bInflightComputerActive
signed char abFlightPathList[MISSION_OBJECTIVE_COUNT]
struct Shape * pCockpitWeaponShapePtr
short asPilotHandOrigins[10]
signed char aacCockpitLightOffFrame[5][7]
volatile int bMouseCursorVisible
unsigned char * pReleaseWeaponDisplayBackground
unsigned char cDarkGreenColour
short asShipWpnEnergyList[10]
short nTargetLockCountdown
char * pszPendingHudMessage
unsigned char bVideoImagesSuppressed
HazardField * pActiveHazardField
enum ShipMissionType aeShipMissionType[12]
TextContext stCurrentCockpitReadoutTextCtx
ShortPoint stCockpitExplosionPosition
enum ShipObjective aeShipObjectiveList[12]
ShortPoint aWeaponDisplayOrigins[5]
MissionNavPoint aMissionNavPoints[MISSION_NAV_POINT_COUNT]
enum ObjectClass aeObjectClass[SPACE_OBJECT_COUNT]
short aasShipArmor[10][4]
unsigned int anCockpitDamageState[4]
const char * apszComponentNames[9]
MouseCursorState stMouseCursorState
short asObjectScreenYArray[SPACE_OBJECT_COUNT]
short asScannerObjectY[11]
signed char bStickIndicatorFrameState
ShortPoint stReleaseWeaponDisplayPosition
struct Shape * pTgtLockShapePtr
FixedVector aShipVelocity[SPACE_OBJECT_COUNT]
short asObjectCollisionRadius[64]
short aasShipShield[10][2]
signed char cCurrentCockpitView
unsigned char cPrimaryViewBufferColour
signed char cCockpitLogicalFile
short nCarrierMissionShipIndexValue
short nCurrentViewCenterPosX
unsigned char cOrangeColour
struct Shape * pCommStaticShape
unsigned short asObjDistancesTable[SPACE_OBJECT_COUNT]
int nCurObjectiveRangeValue
short nCurrentNoticeTimer
Viewport stSpaceBufferViewport
short asScannerObjectPositionX[11]
enum ObjectType eSelectedGunType
TextContext stLeftVduTextContext
unsigned char cPrimaryTextColour
CockpitReadout aCockpitReadouts[6]
short asObjectCounterArray[SPACE_OBJECT_COUNT]
short bTargetLockReadoutDirty
signed char cCurrentObjective
short nPendingCockpitDamageValue
struct Shape * pCurrentPilotHandShapePtr
ShortPoint aWeaponDisplayPositions[32]
short asObjectScreenXList[SPACE_OBJECT_COUNT]
signed char acObjOwnersTable[64]
short nCurrentSpaceFrameValue
unsigned char abCockpitLightGoalArray[7]
MissionObjective aMissionObjectivesArray[MISSION_OBJECTIVE_COUNT]
TextContext stHudMessageTextContext
signed char aacCockpitLightOnFrame[5][7]
struct Shape * apObjShapeArray[SPACE_OBJECT_COUNT]
struct Shape * pKilrathiCommBackground
CockpitBarDefinition aaCockpitBars[5][8]
int nSelectedReleaseWeaponIndex
HudMessageSlot aCockpitHudMessageSlotsTable[2]
enum ObjectType aeObjectTypeList[SPACE_OBJECT_COUNT]
short asObjectViewFrames[SPACE_OBJECT_COUNT]
signed char cLastTargetObject
CockpitLayout stCockpitLayout
unsigned char abCockpitIndicatorStatesArray[7]
struct Shape * pCockpitPilotShape
short asObjectFlipArray[SPACE_OBJECT_COUNT]
MissionShipRecord aMissionShips[MISSION_SHIP_STORAGE_COUNT]
unsigned char bRadioSilence
short nShipMissionIndices[10]
FixedVector aShipPositionsArray[SPACE_OBJECT_COUNT]
short aasCockpitLightY[5][7]
int nCurrentDamageAlarmSfxHandle
signed char acShipTargetTable[16]
short nCurrentViewCenterPosY
signed char cCurrentNavPtIdx
ShortPoint stWpnDispOrigin
struct Shape * apCommunicationPortraitShapesTable[16]
int nStoredMouseCursorPosX
short nCurrentDmgDispTicks
unsigned char * pCockpitExplosionBackground
char * aapszPilotSpeeches[14][11]
unsigned char cDarkGreyColour
enum SpecialManeuver aeSpecialManeuvers[12]
ShortRect rightVduBounds[5]
CockpitScannerGeometry scanner[5]
ShortRect leftVduBounds[5]
unsigned char backgroundColour
Umbrella header for the game core.
void __stdcall DrawTextCharacter(char character)
void vid_equiv(short obj, short message)
void transform_to_objects_frame(const FixedVector *source, FixedVector *destination, short obj)
unsigned int objective_lost(short objective)
void show_communications_disp(void)
void FormatTextBufferFromStart(const char *format,...)
short kilrathi_near(short obj, short range)
void DrawViewportLine(Viewport *viewport, short x1, short y1, short x2, short y2, short colour)
void SetRectBounds(Viewport *viewport, unsigned short left, unsigned short top, unsigned short right, unsigned short bottom)
void * reset_cockpit(void)
short GetTransformedShapeBounds(Viewport *viewport, short x, short y, struct Shape *shape, short frame, short angle, short scale, short flip, ShortRect *bounds)
unsigned int set_objective_range(short showOnScanner)
void DrawCockpitReadout(signed char slot, const char *text)
int locate_ship(short missionShip, FixedVector *point)
unsigned int DrawPendingCockpitDamage(void)
long MultiplyFixed(int left, int right)
short DrawHudMessageSlot(HudMessageSlot *slot)
void cockpit_explosion(void)
void snow_viewport(Viewport *viewport, int effect, unsigned short colour)
void set_next_destination(void)
void place_damage_on_cockpit(short damage)
short distance_from_point(short obj, const FixedVector *point)
void start_lock(unsigned short v)
short LocateMobileObjective(short objective)
unsigned short set_message_time(unsigned short v)
void show_target_disp(void)
void remove_object(short obj)
void UpdateDamageDisplay(void)
void build_your_target_list(short *hasEnemy)
int missile_on_tail(short obj)
void malf_noise(short vdu, int effect, unsigned short colour, short sound, short refresh)
short GetRectHeight(const Viewport *viewport)
long Vector_magnitude(const FixedVector *vector)
void update_missile_warning(void)
void update_objective_location(short objective)
void * FetchDiskPacketRetrying(short logicalFile, short section, short flags)
void __stdcall SetTextCursor(unsigned short a, unsigned short b)
unsigned short IsCockpitExplosionActive(void)
void check_objectives(void)
void draw_nav_pointer(void)
void ShowHudTextLine(char *s, unsigned short b)
short sighted(short objective)
unsigned int RestoreTransientCockpitGraphics(void)
void DrawViewportPixel(Viewport *viewport, short x, short y, short colour)
void repair_internal_damage(void)
void PlaySnowStaticSound(void)
void clear_cockpit_damage(void)
short CheckTargetLockMalfunction(void)
void ResetPilotHandAnimation(void)
void flag_reached(short objective, short reached)
void ClearHudMessageSlot(HudMessageSlot *slot)
unsigned int spacetrack(int track, int mode, short enabled)
short update_vid_disp(short vdu)
void check_visit(short objective, short range)
void PlayCockpitSelectionSfx(short selectionSound)
unsigned int IsPointWithinRange(const FixedVector *from, const FixedVector *to, short range)
void update_status_text(void)
void DrawSpriteDefault(Viewport *viewport, short x, short y, struct Shape *shape, short frame)
void RestoreCockpitExplosionBackground(void)
short FixedToShortSaturating(int value)
void clear_head_up_display(void)
long SinFixed(short degrees)
short MinShort(short a, short b)
void ClearHudMessageIfMatching(HudMessageSlot *slot, const char *text)
void show_navigation_disp(void)
void InvalidateVduMode(short i)
void ClearHudGunReadouts(void)
void CockpitMessage(const char *text, unsigned short colour, int flashCount)
void remove_message(const char *text)
void real_vid_transmit(short obj, short message)
int GetViewportPixel(Viewport *viewport, short x, short y)
unsigned int select_new_release_weapon(enum ObjectType preferredType)
void __stdcall SetTextContext(TextContext *context)
void DrawFilledViewportRect(Viewport *viewport, short left, short top, short right, short bottom, short colour)
void rotational_pos_to_scanner_pos(signed char object, const SphericalVector *position)
const char * objective_name(short objective)
void EndCommSessionWithWingman(void)
void clear_message_time(void)
unsigned short SetVduModeIfChanged(short i, int state)
char *__stdcall DosStrcpy(char *dst, const char *src)
void show_damage_disp(void)
int set_new_objective(short pathIndex)
short visited(short objective)
short achieved(short objective)
void update_cockpit(void)
int damage_your_component(char component, char amount, char maximum)
void EraseCockpitReadoutRegion(Viewport *viewport, short left, short top, short right, short bottom, short colour)
void PlayTargetLockSfx(void)
long CosFixed(short degrees)
void cycle_onscreen_targets(void)
unsigned int overlay_head_up_display(void)
void RemovePlayerReleaseWeapon(signed char weapon)
void RestoreSpriteBackground(Viewport *viewport, unsigned char *background, short x, short y, struct Shape *shape, short frame)
void npc_communication(void)
void ShowComponentHitHudMessage(const char *text, unsigned short colour, short flashCount)
unsigned int sort_viable_target_list(void)
short auto_pilot_valid(short showReason)
void UpdateMessage(HudMessageSlot *slot)
void InflightComputer(void)
void send_message(short obj, short message)
void __stdcall DrawTextString(const char *text)
void update_dead_disp(short a)
long DivideFixed(int numerator, int denominator)
void explosion_draw(void)
void print_message_text(char *text, unsigned short colour)
void check_stranded(void)
void EraseCockpitReadoutAtPosition(signed char slot, short left, short top)
unsigned short starting_lock(unsigned short v)
void DrawSolidColourSprite(Viewport *viewport, short x, short y, struct Shape *shape, short frame, short colour)
void vdu_polygon(signed char bar, short percent)
void SetHudTextColour(short v)
void show_info_disp(void)
int any_enemy(short obj, short range)
unsigned int update_digital_readouts(void)
void DrawViewportBorder(Viewport *viewport, short left, short top, short right, short bottom, short colour)
void remove_nav_pointer(void)
void EmitTextString(void(__stdcall *writer)(int), const char *text)
short malf(char component)
void ClearViewport(Viewport *viewport, short colour)
void DrawPilotHandFrame(void)
short escorting_a_ship(void)
void exit_squadron(const char *msg)
short find_vacant_3d_object(void)
void SetHudMessageText(char *text, unsigned short colour, unsigned short duration)
void get_facing_range_from_object(short obj, short other)
short GetVduModeStackDepth(short i)
void draw_target_box(unsigned short colour, signed char object, short solid, short drawLockMarker, short padding, ShortRect *savedBounds)
void FormatTextTokens(void(__stdcall *writer)(int), const char *format, va_list arguments)
void push_mode(short i, int state)
void set_new_vdu(short vdu)
void ResetScannerContacts(void)
void vdu_pop_all(short vdu)
short hidden_objective(short objective)
unsigned int InitializeCockpitReadout(signed char slot, TextContext *context)
void rectangular_to_spherical(const FixedVector *rectangular, SphericalVector *spherical)
void draw_cockpit_lights(void)
void PlaySfxWaveFileByNumber()
int calculate_damage_level(void)
void set_mode(short i, int state)
void DrawTargetRangeReadout(void)
void flag_objective(short objective, unsigned char flags)
void check_sighting(short objective, short range, short object)
void CaptureSpriteBackground(Viewport *viewport, unsigned char *background, short x, short y, struct Shape *shape, short frame)
void determine_pilot_hand(void)
void DrawCalculatingLabel(void)
void ComputeVectorDelta(const FixedVector *from, const FixedVector *to, FixedVector *delta)
unsigned int DrawTextAt(TextContext *context, short x, short y, const char *text, unsigned char alignment)
short mobile_objective(short objective)
short decrement_lock_time(short screenX)
unsigned int select_new_gun(void)
void CopyTrainSimPilotViewToRightVdu(void)
void FlushSoundEffectsAndLog(int soundHandle, short fadeTicks)
short MaxShort(short a, short b,...)
void fire_computer_graphic_missile(void)
void RestoreCockpitExplosionIfVisible(void)
void AppendFormattedText(const char *format,...)
void SetHudMessageSlot(HudMessageSlot *slot, TextContext *context, short x, short y, const char *text, unsigned short colour, signed char flashCount)
unsigned int someone_coming(void)
void FatalErrorAndExit(const char *format,...)
void FreePacketAndClear(void *slot, unsigned short releaseFlags)
void __stdcall AppendTextCharacter(char character)
short find_ship_index(short missionShip)
short __stdcall RandomInRange(short lo, short hi)
unsigned int SetCockpitLightBlink(signed char light, short interval)
void target_locking(signed char target)
unsigned int remove_weapon(short obj, short weapon)
void show_weapon_disp(void)
void DrawFormattedText(const char *format,...)
short RandomBelowOrEqual(short n)
void SelectCockpitVduMode(short vdu, int mode)
unsigned int draw_3d_scanner(void)
unsigned short vdu_malf(short vdu, short sound)
short get_color(short object, unsigned short *colour)
void CopyViewportContents(Viewport *source, Viewport *destination)
void set_global_message(const char *text, unsigned short colour, int flashCount)
short cycle_next_objective(void)
void ShutdownEventManager(void)
short message_showing(void)
@ MISSION_TYPE_WARP_ARRIVE
@ OBJECT_TYPE_TIGERS_CLAW
@ OBJECT_TYPE_HEAT_SEEKING_MISSILE
@ OBJECT_TYPE_IMAGE_RECOGNITION_MISSILE
@ SPECIAL_MANEUVER_UNKNOWN_9
@ OBJECT_CLASS_CAPITAL_SHIP