Skip to content

Commit 9b09709

Browse files
committed
Updated c_controller
1 parent c759e3f commit 9b09709

File tree

1 file changed

+96
-22
lines changed

1 file changed

+96
-22
lines changed

game/source/interface/c_controller.cpp

Lines changed: 96 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,37 @@ REFERENCE_DECLARE(0x0524EC48, s_controller_globals, g_controller_globals);
66

77
bool 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+
929
c_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+
1640
e_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+
2557
e_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+
3067
void __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

62105
short 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

Comments
 (0)