Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
spc.c File Reference

Space views, star field and object simulation. More...

#include "game.h"

Go to the source code of this file.

Macros

#define SPC_C
#define COLLISION_MASS_DIFFERENCE_SCALE(objectMass, partnerMass)
#define COLLISION_MAXIMUM_VELOCITY(obj)

Functions

unsigned int rotate_eye_to_goal (void)
short GetVectorMagnitude (const FixedVector *vector)
unsigned int set_eye_direction_and_position (void)
void force_view (int view, short obj)
void SaveTorpedoTargetLockForViewChange (int previousView)
unsigned int new_view (int view, short obj)
unsigned int start_dust (short obj, FixedVector origin, short forwardDistance, int rightOffset, int upOffset)
unsigned int generate_stars (void)
unsigned int update_star_field (void)
short count_down (short obj)
void house_keep_objects (void)
void update_objects_in_space (void)
unsigned int rotate_object (short obj)
void accelerate_and_move_object (short obj)
void animate_shape (short obj)
void animate_object (short obj)
void hit_asteroid (short asteroid, short destructionChance)
void object_collision (short obj)
void object_intelligence (short obj)

Variables

signed char g_bLandingCommRequestPending = 0
int g_nCapitalShipViewDistance = 0x7d000
int g_nCurrentView = -1
short g_bAlternateChaseView = 0
int g_nChaseCameraMaximumVelocity = 0x8c00
short g_nSpaceExplosionFlashActive = 0
short g_bApplyingCollisionDamage = 0
short g_asIntelligenceEvent [12] = { 0 }
short g_nCockpitCameraObject
FixedVector g_vExternalViewOffset
short g_nStarFieldJRotationNumber
short g_2_nExternalViewDistanceValue
short g_1_nStarFieldIRotation
short g_7_nExternalViewTimeout

Detailed Description

Space views, star field and object simulation.

Definition in file spc.c.

Macro Definition Documentation

◆ COLLISION_MASS_DIFFERENCE_SCALE

#define COLLISION_MASS_DIFFERENCE_SCALE ( objectMass,
partnerMass )
Value:
(((objectMass) - (partnerMass)) << 8)

Definition at line 25 of file spc.c.

Referenced by object_collision().

◆ COLLISION_MAXIMUM_VELOCITY

#define COLLISION_MAXIMUM_VELOCITY ( obj)
Value:
short g_asShipMaximumVelocity[12]
Definition viewrect.c:171

Definition at line 32 of file spc.c.

Referenced by object_collision().

◆ SPC_C

#define SPC_C

Definition at line 6 of file spc.c.

Function Documentation

◆ accelerate_and_move_object()

◆ animate_object()

◆ animate_shape()

◆ count_down()

short count_down ( short obj)

Definition at line 811 of file spc.c.

References count_down(), and g_asObjectCounter.

Referenced by count_down(), and house_keep_objects().

◆ force_view()

◆ generate_stars()

◆ GetVectorMagnitude()

short GetVectorMagnitude ( const FixedVector * vector)

Definition at line 66 of file spc.c.

References FixedToShortSaturating(), GetVectorMagnitude(), and Vector_magnitude().

Referenced by GetVectorMagnitude().

◆ hit_asteroid()

void hit_asteroid ( short asteroid,
short destructionChance )

◆ house_keep_objects()

void house_keep_objects ( void )

Definition at line 819 of file spc.c.

References ClearViewport(), CompleteStarSystemJump(), count_down(), Create_explosion_debris(), distance_from_object(), explode(), explosion_shock_wave(), g_1_asSpacePaletteFade, g_27_aasGunCooldown, g_27_stViewScratchInfo, g_2_asFlakCooldownTable, g_6_nHomeOperationShipIndexValue, g_7_asShipBurstStageCountdown, g_abShipNavPointIndex, g_acObjectCollisionGraceTicks, g_acObjectOwner, g_acObjectType, g_acShipExhaustHeat, g_acShipLastAttacker, g_acShipTarget, g_aeObjectClass, g_aeSpecialManeuver, g_aMissionShips, g_anShipCloakState, g_aObjectTypeData, g_aShipForwardVector, g_aShipVelocity, g_asMissileProximityFuseValues, g_asObjectAnimationIndex, g_asObjectCounter, g_asObjectScale, g_asObjectScreenX, g_asObjectType, g_aSpaceExplosionFlashPalette, g_asPlayerHitsCreditValues, g_asProjectileEvasionTicks, g_asShipCloakCooldown, g_asShipCloakElapsedFrames, g_asShipFriendlyFireCooldown, g_asShipManeuver, g_asShipMissionIndex, g_asShipSide, g_asShipTactic, g_asSpikeriCooldown, g_bCarrierLandingEnabled, g_bLandingCommRequestPending, g_bMissionDeathSequencePending, g_bPrimaryViewBufferColour, g_bViewportDirty, g_cPrimaryViewBufferColour, g_nArcadeState, g_nCannedSceneMode, g_nPendingEjectionShip, g_nPlayerCollisionObject, g_nSpaceBlastFlashIncrement, g_nSpaceExplosionFlashActive, g_nSpaceFrame, g_nSpacePaletteFadeMode, g_nYourWingman, house_keep_objects(), MANEUVER_WARPING_IN, MANEUVER_WARPING_OUT, normal_speed(), OBJECT_CLASS_BASE, OBJECT_CLASS_CAPITAL_SHIP, OBJECT_CLASS_DEBRIS, OBJECT_CLASS_DUST, OBJECT_CLASS_EXPLOSION, OBJECT_CLASS_FIXED_OBJECT, OBJECT_CLASS_MINE, OBJECT_CLASS_MISSILE, OBJECT_CLASS_PROJECTILE, OBJECT_CLASS_SHIP, OBJECT_DATA_CHAFF_POD, OBJECT_DATA_DART_DUMB_FIRE_MISSILE, OBJECT_DATA_EJECTION_POD, OBJECT_DATA_INDEX, OBJECT_DATA_TORPEDO, OBJECT_TYPE_EXPLOSION2, onboard_explosion(), RandomBelowOrEqual(), RandomInRange(), RecordCannedSceneObjectEvent(), remove_object(), reset_maneuver(), send_message(), set_objects_data(), SetPaletteEntry(), ShipExplosion(), SIDE_KILRATHI, SIDE_NEUTRAL, SPACE_LAST_MOVING_OBJECT, SpawnMissionEjectionPod(), SPECIAL_MANEUVER_UNKNOWN_9, MissionShipRecord::state, TACTIC_RAM, TACTIC_SIT_STILL, TACTIC_WARP_IN, and vector_component_in_dir().

