mirror of
https://github.com/astromaddie/HaloCE-VR.git
synced 2026-10-20 08:00:14 +02:00
Import only independently reviewed production changes. Preserve canonical physics and virtual-keyboard repairs; keep B3 and all unresolved holds out. Record exactly four approved canary debits (6987 meaningful bytes), six Halo admissions and two revocations. Keep vendor ioinit/storage work separate. Full build, 8252-row sweep, 1318 tests, park/admission/fake audits and 621-object binding pass within approved debit bounds. Do not publish donor research dumps or private assets. README and unrelated user research remain untouched. See frontier_publication_reconciliation_20260927.md for complete evidence limits and accounting.
208 lines
4.4 KiB
C
208 lines
4.4 KiB
C
/*
|
|
HUD_DEFINITIONS.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __HUD_DEFINITIONS_H
|
|
#define __HUD_DEFINITIONS_H
|
|
#pragma once
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "math/real_math.h"
|
|
#include "tag_files/tag_groups.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
enum hud_anchor
|
|
{
|
|
_hud_anchor_top_left,
|
|
_hud_anchor_top_right,
|
|
_hud_anchor_bottom_left,
|
|
_hud_anchor_bottom_right,
|
|
_hud_anchor_center,
|
|
|
|
NUMBER_OF_HUD_ANCHORS
|
|
};
|
|
|
|
/* ---------- macros */
|
|
|
|
/* ---------- structures */
|
|
|
|
struct hud_absolute_placement_definition
|
|
{
|
|
short corner;
|
|
short pad;
|
|
long unused[8];
|
|
};
|
|
|
|
struct hud_placement_definition
|
|
{
|
|
point2d offset;
|
|
real_vector2d scale;
|
|
short multiplayer_scaling_flags;
|
|
short pad;
|
|
long unused0[5];
|
|
};
|
|
|
|
struct hud_color_definition
|
|
{
|
|
unsigned long color;
|
|
unsigned long flash_color;
|
|
real flash_period;
|
|
real flash_delay;
|
|
short number_of_flashes;
|
|
word flash_flags;
|
|
real flash_length;
|
|
unsigned long disabled_color;
|
|
union
|
|
{
|
|
long unused;
|
|
struct
|
|
{
|
|
short up_ticks;
|
|
short fade_ticks;
|
|
} objective;
|
|
} custom;
|
|
};
|
|
|
|
struct hud_messaging_parameters_definition
|
|
{
|
|
struct hud_absolute_placement_definition absolute_placement;
|
|
struct hud_placement_definition placement;
|
|
struct tag_reference single_player_font;
|
|
struct tag_reference multi_player_font;
|
|
real up_time;
|
|
real fade_time;
|
|
real_argb_color state_color;
|
|
real_argb_color text_color;
|
|
real spacing;
|
|
struct tag_reference hud_item_messages;
|
|
struct tag_reference messaging_icons;
|
|
struct tag_reference alternate_icon_text;
|
|
struct tag_block button_icons;
|
|
struct hud_color_definition color;
|
|
struct tag_reference hud_messages;
|
|
struct hud_color_definition objective_color;
|
|
};
|
|
|
|
struct hud_waypoint_definition
|
|
{
|
|
real top_offset;
|
|
real bottom_offset;
|
|
real left_offset;
|
|
real right_offset;
|
|
long unused0[8];
|
|
struct tag_reference arrow_bitmap;
|
|
struct tag_block arrows;
|
|
long unused1[20];
|
|
};
|
|
|
|
struct hud_multiplayer_parameters_definition
|
|
{
|
|
real hud_scale;
|
|
long unused[64];
|
|
};
|
|
|
|
struct hud_defaults_definition
|
|
{
|
|
struct tag_reference default_weapon_hud;
|
|
real motion_sensor_range;
|
|
real motion_sensor_velocity_sensitivity;
|
|
real motion_sensor_scale;
|
|
rectangle2d default_title_bounds;
|
|
long unused[11];
|
|
};
|
|
|
|
struct hud_damage_indicators_definition
|
|
{
|
|
short top_offset;
|
|
short bottom_offset;
|
|
short left_offset;
|
|
short right_offset;
|
|
long unused[8];
|
|
struct tag_reference indicator_bitmap;
|
|
short sequence_index;
|
|
short multiplayer_sequence_index;
|
|
unsigned long color;
|
|
long unused2[4];
|
|
};
|
|
|
|
struct hud_timer_definition
|
|
{
|
|
struct hud_color_definition color;
|
|
struct hud_color_definition time_up_color;
|
|
long unused[10];
|
|
};
|
|
|
|
struct hud_globals_definition
|
|
{
|
|
struct hud_messaging_parameters_definition messaging;
|
|
struct hud_waypoint_definition waypoint;
|
|
struct hud_multiplayer_parameters_definition multiplayer;
|
|
struct hud_defaults_definition defaults;
|
|
struct hud_damage_indicators_definition damage_indicators;
|
|
struct hud_timer_definition timer_definition;
|
|
struct tag_reference carnage_report_bitmap;
|
|
short loading_begin_index;
|
|
short loading_end_index;
|
|
short checkpoint_begin_index;
|
|
short checkpoint_end_index;
|
|
struct tag_reference checkpoint_sound;
|
|
long unused2[24];
|
|
};
|
|
|
|
struct icon_hud_element_definition
|
|
{
|
|
short sequence_index;
|
|
short width_offset;
|
|
point2d offset;
|
|
unsigned long color;
|
|
char frame_rate;
|
|
byte flags;
|
|
short text_index;
|
|
};
|
|
|
|
struct hud_screen_effect_definition
|
|
{
|
|
long unused1[1];
|
|
word mask_flags;
|
|
word mask_pad;
|
|
long mask_unused[4];
|
|
struct tag_reference mask_fullscreen;
|
|
struct tag_reference mask_splitscreen;
|
|
long unused2[2];
|
|
word convolution_flags;
|
|
word convolution_pad;
|
|
real convolution_radius_in_bounds[2];
|
|
real convolution_radius_out_bounds[2];
|
|
long unused3[6];
|
|
word light_enhancement_flags;
|
|
short light_enhancement_script_source;
|
|
real light_enhancement_intensity;
|
|
long unused4[6];
|
|
word desaturation_flags;
|
|
short desaturation_script_source;
|
|
real desaturation_intensity;
|
|
real_rgb_color desaturation_tint;
|
|
long unused5[6];
|
|
};
|
|
|
|
typedef char hud_absolute_placement_definition_size_assert[
|
|
sizeof(struct hud_absolute_placement_definition) == 0x24 ? 1 : -1];
|
|
typedef char hud_placement_definition_size_assert[
|
|
sizeof(struct hud_placement_definition) == 0x24 ? 1 : -1];
|
|
typedef char hud_color_definition_size_assert[
|
|
sizeof(struct hud_color_definition) == 0x20 ? 1 : -1];
|
|
|
|
/* ---------- prototypes/EXAMPLE.C */
|
|
|
|
/* ---------- globals */
|
|
|
|
extern char const *global_hud_anchor_names[NUMBER_OF_HUD_ANCHORS];
|
|
|
|
/* ---------- public code */
|
|
|
|
#endif // __HUD_DEFINITIONS_H
|