119 direction.
y = -direction.
y;
147 if (destroyTarget == -1) {
211void engage(
short obj,
short target,
short objective);
676 unsigned short possibleRange;
677 short possibleTarget;
695 if (possibleTarget != -1 &&
696 (possibleRange * 3 < dist ||
700 }
else if (nearRange > dist) {
976 for (other = 0; other < 10; other++) {
994 if (projectile != -1) {
1062 if (victim == -1 ||
unactive(victim) != 0) {
1064 for (candidate = 0; candidate < 10; candidate++) {
1127 lockedTarget = victim;
1134 50, (
unsigned short)(
1136 }
else if (dist > 10000 ||
1143 50, (
unsigned short)(
1151 gun++, mountSlot++) {
1152 if (mountSlot->
type == 0x0e &&
1159 if (mountSlot->
type == 0x0d &&
1164 for (candidate = 0; candidate < 10; candidate++) {
1170 (short)(enemyShips + 1);
1173 (short)(allies + 1);
1176 if (enemyShips > allies &&
1184 lockedTarget] << 8) * 3;
1186 switch (flakIndex % 8) {
1199 frames = (short)(mayFire / 250);
1202 (
int)frames << 8, &leadVector);
1205 &leadVector, &spot);
1209 (int)(mayFire / 3) << 8;
1212 (int)(mayFire / 3) << 8;
1215 (int)(mayFire / 3) << 8;
1223 adjustedAim.
x += aimOffset;
1225 gun, obj, adjustedAim.
x,
1226 adjustedAim.
y, adjustedAim.
z);
1230 adjustedAim.
x -= aimOffset;
1232 gun, obj, adjustedAim.
x,
1233 adjustedAim.
y, adjustedAim.
z);
1237 adjustedAim.
y += aimOffset;
1239 gun, obj, adjustedAim.
x,
1240 adjustedAim.
y, adjustedAim.
z);
1244 adjustedAim.
y -= aimOffset;
1246 gun, obj, adjustedAim.
x,
1247 adjustedAim.
y, adjustedAim.
z);
1251 adjustedAim.
y -= aimOffset;
1253 gun, obj, adjustedAim.
x,
1254 adjustedAim.
y, adjustedAim.
z);
1258 adjustedAim.
y += aimOffset;
1259 adjustedAim.
x -= aimOffset;
1261 gun, obj, adjustedAim.
x,
1262 adjustedAim.
y, adjustedAim.
z);
1266 adjustedAim.
x -= aimOffset;
1267 adjustedAim.
y -= aimOffset;
1269 gun, obj, adjustedAim.
x,
1270 adjustedAim.
y, adjustedAim.
z);
1273 flakIndex = (short)(flakIndex + 1);
1277 if (flakShot != 0) {
1279 for (candidate = 0; candidate < 10; candidate++) {
1397 for (other = 0; other < 10; other++) {
1406 if (chaffFound != 0) {
1414 for (other = 0; other <= 9; other++) {
1432 for (hottestHeat = 3; hottestHeat > 0; hottestHeat--) {
1460short explode(
short attacker,
short victim);
1470 for (other = 0; other < 10; other++) {
1484 if (chaffFound != 0) {
1490 for (other = 0; other <= 9; other++) {
1528 for (other = 1; other < 10; other++) {
1532 if (distance < 3000) {
1547short explode(
short attacker,
short victim);
1557 for (other = 0; other <= 9; other++) {
unsigned int approach_full_speed(short ship)
void imperial_wingman(short obj)
void ComputeVectorDelta(FixedVector *from, FixedVector *to, FixedVector *delta)
unsigned int approach_zero_speed(short ship)
short regulate_turn(short obj)
void set_special(short ship, short special)
unsigned int select_target(short obj)
void approach_and_engage(short obj, short goal)
void escort_buddy(short obj, short buddy)
void kilrathi_patrol(short obj)
void get_facing_range_from_point(short obj, const FixedVector *point)
void get_follow_point(short obj, FixedVector *point)
short MaxShort(short a, short b)
int send_at_point(short obj, FixedVector *point, short speed)
void cruise_to_destination(short obj)
short explode(short attacker, short victim)
void set_next_destination(void)
void formation_burst(short obj)
unsigned int get_first_follow_point(short obj, FixedVector *point)
void point_ship_at_object(short obj, short other)
short distance_from_point(short obj, const FixedVector *point)
void perform_maneuver(short obj)
void warp_arrival(short obj)
void imperial_formation(short obj)
void SpawnCapitalFlakProjectile(short weapon, short obj, int x, int y, int z)
void remove_object(short obj)
void fire_afterburner(short obj, short time)
void formation_break(short obj)
void disallow_engage(void)
void maneuvering(short obj, short newTarget)
short abandoned(short obj, short other)
void capital_ship_strike_mission(short obj)
long Vector_magnitude(const FixedVector *vector)
short is_team_member(short missionShip)
void AddFixedVectors(const FixedVector *left, const FixedVector *right, FixedVector *sum)
short evaluate_damage(short obj)
void wingman_mission(short obj)
void init_formation_burst(short obj)
void patrol_area(short obj)
void point_capital_ship_at_object(short obj, short other)
void accelerate_and_jump(short obj)
signed char CanSetNewShipTurnGoal(short ship)
void flag_reached(short objective, short reached)
short unactive(short ship)
void kilrathi_wingman(short obj)
void ScaleFixedVector(FixedVector *vector, int scale, FixedVector *result)
void escort_mission(short obj)
void rendezvous_mission(short obj)
void FF_missile_intelligence(short obj)
short FixedToShortSaturating(int value)
short MinShort(short a, short b)
void intelligence_events(int obj)
short any_enemy(short obj, short range)
short scan_for_enemy(short obj, unsigned short range)
void return_to_master(short obj, short master)
void cruise_home(short obj)
short get_ship_max_velocity(short obj)
void point_ship(short obj, short turnRate, const FixedVector *direction)
unsigned int approach_ship_speed(short obj, short other)
void strike_mission(short obj)
void defend_mission(short obj)
short distance_from_object(short obj, short other)
unsigned int approach_speed(short ship, int targetSpeed)
unsigned int maintain_formation(int obj)
void inherit_leader_mission(short obj)
void streak_toward(short obj, short goal, short range)
void prepare_for_jump(short obj)
short signed_random(short range)
void point_perpendicular(short obj, short other)
void check_goal(short obj)
void launch_carrier_fighter(short carrier)
void split_patrol_mission(short obj)
void steady_object(short ship)
void point_perpendicular_to_point(short obj, const FixedVector *point)
short attacker_in_range(short obj, unsigned short range)
unsigned int reset_tactic(short ship, short tactic)
short in_danger(short obj)
short facing_to_object(short obj, FixedVector *point)
void zero_vector(FixedVector *vector)
unsigned int reset_objective(short ship, short objective)
short real_velocity(short obj)
void SortViableTargetsByDistance(void)
void ship_intelligence(short obj)
short RandomBelow(short n)
void point_ship_behind_object(short obj, short other)
void trim_goals(short obj, short amount)
void engage(short obj, short target, short objective)
short locate_ship(short missionShip, FixedVector *point)
unsigned int veer_random(short obj, short amount)
short detect_enemy_tail(short obj)
void get_facing_range_from_object(short obj, short other)
short dist_from_home(short obj)
short new_object(short type, short owner)
void PlaySfxWaveFileByNumber(int soundNumber, int sourceObject, int looping)
unsigned int approach_cruise_speed(short ship)
void capital_ship_intelligence(short obj)
void futurion_intelligence(short obj)
void fire(short obj, short target)
short gone_ship(short missionShip)
void arrive_from_warp(short obj)
void chaff_intelligence(short obj)
void reach_warp(short obj)
void inherit_leader(short obj)
short scan_and_lock(short obj, short newTactic)
void mine_intelligence(short obj)
void send_message(short obj, signed char message)
short target_valid(short obj, short target)
void flag_objective(short objective, unsigned char flags)
void tanker_intelligence(short obj)
void stationary_intelligence(short obj)
void RecordCannedSceneObjectEvent(short obj, int event)
void heat_seeking_missile_intelligence(short obj)
void destroyer_intelligence(short obj)
void approach_half_speed(short obj)
void reset_mission_type(short obj, short missionType)
short equ_vector(const FixedVector *left, const FixedVector *right)
short check_engage_target(short obj)
void coming_home(short obj)
short fire_turrets(short obj)
short check_destroy_target(short obj)
unsigned short RandomInRange(unsigned short lo, unsigned short hi)
short normal_speed(short obj)
unsigned int alter_tactic(short ship, short tactic)
short find_ship_index(short missionShip)
void return_to_buddy(short obj, short buddy)
void point_ship_at_point(short obj, const FixedVector *point)
unsigned int change_mission_type(short obj, short missionType)
void orbit_sphere(short obj)
void point_parallel(short obj, short other)
short RandomBelowOrEqual(short n)
short NormalizeFixedVector(FixedVector *vector)
short find_objective(short type, short index)
void try2allow_engage(short obj)
short message_showing(void)
Shared Win32 declarations, types and library interfaces.
#define OBJECT_DATA_CHAFF_POD
@ MISSION_TYPE_WARP_ARRIVE
@ MISSION_TYPE_RENDEZVOUS
@ MISSION_TYPE_SPLIT_PATROL
@ OBJECTIVE_HOLD_FORMATION
@ OBJECTIVE_BREAK_FORMATION
@ OBJECT_DATA_SPICULUM_IMAGE_RECOGNITION_MISSILE
@ OBJECT_DATA_PILUM_FRIEND_OR_FOE_MISSILE
@ OBJECT_DATA_JAVELIN_HEAT_SEEKING_MISSILE
@ SPECIAL_MANEUVER_STOP_DRIFT
@ SPECIAL_MANEUVER_KILL_ENGINES
@ OBJECT_CLASS_CAPITAL_SHIP
signed char g_acShipNavPoint[12]
short g_asObjectCollisionRadius[SPACE_OBJECT_COUNT]
short g_asShipMissionParameter[12]
signed char g_abFlightPath[MISSION_OBJECTIVE_COUNT]
signed char g_acShipCommunicator[16]
signed char g_acShipSequence[14]
signed char g_acShipExhaustHeat[16]
short g_asSpikeriCooldown[16]
short g_aeObjectClass[SPACE_OBJECT_COUNT]
short g_asViableTargetDistance[10]
signed char g_acShipTarget[16]
short g_anObjectYawRotation[SPACE_OBJECT_COUNT]
signed char g_cCurrentObjective
short g_asObjectType[SPACE_OBJECT_COUNT]
short g_bHomeObjectiveFlagged
signed char g_acShipCollisionCooldown[16]
short g_asSpikeriLaunchCountdown[10]
ObjectTypeData g_aObjectTypeData[OBJECT_DATA_COUNT]
MissionNavPoint g_aMissionNavPoints[MISSION_NAV_POINT_COUNT]
short g_aeSpecialManeuver[12]
signed char g_acViableTarget[16]
signed char g_acObjectOwner[SPACE_OBJECT_COUNT]
signed char g_abShipNavPointIndex[16]
short g_asObjectDamage[SPACE_OBJECT_COUNT]
short g_asShipMaximumVelocity[12]
ShipIntelligenceMetadata g_stWingmanIntelligence
int g_anShipSpeed[SPACE_OBJECT_COUNT]
unsigned char g_aShipWeapons[10][0xA1]
short g_2_asFlakCooldownTable[16]
short g_asShipIntelState[10]
short g_asShipWingLeader[12]
short g_asActionCount[12]
FixedVector g_aShipPosition[SPACE_OBJECT_COUNT]
FixedVector g_aShipVelocity[SPACE_OBJECT_COUNT]
short g_asShipMissionIndex[12]
signed char g_abShipTurn[16]
short g_aeShipObjective[12]
FixedVector g_aShipDestination[10]
MissionObjective g_aMissionObjectives[MISSION_OBJECTIVE_COUNT]
signed char g_cViableTargetCount
MissionShipRecord g_aMissionShips[MISSION_SHIP_COUNT]
short g_asShipMissionType[12]
FixedVector g_aShipMissionSpot[20]
signed char g_acObjectType[SPACE_OBJECT_COUNT]
short g_asObjectCounter[SPACE_OBJECT_COUNT]
MissionHeader g_13_stMissionHeaderBlock