mirror of
https://github.com/astromaddie/HaloCE-VR.git
synced 2026-10-23 21:00:15 +02:00
Integrate coherent B3, P2/K17 prerequisites, completed K1-K16 + S, and the independent profile/effects rulings. Five gains and two explicitly approved B3 debits: net +3 strict functions, +2770 meaningful/+2800 padded bytes (+2774 progress credit). No additional losses; Halo objects 394 to 396 and data unchanged. Clean rebuild, identical 8252-row stable sweep, 68 valid parks, admission/provider checks, 467-unit warning comparison, unchanged fake scan, and 1318 tests passed. Preserve canonical helper recoveries and unrelated work. Full evidence and disclosures in docs/object_matching_logs/astra_five_function_reconciliation_20260928.md.
85 lines
1.8 KiB
C
85 lines
1.8 KiB
C
/*
|
|
VEHICLES.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __VEHICLES_H
|
|
#define __VEHICLES_H
|
|
#pragma once
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "units.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
enum vehicle_flags
|
|
{
|
|
_vehicle_blurred_bit = 0,
|
|
_vehicle_hovering_bit,
|
|
_vehicle_control_crouch_bit,
|
|
_vehicle_control_jump_bit,
|
|
_vehicle_upending_bit,
|
|
NUMBER_OF_VEHICLE_FLAGS,
|
|
};
|
|
|
|
/* ---------- macros */
|
|
|
|
#define vehicle_get(index) ((struct unit_datum *)object_get_and_verify_type((index), _object_mask_vehicle))
|
|
#define vehicle_try_and_get(index) ((struct unit_datum *)object_try_and_get_and_verify_type((index), _object_mask_vehicle))
|
|
#define vehicle_runtime_get(index) ((struct vehicle_runtime_datum *)object_get_and_verify_type((index), _object_mask_vehicle))
|
|
|
|
/* ---------- structures */
|
|
|
|
struct vehicle_runtime_datum;
|
|
|
|
/* ---------- prototypes/VEHICLES.C */
|
|
|
|
void vehicle_hover(
|
|
long vehicle_index,
|
|
boolean hover);
|
|
void vehicle_reset(
|
|
long object_index);
|
|
boolean vehicle_new(
|
|
long object_index);
|
|
|
|
void vehicles_initialize(
|
|
void);
|
|
void vehicles_initialize_for_new_map(
|
|
void);
|
|
void vehicles_dispose_from_old_map(
|
|
void);
|
|
void vehicles_dispose(
|
|
void);
|
|
boolean vehicle_moving_near_any_player(
|
|
void);
|
|
boolean vehicle_stuck(
|
|
long vehicle_index,
|
|
real_vector3d *direction);
|
|
void vehicle_export_function_values(
|
|
long object_index);
|
|
void vehicle_delete(
|
|
long vehicle_index);
|
|
boolean vehicle_causes_collision_damage(
|
|
long vehicle_index);
|
|
long vehicle_find_pathfinding_surface_index(
|
|
long vehicle_index,
|
|
real_point3d *position);
|
|
void vehicle_preprocess_node_orientations(
|
|
long object_index,
|
|
struct real_orientation *node_orientations);
|
|
boolean vehicle_update(
|
|
long object_index);
|
|
void vehicle_accelerate(
|
|
long vehicle_index,
|
|
real_vector3d const *acceleration);
|
|
void vehicle_render_debug(
|
|
long object_index);
|
|
|
|
/* ---------- globals */
|
|
|
|
/* ---------- public code */
|
|
|
|
#endif // __VEHICLES_H
|