@@ -6,13 +6,37 @@ REFERENCE_DECLARE(0x0524EC48, s_controller_globals, g_controller_globals);
66
77bool controller_centered_crosshair = false ;
88
9+ bool c_controller_interface::in_use () const
10+ {
11+ // return INVOKE_CLASS_MEMBER(0x00480590, c_controller_interface, in_use);
12+
13+ return is_signed_in_to_machine () || m_state_flags.test (_temporary_bit);
14+ }
15+
16+ // .text:0074D520 ; public: bool __cdecl c_controller_interface::get_always_show_device_selector_ui() const
17+ // .text:0074D5A0 ; public: bool __cdecl c_controller_interface::get_storage_device_selection_performed()
18+ // .text:00A7CBA0 ; public: __cdecl c_controller_interface::c_controller_interface()
19+ // .text:00A7CC20 ; public: __cdecl c_signed_in_users_watcher::c_signed_in_users_watcher(c_signed_in_users_watcher::e_watched_state)
20+ // .text:00A7CC50 ; public: __cdecl s_controller_globals::s_controller_globals()
21+ // .text:00A7CC70 ; public: __cdecl c_controller_interface::~c_controller_interface()
22+ // .text:00A7CC80 ; public: __cdecl c_player_profile_interface::~c_player_profile_interface()
23+ // .text:00A7CC90 ; public: __cdecl s_controller_globals::~s_controller_globals()
24+ // .text:00A7CCB0 ;
25+ // .text:00A7CCC0 ;
26+ // .text:00A7CCD0 ; void __cdecl controller_activate_as_unsigned_in_user(short, bool)
27+ // .text:00A7CD30 ; void __cdecl controller_display_storage_device_selection(short)
28+
929c_controller_interface* __cdecl controller_get (e_controller_index controller_index)
1030{
1131 // return INVOKE(0x00A7CD50, controller_get, controller_index);
1232
1333 return &g_controller_globals.m_controllers [controller_index];
1434}
1535
36+ // .text:00A7CD70 ; public: void __cdecl c_controller_interface::controller_get_achievements(s_launch_and_dlc_achievment_bit_vector*) const
37+ // .text:00A7CD90 ; e_controller_index __cdecl controller_get_first_non_guest_signed_in_controller()
38+ // .text:00A7CE20 ; e_controller_index __cdecl controller_get_first_signed_in_controller()
39+
1640e_window_index __cdecl controller_get_game_render_window (e_controller_index controller_index)
1741{
1842 return INVOKE (0x00A7CE80 , controller_get_game_render_window, controller_index);
@@ -22,60 +46,110 @@ e_window_index __cdecl controller_get_game_render_window(e_controller_index cont
2246 // return controller_game_render_windows[controller_index];
2347}
2448
49+ // .text:00A7CE90 ; protected: void __cdecl c_controller_interface::controller_grant_achievement(e_achievement)
50+ // .text:00A7CEC0 ; public: bool __cdecl c_controller_interface::controller_has_achievement(e_achievement) const
51+
52+ bool __cdecl controller_has_centered_crosshair (e_controller_index controller_index)
53+ {
54+ return controller_centered_crosshair;
55+ }
56+
2557e_controller_index __cdecl controller_index_from_user_index (long user_index)
2658{
2759 return INVOKE (0x00A7CF00 , controller_index_from_user_index, user_index);
2860}
2961
62+ // .text:00A7CF80 ; protected: void __cdecl c_controller_interface::controller_reset_achievements()
63+ // .text:00A7CF90 ; void __cdecl controllers_dispose()
64+ // .text:00A7CFD0 ; void __cdecl controllers_initialize()
65+ // .text:00A7D050 ; void __cdecl controllers_process_messages()
66+
3067void __cdecl controllers_render ()
3168{
3269 INVOKE (0x00A7D180 , controllers_render);
3370}
3471
35- bool __cdecl controller_has_centered_crosshair (e_controller_index controller_index)
36- {
37- return controller_centered_crosshair;
38- }
72+ // .text:00A7D1C0 ; void __cdecl controllers_update(dword)
73+ // .text:00A7D290 ; public: void __cdecl c_controller_interface::dispose()
74+ // .text:00A7D2A0 ; private: void __cdecl c_controller_interface::generate_random_display_name()
75+ // .text:00A7D360 ; // vidmaster related
76+ // .text:00A7D380 ; public: long __cdecl c_controller_interface::get_button_down_frames(e_gamepad_button)
77+ // .text:00A7D3E0 ; public: c_content_catalogue* __cdecl c_controller_interface::get_content_catalogue()
78+ // .text:00A7D410 ; public: e_controller_index __cdecl c_controller_interface::get_controller_index() const
3979
40- c_player_profile_interface * c_controller_interface::get_player_profile_interface ()
80+ wchar_t const * c_controller_interface::get_display_name () const
4181{
42- return &m_player_profile ;
82+ return m_display_name. get_string () ;
4383}
4484
45- bool c_controller_interface::is_attached () const
85+ // .text:00A7D430 ;
86+ // .text:00A7D440 ; public: dword __cdecl c_controller_interface::get_hash_bits(long)
87+ // .text:00A7D450 ; // vidmaster related
88+ // .text:00A7D470 ; public: short __cdecl c_controller_interface::get_or_create_user_index()
89+
90+ s_player_identifier const * c_controller_interface::get_player_identifier (s_player_identifier* out_player_identifier) const
4691{
47- return m_state_flags. test (_attached_bit );
92+ return INVOKE_CLASS_MEMBER ( 0x00A7D500 , c_controller_interface, get_player_identifier, out_player_identifier );
4893}
4994
50- bool c_controller_interface::in_use () const
95+ c_player_profile_interface* c_controller_interface::get_player_profile_interface ()
5196{
52- // return INVOKE_CLASS_MEMBER(0x00480590, c_controller_interface, in_use);
53-
54- return is_signed_in_to_machine () || m_state_flags.test (_temporary_bit);
97+ return &m_player_profile;
5598}
5699
57- bool c_controller_interface::is_signed_in_to_machine () const
100+ qword const c_controller_interface::get_player_xuid () const
58101{
59- return INVOKE_CLASS_MEMBER (0x00A7D8A0 , c_controller_interface, is_signed_in_to_machine );
102+ return INVOKE_CLASS_MEMBER (0x00A7D540 , c_controller_interface, get_player_xuid );
60103}
61104
62105short c_controller_interface::get_user_index () const
63106{
64107 return m_user_index;
65108}
66109
67- s_player_identifier const * c_controller_interface::get_player_identifier (s_player_identifier* out_player_identifier) const
68- {
69- return INVOKE_CLASS_MEMBER (0x00A7D500 , c_controller_interface, get_player_identifier, out_player_identifier);
70- }
110+ // .text:00A7D580 ;
111+ // .text:00A7D590 ;
112+ // .text:00A7D5A0 ; public: bool __cdecl c_signed_in_users_watcher::have_users_changed()
113+ // .text:00A7D670 ; public: void __cdecl c_controller_interface::initialize()
114+ // .text:00A7D6B0 ; public: bool __cdecl c_controller_interface::is_allowed_communications(bool*) const
115+ // .text:00A7D6E0 ; public: bool __cdecl c_controller_interface::is_allowed_online_multiplayer_gaming() const
116+ // .text:00A7D710 ; public: bool __cdecl c_controller_interface::is_allowed_presence(bool*) const
117+ // .text:00A7D750 ; public: bool __cdecl c_controller_interface::is_allowed_profile_viewing(bool*) const
71118
72- qword const c_controller_interface::get_player_xuid () const
119+ bool c_controller_interface::is_attached () const
73120{
74- return INVOKE_CLASS_MEMBER ( 0x00A7D540 , c_controller_interface, get_player_xuid );
121+ return m_state_flags. test (_attached_bit );
75122}
76123
77- wchar_t const * c_controller_interface::get_display_name () const
124+ // .text:00A7D780 ; public: bool __cdecl c_controller_interface::is_gold_live() const
125+ // .text:00A7D810 ; public: bool __cdecl c_controller_interface::is_guest() const
126+ // .text:00A7D850 ; public: bool __cdecl c_controller_interface::is_signed_in_to_live() const
127+
128+ bool c_controller_interface::is_signed_in_to_machine () const
78129{
79- return m_display_name. get_string ( );
130+ return INVOKE_CLASS_MEMBER ( 0x00A7D8A0 , c_controller_interface, is_signed_in_to_machine );
80131}
81132
133+ // .text:00A7D8E0 ; public: bool __cdecl c_controller_interface::is_silver_or_gold_live() const
134+ // .text:00A7D930 ; public: bool __cdecl c_controller_interface::is_zombie() const
135+ // .text:00A7D950 ;
136+ // .text:00A7D960 ;
137+ // .text:00A7D970 ;
138+ // .text:00A7D990 ;
139+ // .text:00A7D9A0 ;
140+ // .text:00A7D9E0 ; public: void __cdecl c_controller_interface::render()
141+ // .text:00A7DA20 ; public: void __cdecl c_controller_interface::reset_user_index()
142+ // .text:00A7DA30 ; public: void __cdecl c_controller_interface::set_as_unsigned_in_user(bool)
143+ // .text:00A7DA80 ; // vidmaster related
144+ // .text:00A7DA90 ;
145+ // .text:00A7DAA0 ; // vidmaster related
146+ // .text:00A7DAB0 ; public: void __cdecl c_controller_interface::set_user_index(short, bool)
147+ // .text:00A7DB00 ; private: void __cdecl c_controller_interface::sign_in_controller(s_player_identifier const*, bool)
148+ // .text:00A7DBF0 ; public: static void __cdecl c_controller_interface::sign_in_state_changed()
149+ // .text:00A7DC00 ; private: void __cdecl c_controller_interface::sign_out_controller(bool)
150+ // .text:00A7DCA0 ; public: bool __cdecl c_controller_interface::storage_device_valid(void)
151+ // .text:00A7DCE0 ; public: bool __cdecl c_flags_no_init<c_controller_interface::e_controller_state_flags, short, 12>::test(c_controller_interface::e_controller_state_flags) const
152+ // .text:00A7DD00 ; public: void __cdecl c_controller_interface::update(dword)
153+ // .text:00A7DE30 ; private: void __cdecl c_controller_interface::update_controller_properties()
154+ // .text:00A7E150 ; private: void __cdecl c_controller_interface::update_for_sign_in_change()
155+
0 commit comments