Skip to content

Commit 9b8a4f6

Browse files
committed
Impl c_load_pregame_selection_screen_message
1 parent 239608d commit 9b8a4f6

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

game/source/interface/user_interface_messages.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include "cseries/cseries_events.hpp"
55
#include "game/game.hpp"
66
#include "game/game_time.hpp"
7+
#include "interface/c_gui_screen_widget.hpp"
8+
#include "interface/gui_screens/pregame_lobby/gui_screen_pregame_selection.hpp"
79
#include "interface/user_interface_memory.hpp"
810
#include "memory/module.hpp"
911
#include "networking/logic/logic_session_tracker.hpp"
@@ -350,6 +352,22 @@ c_load_game_browser_screen_message::~c_load_game_browser_screen_message()
350352
{
351353
}
352354

355+
c_load_pregame_selection_screen_message::c_load_pregame_selection_screen_message(e_controller_index controller, e_window_index window, long layered_position, e_gui_selected_item_type selection_type) :
356+
c_load_screen_message(STRING_ID(gui, pregame_selection), controller, window, layered_position),
357+
m_selection_type(selection_type)
358+
{
359+
}
360+
361+
c_load_pregame_selection_screen_message::~c_load_pregame_selection_screen_message()
362+
{
363+
}
364+
365+
void c_load_pregame_selection_screen_message::apply_initial_state(c_gui_screen_widget* screen_widget) const
366+
{
367+
if (!screen_widget->running_in_codeless_mode())
368+
((c_gui_screen_pregame_selection*)screen_widget)->m_selection_type = m_selection_type;
369+
}
370+
353371
c_message_globals::c_message_globals()
354372
{
355373
csmemset(m_queue, 0, sizeof(m_queue));

game/source/interface/user_interface_messages.hpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,20 @@ struct c_load_game_browser_screen_message :
209209
};
210210
static_assert(sizeof(c_load_game_browser_screen_message) == sizeof(c_load_screen_message) + 0x8);
211211

212+
enum e_gui_selected_item_type;
213+
struct c_load_pregame_selection_screen_message :
214+
public c_load_screen_message
215+
{
216+
public:
217+
c_load_pregame_selection_screen_message(e_controller_index controller, e_window_index window, long layered_position, e_gui_selected_item_type selection_type);
218+
virtual ~c_load_pregame_selection_screen_message();
219+
virtual void apply_initial_state(c_gui_screen_widget*) const;
220+
221+
protected:
222+
e_gui_selected_item_type m_selection_type;
223+
};
224+
static_assert(sizeof(c_load_pregame_selection_screen_message) == sizeof(c_load_screen_message) + 0x4);
225+
212226
struct c_message_globals
213227
{
214228
struct s_message_queue_node

0 commit comments

Comments
 (0)