Referenced by house_keep_objects(), and Update_3Space().

◆ new_view()

◆ object_collision()

void object_collision ( short obj)

Definition at line 1377 of file spc.c.

References AddFixedVectors(), apply_force_to_object(), check_for_collision(), COLLISION_MASS_DIFFERENCE_SCALE, COLLISION_MAXIMUM_VELOCITY, ComputeVectorDelta(), DivideFixed(), easy2see(), explode(), EYE_OBJECT, g_9_aasCockpitHitPaletteFades, g_abProjectileCollisionBonus, g_acLastCollisionObject, g_acObjectCollisionGraceTicks, g_acObjectOwner, g_acObjectType, g_acShipCollisionCooldown, g_acShipLastAttacker, g_aeObjectClass, g_anShipSpeed, g_aObjectTypeData, g_aShipPosition, g_aShipVelocity, g_asObjectCollisionRadius, g_asObjectCounter, g_asObjectDamage, g_asObjectScale, g_asObjectScreenX, g_asObjectType, g_asProjectileEvasionTicks, g_asShipSide, g_bApplyingCollisionDamage, g_bPlayerCollisionEnabled, g_nCurrentView, g_vCollisionDelta, GetAdaptiveTurnRate(), hit_asteroid(), inflict_damage(), MaxInt(), MaxShort(), MinInt(), MinShort(), MultiplyFixed(), negate_vector(), NormalizeFixedVector(), OBJECT_CLASS_ASTEROID, OBJECT_CLASS_BASE, OBJECT_CLASS_CAPITAL_SHIP, OBJECT_CLASS_MINE, OBJECT_CLASS_MISSILE, OBJECT_CLASS_PROJECTILE, OBJECT_CLASS_SHIP, object_collision(), OBJECT_DATA_PROJECTILE_IMPACT_EFFECT, SphericalVector::pitch, PlaySfxWaveFileByNumber(), ObjectTypeData::radarRadius, RecordCannedSceneObjectEvent(), rectangular_to_spherical(), remove_object(), rotational_acceleration(), ScaleFixedVector(), set_objects_data(), SubtractFixedVectors(), transform_to_objects_frame(), vector_component_in_dir(), Vector_magnitude(), SphericalVector::yaw, and zero_vector().

Referenced by object_collision(), and update_objects_in_space().

◆ object_intelligence()

◆ rotate_eye_to_goal()

◆ rotate_object()

◆ SaveTorpedoTargetLockForViewChange()

◆ set_eye_direction_and_position()

◆ start_dust()

◆ update_objects_in_space()

◆ update_star_field()

Variable Documentation

◆ g_1_nStarFieldIRotation

short g_1_nStarFieldIRotation

Definition at line 1725 of file spc.c.

Referenced by generate_stars(), and update_star_field().

◆ g_2_nExternalViewDistanceValue

short g_2_nExternalViewDistanceValue

Definition at line 1724 of file spc.c.

Referenced by new_view(), and set_eye_direction_and_position().

◆ g_7_nExternalViewTimeout

short g_7_nExternalViewTimeout

Definition at line 1726 of file spc.c.

Referenced by new_view(), and set_eye_direction_and_position().

◆ g_asIntelligenceEvent

short g_asIntelligenceEvent[12] = { 0 }

◆ g_bAlternateChaseView

short g_bAlternateChaseView = 0

Definition at line 12 of file spc.c.

Referenced by new_view(), and set_eye_direction_and_position().

◆ g_bApplyingCollisionDamage

short g_bApplyingCollisionDamage = 0

Definition at line 15 of file spc.c.

Referenced by inflict_damage(), and object_collision().

◆ g_bLandingCommRequestPending

signed char g_bLandingCommRequestPending = 0

◆ g_nCapitalShipViewDistance

int g_nCapitalShipViewDistance = 0x7d000

Definition at line 10 of file spc.c.

◆ g_nChaseCameraMaximumVelocity

int g_nChaseCameraMaximumVelocity = 0x8c00

Definition at line 13 of file spc.c.

Referenced by set_eye_direction_and_position().

◆ g_nCockpitCameraObject

short g_nCockpitCameraObject
extern

Definition at line 1943 of file main.c.

Referenced by set_eye_direction_and_position().

◆ g_nCurrentView

◆ g_nSpaceExplosionFlashActive

short g_nSpaceExplosionFlashActive = 0

Definition at line 14 of file spc.c.

Referenced by DrawSpaceSceneFrame(), house_keep_objects(), and RunSpaceFlight().

◆ g_nStarFieldJRotationNumber

short g_nStarFieldJRotationNumber

Definition at line 1723 of file spc.c.

Referenced by generate_stars(), and update_star_field().

◆ g_vExternalViewOffset

FixedVector g_vExternalViewOffset

Definition at line 1722 of file spc.c.

Referenced by new_view(), and set_eye_direction_and_position().