Files
Cesarus85--mjolnir-vr/source/interface/player_ui.h
T
Jonas VolmanandClaude Opus 5.5 f7cd2e722e Batch 4a: admit player_ui and sound_manager with their shared-header packets
player_ui (header prerequisite + admission; reviewer-amended):
- game_engine.h: the opaque game_variant view becomes the recovered January
  layout (universal/ctf/slayer/oddball/king/race variant members, HCEX names
  where January's offsets attest them); member renames across the game
  engine variants, network managers and playlist_profile.
- player_ui.h: player_ui_get_edit_playlist_profile returns struct game_variant *;
  ui_widget_game_data_input_functions adopts it (reviewer patch 07 removes the
  two C4133 warnings the worker's packet introduced).
- player_ui.c drops its partial playlist_profile view; symbols.json names
  player1_profile_path; rejection retired; status Matching.

sound_manager (shared header sound_definitions.h, 18 consumers):
- sound_definition_find_pitch_range_by_pitch takes HCEX `short old_range_index`
  with the /Od 0x877810 single-exit body (prototype and definition together).
- update_channel_for_looping_sound (1360) and sound_set_definition_end (208) are
  exact in the /Od-attested shape; 45 static flags per cachebeta publics; parks
  retired; status Matching.

Gate (full ninja, objdiff 3.3.1): Halo objects 375 -> 377; stable diff +2
strict / 1,568 padded, 0 regressions across both header consumer sets; parks
87/0/0; admission 11/0/4/0; fake scan 26 (unchanged); pytest 1157 passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 02:21:50 -07:00

113 lines
2.9 KiB
C

/*
PLAYER_UI.H
header included in hcex build.
*/
#ifndef __PLAYER_UI_H
#define __PLAYER_UI_H
#pragma once
/* ---------- headers */
#include "cseries/cseries.h"
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
struct player_profile;
struct game_variant;
/* ---------- prototypes/PLAYER_UI.C */
void player_ui_dispose(
void);
void player_ui_initialize(
void);
void player_ui_clear_multiplayer_joins(
void);
void player_ui_reset_single_player_local_player_controllers(
void);
short player_ui_get_single_player_local_player_controller(
short local_player_index);
short player_ui_get_single_player_local_player_from_controller(
short controller_index);
void player_ui_autojoin_players_to_next_multiplayer_game(
void);
void player_ui_clear_multiplayer_variant(
void);
long player_ui_get_active_player_profile_index(
short local_player_index);
struct player_profile *player_ui_get_edit_player_profile(
void);
struct game_variant *player_ui_get_edit_playlist_profile(
void);
boolean player_ui_edit_profile_is_dirty(
void);
boolean player_ui_save_profile(
void);
boolean player0_look_pitch_is_inverted(
void);
boolean player0_joystick_set_is_normal(
void);
void player_ui_end_editing_profile(
void);
boolean player_ui_local_player_wants_to_play_multiplayer(
short local_player_index);
void player_ui_clear_multiplayer_autojoin_for_local_player(
short local_player_index);
short player_ui_get_last_single_player_level_played(
short local_player_index);
short player_ui_get_single_player_local_player_controller(
short local_player_index);
void player_ui_local_player_joined_multiplayer_game(
short local_player_index);
boolean player_ui_rumble_disabled(
short local_player_index);
boolean player_ui_get_path_to_local_player_profile_directory(
short local_player_index,
char *path);
void player_ui_get_active_player_profile(
short local_player_index,
void *profile);
void player_ui_activate_all_solo_levels(
void);
void player_ui_set_game_variant(
struct game_variant *variant);
boolean player_ui_game_variant_specified(
struct game_variant *variant);
void player_ui_set_single_player_local_player_controller(
short local_player_index,
short controller_index);
long player_ui_get_player1_last_used_profile_index(
void);
void player_ui_fast_setup_network_server(
void);
boolean player_ui_edit_profile_is_default_profile(
void);
void player_ui_remember_player1_profile(
boolean save);
void player_ui_begin_editing_profile(
long profile_index);
void player_ui_set_active_player_profile(
short local_player_index,
long profile_index,
struct player_profile *profile);
boolean player_ui_autolevel_enabled(
short controller_index);
boolean player_ui_edit_profile_name_is_dirty(
void);
boolean player_ui_prompt_user_to_rename_edit_profile(
void);
void player0_look_invert_pitch(
boolean invert);
/* ---------- globals */
/* ---------- public code */
#endif // __PLAYER_UI_H