13#define g_acHazardPitchRange \
14 ((const signed char *)&g_nHazardPitchRange)
56 (
unsigned int *)&direction,
87 for (slot = 0; slot < 20; slot++) {
134void align(
int *value,
short quantum)
136 *value -= *value % quantum;
164 moves = (short)(velocity == 0);
165 }
else if (moves != 0) {
170 45, (
short)(travelTime -
174 7, (
short)(travelTime -
178 (
int)travelTime << 8, &aimPoint);
205 separation, &aimPoint);
249 abs(yawDelta) < 19 &&
255 if (abs(pitchDelta) > 5 && abs(pitchDelta) < 20 &&
256 abs(yawDelta) > 5 && abs(yawDelta) < 20 &&
RandomBelow(100) < 30)
273 usable = usable != 0 &&
386 for (slot = 0; slot < 20; slot++) {
392 if (freeSlot != -1 &&
412 short radius,
short density)
#define g_acHazardPitchRange
void SetVectorFixedPoint(unsigned int *p, short v)
void remove_hazard(signed char hazard)
short kilrathi_near(short obj, short range)
void make_shard(short asteroid, FixedVector direction)
short MaxShort(short a, short b)
short distance_between_points(const FixedVector *from, const FixedVector *to)
void fix_objects_ijk(short obj)
void match_ship_to_eye(void)
void rotate_about_i(short angle, FixedVector *j, FixedVector *k)
short GetTransformedShapeBounds(Viewport *viewport, short x, short y, unsigned char *shape, short frame, short angle, short scale, short flip, short *bounds)
void remove_object(short obj)
void align(int *value, short quantum)
void alter_pitch(short angle, short obj)
void add_hazard_field(short type, FixedVector center, short radius, short density)
void AddFixedVectors(const FixedVector *left, const FixedVector *right, FixedVector *sum)
short easy2see(short obj)
void position_relative_ijk(FixedVector *position, short obj, short right, short up, short forward)
void ScaleFixedVector(FixedVector *vector, int scale, FixedVector *result)
short MinShort(short a, short b)
short find_ratio(short inputMinimum, short inputMaximum, short input, short outputMinimum, short outputMaximum)
short ok_hazard_spot(short obj)
void extra_hazard(short obj)
void copy_frame(short source, short destination)
short signed_random(short range)
void alter_yaw(short angle, short obj)
void init_hazard(short obj, FixedVector position, short moving)
void SubtractFixedVectors(FixedVector *left, FixedVector *right, FixedVector *difference)
short real_velocity(short obj)
void start_hazard_field(short region)
short within_field(const HazardField *field, const FixedVector *point)
short RandomBelow(short n)
short find_vacant_3d_object(void)
short near_field(const HazardField *field, const FixedVector *point)
void point_at(short obj, FixedVector point)
void RecordCannedSceneObjectEvent(short obj, int event)
short asteroid_velocity(void)
short try_far_spot(FixedVector *spot, short *moving)
short IsPointWithinRange(FixedVector *from, FixedVector *to, short range)
void manage_hazard(short obj, short slot)
unsigned short RandomInRange(unsigned short lo, unsigned short hi)
void set_objects_data(short obj, short type, short owner, short matchObjectClass)
void update_hazards(void)
void remove_all_hazards(void)
short RandomBelowOrEqual(short n)
void skew_randomly(short obj, short allowReverse)
void negate_vector(FixedVector *vector)
void rotate_about_j(short angle, FixedVector *i, FixedVector *k)
Shared Win32 declarations, types and library interfaces.
@ OBJECT_DATA_ASTEROID_FIELD
#define SCRATCH_VIEW_OBJECT
#define OBJECT_DATA_ROCK_CHUNK
#define OBJECT_DATA_PORCUPINE_MINE
#define OBJECT_DATA_ASTEROID1
short g_asObjectScreenAngle[SPACE_OBJECT_COUNT]
HazardField g_aHazardFields[8]
HazardField * g_pActiveHazardField
short g_asObjectCollisionRadius[SPACE_OBJECT_COUNT]
unsigned char * g_apObjectShape[SPACE_OBJECT_COUNT]
short g_asObjectDistance[SPACE_OBJECT_COUNT]
signed char g_abHazardObjects[0x14]
short g_aeObjectClass[SPACE_OBJECT_COUNT]
short g_anObjectYawRotation[SPACE_OBJECT_COUNT]
short g_asObjectType[SPACE_OBJECT_COUNT]
short g_asObjectFlip[SPACE_OBJECT_COUNT]
short g_bUseEyePositionForHazards
FixedVector g_aShipForwardVector[SPACE_OBJECT_COUNT]
short g_asObjectScreenX[SPACE_OBJECT_COUNT]
short g_nHazardReferenceSpeed
FixedVector g_aShipRightVector[SPACE_OBJECT_COUNT]
signed char g_acObjectOwner[SPACE_OBJECT_COUNT]
short g_asObjectScreenScale[SPACE_OBJECT_COUNT]
short g_anObjectPitchRotation[SPACE_OBJECT_COUNT]
short g_nRenderedSpaceFrame
signed char g_acObjectCollisionGraceTicks[SPACE_OBJECT_COUNT]
Viewport g_27_stViewScratchInfo
FixedVector g_aShipPosition[SPACE_OBJECT_COUNT]
FixedVector g_aShipUpVector[SPACE_OBJECT_COUNT]
FixedVector g_aShipVelocity[SPACE_OBJECT_COUNT]
short g_15_nStoredScreenViewCentreX
signed char g_cHazardBaseTravelTime
short g_asObjectScreenY[SPACE_OBJECT_COUNT]
short g_asObjectCounter[SPACE_OBJECT_COUNT]
short g_asObjectViewFrame[SPACE_OBJECT_COUNT]
short g_nHazardFieldCount