Files
Cesarus85--mjolnir-vr/source/interface/player_ui.h
T
Milenko 329d311c16 Campaign: new profiles start at the beginning, as on the Xbox
The debug build this port comes from unlocked every campaign level on
every difficulty for each new profile. Retail Xbox Halo does not: a new
profile starts at The Pillar of Autumn and each level opens when the one
before it is finished. New profiles now start that way.

- game.unlock_all_levels (off by default) keeps the old behavior for new
  profiles, for those who want it.
- profile_reset_campaign in the console clears the current profile's
  finished levels and last played level, after a confirmation
  ("profile_reset_campaign yes"). Profiles made by earlier versions had
  every level open and cannot be told apart from a real full clear, so
  nothing is changed automatically.

(cherry picked from commit 224d9a757575509efb0dedab094bd0d34df59e96, without its top README
table, which OpenCE does not have)
2026-10-19 22:42:30 +13:00

133 lines
3.6 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);
/* port: the saved game file being edited (NONE for none) */
long player_ui_get_edit_profile_index(
void);
struct game_variant *player_ui_get_edit_playlist_profile(
void);
/* port: the PC options (game_engine.h) of the gametype being edited, and of
the multiplayer gametype (player_ui_set_game_variant's) */
struct game_variant_options;
struct game_variant_options *player_ui_get_edit_playlist_options(
void);
void player_ui_set_game_variant_options(
struct game_variant_options const *options);
struct game_variant_options const *player_ui_get_game_variant_options(
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);
void player_ui_local_player_joined_multiplayer_game(
short local_player_index);
/* port: the local player out of this game and the next */
void player_ui_local_player_left_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);
boolean player_ui_reset_campaign_progress(
boolean reset,
wchar_t *name,
long name_length);
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);
/* port: a saved game file deleted (saved_game_files.c) */
void player_ui_saved_game_file_removed(
long removed_index);
/* ---------- globals */
/* ---------- public code */
#endif // __PLAYER_UI_H