mirror of
https://github.com/astromaddie/HaloCE-VR.git
synced 2026-10-21 03:00:14 +02:00
Objects admitted (Halo 363 -> 375), each with an independent adversarial review:
units (first-party names incl. the reviewer-corrected unit_vectors_are_valid, 49
static flags, '$'-defect data entry), collision_debug (/Od helper calls),
render_objects (b807f9f6 provider packet), editor_flying_camera
(_editor_camera_set_position_and_roll 432, storage + grouped entry re-pin),
rasterizer_xbox_shadows (shadow_model_draw 688), cache_files_windows
(open_cache_files 752), light_volumes (light_volume_render 912, reviewer-amended
/Od declaration order), actor_firing_position, path, biped_limp_noodle (HCEX file
statics), leaf_map and model_animations (/Od helper calls replace hand expansions).
Zero-credit/data: path_structure_bsp HCEX tables (+200 data), hud_nav_points
storage, first_person_weapons patch A (park re-baselined).
Gate (full ninja, objdiff 3.3.1): stable diff +4 strict / 2,784 padded, 0
regressions; parks 89/0/0; admission 11/0/5/0; fake scan 26 (new lead is the
/Od-attested empty then-arm in the still-parked fpw update); pytest 1157 passed;
diff --check clean. Ledger: docs/object_matching_logs/claude_fifty_objects_20260925.md
(adds the Layer 2 owner-ruling disclosure, tallies and held items).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
84 lines
1.9 KiB
C
84 lines
1.9 KiB
C
/*
|
|
FIRST_PERSON_WEAPONS.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __FIRST_PERSON_WEAPONS_H
|
|
#define __FIRST_PERSON_WEAPONS_H
|
|
#pragma once
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "cseries/cseries.h"
|
|
#include "math/real_math.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
/* ---------- macros */
|
|
|
|
/* ---------- structures */
|
|
|
|
struct real_matrix4x3;
|
|
struct animation_state;
|
|
struct object_marker;
|
|
|
|
/* ---------- prototypes/FIRST_PERSON_WEAPONS.C */
|
|
|
|
short animation_update_render_only(
|
|
long animation_graph_index,
|
|
struct animation_state *state,
|
|
long *sound_index);
|
|
void first_person_weapons_initialize(
|
|
void);
|
|
void first_person_weapons_dispose(
|
|
void);
|
|
void first_person_weapons_initialize_for_new_map(
|
|
void);
|
|
void first_person_weapons_dispose_from_old_map(
|
|
void);
|
|
void first_person_weapons_update(
|
|
void);
|
|
long first_person_weapon_get_local_index(
|
|
long weapon_index);
|
|
void first_person_weapon_draw(
|
|
void);
|
|
short first_person_weapon_get_marker_by_name(
|
|
long weapon_index,
|
|
char const *name,
|
|
struct object_marker *markers,
|
|
short maximum_marker_count);
|
|
void first_person_weapon_render_update(
|
|
void);
|
|
short first_person_weapon_get_marker_by_name_render(
|
|
long weapon_index,
|
|
char const *name,
|
|
struct object_marker *markers,
|
|
short maximum_marker_count);
|
|
void first_person_weapon_center_flashlight(
|
|
long unit_index,
|
|
real_point3d *position,
|
|
real_vector3d *forward,
|
|
real_vector3d *up);
|
|
boolean first_person_weapon_adjust_light(
|
|
long weapon_index,
|
|
char const *marker_name,
|
|
real_point3d *position,
|
|
real_vector3d *forward,
|
|
real_vector3d *up);
|
|
void first_person_weapon_message_from_unit(
|
|
long unit_index,
|
|
short message_type);
|
|
void first_person_weapon_message_from_weapon(
|
|
long weapon_index,
|
|
short message_type);
|
|
struct real_matrix4x3 *first_person_weapon_get_node_matrix(
|
|
short local_player_index,
|
|
short node_index);
|
|
|
|
/* ---------- globals */
|
|
|
|
/* ---------- public code */
|
|
|
|
#endif // __FIRST_PERSON_WEAPONS_H
|