Compact, statically initialized syntax for event lists (#12973)

This commit is contained in:
Aaron van Geffen 2020-09-28 20:36:15 +02:00 committed by GitHub
parent 54edba2272
commit d27e14f45b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
77 changed files with 1199 additions and 3718 deletions

View File

@ -64,34 +64,21 @@ namespace OpenRCT2::Ui::Windows
static void window_custom_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t scrollIndex); static void window_custom_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t scrollIndex);
static void window_custom_update_viewport(rct_window* w); static void window_custom_update_viewport(rct_window* w);
static rct_window_event_list window_custom_events = { window_custom_close, static rct_window_event_list window_custom_events([](auto& events) {
window_custom_mouseup, events.close = &window_custom_close;
window_custom_resize, events.mouse_up = &window_custom_mouseup;
window_custom_mousedown, events.resize = &window_custom_resize;
window_custom_dropdown, events.mouse_down = &window_custom_mousedown;
nullptr, events.dropdown = &window_custom_dropdown;
window_custom_update, events.update = &window_custom_update;
nullptr, events.get_scroll_size = &window_custom_scrollgetsize;
nullptr, events.scroll_mousedown = &window_custom_scrollmousedown;
nullptr, events.scroll_mousedrag = &window_custom_scrollmousedrag;
nullptr, events.scroll_mouseover = &window_custom_scrollmouseover;
nullptr, events.invalidate = &window_custom_invalidate;
nullptr, events.paint = &window_custom_paint;
nullptr, events.scroll_paint = &window_custom_scrollpaint;
nullptr, });
window_custom_scrollgetsize,
window_custom_scrollmousedown,
window_custom_scrollmousedrag,
window_custom_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_custom_invalidate,
window_custom_paint,
window_custom_scrollpaint };
struct CustomWidgetDesc struct CustomWidgetDesc
{ {

View File

@ -89,67 +89,18 @@ static void window_about_rct2_mouseup(rct_window *w, rct_widgetindex widgetIndex
static void window_about_rct2_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_about_rct2_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_about_openrct2_common_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_about_openrct2_common_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_about_openrct2_events = { static rct_window_event_list window_about_openrct2_events([](auto& events)
nullptr, {
window_about_openrct2_mouseup, events.mouse_up = &window_about_openrct2_mouseup;
nullptr, events.invalidate = &window_about_openrct2_invalidate;
nullptr, events.paint = &window_about_openrct2_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_about_openrct2_invalidate,
window_about_openrct2_paint,
nullptr
};
static rct_window_event_list window_about_rct2_events = { static rct_window_event_list window_about_rct2_events([](auto& events)
nullptr, {
window_about_rct2_mouseup, events.mouse_up = &window_about_rct2_mouseup;
nullptr, events.paint = &window_about_rct2_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_about_rct2_paint,
nullptr
};
static rct_window_event_list *window_about_page_events[] = { static rct_window_event_list *window_about_page_events[] = {
&window_about_openrct2_events, &window_about_openrct2_events,

View File

@ -77,36 +77,16 @@ static void window_banner_viewport_rotate(rct_window *w);
static void window_banner_invalidate(rct_window *w); static void window_banner_invalidate(rct_window *w);
static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_banner_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_banner_events = { static rct_window_event_list window_banner_events([](auto& events)
nullptr, {
window_banner_mouseup, events.mouse_up = &window_banner_mouseup;
nullptr, events.mouse_down = &window_banner_mousedown;
window_banner_mousedown, events.dropdown = &window_banner_dropdown;
window_banner_dropdown, events.text_input = &window_banner_textinput;
nullptr, events.viewport_rotate = &window_banner_viewport_rotate;
nullptr, events.invalidate = &window_banner_invalidate;
nullptr, events.paint = &window_banner_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_banner_textinput,
window_banner_viewport_rotate,
nullptr,
nullptr,
nullptr,
nullptr,
window_banner_invalidate,
window_banner_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -57,36 +57,16 @@ static void window_changelog_invalidate(rct_window *w);
static void window_changelog_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_changelog_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_changelog_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_changelog_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_changelog_events = { static rct_window_event_list window_changelog_events([](auto& events)
window_changelog_close, {
window_changelog_mouseup, events.close = &window_changelog_close;
window_changelog_resize, events.mouse_up = &window_changelog_mouseup;
nullptr, events.resize = &window_changelog_resize;
nullptr, events.get_scroll_size = &window_changelog_scrollgetsize;
nullptr, events.invalidate = &window_changelog_invalidate;
nullptr, events.paint = &window_changelog_paint;
nullptr, events.scroll_paint = &window_changelog_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_changelog_scrollgetsize,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_changelog_invalidate,
window_changelog_paint,
window_changelog_scrollpaint
};
// clang-format on // clang-format on
static void window_new_version_process_info(); static void window_new_version_process_info();

View File

@ -333,133 +333,41 @@ static void window_cheats_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_cheats_set_page(rct_window *w, int32_t page); static void window_cheats_set_page(rct_window *w, int32_t page);
static void window_cheats_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_cheats_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text);
static rct_window_event_list window_cheats_money_events = static rct_window_event_list window_cheats_money_events([](auto& events)
{ {
nullptr, events.mouse_up = &window_cheats_money_mouseup;
window_cheats_money_mouseup, events.mouse_down = &window_cheats_money_mousedown;
nullptr, events.update = &window_cheats_update;
window_cheats_money_mousedown, events.text_input = &window_cheats_text_input;
nullptr, events.invalidate = &window_cheats_invalidate;
nullptr, events.paint = &window_cheats_paint;
window_cheats_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_cheats_text_input,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_cheats_invalidate,
window_cheats_paint,
nullptr
};
static rct_window_event_list window_cheats_guests_events = static rct_window_event_list window_cheats_guests_events([](auto& events)
{ {
nullptr, events.mouse_up = &window_cheats_guests_mouseup;
window_cheats_guests_mouseup, events.update = &window_cheats_update;
nullptr, events.invalidate = &window_cheats_invalidate;
nullptr, events.paint = &window_cheats_paint;
nullptr, });
nullptr,
window_cheats_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_cheats_invalidate,
window_cheats_paint,
nullptr
};
static rct_window_event_list window_cheats_misc_events = static rct_window_event_list window_cheats_misc_events([](auto& events)
{ {
nullptr, events.mouse_up = &window_cheats_misc_mouseup;
window_cheats_misc_mouseup, events.mouse_down = &window_cheats_misc_mousedown;
nullptr, events.dropdown = &window_cheats_misc_dropdown;
window_cheats_misc_mousedown, events.update = &window_cheats_update;
window_cheats_misc_dropdown, events.invalidate = &window_cheats_invalidate;
nullptr, events.paint = &window_cheats_paint;
window_cheats_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_cheats_invalidate,
window_cheats_paint,
nullptr
};
static rct_window_event_list window_cheats_rides_events = static rct_window_event_list window_cheats_rides_events([](auto& events)
{ {
nullptr, events.mouse_up = &window_cheats_rides_mouseup;
window_cheats_rides_mouseup, events.update = &window_cheats_update;
nullptr, events.invalidate = &window_cheats_invalidate;
nullptr, events.paint = &window_cheats_paint;
nullptr, });
nullptr,
window_cheats_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_cheats_invalidate,
window_cheats_paint,
nullptr
};
static rct_window_event_list *window_cheats_page_events[] = static rct_window_event_list *window_cheats_page_events[] =

View File

@ -53,36 +53,16 @@ static void window_clear_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_clear_scenery_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_clear_scenery_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text);
static void window_clear_scenery_inputsize(rct_window *w); static void window_clear_scenery_inputsize(rct_window *w);
static rct_window_event_list window_clear_scenery_events = { static rct_window_event_list window_clear_scenery_events([](auto& events)
window_clear_scenery_close, {
window_clear_scenery_mouseup, events.close = &window_clear_scenery_close;
nullptr, events.mouse_up = &window_clear_scenery_mouseup;
window_clear_scenery_mousedown, events.mouse_down = &window_clear_scenery_mousedown;
nullptr, events.update = &window_clear_scenery_update;
nullptr, events.text_input = &window_clear_scenery_textinput;
window_clear_scenery_update, events.invalidate = &window_clear_scenery_invalidate;
nullptr, events.paint = &window_clear_scenery_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_clear_scenery_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_clear_scenery_invalidate,
window_clear_scenery_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -50,36 +50,14 @@ static void custom_currency_window_text_input(struct rct_window *w, rct_widgetin
static void custom_currency_window_paint(rct_window *w, rct_drawpixelinfo *dpi); static void custom_currency_window_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list _windowCustomCurrencyEvents = { static rct_window_event_list _windowCustomCurrencyEvents([](auto& events)
nullptr, {
custom_currency_window_mouseup, events.mouse_up = &custom_currency_window_mouseup;
nullptr, events.mouse_down = &custom_currency_window_mousedown;
custom_currency_window_mousedown, events.dropdown = &custom_currency_window_dropdown;
custom_currency_window_dropdown, events.text_input = &custom_currency_window_text_input;
nullptr, events.paint = &custom_currency_window_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
custom_currency_window_text_input,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
custom_currency_window_paint,
nullptr
};
// clang-format on // clang-format on
rct_window* custom_currency_window_open() rct_window* custom_currency_window_open()

View File

@ -49,36 +49,12 @@ static void window_debug_paint_mouseup(rct_window * w, rct_widgetindex widgetInd
static void window_debug_paint_invalidate(rct_window * w); static void window_debug_paint_invalidate(rct_window * w);
static void window_debug_paint_paint(rct_window * w, rct_drawpixelinfo * dpi); static void window_debug_paint_paint(rct_window * w, rct_drawpixelinfo * dpi);
static rct_window_event_list window_debug_paint_events = { static rct_window_event_list window_debug_paint_events([](auto& events)
nullptr, {
window_debug_paint_mouseup, events.mouse_up = &window_debug_paint_mouseup;
nullptr, events.invalidate = &window_debug_paint_invalidate;
nullptr, events.paint = &window_debug_paint_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_debug_paint_invalidate,
window_debug_paint_paint,
nullptr
};
// clang-format on // clang-format on
rct_window* window_debug_paint_open() rct_window* window_debug_paint_open()

View File

@ -52,68 +52,17 @@ static void window_ride_refurbish_mouseup(rct_window *w, rct_widgetindex widgetI
static void window_ride_refurbish_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_ride_refurbish_paint(rct_window *w, rct_drawpixelinfo *dpi);
//0x0098E2E4 //0x0098E2E4
static rct_window_event_list window_ride_demolish_events = { static rct_window_event_list window_ride_demolish_events([](auto& events)
nullptr, {
window_ride_demolish_mouseup, events.mouse_up = &window_ride_demolish_mouseup;
nullptr, events.paint = &window_ride_demolish_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_demolish_paint,
nullptr,
};
// clang-format on // clang-format on
static rct_window_event_list window_ride_refurbish_events = { static rct_window_event_list window_ride_refurbish_events([](auto& events) {
nullptr, events.mouse_up = &window_ride_refurbish_mouseup;
window_ride_refurbish_mouseup, events.paint = &window_ride_refurbish_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_refurbish_paint,
nullptr,
};
/** Based off of rct2: 0x006B486A */ /** Based off of rct2: 0x006B486A */
rct_window* window_ride_demolish_prompt_open(Ride* ride) rct_window* window_ride_demolish_prompt_open(Ride* ride)

View File

@ -91,36 +91,10 @@ void dropdown_set_disabled(int32_t index, bool value)
static void window_dropdown_paint(rct_window* w, rct_drawpixelinfo* dpi); static void window_dropdown_paint(rct_window* w, rct_drawpixelinfo* dpi);
// clang-format off // clang-format off
static rct_window_event_list window_dropdown_events = { static rct_window_event_list window_dropdown_events([](auto& events)
nullptr, {
nullptr, events.paint = &window_dropdown_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_dropdown_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -58,36 +58,12 @@ static void window_editor_bottom_toolbar_jump_forward_to_options_selection();
static void window_editor_bottom_toolbar_jump_forward_to_objective_selection(); static void window_editor_bottom_toolbar_jump_forward_to_objective_selection();
static void window_editor_bottom_toolbar_jump_forward_to_save_scenario(); static void window_editor_bottom_toolbar_jump_forward_to_save_scenario();
static rct_window_event_list window_editor_bottom_toolbar_events = { static rct_window_event_list window_editor_bottom_toolbar_events([](auto& events)
nullptr, {
window_editor_bottom_toolbar_mouseup, // 0x0066f5ae, events.mouse_up = &window_editor_bottom_toolbar_mouseup;
nullptr, events.invalidate = &window_editor_bottom_toolbar_invalidate;
nullptr, events.paint = &window_editor_bottom_toolbar_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_bottom_toolbar_invalidate, // 0x0066f1c9,
window_editor_bottom_toolbar_paint, // 0x0066f25c,
nullptr
};
static EMPTY_ARGS_VOID_POINTER *previous_button_mouseup_events[] = { static EMPTY_ARGS_VOID_POINTER *previous_button_mouseup_events[] = {
nullptr, nullptr,

View File

@ -86,68 +86,28 @@ static void window_editor_inventions_list_drag_paint(rct_window *w, rct_drawpixe
static std::pair<rct_string_id, Formatter> window_editor_inventions_list_prepare_name(const ResearchItem * researchItem, bool withGap); static std::pair<rct_string_id, Formatter> window_editor_inventions_list_prepare_name(const ResearchItem * researchItem, bool withGap);
// 0x0098177C // 0x0098177C
static rct_window_event_list window_editor_inventions_list_events = { static rct_window_event_list window_editor_inventions_list_events([](auto& events)
window_editor_inventions_list_close, {
window_editor_inventions_list_mouseup, events.close = &window_editor_inventions_list_close;
window_editor_inventions_list_resize, events.mouse_up = &window_editor_inventions_list_mouseup;
nullptr, events.resize = &window_editor_inventions_list_resize;
nullptr, events.update = &window_editor_inventions_list_update;
nullptr, events.get_scroll_size = &window_editor_inventions_list_scrollgetheight;
window_editor_inventions_list_update, events.scroll_mousedown = &window_editor_inventions_list_scrollmousedown;
nullptr, events.scroll_mouseover = &window_editor_inventions_list_scrollmouseover;
nullptr, events.cursor = &window_editor_inventions_list_cursor;
nullptr, events.invalidate = &window_editor_inventions_list_invalidate;
nullptr, events.paint = &window_editor_inventions_list_paint;
nullptr, events.scroll_paint = &window_editor_inventions_list_scrollpaint;
nullptr, });
nullptr,
nullptr,
window_editor_inventions_list_scrollgetheight,
window_editor_inventions_list_scrollmousedown,
nullptr,
window_editor_inventions_list_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_inventions_list_cursor,
nullptr,
window_editor_inventions_list_invalidate,
window_editor_inventions_list_paint,
window_editor_inventions_list_scrollpaint
};
// 0x009817EC // 0x009817EC
static rct_window_event_list window_editor_inventions_list_drag_events = { static rct_window_event_list window_editor_inventions_list_drag_events([](auto& events)
nullptr, {
nullptr, events.cursor = &window_editor_inventions_list_drag_cursor;
nullptr, events.moved = &window_editor_inventions_list_drag_moved;
nullptr, events.paint = &window_editor_inventions_list_drag_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_inventions_list_drag_cursor,
window_editor_inventions_list_drag_moved,
nullptr,
window_editor_inventions_list_drag_paint,
nullptr
};
#pragma endregion #pragma endregion

View File

@ -17,36 +17,11 @@
static void window_editor_main_paint(rct_window* w, rct_drawpixelinfo* dpi); static void window_editor_main_paint(rct_window* w, rct_drawpixelinfo* dpi);
static rct_window_event_list window_editor_main_events = { // clang-format off
nullptr, static rct_window_event_list window_editor_main_events([](auto& events) {
nullptr, events.paint = &window_editor_main_paint;
nullptr, });
nullptr, // clang-format on
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_main_paint, // 0x0066FC97, // window_editor_main_paint,
nullptr,
};
static rct_widget window_editor_main_widgets[] = { static rct_widget window_editor_main_widgets[] = {
MakeWidget({ 0, 0 }, { 0, 0 }, WWT_VIEWPORT, WindowColour::Primary, STR_VIEWPORT), MakeWidget({ 0, 0 }, { 0, 0 }, WWT_VIEWPORT, WindowColour::Primary, STR_VIEWPORT),

View File

@ -186,36 +186,23 @@ static void window_editor_object_selection_paint(rct_window *w, rct_drawpixelinf
static void window_editor_object_selection_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_editor_object_selection_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static void window_editor_object_selection_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_editor_object_selection_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text);
static rct_window_event_list window_editor_object_selection_events = { static rct_window_event_list window_editor_object_selection_events([](auto& events)
window_editor_object_selection_close, {
window_editor_object_selection_mouseup, events.close = &window_editor_object_selection_close;
window_editor_object_selection_resize, events.mouse_up = &window_editor_object_selection_mouseup;
window_editor_object_selection_mousedown, events.resize = &window_editor_object_selection_resize;
window_editor_object_selection_dropdown, events.mouse_down = &window_editor_object_selection_mousedown;
nullptr, events.dropdown = &window_editor_object_selection_dropdown;
window_editor_object_selection_update, events.update = &window_editor_object_selection_update;
nullptr, events.get_scroll_size = &window_editor_object_selection_scrollgetsize;
nullptr, events.scroll_mousedown = &window_editor_object_selection_scroll_mousedown;
nullptr, events.scroll_mouseover = &window_editor_object_selection_scroll_mouseover;
nullptr, events.text_input = &window_editor_object_selection_textinput;
nullptr, events.tooltip = &window_editor_object_selection_tooltip;
nullptr, events.invalidate = &window_editor_object_selection_invalidate;
nullptr, events.paint = &window_editor_object_selection_paint;
nullptr, events.scroll_paint = &window_editor_object_selection_scrollpaint;
window_editor_object_selection_scrollgetsize, });
window_editor_object_selection_scroll_mousedown,
nullptr,
window_editor_object_selection_scroll_mouseover,
window_editor_object_selection_textinput,
nullptr,
nullptr,
window_editor_object_selection_tooltip,
nullptr,
nullptr,
window_editor_object_selection_invalidate,
window_editor_object_selection_paint,
window_editor_object_selection_scrollpaint
};
// clang-format on // clang-format on
#pragma endregion #pragma endregion

View File

@ -140,68 +140,31 @@ static void window_editor_objective_options_rides_paint(rct_window *w, rct_drawp
static void window_editor_objective_options_rides_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_editor_objective_options_rides_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
// 0x009A9DF4 // 0x009A9DF4
static rct_window_event_list window_objective_options_main_events = { static rct_window_event_list window_objective_options_main_events([](auto& events)
nullptr, {
window_editor_objective_options_main_mouseup, events.mouse_up = &window_editor_objective_options_main_mouseup;
window_editor_objective_options_main_resize, events.resize = &window_editor_objective_options_main_resize;
window_editor_objective_options_main_mousedown, events.mouse_down = &window_editor_objective_options_main_mousedown;
window_editor_objective_options_main_dropdown, events.dropdown = &window_editor_objective_options_main_dropdown;
nullptr, events.update = &window_editor_objective_options_main_update;
window_editor_objective_options_main_update, events.text_input = &window_editor_objective_options_main_textinput;
nullptr, events.invalidate = &window_editor_objective_options_main_invalidate;
nullptr, events.paint = &window_editor_objective_options_main_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_objective_options_main_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_objective_options_main_invalidate,
window_editor_objective_options_main_paint,
nullptr
};
// 0x009A9F58 // 0x009A9F58
static rct_window_event_list window_objective_options_rides_events = { static rct_window_event_list window_objective_options_rides_events([](auto& events)
nullptr, {
window_editor_objective_options_rides_mouseup, events.mouse_up = &window_editor_objective_options_rides_mouseup;
window_editor_objective_options_rides_resize, events.resize = &window_editor_objective_options_rides_resize;
nullptr, events.update = &window_editor_objective_options_rides_update;
nullptr, events.get_scroll_size = &window_editor_objective_options_rides_scrollgetheight;
nullptr, events.scroll_mousedown = &window_editor_objective_options_rides_scrollmousedown;
window_editor_objective_options_rides_update, events.scroll_mouseover = &window_editor_objective_options_rides_scrollmouseover;
nullptr, events.invalidate = &window_editor_objective_options_rides_invalidate;
nullptr, events.paint = &window_editor_objective_options_rides_paint;
nullptr, events.scroll_paint = &window_editor_objective_options_rides_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_objective_options_rides_scrollgetheight,
window_editor_objective_options_rides_scrollmousedown,
nullptr,
window_editor_objective_options_rides_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_objective_options_rides_invalidate,
window_editor_objective_options_rides_paint,
window_editor_objective_options_rides_scrollpaint
};
static rct_window_event_list *window_editor_objective_options_page_events[] = { static rct_window_event_list *window_editor_objective_options_page_events[] = {
&window_objective_options_main_events, &window_objective_options_main_events,

View File

@ -201,100 +201,38 @@ static void window_editor_scenario_options_park_invalidate(rct_window *w);
static void window_editor_scenario_options_park_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_editor_scenario_options_park_paint(rct_window *w, rct_drawpixelinfo *dpi);
// 0x0097EB60 // 0x0097EB60
static rct_window_event_list window_scenario_options_financial_events = { static rct_window_event_list window_scenario_options_financial_events([](auto& events)
nullptr, {
window_editor_scenario_options_financial_mouseup, events.mouse_up = &window_editor_scenario_options_financial_mouseup;
window_editor_scenario_options_financial_resize, events.resize = &window_editor_scenario_options_financial_resize;
window_editor_scenario_options_financial_mousedown, events.mouse_down = &window_editor_scenario_options_financial_mousedown;
nullptr, events.update = &window_editor_scenario_options_financial_update;
nullptr, events.invalidate = &window_editor_scenario_options_financial_invalidate;
window_editor_scenario_options_financial_update, events.paint = &window_editor_scenario_options_financial_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_scenario_options_financial_invalidate,
window_editor_scenario_options_financial_paint,
nullptr
};
// 0x0097EBD0 // 0x0097EBD0
static rct_window_event_list window_scenario_options_guests_events = { static rct_window_event_list window_scenario_options_guests_events([](auto& events)
nullptr, {
window_editor_scenario_options_guests_mouseup, events.mouse_up = &window_editor_scenario_options_guests_mouseup;
window_editor_scenario_options_guests_resize, events.resize = &window_editor_scenario_options_guests_resize;
window_editor_scenario_options_guests_mousedown, events.mouse_down = &window_editor_scenario_options_guests_mousedown;
nullptr, events.update = &window_editor_scenario_options_guests_update;
nullptr, events.invalidate = &window_editor_scenario_options_guests_invalidate;
window_editor_scenario_options_guests_update, events.paint = &window_editor_scenario_options_guests_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_scenario_options_guests_invalidate,
window_editor_scenario_options_guests_paint,
nullptr
};
// 0x0097EC40 // 0x0097EC40
static rct_window_event_list window_scenario_options_park_events = { static rct_window_event_list window_scenario_options_park_events([](auto& events)
nullptr, {
window_editor_scenario_options_park_mouseup, events.mouse_up = &window_editor_scenario_options_park_mouseup;
window_editor_scenario_options_park_resize, events.resize = &window_editor_scenario_options_park_resize;
window_editor_scenario_options_park_mousedown, events.mouse_down = &window_editor_scenario_options_park_mousedown;
window_editor_scenario_options_park_dropdown, events.dropdown = &window_editor_scenario_options_park_dropdown;
nullptr, events.update = &window_editor_scenario_options_park_update;
window_editor_scenario_options_park_update, events.invalidate = &window_editor_scenario_options_park_invalidate;
nullptr, events.paint = &window_editor_scenario_options_park_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_editor_scenario_options_park_invalidate,
window_editor_scenario_options_park_paint,
nullptr
};
static rct_window_event_list *window_editor_scenario_options_page_events[] = { static rct_window_event_list *window_editor_scenario_options_page_events[] = {
&window_scenario_options_financial_events, &window_scenario_options_financial_events,

View File

@ -30,36 +30,11 @@ static rct_widget window_error_widgets[] = {
static void window_error_unknown5(rct_window *w); static void window_error_unknown5(rct_window *w);
static void window_error_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_error_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_error_events = { static rct_window_event_list window_error_events([](auto& events)
nullptr, {
nullptr, events.unknown_05 = &window_error_unknown5;
nullptr, events.paint = &window_error_paint;
nullptr, });
nullptr,
window_error_unknown5,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_error_paint,
nullptr
};
// clang-format on // clang-format on
static std::string _window_error_text; static std::string _window_error_text;

View File

@ -213,202 +213,63 @@ static void window_finances_research_invalidate(rct_window *w);
static void window_finances_research_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_finances_research_paint(rct_window *w, rct_drawpixelinfo *dpi);
// 0x00988EB8 // 0x00988EB8
static rct_window_event_list _windowFinancesSummaryEvents = static rct_window_event_list _windowFinancesSummaryEvents([](auto& events)
{ {
nullptr, events.mouse_up = &window_finances_summary_mouseup;
window_finances_summary_mouseup, events.mouse_down = &window_finances_summary_mousedown;
nullptr, events.update = &window_finances_summary_update;
window_finances_summary_mousedown, events.get_scroll_size = &window_finances_summary_scrollgetsize;
nullptr, events.invalidate = &window_finances_summary_invalidate;
nullptr, events.paint = &window_finances_summary_paint;
window_finances_summary_update, events.scroll_paint = &window_finances_summary_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_summary_scrollgetsize,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_summary_invalidate,
window_finances_summary_paint,
window_finances_summary_scrollpaint
};
// 0x00988F28 // 0x00988F28
static rct_window_event_list _windowFinancesFinancialGraphEvents = static rct_window_event_list _windowFinancesFinancialGraphEvents([](auto& events)
{ {
nullptr, events.mouse_up = &window_finances_financial_graph_mouseup;
window_finances_financial_graph_mouseup, events.update = &window_finances_financial_graph_update;
nullptr, events.invalidate = &window_finances_financial_graph_invalidate;
nullptr, events.paint = &window_finances_financial_graph_paint;
nullptr, });
nullptr,
window_finances_financial_graph_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_financial_graph_invalidate,
window_finances_financial_graph_paint,
nullptr
};
// 0x00988F98 // 0x00988F98
static rct_window_event_list _windowFinancesValueGraphEvents = static rct_window_event_list _windowFinancesValueGraphEvents([](auto& events)
{ {
nullptr, events.mouse_up = &window_finances_park_value_graph_mouseup;
window_finances_park_value_graph_mouseup, events.update = &window_finances_park_value_graph_update;
nullptr, events.invalidate = &window_finances_park_value_graph_invalidate;
nullptr, events.paint = &window_finances_park_value_graph_paint;
nullptr, });
nullptr,
window_finances_park_value_graph_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_park_value_graph_invalidate,
window_finances_park_value_graph_paint,
nullptr
};
// 0x00989008 // 0x00989008
static rct_window_event_list _windowFinancesProfitGraphEvents = static rct_window_event_list _windowFinancesProfitGraphEvents([](auto& events)
{ {
nullptr, events.mouse_up = &window_finances_profit_graph_mouseup;
window_finances_profit_graph_mouseup, events.update = &window_finances_profit_graph_update;
nullptr, events.invalidate = &window_finances_profit_graph_invalidate;
nullptr, events.paint = &window_finances_profit_graph_paint;
nullptr, });
nullptr,
window_finances_profit_graph_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_profit_graph_invalidate,
window_finances_profit_graph_paint,
nullptr
};
// 0x00989078 // 0x00989078
static rct_window_event_list _windowFinancesMarketingEvents = static rct_window_event_list _windowFinancesMarketingEvents([](auto& events)
{ {
nullptr, events.mouse_up = &window_finances_marketing_mouseup;
window_finances_marketing_mouseup, events.update = &window_finances_marketing_update;
nullptr, events.invalidate = &window_finances_marketing_invalidate;
nullptr, events.paint = &window_finances_marketing_paint;
nullptr, });
nullptr,
window_finances_marketing_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_marketing_invalidate,
window_finances_marketing_paint,
nullptr
};
// 0x009890E8 // 0x009890E8
static rct_window_event_list _windowFinancesResearchEvents = static rct_window_event_list _windowFinancesResearchEvents([](auto& events)
{ {
nullptr, events.mouse_up = &window_finances_research_mouseup;
window_finances_research_mouseup, events.mouse_down = &window_finances_research_mousedown;
nullptr, events.dropdown = &window_finances_research_dropdown;
window_finances_research_mousedown, events.update = &window_finances_research_update;
window_finances_research_dropdown, events.invalidate = &window_finances_research_invalidate;
nullptr, events.paint = &window_finances_research_paint;
window_finances_research_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_finances_research_invalidate,
window_finances_research_paint,
nullptr
};
static rct_window_event_list *const _windowFinancesPageEvents[] = static rct_window_event_list *const _windowFinancesPageEvents[] =
{ {

View File

@ -112,36 +112,20 @@ static void window_footpath_toolup(rct_window * w, rct_widgetindex widgetIndex,
static void window_footpath_invalidate(rct_window * w); static void window_footpath_invalidate(rct_window * w);
static void window_footpath_paint(rct_window * w, rct_drawpixelinfo * dpi); static void window_footpath_paint(rct_window * w, rct_drawpixelinfo * dpi);
static rct_window_event_list window_footpath_events = { static rct_window_event_list window_footpath_events([](auto& events)
window_footpath_close, {
window_footpath_mouseup, events.close = &window_footpath_close;
nullptr, events.mouse_up = &window_footpath_mouseup;
window_footpath_mousedown, events.mouse_down = &window_footpath_mousedown;
window_footpath_dropdown, events.dropdown = &window_footpath_dropdown;
nullptr, events.update = &window_footpath_update;
window_footpath_update, events.tool_update = &window_footpath_toolupdate;
nullptr, events.tool_down = &window_footpath_tooldown;
nullptr, events.tool_drag = &window_footpath_tooldrag;
window_footpath_toolupdate, events.tool_up = &window_footpath_toolup;
window_footpath_tooldown, events.invalidate = &window_footpath_invalidate;
window_footpath_tooldrag, events.paint = &window_footpath_paint;
window_footpath_toolup, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_footpath_invalidate,
window_footpath_paint,
nullptr
};
// clang-format on // clang-format on
static money32 _window_footpath_cost; static money32 _window_footpath_cost;

View File

@ -85,37 +85,16 @@ static void window_game_bottom_toolbar_draw_middle_panel(rct_drawpixelinfo *dpi,
* *
* rct2: 0x0097BFDC * rct2: 0x0097BFDC
*/ */
static rct_window_event_list window_game_bottom_toolbar_events = static rct_window_event_list window_game_bottom_toolbar_events([](auto& events)
{ {
nullptr, events.mouse_up = &window_game_bottom_toolbar_mouseup;
window_game_bottom_toolbar_mouseup, events.unknown_05 = &window_game_bottom_toolbar_unknown05;
nullptr, events.update = &window_game_bottom_toolbar_update;
nullptr, events.tooltip = &window_game_bottom_toolbar_tooltip;
nullptr, events.cursor = &window_game_bottom_toolbar_cursor;
window_game_bottom_toolbar_unknown05, events.invalidate = &window_game_bottom_toolbar_invalidate;
window_game_bottom_toolbar_update, events.paint = &window_game_bottom_toolbar_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_game_bottom_toolbar_tooltip,
window_game_bottom_toolbar_cursor,
nullptr,
window_game_bottom_toolbar_invalidate,
window_game_bottom_toolbar_paint,
nullptr
};
// clang-format on // clang-format on
static void window_game_bottom_toolbar_invalidate_dirty_widgets(rct_window* w); static void window_game_bottom_toolbar_invalidate_dirty_widgets(rct_window* w);

View File

@ -182,222 +182,78 @@ static void window_guest_inventory_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_guest_debug_update(rct_window *w); static void window_guest_debug_update(rct_window *w);
static void window_guest_debug_paint(rct_window *w, rct_drawpixelinfo* dpi); static void window_guest_debug_paint(rct_window *w, rct_drawpixelinfo* dpi);
static rct_window_event_list window_guest_overview_events = { static rct_window_event_list window_guest_overview_events([](auto& events)
window_guest_overview_close, {
window_guest_overview_mouse_up, events.close = &window_guest_overview_close;
window_guest_overview_resize, events.mouse_up = &window_guest_overview_mouse_up;
nullptr, events.resize = &window_guest_overview_resize;
nullptr, events.update = &window_guest_overview_update;
nullptr, events.tool_update = &window_guest_overview_tool_update;
window_guest_overview_update, events.tool_down = &window_guest_overview_tool_down;
nullptr, events.tool_abort = &window_guest_overview_tool_abort;
nullptr, events.text_input = &window_guest_overview_text_input;
window_guest_overview_tool_update, events.viewport_rotate = &window_guest_overview_viewport_rotate;
window_guest_overview_tool_down, events.invalidate = &window_guest_overview_invalidate;
nullptr, events.paint = &window_guest_overview_paint;
nullptr, });
window_guest_overview_tool_abort,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_overview_text_input,
window_guest_overview_viewport_rotate,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_overview_invalidate,
window_guest_overview_paint,
nullptr
};
static rct_window_event_list window_guest_stats_events = { static rct_window_event_list window_guest_stats_events([](auto& events)
nullptr, {
window_guest_mouse_up, events.mouse_up = &window_guest_mouse_up;
window_guest_common_resize, events.resize = &window_guest_common_resize;
nullptr, events.update = &window_guest_stats_update;
nullptr, events.invalidate = &window_guest_common_invalidate;
nullptr, events.paint = &window_guest_stats_paint;
window_guest_stats_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_common_invalidate,
window_guest_stats_paint,
nullptr
};
static rct_window_event_list window_guest_rides_events = { static rct_window_event_list window_guest_rides_events([](auto& events)
nullptr, {
window_guest_mouse_up, events.mouse_up = &window_guest_mouse_up;
window_guest_common_resize, events.resize = &window_guest_common_resize;
nullptr, events.update = &window_guest_rides_update;
nullptr, events.get_scroll_size = &window_guest_rides_scroll_get_size;
nullptr, events.scroll_mousedown = &window_guest_rides_scroll_mouse_down;
window_guest_rides_update, events.scroll_mouseover = &window_guest_rides_scroll_mouse_over;
nullptr, events.invalidate = &window_guest_rides_invalidate;
nullptr, events.paint = &window_guest_rides_paint;
nullptr, events.scroll_paint = &window_guest_rides_scroll_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_rides_scroll_get_size,
window_guest_rides_scroll_mouse_down,
nullptr,
window_guest_rides_scroll_mouse_over,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_rides_invalidate,
window_guest_rides_paint,
window_guest_rides_scroll_paint
};
static rct_window_event_list window_guest_finance_events = { static rct_window_event_list window_guest_finance_events([](auto& events)
nullptr, {
window_guest_mouse_up, events.mouse_up = &window_guest_mouse_up;
window_guest_common_resize, events.resize = &window_guest_common_resize;
nullptr, events.update = &window_guest_finance_update;
nullptr, events.invalidate = &window_guest_common_invalidate;
nullptr, events.paint = &window_guest_finance_paint;
window_guest_finance_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_common_invalidate,
window_guest_finance_paint,
nullptr
};
static rct_window_event_list window_guest_thoughts_events = { static rct_window_event_list window_guest_thoughts_events([](auto& events)
nullptr, {
window_guest_mouse_up, events.mouse_up = &window_guest_mouse_up;
window_guest_common_resize, events.resize = &window_guest_common_resize;
nullptr, events.update = &window_guest_thoughts_update;
nullptr, events.invalidate = &window_guest_common_invalidate;
nullptr, events.paint = &window_guest_thoughts_paint;
window_guest_thoughts_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_common_invalidate,
window_guest_thoughts_paint,
nullptr
};
static rct_window_event_list window_guest_inventory_events = { static rct_window_event_list window_guest_inventory_events([](auto& events)
nullptr, {
window_guest_mouse_up, events.mouse_up = &window_guest_mouse_up;
window_guest_common_resize, events.resize = &window_guest_common_resize;
nullptr, events.update = &window_guest_inventory_update;
nullptr, events.invalidate = &window_guest_common_invalidate;
nullptr, events.paint = &window_guest_inventory_paint;
window_guest_inventory_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_common_invalidate,
window_guest_inventory_paint,
nullptr
};
static rct_window_event_list window_guest_debug_events = { static rct_window_event_list window_guest_debug_events([](auto& events)
nullptr, {
window_guest_mouse_up, events.mouse_up = &window_guest_mouse_up;
window_guest_common_resize, events.resize = &window_guest_common_resize;
nullptr, events.update = &window_guest_debug_update;
nullptr, events.invalidate = &window_guest_common_invalidate;
nullptr, events.paint = &window_guest_debug_paint;
window_guest_debug_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_common_invalidate,
window_guest_debug_paint,
nullptr
};
// 0x981D24 // 0x981D24
static rct_window_event_list *window_guest_page_events[] = { static rct_window_event_list *window_guest_page_events[] = {

View File

@ -102,36 +102,21 @@ static void window_guest_list_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_guest_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_guest_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static void window_guest_list_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_guest_list_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text);
static rct_window_event_list window_guest_list_events = { static rct_window_event_list window_guest_list_events([](auto& events)
nullptr, {
window_guest_list_mouseup, events.mouse_up = &window_guest_list_mouseup;
window_guest_list_resize, events.resize = &window_guest_list_resize;
window_guest_list_mousedown, events.mouse_down = &window_guest_list_mousedown;
window_guest_list_dropdown, events.dropdown = &window_guest_list_dropdown;
nullptr, events.update = &window_guest_list_update;
window_guest_list_update, events.get_scroll_size = &window_guest_list_scrollgetsize;
nullptr, events.scroll_mousedown = &window_guest_list_scrollmousedown;
nullptr, events.scroll_mouseover = &window_guest_list_scrollmouseover;
nullptr, events.text_input = &window_guest_list_textinput;
nullptr, events.invalidate = &window_guest_list_invalidate;
nullptr, events.paint = &window_guest_list_paint;
nullptr, events.scroll_paint = &window_guest_list_scrollpaint;
nullptr, });
nullptr,
window_guest_list_scrollgetsize,
window_guest_list_scrollmousedown,
nullptr,
window_guest_list_scrollmouseover,
window_guest_list_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_guest_list_invalidate,
window_guest_list_paint,
window_guest_list_scrollpaint
};
// clang-format on // clang-format on
struct FilterArguments struct FilterArguments

View File

@ -57,36 +57,14 @@ static void window_install_track_invalidate(rct_window *w);
static void window_install_track_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_install_track_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_install_track_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_install_track_text_input(rct_window *w, rct_widgetindex widgetIndex, char *text);
static rct_window_event_list window_install_track_events = { static rct_window_event_list window_install_track_events([](auto& events)
window_install_track_close, {
window_install_track_mouseup, events.close = &window_install_track_close;
nullptr, events.mouse_up = &window_install_track_mouseup;
nullptr, events.text_input = &window_install_track_text_input;
nullptr, events.invalidate = &window_install_track_invalidate;
nullptr, events.paint = &window_install_track_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_install_track_text_input,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_install_track_invalidate,
window_install_track_paint,
nullptr
};
// clang-format on // clang-format on
static std::unique_ptr<TrackDesign> _trackDesign; static std::unique_ptr<TrackDesign> _trackDesign;

View File

@ -63,36 +63,17 @@ static void window_land_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_land_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_land_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text);
static void window_land_inputsize(rct_window *w); static void window_land_inputsize(rct_window *w);
static rct_window_event_list window_land_events = { static rct_window_event_list window_land_events([](auto& events)
window_land_close, {
window_land_mouseup, events.close = &window_land_close;
nullptr, events.mouse_up = &window_land_mouseup;
window_land_mousedown, events.mouse_down = &window_land_mousedown;
window_land_dropdown, events.dropdown = &window_land_dropdown;
nullptr, events.update = &window_land_update;
window_land_update, events.text_input = &window_land_textinput;
nullptr, events.invalidate = &window_land_invalidate;
nullptr, events.paint = &window_land_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_land_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_land_invalidate,
window_land_paint,
nullptr
};
// clang-format on // clang-format on
static int32_t _selectedFloorTexture; static int32_t _selectedFloorTexture;

View File

@ -61,36 +61,20 @@ static void window_land_rights_toolabort(rct_window *w, rct_widgetindex widgetIn
static bool land_rights_tool_is_active(); static bool land_rights_tool_is_active();
static rct_window_event_list window_land_rights_events = { static rct_window_event_list window_land_rights_events([](auto& events)
window_land_rights_close, {
window_land_rights_mouseup, events.close = &window_land_rights_close;
nullptr, events.mouse_up = &window_land_rights_mouseup;
window_land_rights_mousedown, events.mouse_down = &window_land_rights_mousedown;
nullptr, events.update = &window_land_rights_update;
nullptr, events.tool_update = &window_land_rights_toolupdate;
window_land_rights_update, events.tool_down = &window_land_rights_tooldown;
nullptr, events.tool_drag = &window_land_rights_tooldrag;
nullptr, events.tool_abort = &window_land_rights_toolabort;
window_land_rights_toolupdate, events.text_input = &window_land_rights_textinput;
window_land_rights_tooldown, events.invalidate = &window_land_rights_invalidate;
window_land_rights_tooldrag, events.paint = &window_land_rights_paint;
nullptr, });
window_land_rights_toolabort,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_land_rights_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_land_rights_invalidate,
window_land_rights_paint,
nullptr
};
// clang-format on // clang-format on
constexpr uint8_t LAND_RIGHTS_MODE_BUY_CONSTRUCTION_RIGHTS = 0; constexpr uint8_t LAND_RIGHTS_MODE_BUY_CONSTRUCTION_RIGHTS = 0;

View File

@ -91,37 +91,19 @@ static void window_loadsave_invalidate(rct_window *w);
static void window_loadsave_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_loadsave_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_loadsave_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_loadsave_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_loadsave_events = static rct_window_event_list window_loadsave_events([](auto& events)
{ {
window_loadsave_close, events.close = &window_loadsave_close;
window_loadsave_mouseup, events.mouse_up = &window_loadsave_mouseup;
window_loadsave_resize, events.resize = &window_loadsave_resize;
nullptr, events.get_scroll_size = &window_loadsave_scrollgetsize;
nullptr, events.scroll_mousedown = &window_loadsave_scrollmousedown;
nullptr, events.scroll_mouseover = &window_loadsave_scrollmouseover;
nullptr, events.text_input = &window_loadsave_textinput;
nullptr, events.invalidate = &window_loadsave_invalidate;
nullptr, events.paint = &window_loadsave_paint;
nullptr, events.scroll_paint = &window_loadsave_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
window_loadsave_scrollgetsize,
window_loadsave_scrollmousedown,
nullptr,
window_loadsave_scrollmouseover,
window_loadsave_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_loadsave_invalidate,
window_loadsave_paint,
window_loadsave_scrollpaint
};
// clang-format on // clang-format on
#pragma endregion #pragma endregion
@ -1159,36 +1141,10 @@ static rct_widget window_overwrite_prompt_widgets[] = {
static void window_overwrite_prompt_mouseup(rct_window* w, rct_widgetindex widgetIndex); static void window_overwrite_prompt_mouseup(rct_window* w, rct_widgetindex widgetIndex);
static void window_overwrite_prompt_paint(rct_window* w, rct_drawpixelinfo* dpi); static void window_overwrite_prompt_paint(rct_window* w, rct_drawpixelinfo* dpi);
static rct_window_event_list window_overwrite_prompt_events = { static rct_window_event_list window_overwrite_prompt_events([](auto& events) {
nullptr, events.mouse_up = &window_overwrite_prompt_mouseup;
window_overwrite_prompt_mouseup, events.paint = &window_overwrite_prompt_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_overwrite_prompt_paint,
nullptr,
};
static char _window_overwrite_prompt_name[256]; static char _window_overwrite_prompt_name[256];
static char _window_overwrite_prompt_path[MAX_PATH]; static char _window_overwrite_prompt_path[MAX_PATH];

View File

@ -23,36 +23,10 @@ static rct_widget window_main_widgets[] = {
void window_main_paint(rct_window *w, rct_drawpixelinfo *dpi); void window_main_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_main_events = { static rct_window_event_list window_main_events([](auto& events)
nullptr, {
nullptr, events.paint = &window_main_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_main_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -138,36 +138,25 @@ static void window_map_invalidate(rct_window *w);
static void window_map_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_map_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_map_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_map_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_map_events = { static rct_window_event_list window_map_events([](auto& events)
window_map_close, {
window_map_mouseup, events.close = &window_map_close;
window_map_resize, events.mouse_up = &window_map_mouseup;
window_map_mousedown, events.resize = &window_map_resize;
nullptr, events.mouse_down = &window_map_mousedown;
nullptr, events.update = &window_map_update;
window_map_update, events.tool_update = &window_map_toolupdate;
nullptr, events.tool_down = &window_map_tooldown;
nullptr, events.tool_drag = &window_map_tooldrag;
window_map_toolupdate, events.tool_abort = &window_map_toolabort;
window_map_tooldown, events.get_scroll_size = &window_map_scrollgetsize;
window_map_tooldrag, events.scroll_mousedown = &window_map_scrollmousedown;
nullptr, events.scroll_mousedrag = &window_map_scrollmousedown;
window_map_toolabort, events.text_input = &window_map_textinput;
nullptr, events.invalidate = &window_map_invalidate;
window_map_scrollgetsize, events.paint = &window_map_paint;
window_map_scrollmousedown, events.scroll_paint = &window_map_scrollpaint;
window_map_scrollmousedown, });
nullptr,
window_map_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_map_invalidate,
window_map_paint,
window_map_scrollpaint
};
// clang-format on // clang-format on
/** rct2: 0x00F1AD61 */ /** rct2: 0x00F1AD61 */

View File

@ -211,129 +211,48 @@ static void window_mapgen_heightmap_mousedown(rct_window *w, rct_widgetindex wid
static void window_mapgen_heightmap_invalidate(rct_window *w); static void window_mapgen_heightmap_invalidate(rct_window *w);
static void window_mapgen_heightmap_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_mapgen_heightmap_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list BaseEvents = { static rct_window_event_list BaseEvents([](auto& events)
window_mapgen_shared_close, {
window_mapgen_base_mouseup, events.close = &window_mapgen_shared_close;
nullptr, events.mouse_up = &window_mapgen_base_mouseup;
window_mapgen_base_mousedown, events.mouse_down = &window_mapgen_base_mousedown;
window_mapgen_base_dropdown, events.dropdown = &window_mapgen_base_dropdown;
nullptr, events.update = &window_mapgen_base_update;
window_mapgen_base_update, events.text_input = &window_mapgen_textinput;
nullptr, events.invalidate = &window_mapgen_base_invalidate;
nullptr, events.paint = &window_mapgen_base_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_mapgen_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_mapgen_base_invalidate,
window_mapgen_base_paint,
nullptr
};
static rct_window_event_list RandomEvents = { static rct_window_event_list RandomEvents([](auto& events)
window_mapgen_shared_close, {
window_mapgen_random_mouseup, events.close = &window_mapgen_shared_close;
nullptr, events.mouse_up = &window_mapgen_random_mouseup;
window_mapgen_random_mousedown, events.mouse_down = &window_mapgen_random_mousedown;
nullptr, events.update = &window_mapgen_random_update;
nullptr, events.invalidate = &window_mapgen_random_invalidate;
window_mapgen_random_update, events.paint = &window_mapgen_random_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_mapgen_random_invalidate,
window_mapgen_random_paint,
nullptr
};
static rct_window_event_list SimplexEvents = { static rct_window_event_list SimplexEvents([](auto& events)
window_mapgen_shared_close, {
window_mapgen_simplex_mouseup, events.close = &window_mapgen_shared_close;
nullptr, events.mouse_up = &window_mapgen_simplex_mouseup;
window_mapgen_simplex_mousedown, events.mouse_down = &window_mapgen_simplex_mousedown;
window_mapgen_simplex_dropdown, events.dropdown = &window_mapgen_simplex_dropdown;
nullptr, events.update = &window_mapgen_simplex_update;
window_mapgen_simplex_update, events.text_input = &window_mapgen_textinput;
nullptr, events.invalidate = &window_mapgen_simplex_invalidate;
nullptr, events.paint = &window_mapgen_simplex_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_mapgen_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_mapgen_simplex_invalidate,
window_mapgen_simplex_paint,
nullptr
};
static rct_window_event_list HeightmapEvents = { static rct_window_event_list HeightmapEvents([](auto& events)
window_mapgen_shared_close, {
window_mapgen_heightmap_mouseup, events.close = &window_mapgen_shared_close;
nullptr, events.mouse_up = &window_mapgen_heightmap_mouseup;
window_mapgen_heightmap_mousedown, events.mouse_down = &window_mapgen_heightmap_mousedown;
nullptr, events.invalidate = &window_mapgen_heightmap_invalidate;
nullptr, events.paint = &window_mapgen_heightmap_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_mapgen_heightmap_invalidate,
window_mapgen_heightmap_paint,
nullptr
};
static rct_window_event_list *PageEvents[] = { static rct_window_event_list *PageEvents[] = {
&BaseEvents, &BaseEvents,

View File

@ -25,36 +25,11 @@ static rct_widget window_map_tooltip_widgets[] = {
static void window_map_tooltip_update(rct_window *w); static void window_map_tooltip_update(rct_window *w);
static void window_map_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_map_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_map_tooltip_events = { static rct_window_event_list window_map_tooltip_events([](auto& events)
nullptr, {
nullptr, events.update = &window_map_tooltip_update;
nullptr, events.paint = &window_map_tooltip_paint;
nullptr, });
nullptr,
nullptr,
window_map_tooltip_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_map_tooltip_paint,
nullptr
};
// clang-format on // clang-format on
#define MAP_TOOLTIP_ARGS #define MAP_TOOLTIP_ARGS

View File

@ -96,36 +96,18 @@ static void window_maze_construction_invalidate(rct_window *w);
static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_maze_construction_paint(rct_window *w, rct_drawpixelinfo *dpi);
// 0x993F6C // 0x993F6C
static rct_window_event_list window_maze_construction_events = { static rct_window_event_list window_maze_construction_events([](auto& events)
window_maze_construction_close, {
window_maze_construction_mouseup, events.close = &window_maze_construction_close;
window_maze_construction_resize, events.mouse_up = &window_maze_construction_mouseup;
window_maze_construction_mousedown, events.resize = &window_maze_construction_resize;
nullptr, events.mouse_down = &window_maze_construction_mousedown;
nullptr, events.update = &window_maze_construction_update;
window_maze_construction_update, events.tool_update = &window_maze_construction_toolupdate;
nullptr, events.tool_down = &window_maze_construction_tooldown;
nullptr, events.invalidate = &window_maze_construction_invalidate;
window_maze_construction_toolupdate, events.paint = &window_maze_construction_paint;
window_maze_construction_tooldown, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_maze_construction_invalidate,
window_maze_construction_paint,
nullptr
};
// clang-format on // clang-format on
#pragma endregion #pragma endregion

View File

@ -161,129 +161,52 @@ static void window_multiplayer_options_update(rct_window *w);
static void window_multiplayer_options_invalidate(rct_window *w); static void window_multiplayer_options_invalidate(rct_window *w);
static void window_multiplayer_options_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_multiplayer_options_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_multiplayer_information_events = { static rct_window_event_list window_multiplayer_information_events([](auto& events)
nullptr, {
window_multiplayer_information_mouseup, events.mouse_up = &window_multiplayer_information_mouseup;
window_multiplayer_information_resize, events.resize = &window_multiplayer_information_resize;
nullptr, events.update = &window_multiplayer_information_update;
nullptr, events.invalidate = &window_multiplayer_information_invalidate;
nullptr, events.paint = &window_multiplayer_information_paint;
window_multiplayer_information_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_multiplayer_information_invalidate,
window_multiplayer_information_paint,
nullptr
};
static rct_window_event_list window_multiplayer_players_events = { static rct_window_event_list window_multiplayer_players_events([](auto& events)
nullptr, {
window_multiplayer_players_mouseup, events.mouse_up = &window_multiplayer_players_mouseup;
window_multiplayer_players_resize, events.resize = &window_multiplayer_players_resize;
nullptr, events.update = &window_multiplayer_players_update;
nullptr, events.get_scroll_size = &window_multiplayer_players_scrollgetsize;
nullptr, events.scroll_mousedown = &window_multiplayer_players_scrollmousedown;
window_multiplayer_players_update, events.scroll_mouseover = &window_multiplayer_players_scrollmouseover;
nullptr, events.invalidate = &window_multiplayer_players_invalidate;
nullptr, events.paint = &window_multiplayer_players_paint;
nullptr, events.scroll_paint = &window_multiplayer_players_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
window_multiplayer_players_scrollgetsize,
window_multiplayer_players_scrollmousedown,
nullptr,
window_multiplayer_players_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_multiplayer_players_invalidate,
window_multiplayer_players_paint,
window_multiplayer_players_scrollpaint
};
static rct_window_event_list window_multiplayer_groups_events = { static rct_window_event_list window_multiplayer_groups_events([](auto& events)
nullptr, {
window_multiplayer_groups_mouseup, events.mouse_up = &window_multiplayer_groups_mouseup;
window_multiplayer_groups_resize, events.resize = &window_multiplayer_groups_resize;
window_multiplayer_groups_mousedown, events.mouse_down = &window_multiplayer_groups_mousedown;
window_multiplayer_groups_dropdown, events.dropdown = &window_multiplayer_groups_dropdown;
nullptr, events.update = &window_multiplayer_groups_update;
window_multiplayer_groups_update, events.get_scroll_size = &window_multiplayer_groups_scrollgetsize;
nullptr, events.scroll_mousedown = &window_multiplayer_groups_scrollmousedown;
nullptr, events.scroll_mouseover = &window_multiplayer_groups_scrollmouseover;
nullptr, events.text_input = &window_multiplayer_groups_text_input;
nullptr, events.invalidate = &window_multiplayer_groups_invalidate;
nullptr, events.paint = &window_multiplayer_groups_paint;
nullptr, events.scroll_paint = &window_multiplayer_groups_scrollpaint;
nullptr, });
nullptr,
window_multiplayer_groups_scrollgetsize,
window_multiplayer_groups_scrollmousedown,
nullptr,
window_multiplayer_groups_scrollmouseover,
window_multiplayer_groups_text_input,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_multiplayer_groups_invalidate,
window_multiplayer_groups_paint,
window_multiplayer_groups_scrollpaint
};
static rct_window_event_list window_multiplayer_options_events = { static rct_window_event_list window_multiplayer_options_events([](auto& events)
nullptr, {
window_multiplayer_options_mouseup, events.mouse_up = &window_multiplayer_options_mouseup;
window_multiplayer_options_resize, events.resize = &window_multiplayer_options_resize;
nullptr, events.update = &window_multiplayer_options_update;
nullptr, events.invalidate = &window_multiplayer_options_invalidate;
nullptr, events.paint = &window_multiplayer_options_paint;
window_multiplayer_options_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_multiplayer_options_invalidate,
window_multiplayer_options_paint,
nullptr
};
static rct_window_event_list *window_multiplayer_page_events[] = { static rct_window_event_list *window_multiplayer_page_events[] = {
&window_multiplayer_information_events, &window_multiplayer_information_events,

View File

@ -84,36 +84,13 @@ static void window_music_credits_scrollgetsize(rct_window *w, int32_t scrollInde
static void window_music_credits_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_music_credits_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_music_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_music_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_music_credits_events = { static rct_window_event_list window_music_credits_events([](auto& events)
nullptr, {
window_music_credits_mouseup, events.mouse_up = &window_music_credits_mouseup;
nullptr, events.get_scroll_size = &window_music_credits_scrollgetsize;
nullptr, events.paint = &window_music_credits_paint;
nullptr, events.scroll_paint = &window_music_credits_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_music_credits_scrollgetsize,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_music_credits_paint,
window_music_credits_scrollpaint
};
// clang-format on // clang-format on
/** /**

View File

@ -99,36 +99,14 @@ static constexpr int32_t NetworkTrafficGroupNames[NETWORK_STATISTICS_GROUP_MAX]
STR_NETWORK_LEGEND_MAPDATA, STR_NETWORK_LEGEND_MAPDATA,
}; };
static rct_window_event_list window_network_information_events = { static rct_window_event_list window_network_information_events([](auto& events)
nullptr, {
window_network_information_mouseup, events.mouse_up = &window_network_information_mouseup;
window_network_information_resize, events.resize = &window_network_information_resize;
nullptr, events.update = &window_network_information_update;
nullptr, events.invalidate = &window_network_information_invalidate;
nullptr, events.paint = &window_network_information_paint;
window_network_information_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_network_information_invalidate,
window_network_information_paint,
nullptr
};
static rct_window_event_list *window_network_page_events[] = { static rct_window_event_list *window_network_page_events[] = {
&window_network_information_events, &window_network_information_events,

View File

@ -40,36 +40,15 @@ static void window_network_status_textinput(rct_window *w, rct_widgetindex widge
static void window_network_status_invalidate(rct_window *w); static void window_network_status_invalidate(rct_window *w);
static void window_network_status_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_network_status_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_network_status_events = { static rct_window_event_list window_network_status_events([](auto& events)
window_network_status_onclose, {
window_network_status_mouseup, events.close = &window_network_status_onclose;
nullptr, events.mouse_up = &window_network_status_mouseup;
nullptr, events.update = &window_network_status_update;
nullptr, events.text_input = &window_network_status_textinput;
nullptr, events.invalidate = &window_network_status_invalidate;
window_network_status_update, events.paint = &window_network_status_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_network_status_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_network_status_invalidate,
window_network_status_paint,
nullptr
};
// clang-format on // clang-format on
static close_callback _onClose = nullptr; static close_callback _onClose = nullptr;

View File

@ -58,36 +58,14 @@ static void window_new_campaign_dropdown(rct_window *w, rct_widgetindex widgetIn
static void window_new_campaign_invalidate(rct_window *w); static void window_new_campaign_invalidate(rct_window *w);
static void window_new_campaign_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_new_campaign_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_new_campaign_events = { static rct_window_event_list window_new_campaign_events([](auto& events)
nullptr, {
window_new_campaign_mouseup, events.mouse_up = &window_new_campaign_mouseup;
nullptr, events.mouse_down = &window_new_campaign_mousedown;
window_new_campaign_mousedown, events.dropdown = &window_new_campaign_dropdown;
window_new_campaign_dropdown, events.invalidate = &window_new_campaign_invalidate;
nullptr, events.paint = &window_new_campaign_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_new_campaign_invalidate,
window_new_campaign_paint,
nullptr
};
// clang-format on // clang-format on
static std::vector<ride_id_t> window_new_campaign_rides; static std::vector<ride_id_t> window_new_campaign_rides;

View File

@ -219,36 +219,18 @@ static void window_new_ride_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, i
static void window_new_ride_list_vehicles_for(uint8_t rideType, const rct_ride_entry* rideEntry, char* buffer, size_t bufferLen); static void window_new_ride_list_vehicles_for(uint8_t rideType, const rct_ride_entry* rideEntry, char* buffer, size_t bufferLen);
// 0x0098E354 // 0x0098E354
static rct_window_event_list window_new_ride_events = { static rct_window_event_list window_new_ride_events([](auto& events)
nullptr, {
window_new_ride_mouseup, events.mouse_up = &window_new_ride_mouseup;
nullptr, events.mouse_down = &window_new_ride_mousedown;
window_new_ride_mousedown, events.update = &window_new_ride_update;
nullptr, events.get_scroll_size = &window_new_ride_scrollgetsize;
nullptr, events.scroll_mousedown = &window_new_ride_scrollmousedown;
window_new_ride_update, events.scroll_mouseover = &window_new_ride_scrollmouseover;
nullptr, events.invalidate = &window_new_ride_invalidate;
nullptr, events.paint = &window_new_ride_paint;
nullptr, events.scroll_paint = &window_new_ride_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
window_new_ride_scrollgetsize,
window_new_ride_scrollmousedown,
nullptr,
window_new_ride_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_new_ride_invalidate,
window_new_ride_paint,
window_new_ride_scrollpaint
};
#pragma endregion #pragma endregion

View File

@ -46,36 +46,15 @@ static void window_news_scrollmousedown(rct_window *w, int32_t scrollIndex, cons
static void window_news_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_news_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_news_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_news_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_news_events = { static rct_window_event_list window_news_events([](auto& events)
nullptr, {
window_news_mouseup, events.mouse_up = &window_news_mouseup;
nullptr, events.update = &window_news_update;
nullptr, events.get_scroll_size = &window_news_scrollgetsize;
nullptr, events.scroll_mousedown = &window_news_scrollmousedown;
nullptr, events.paint = &window_news_paint;
window_news_update, events.scroll_paint = &window_news_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_news_scrollgetsize,
window_news_scrollmousedown,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_news_paint,
window_news_scrollpaint
};
// clang-format on // clang-format on
/** /**

View File

@ -88,36 +88,13 @@ static void window_news_options_update(rct_window *w);
static void window_news_options_invalidate(rct_window *w); static void window_news_options_invalidate(rct_window *w);
static void window_news_options_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_news_options_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_news_options_events = { static rct_window_event_list window_news_options_events([](auto& events)
nullptr, {
window_news_options_mouseup, events.mouse_up = &window_news_options_mouseup;
nullptr, events.update = &window_news_options_update;
nullptr, events.invalidate = &window_news_options_invalidate;
nullptr, events.paint = &window_news_options_paint;
nullptr, });
window_news_options_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_news_options_invalidate,
window_news_options_paint,
nullptr
};
// clang-format on // clang-format on
static void window_news_options_set_page(rct_window* w, int32_t page); static void window_news_options_set_page(rct_window* w, int32_t page);

View File

@ -295,36 +295,17 @@ static void window_object_load_error_download_all(rct_window* w);
static void window_object_load_error_update_list(rct_window* w); static void window_object_load_error_update_list(rct_window* w);
#endif #endif
static rct_window_event_list window_object_load_error_events = { static rct_window_event_list window_object_load_error_events([](auto& events)
window_object_load_error_close, {
window_object_load_error_mouseup, events.close = &window_object_load_error_close;
nullptr, events.mouse_up = &window_object_load_error_mouseup;
nullptr, events.update = &window_object_load_error_update;
nullptr, events.get_scroll_size = &window_object_load_error_scrollgetsize;
nullptr, events.scroll_mousedown = &window_object_load_error_scrollmousedown;
window_object_load_error_update, events.scroll_mouseover = &window_object_load_error_scrollmouseover;
nullptr, events.paint = &window_object_load_error_paint;
nullptr, events.scroll_paint = &window_object_load_error_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_object_load_error_scrollgetsize,
window_object_load_error_scrollmousedown,
nullptr,
window_object_load_error_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_object_load_error_paint,
window_object_load_error_scrollpaint
};
// clang-format on // clang-format on
static std::vector<rct_object_entry> _invalid_entries; static std::vector<rct_object_entry> _invalid_entries;

View File

@ -434,36 +434,17 @@ static void window_options_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_options_scrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height); static void window_options_scrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height);
static void window_options_tooltip(rct_window *w, rct_widgetindex widgetIndex, rct_string_id *stringid); static void window_options_tooltip(rct_window *w, rct_widgetindex widgetIndex, rct_string_id *stringid);
static rct_window_event_list window_options_events = { static rct_window_event_list window_options_events([](auto& events)
nullptr, {
window_options_mouseup, events.mouse_up = &window_options_mouseup;
nullptr, events.mouse_down = &window_options_mousedown;
window_options_mousedown, events.dropdown = &window_options_dropdown;
window_options_dropdown, events.update = &window_options_update;
nullptr, events.get_scroll_size = &window_options_scrollgetsize;
window_options_update, events.tooltip = &window_options_tooltip;
nullptr, events.invalidate = &window_options_invalidate;
nullptr, events.paint = &window_options_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_options_scrollgetsize,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_options_tooltip,
nullptr,
nullptr,
window_options_invalidate,
window_options_paint,
nullptr
};
#pragma endregion #pragma endregion

View File

@ -197,222 +197,74 @@ static void window_park_awards_update(rct_window *w);
static void window_park_awards_invalidate(rct_window *w); static void window_park_awards_invalidate(rct_window *w);
static void window_park_awards_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_park_awards_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_park_entrance_events = { static rct_window_event_list window_park_entrance_events([](auto& events)
window_park_entrance_close, {
window_park_entrance_mouseup, events.close = &window_park_entrance_close;
window_park_entrance_resize, events.mouse_up = &window_park_entrance_mouseup;
window_park_entrance_mousedown, events.resize = &window_park_entrance_resize;
window_park_entrance_dropdown, events.mouse_down = &window_park_entrance_mousedown;
nullptr, events.dropdown = &window_park_entrance_dropdown;
window_park_entrance_update, events.update = &window_park_entrance_update;
nullptr, events.text_input = &window_park_entrance_textinput;
nullptr, events.invalidate = &window_park_entrance_invalidate;
nullptr, events.paint = &window_park_entrance_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_entrance_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_entrance_invalidate,
window_park_entrance_paint,
nullptr
};
static rct_window_event_list window_park_rating_events = { static rct_window_event_list window_park_rating_events([](auto& events)
nullptr, {
window_park_rating_mouseup, events.mouse_up = &window_park_rating_mouseup;
window_park_rating_resize, events.resize = &window_park_rating_resize;
nullptr, events.update = &window_park_rating_update;
nullptr, events.invalidate = &window_park_rating_invalidate;
nullptr, events.paint = &window_park_rating_paint;
window_park_rating_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_rating_invalidate,
window_park_rating_paint,
nullptr
};
static rct_window_event_list window_park_guests_events = { static rct_window_event_list window_park_guests_events([](auto& events)
nullptr, {
window_park_guests_mouseup, events.mouse_up = &window_park_guests_mouseup;
window_park_guests_resize, events.resize = &window_park_guests_resize;
nullptr, events.update = &window_park_guests_update;
nullptr, events.invalidate = &window_park_guests_invalidate;
nullptr, events.paint = &window_park_guests_paint;
window_park_guests_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_guests_invalidate,
window_park_guests_paint,
nullptr
};
static rct_window_event_list window_park_price_events = { static rct_window_event_list window_park_price_events([](auto& events)
nullptr, {
window_park_price_mouseup, events.mouse_up = &window_park_price_mouseup;
window_park_price_resize, events.resize = &window_park_price_resize;
window_park_price_mousedown, events.mouse_down = &window_park_price_mousedown;
nullptr, events.update = &window_park_price_update;
nullptr, events.invalidate = &window_park_price_invalidate;
window_park_price_update, events.paint = &window_park_price_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_price_invalidate,
window_park_price_paint,
nullptr
};
static rct_window_event_list window_park_stats_events = { static rct_window_event_list window_park_stats_events([](auto& events)
nullptr, {
window_park_stats_mouseup, events.mouse_up = &window_park_stats_mouseup;
window_park_stats_resize, events.resize = &window_park_stats_resize;
nullptr, events.update = &window_park_stats_update;
nullptr, events.invalidate = &window_park_stats_invalidate;
nullptr, events.paint = &window_park_stats_paint;
window_park_stats_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_stats_invalidate,
window_park_stats_paint,
nullptr
};
static rct_window_event_list window_park_objective_events = { static rct_window_event_list window_park_objective_events([](auto& events)
nullptr, {
window_park_objective_mouseup, events.mouse_up = &window_park_objective_mouseup;
window_park_objective_resize, events.resize = &window_park_objective_resize;
nullptr, events.update = &window_park_objective_update;
nullptr, events.text_input = &window_park_objective_textinput;
nullptr, events.invalidate = &window_park_objective_invalidate;
window_park_objective_update, events.paint = &window_park_objective_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_objective_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_objective_invalidate,
window_park_objective_paint,
nullptr
};
static rct_window_event_list window_park_awards_events = { static rct_window_event_list window_park_awards_events([](auto& events)
nullptr, {
window_park_awards_mouseup, events.mouse_up = &window_park_awards_mouseup;
window_park_awards_resize, events.resize = &window_park_awards_resize;
nullptr, events.update = &window_park_awards_update;
nullptr, events.invalidate = &window_park_awards_invalidate;
nullptr, events.paint = &window_park_awards_paint;
window_park_awards_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_park_awards_invalidate,
window_park_awards_paint,
nullptr
};
static rct_window_event_list *window_park_page_events[] = { static rct_window_event_list *window_park_page_events[] = {
&window_park_entrance_events, &window_park_entrance_events,

View File

@ -88,36 +88,17 @@ static void window_player_overview_update(rct_window* w);
static void window_player_overview_invalidate(rct_window *w); static void window_player_overview_invalidate(rct_window *w);
static void window_player_overview_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_player_overview_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_player_overview_events = { static rct_window_event_list window_player_overview_events([](auto& events)
window_player_overview_close, {
window_player_overview_mouse_up, events.close = &window_player_overview_close;
window_player_overview_resize, events.mouse_up = &window_player_overview_mouse_up;
window_player_overview_mouse_down, events.resize = &window_player_overview_resize;
window_player_overview_dropdown, events.mouse_down = &window_player_overview_mouse_down;
nullptr, events.dropdown = &window_player_overview_dropdown;
window_player_overview_update, events.update = &window_player_overview_update;
nullptr, events.invalidate = &window_player_overview_invalidate;
nullptr, events.paint = &window_player_overview_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_player_overview_invalidate,
window_player_overview_paint,
nullptr
};
static void window_player_statistics_close(rct_window *w); static void window_player_statistics_close(rct_window *w);
static void window_player_statistics_mouse_up(rct_window *w, rct_widgetindex widgetIndex); static void window_player_statistics_mouse_up(rct_window *w, rct_widgetindex widgetIndex);
@ -126,36 +107,15 @@ static void window_player_statistics_update(rct_window* w);
static void window_player_statistics_invalidate(rct_window *w); static void window_player_statistics_invalidate(rct_window *w);
static void window_player_statistics_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_player_statistics_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_player_statistics_events = { static rct_window_event_list window_player_statistics_events([](auto& events)
window_player_statistics_close, {
window_player_statistics_mouse_up, events.close = &window_player_statistics_close;
window_player_statistics_resize, events.mouse_up = &window_player_statistics_mouse_up;
nullptr, events.resize = &window_player_statistics_resize;
nullptr, events.update = &window_player_statistics_update;
nullptr, events.invalidate = &window_player_statistics_invalidate;
window_player_statistics_update, events.paint = &window_player_statistics_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_player_statistics_invalidate,
window_player_statistics_paint,
nullptr
};
static rct_window_event_list *window_player_page_events[] = { static rct_window_event_list *window_player_page_events[] = {
&window_player_overview_events, &window_player_overview_events,

View File

@ -112,68 +112,24 @@ static void window_research_funding_invalidate(rct_window *w);
static void window_research_funding_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_research_funding_paint(rct_window *w, rct_drawpixelinfo *dpi);
// //
static rct_window_event_list window_research_development_events = { static rct_window_event_list window_research_development_events([](auto& events)
nullptr, {
window_research_development_mouseup, events.mouse_up = &window_research_development_mouseup;
nullptr, events.update = &window_research_development_update;
nullptr, events.invalidate = &window_research_development_invalidate;
nullptr, events.paint = &window_research_development_paint;
nullptr, });
window_research_development_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_research_development_invalidate,
window_research_development_paint,
nullptr
};
// 0x009890E8 // 0x009890E8
static rct_window_event_list window_research_funding_events = { static rct_window_event_list window_research_funding_events([](auto& events)
nullptr, {
window_research_funding_mouseup, events.mouse_up = &window_research_funding_mouseup;
nullptr, events.mouse_down = &window_research_funding_mousedown;
window_research_funding_mousedown, events.dropdown = &window_research_funding_dropdown;
window_research_funding_dropdown, events.update = &window_research_funding_update;
nullptr, events.invalidate = &window_research_funding_invalidate;
window_research_funding_update, events.paint = &window_research_funding_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_research_funding_invalidate,
window_research_funding_paint,
nullptr
};
static rct_window_event_list *window_research_page_events[] = { static rct_window_event_list *window_research_page_events[] = {
&window_research_development_events, &window_research_development_events,

View File

@ -615,324 +615,136 @@ static void window_ride_customer_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_ride_set_page(rct_window *w, int32_t page); static void window_ride_set_page(rct_window *w, int32_t page);
// 0x0098DFD4 // 0x0098DFD4
static rct_window_event_list window_ride_main_events = { static rct_window_event_list window_ride_main_events([](auto& events)
nullptr, {
window_ride_main_mouseup, events.mouse_up = &window_ride_main_mouseup;
window_ride_main_resize, events.resize = &window_ride_main_resize;
window_ride_main_mousedown, events.mouse_down = &window_ride_main_mousedown;
window_ride_main_dropdown, events.dropdown = &window_ride_main_dropdown;
nullptr, events.update = &window_ride_main_update;
window_ride_main_update, events.text_input = &window_ride_main_textinput;
nullptr, events.viewport_rotate = &window_ride_main_viewport_rotate;
nullptr, events.invalidate = &window_ride_main_invalidate;
nullptr, events.paint = &window_ride_main_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_main_textinput,
window_ride_main_viewport_rotate,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_main_invalidate,
window_ride_main_paint,
nullptr
};
// 0x0098E204 // 0x0098E204
static rct_window_event_list window_ride_vehicle_events = { static rct_window_event_list window_ride_vehicle_events([](auto& events)
nullptr, {
window_ride_vehicle_mouseup, events.mouse_up = &window_ride_vehicle_mouseup;
window_ride_vehicle_resize, events.resize = &window_ride_vehicle_resize;
window_ride_vehicle_mousedown, events.mouse_down = &window_ride_vehicle_mousedown;
window_ride_vehicle_dropdown, events.dropdown = &window_ride_vehicle_dropdown;
nullptr, events.update = &window_ride_vehicle_update;
window_ride_vehicle_update, events.invalidate = &window_ride_vehicle_invalidate;
nullptr, events.paint = &window_ride_vehicle_paint;
nullptr, events.scroll_paint = &window_ride_vehicle_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_vehicle_invalidate,
window_ride_vehicle_paint,
window_ride_vehicle_scrollpaint
};
// 0x0098E0B4 // 0x0098E0B4
static rct_window_event_list window_ride_operating_events = { static rct_window_event_list window_ride_operating_events([](auto& events)
nullptr, {
window_ride_operating_mouseup, events.mouse_up = &window_ride_operating_mouseup;
window_ride_operating_resize, events.resize = &window_ride_operating_resize;
window_ride_operating_mousedown, events.mouse_down = &window_ride_operating_mousedown;
window_ride_operating_dropdown, events.dropdown = &window_ride_operating_dropdown;
nullptr, events.update = &window_ride_operating_update;
window_ride_operating_update, events.invalidate = &window_ride_operating_invalidate;
nullptr, events.paint = &window_ride_operating_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_operating_invalidate,
window_ride_operating_paint,
nullptr
};
// 0x0098E124 // 0x0098E124
static rct_window_event_list window_ride_maintenance_events = { static rct_window_event_list window_ride_maintenance_events([](auto& events)
nullptr, {
window_ride_maintenance_mouseup, events.mouse_up = &window_ride_maintenance_mouseup;
window_ride_maintenance_resize, events.resize = &window_ride_maintenance_resize;
window_ride_maintenance_mousedown, events.mouse_down = &window_ride_maintenance_mousedown;
window_ride_maintenance_dropdown, events.dropdown = &window_ride_maintenance_dropdown;
nullptr, events.update = &window_ride_maintenance_update;
window_ride_maintenance_update, events.invalidate = &window_ride_maintenance_invalidate;
nullptr, events.paint = &window_ride_maintenance_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_maintenance_invalidate,
window_ride_maintenance_paint,
nullptr
};
// 0x0098E044 // 0x0098E044
static rct_window_event_list window_ride_colour_events = { static rct_window_event_list window_ride_colour_events([](auto& events)
window_ride_colour_close, {
window_ride_colour_mouseup, events.close = &window_ride_colour_close;
window_ride_colour_resize, events.mouse_up = &window_ride_colour_mouseup;
window_ride_colour_mousedown, events.resize = &window_ride_colour_resize;
window_ride_colour_dropdown, events.mouse_down = &window_ride_colour_mousedown;
nullptr, events.dropdown = &window_ride_colour_dropdown;
window_ride_colour_update, events.update = &window_ride_colour_update;
nullptr, events.tool_down = &window_ride_colour_tooldown;
nullptr, events.tool_drag = &window_ride_colour_tooldrag;
nullptr, events.invalidate = &window_ride_colour_invalidate;
window_ride_colour_tooldown, events.paint = &window_ride_colour_paint;
window_ride_colour_tooldrag, events.scroll_paint = &window_ride_colour_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_colour_invalidate,
window_ride_colour_paint,
window_ride_colour_scrollpaint
};
// 0x0098E194 // 0x0098E194
static rct_window_event_list window_ride_music_events = { static rct_window_event_list window_ride_music_events([](auto& events)
nullptr, {
window_ride_music_mouseup, events.mouse_up = &window_ride_music_mouseup;
window_ride_music_resize, events.resize = &window_ride_music_resize;
window_ride_music_mousedown, events.mouse_down = &window_ride_music_mousedown;
window_ride_music_dropdown, events.dropdown = &window_ride_music_dropdown;
nullptr, events.update = &window_ride_music_update;
window_ride_music_update, events.invalidate = &window_ride_music_invalidate;
nullptr, events.paint = &window_ride_music_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_music_invalidate,
window_ride_music_paint,
nullptr
};
// 0x0098DE14 // 0x0098DE14
static rct_window_event_list window_ride_measurements_events = { static rct_window_event_list window_ride_measurements_events([](auto& events)
window_ride_measurements_close, {
window_ride_measurements_mouseup, events.close = &window_ride_measurements_close;
window_ride_measurements_resize, events.mouse_up = &window_ride_measurements_mouseup;
window_ride_measurements_mousedown, events.resize = &window_ride_measurements_resize;
window_ride_measurements_dropdown, events.mouse_down = &window_ride_measurements_mousedown;
nullptr, events.dropdown = &window_ride_measurements_dropdown;
window_ride_measurements_update, events.update = &window_ride_measurements_update;
nullptr, events.tool_down = &window_ride_measurements_tooldown;
nullptr, events.tool_drag = &window_ride_measurements_tooldrag;
nullptr, events.tool_abort = &window_ride_measurements_toolabort;
window_ride_measurements_tooldown, events.invalidate = &window_ride_measurements_invalidate;
window_ride_measurements_tooldrag, events.paint = &window_ride_measurements_paint;
nullptr, });
window_ride_measurements_toolabort,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_measurements_invalidate,
window_ride_measurements_paint,
nullptr
};
// 0x0098DF64 // 0x0098DF64
static rct_window_event_list window_ride_graphs_events = { static rct_window_event_list window_ride_graphs_events([](auto& events)
nullptr, {
window_ride_graphs_mouseup, events.mouse_up = &window_ride_graphs_mouseup;
window_ride_graphs_resize, events.resize = &window_ride_graphs_resize;
window_ride_graphs_mousedown, events.mouse_down = &window_ride_graphs_mousedown;
nullptr, events.update = &window_ride_graphs_update;
nullptr, events.get_scroll_size = &window_ride_graphs_scrollgetheight;
window_ride_graphs_update, events.unknown_15 = &window_ride_graphs_15;
nullptr, events.tooltip = &window_ride_graphs_tooltip;
nullptr, events.invalidate = &window_ride_graphs_invalidate;
nullptr, events.paint = &window_ride_graphs_paint;
nullptr, events.scroll_paint = &window_ride_graphs_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
window_ride_graphs_scrollgetheight,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_graphs_15,
window_ride_graphs_tooltip,
nullptr,
nullptr,
window_ride_graphs_invalidate,
window_ride_graphs_paint,
window_ride_graphs_scrollpaint
};
// 0x0098DEF4 // 0x0098DEF4
static rct_window_event_list window_ride_income_events = { static rct_window_event_list window_ride_income_events([](auto& events)
nullptr, {
window_ride_income_mouseup, events.mouse_up = &window_ride_income_mouseup;
window_ride_income_resize, events.resize = &window_ride_income_resize;
window_ride_income_mousedown, events.mouse_down = &window_ride_income_mousedown;
nullptr, events.update = &window_ride_income_update;
nullptr, events.text_input = &window_ride_income_textinput;
window_ride_income_update, events.invalidate = &window_ride_income_invalidate;
nullptr, events.paint = &window_ride_income_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_income_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_income_invalidate,
window_ride_income_paint,
nullptr
};
// 0x0098DE84 // 0x0098DE84
static rct_window_event_list window_ride_customer_events = { static rct_window_event_list window_ride_customer_events([](auto& events)
nullptr, {
window_ride_customer_mouseup, events.mouse_up = &window_ride_customer_mouseup;
window_ride_customer_resize, events.resize = &window_ride_customer_resize;
nullptr, events.update = &window_ride_customer_update;
nullptr, events.invalidate = &window_ride_customer_invalidate;
nullptr, events.paint = &window_ride_customer_paint;
window_ride_customer_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_customer_invalidate,
window_ride_customer_paint,
nullptr
};
static rct_window_event_list *window_ride_page_events[] = { static rct_window_event_list *window_ride_page_events[] = {
&window_ride_main_events, &window_ride_main_events,

View File

@ -147,36 +147,19 @@ static void window_ride_construction_paint(rct_window *w, rct_drawpixelinfo *dpi
static bool track_piece_direction_is_diagonal(const uint8_t direction); static bool track_piece_direction_is_diagonal(const uint8_t direction);
//0x993EEC //0x993EEC
static rct_window_event_list window_ride_construction_events = { static rct_window_event_list window_ride_construction_events([](auto& events)
window_ride_construction_close, {
window_ride_construction_mouseup, events.close = &window_ride_construction_close;
window_ride_construction_resize, events.mouse_up = &window_ride_construction_mouseup;
window_ride_construction_mousedown, events.resize = &window_ride_construction_resize;
window_ride_construction_dropdown, events.mouse_down = &window_ride_construction_mousedown;
nullptr, events.dropdown = &window_ride_construction_dropdown;
window_ride_construction_update, events.update = &window_ride_construction_update;
nullptr, events.tool_update = &window_ride_construction_toolupdate;
nullptr, events.tool_down = &window_ride_construction_tooldown;
window_ride_construction_toolupdate, events.invalidate = &window_ride_construction_invalidate;
window_ride_construction_tooldown, events.paint = &window_ride_construction_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_construction_invalidate,
window_ride_construction_paint,
nullptr
};
#pragma endregion #pragma endregion

View File

@ -86,36 +86,20 @@ static void window_ride_list_invalidate(rct_window *w);
static void window_ride_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_ride_list_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_ride_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_ride_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_ride_list_events = { static rct_window_event_list window_ride_list_events([](auto& events)
nullptr, {
window_ride_list_mouseup, events.mouse_up = &window_ride_list_mouseup;
window_ride_list_resize, events.resize = &window_ride_list_resize;
window_ride_list_mousedown, events.mouse_down = &window_ride_list_mousedown;
window_ride_list_dropdown, events.dropdown = &window_ride_list_dropdown;
nullptr, events.update = &window_ride_list_update;
window_ride_list_update, events.get_scroll_size = &window_ride_list_scrollgetsize;
nullptr, events.scroll_mousedown = &window_ride_list_scrollmousedown;
nullptr, events.scroll_mouseover = &window_ride_list_scrollmouseover;
nullptr, events.invalidate = &window_ride_list_invalidate;
nullptr, events.paint = &window_ride_list_paint;
nullptr, events.scroll_paint = &window_ride_list_scrollpaint;
nullptr, });
nullptr,
nullptr,
window_ride_list_scrollgetsize,
window_ride_list_scrollmousedown,
nullptr,
window_ride_list_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_ride_list_invalidate,
window_ride_list_paint,
window_ride_list_scrollpaint
};
enum { enum {
INFORMATION_TYPE_STATUS, INFORMATION_TYPE_STATUS,

View File

@ -72,36 +72,12 @@ static void window_save_prompt_mouseup(rct_window *w, rct_widgetindex widgetInde
static void window_save_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_save_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_save_prompt_callback(int32_t result, const utf8 * path); static void window_save_prompt_callback(int32_t result, const utf8 * path);
static rct_window_event_list window_save_prompt_events = { static rct_window_event_list window_save_prompt_events([](auto& events)
window_save_prompt_close, {
window_save_prompt_mouseup, events.close = &window_save_prompt_close;
nullptr, events.mouse_up = &window_save_prompt_mouseup;
nullptr, events.paint = &window_save_prompt_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_save_prompt_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -110,36 +110,18 @@ static void window_scenarioselect_invalidate(rct_window *w);
static void window_scenarioselect_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_scenarioselect_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_scenarioselect_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_scenarioselect_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_scenarioselect_events = { static rct_window_event_list window_scenarioselect_events([](auto& events)
window_scenarioselect_close, {
window_scenarioselect_mouseup, events.close = &window_scenarioselect_close;
nullptr, events.mouse_up = &window_scenarioselect_mouseup;
window_scenarioselect_mousedown, events.mouse_down = &window_scenarioselect_mousedown;
nullptr, events.get_scroll_size = &window_scenarioselect_scrollgetsize;
nullptr, events.scroll_mousedown = &window_scenarioselect_scrollmousedown;
nullptr, events.scroll_mouseover = &window_scenarioselect_scrollmouseover;
nullptr, events.invalidate = &window_scenarioselect_invalidate;
nullptr, events.paint = &window_scenarioselect_paint;
nullptr, events.scroll_paint = &window_scenarioselect_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
window_scenarioselect_scrollgetsize,
window_scenarioselect_scrollmousedown,
nullptr,
window_scenarioselect_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_scenarioselect_invalidate,
window_scenarioselect_paint,
window_scenarioselect_scrollpaint
};
// clang-format on // clang-format on
static void draw_category_heading( static void draw_category_heading(

View File

@ -82,36 +82,23 @@ static void window_scenery_invalidate(rct_window *w);
static void window_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_scenery_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_scenery_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_scenery_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_scenery_events = { static rct_window_event_list window_scenery_events([](auto& events)
window_scenery_close, {
window_scenery_mouseup, events.close = &window_scenery_close;
window_scenery_resize, events.mouse_up = &window_scenery_mouseup;
window_scenery_mousedown, events.resize = &window_scenery_resize;
window_scenery_dropdown, events.mouse_down = &window_scenery_mousedown;
nullptr, events.dropdown = &window_scenery_dropdown;
window_scenery_update, events.update = &window_scenery_update;
window_scenery_periodic_update, events.periodic_update = &window_scenery_periodic_update;
nullptr, events.get_scroll_size = &window_scenery_scrollgetsize;
nullptr, events.scroll_mousedown = &window_scenery_scrollmousedown;
nullptr, events.scroll_mouseover = &window_scenery_scrollmouseover;
nullptr, events.tooltip = &window_scenery_tooltip;
nullptr, events.invalidate = &window_scenery_invalidate;
nullptr, events.paint = &window_scenery_paint;
nullptr, events.scroll_paint = &window_scenery_scrollpaint;
window_scenery_scrollgetsize, });
window_scenery_scrollmousedown,
nullptr,
window_scenery_scrollmouseover,
nullptr,
nullptr,
nullptr,
window_scenery_tooltip,
nullptr,
nullptr,
window_scenery_invalidate,
window_scenery_paint,
window_scenery_scrollpaint,
};
enum WINDOW_SCENERY_LIST_WIDGET_IDX { enum WINDOW_SCENERY_LIST_WIDGET_IDX {

View File

@ -60,36 +60,15 @@ static void window_scenery_scatter_textinput(rct_window* w, rct_widgetindex widg
static void window_scenery_scatter_inputsize(rct_window* w, rct_widgetindex widgetindex); static void window_scenery_scatter_inputsize(rct_window* w, rct_widgetindex widgetindex);
// clang-format off // clang-format off
static rct_window_event_list window_clear_scenery_events = { static rct_window_event_list window_clear_scenery_events([](auto& events)
window_scenery_scatter_close, {
window_scenery_scatter_mouseup, events.close = &window_scenery_scatter_close;
nullptr, events.mouse_up = &window_scenery_scatter_mouseup;
window_scenery_scatter_mousedown, events.mouse_down = &window_scenery_scatter_mousedown;
nullptr, events.text_input = &window_scenery_scatter_textinput;
nullptr, events.invalidate = &window_scenery_scatter_invalidate;
nullptr, events.paint = &window_scenery_scatter_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_scenery_scatter_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_scenery_scatter_invalidate,
window_scenery_scatter_paint,
nullptr
};
// clang-format on // clang-format on
rct_window* window_scenery_scatter_open() rct_window* window_scenery_scatter_open()

View File

@ -82,36 +82,21 @@ static void window_server_list_invalidate(rct_window *w);
static void window_server_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_server_list_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_server_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_server_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_server_list_events = { static rct_window_event_list window_server_list_events([](auto& events)
window_server_list_close, {
window_server_list_mouseup, events.close = &window_server_list_close;
window_server_list_resize, events.mouse_up = &window_server_list_mouseup;
nullptr, events.resize = &window_server_list_resize;
window_server_list_dropdown, events.dropdown = &window_server_list_dropdown;
nullptr, events.update = &window_server_list_update;
window_server_list_update, events.get_scroll_size = &window_server_list_scroll_getsize;
nullptr, events.scroll_mousedown = &window_server_list_scroll_mousedown;
nullptr, events.scroll_mouseover = &window_server_list_scroll_mouseover;
nullptr, events.text_input = &window_server_list_textinput;
nullptr, events.invalidate = &window_server_list_invalidate;
nullptr, events.paint = &window_server_list_paint;
nullptr, events.scroll_paint = &window_server_list_scrollpaint;
nullptr, });
nullptr,
window_server_list_scroll_getsize,
window_server_list_scroll_mousedown,
nullptr,
window_server_list_scroll_mouseover,
window_server_list_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_server_list_invalidate,
window_server_list_paint,
window_server_list_scrollpaint
};
// clang-format on // clang-format on
enum enum

View File

@ -72,36 +72,15 @@ static void window_server_start_textinput(rct_window *w, rct_widgetindex widgetI
static void window_server_start_invalidate(rct_window *w); static void window_server_start_invalidate(rct_window *w);
static void window_server_start_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_server_start_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_server_start_events = { static rct_window_event_list window_server_start_events([](auto& events)
window_server_start_close, {
window_server_start_mouseup, events.close = &window_server_start_close;
nullptr, events.mouse_up = &window_server_start_mouseup;
nullptr, events.update = &window_server_start_update;
nullptr, events.text_input = &window_server_start_textinput;
nullptr, events.invalidate = &window_server_start_invalidate;
window_server_start_update, events.paint = &window_server_start_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_server_start_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_server_start_invalidate,
window_server_start_paint,
nullptr
};
// clang-format on // clang-format on
rct_window* window_server_start_open() rct_window* window_server_start_open()

View File

@ -36,36 +36,11 @@ static void window_shortcut_change_mouseup(rct_window *w, rct_widgetindex widget
static void window_shortcut_change_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_shortcut_change_paint(rct_window *w, rct_drawpixelinfo *dpi);
// 0x9A3F7C // 0x9A3F7C
static rct_window_event_list window_shortcut_change_events = { static rct_window_event_list window_shortcut_change_events([](auto& events)
nullptr, {
window_shortcut_change_mouseup, events.mouse_up = &window_shortcut_change_mouseup;
nullptr, events.paint = &window_shortcut_change_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_shortcut_change_paint,
nullptr
};
// clang-format on // clang-format on
static rct_string_id CurrentShortcutKeyStringId{}; static rct_string_id CurrentShortcutKeyStringId{};

View File

@ -50,36 +50,17 @@ static void window_shortcut_scrollmousedown(rct_window *w, int32_t scrollIndex,
static void window_shortcut_scrollmouseover(rct_window *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords); static void window_shortcut_scrollmouseover(rct_window *w, int32_t scrollIndex, const ScreenCoordsXY& screenCoords);
static void window_shortcut_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_shortcut_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_shortcut_events = { static rct_window_event_list window_shortcut_events([](auto& events)
nullptr, {
window_shortcut_mouseup, events.mouse_up = &window_shortcut_mouseup;
window_shortcut_resize, events.resize = &window_shortcut_resize;
nullptr, events.get_scroll_size = &window_shortcut_scrollgetsize;
nullptr, events.scroll_mousedown = &window_shortcut_scrollmousedown;
nullptr, events.scroll_mouseover = &window_shortcut_scrollmouseover;
nullptr, events.invalidate = &window_shortcut_invalidate;
nullptr, events.paint = &window_shortcut_paint;
nullptr, events.scroll_paint = &window_shortcut_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_shortcut_scrollgetsize,
window_shortcut_scrollmousedown,
nullptr,
window_shortcut_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_shortcut_invalidate,
window_shortcut_paint,
window_shortcut_scrollpaint
};
struct ShortcutStringPair struct ShortcutStringPair
{ {

View File

@ -62,72 +62,32 @@ static void window_sign_paint(rct_window *w, rct_drawpixelinfo *dpi);
// 0x98E44C // 0x98E44C
static rct_window_event_list window_sign_events = { static rct_window_event_list window_sign_events([](auto& events)
nullptr, {
window_sign_mouseup, events.mouse_up = &window_sign_mouseup;
nullptr, events.mouse_down = &window_sign_mousedown;
window_sign_mousedown, events.dropdown = &window_sign_dropdown;
window_sign_dropdown, events.text_input = &window_sign_textinput;
nullptr, events.viewport_rotate = &window_sign_viewport_rotate;
nullptr, events.invalidate = &window_sign_invalidate;
nullptr, events.paint = &window_sign_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_sign_textinput,
window_sign_viewport_rotate,
nullptr,
nullptr,
nullptr,
nullptr,
window_sign_invalidate,
window_sign_paint,
nullptr
};
static void window_sign_small_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_sign_small_mouseup(rct_window *w, rct_widgetindex widgetIndex);
static void window_sign_small_dropdown(rct_window *w, rct_widgetindex widgetIndex, int32_t dropdownIndex); static void window_sign_small_dropdown(rct_window *w, rct_widgetindex widgetIndex, int32_t dropdownIndex);
static void window_sign_small_invalidate(rct_window *w); static void window_sign_small_invalidate(rct_window *w);
// 0x9A410C // 0x9A410C
static rct_window_event_list window_sign_small_events = { static rct_window_event_list window_sign_small_events([](auto& events)
nullptr, {
window_sign_small_mouseup, events.mouse_up = &window_sign_small_mouseup;
nullptr, events.mouse_down = &window_sign_mousedown;
window_sign_mousedown, events.dropdown = &window_sign_small_dropdown;
window_sign_small_dropdown, events.text_input = &window_sign_textinput;
nullptr, events.viewport_rotate = &window_sign_viewport_rotate;
nullptr, events.invalidate = &window_sign_small_invalidate;
nullptr, events.paint = &window_sign_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_sign_textinput,
window_sign_viewport_rotate,
nullptr,
nullptr,
nullptr,
nullptr,
window_sign_small_invalidate,
window_sign_paint,
nullptr
};
// clang-format on // clang-format on
static void window_sign_show_text_input(rct_window* w); static void window_sign_show_text_input(rct_window* w);

View File

@ -153,100 +153,48 @@ static void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi);
void window_staff_set_colours(); void window_staff_set_colours();
// 0x992AEC // 0x992AEC
static rct_window_event_list window_staff_overview_events = { static rct_window_event_list window_staff_overview_events([](auto& events)
window_staff_overview_close, {
window_staff_overview_mouseup, events.close = &window_staff_overview_close;
window_staff_overview_resize, events.mouse_up = &window_staff_overview_mouseup;
window_staff_overview_mousedown, events.resize = &window_staff_overview_resize;
window_staff_overview_dropdown, events.mouse_down = &window_staff_overview_mousedown;
nullptr, events.dropdown = &window_staff_overview_dropdown;
window_staff_overview_update, events.update = &window_staff_overview_update;
nullptr, events.tool_update = &window_staff_overview_tool_update;
nullptr, events.tool_down = &window_staff_overview_tool_down;
window_staff_overview_tool_update, events.tool_drag = &window_staff_overview_tool_drag;
window_staff_overview_tool_down, events.tool_up = &window_staff_overview_tool_up;
window_staff_overview_tool_drag, events.tool_abort = &window_staff_overview_tool_abort;
window_staff_overview_tool_up, events.text_input = &window_staff_overview_text_input;
window_staff_overview_tool_abort, events.viewport_rotate = &window_staff_overview_viewport_rotate;
nullptr, events.invalidate = &window_staff_overview_invalidate;
nullptr, events.paint = &window_staff_overview_paint;
nullptr, });
nullptr,
nullptr,
window_staff_overview_text_input,
window_staff_overview_viewport_rotate,
nullptr,
nullptr,
nullptr,
nullptr,
window_staff_overview_invalidate, //Invalidate
window_staff_overview_paint, //Paint
nullptr
};
// 0x992B5C // 0x992B5C
static rct_window_event_list window_staff_options_events = { static rct_window_event_list window_staff_options_events([](auto& events)
nullptr, {
window_staff_options_mouseup, events.mouse_up = &window_staff_options_mouseup;
window_staff_stats_resize, events.resize = &window_staff_stats_resize;
window_staff_options_mousedown, events.mouse_down = &window_staff_options_mousedown;
window_staff_options_dropdown, events.dropdown = &window_staff_options_dropdown;
window_staff_unknown_05, events.unknown_05 = &window_staff_unknown_05;
window_staff_options_update, events.update = &window_staff_options_update;
nullptr, events.invalidate = &window_staff_options_invalidate;
nullptr, events.paint = &window_staff_options_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_staff_options_invalidate, //Invalidate
window_staff_options_paint, //Paint
nullptr
};
// 0x992BCC // 0x992BCC
static rct_window_event_list window_staff_stats_events = { static rct_window_event_list window_staff_stats_events([](auto& events)
nullptr, {
window_staff_stats_mouseup, events.mouse_up = &window_staff_stats_mouseup;
window_staff_stats_resize, events.resize = &window_staff_stats_resize;
nullptr, events.unknown_05 = &window_staff_unknown_05;
nullptr, events.update = &window_staff_stats_update;
window_staff_unknown_05, events.invalidate = &window_staff_stats_invalidate;
window_staff_stats_update, events.paint = &window_staff_stats_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_staff_stats_invalidate, //Invalidate
window_staff_stats_paint, //Paint
nullptr
};
static rct_window_event_list *window_staff_page_events[] = { static rct_window_event_list *window_staff_page_events[] = {
&window_staff_overview_events, &window_staff_overview_events,

View File

@ -41,36 +41,11 @@ static void window_staff_fire_mouseup(rct_window *w, rct_widgetindex widgetIndex
static void window_staff_fire_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_staff_fire_paint(rct_window *w, rct_drawpixelinfo *dpi);
//0x9A3F7C //0x9A3F7C
static rct_window_event_list window_staff_fire_events = { static rct_window_event_list window_staff_fire_events([](auto& events)
nullptr, {
window_staff_fire_mouseup, events.mouse_up = &window_staff_fire_mouseup;
nullptr, events.paint = &window_staff_fire_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_staff_fire_paint,
nullptr
};
// clang-format on // clang-format on
/** Based off of rct2: 0x6C0A77 */ /** Based off of rct2: 0x6C0A77 */

View File

@ -56,36 +56,23 @@ static void window_staff_list_invalidate(rct_window *w);
static void window_staff_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_staff_list_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_staff_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_staff_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_staff_list_events = { static rct_window_event_list window_staff_list_events([](auto& events)
window_staff_list_close, {
window_staff_list_mouseup, events.close = &window_staff_list_close;
window_staff_list_resize, events.mouse_up = &window_staff_list_mouseup;
window_staff_list_mousedown, events.resize = &window_staff_list_resize;
window_staff_list_dropdown, events.mouse_down = &window_staff_list_mousedown;
nullptr, events.dropdown = &window_staff_list_dropdown;
window_staff_list_update, events.update = &window_staff_list_update;
nullptr, events.tool_down = &window_staff_list_tooldown;
nullptr, events.tool_abort = &window_staff_list_toolabort;
nullptr, events.get_scroll_size = &window_staff_list_scrollgetsize;
window_staff_list_tooldown, events.scroll_mousedown = &window_staff_list_scrollmousedown;
nullptr, events.scroll_mouseover = &window_staff_list_scrollmouseover;
nullptr, events.invalidate = &window_staff_list_invalidate;
window_staff_list_toolabort, events.paint = &window_staff_list_paint;
nullptr, events.scroll_paint = &window_staff_list_scrollpaint;
window_staff_list_scrollgetsize, });
window_staff_list_scrollmousedown,
nullptr,
window_staff_list_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_staff_list_invalidate,
window_staff_list_paint,
window_staff_list_scrollpaint,
};
enum WINDOW_STAFF_LIST_WIDGET_IDX { enum WINDOW_STAFF_LIST_WIDGET_IDX {
WIDX_STAFF_LIST_BACKGROUND, WIDX_STAFF_LIST_BACKGROUND,

View File

@ -54,36 +54,14 @@ static void window_text_input_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void draw_ime_composition(rct_drawpixelinfo * dpi, int cursorX, int cursorY); static void draw_ime_composition(rct_drawpixelinfo * dpi, int cursorX, int cursorY);
//0x9A3F7C //0x9A3F7C
static rct_window_event_list window_text_input_events = { static rct_window_event_list window_text_input_events([](auto& events)
window_text_input_close, {
window_text_input_mouseup, events.close = &window_text_input_close;
nullptr, events.mouse_up = &window_text_input_mouseup;
nullptr, events.periodic_update = &window_text_input_periodic_update;
nullptr, events.invalidate = &window_text_input_invalidate;
nullptr, events.paint = &window_text_input_paint;
nullptr, });
window_text_input_periodic_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_text_input_invalidate,
window_text_input_paint,
nullptr
};
// clang-format on // clang-format on
static rct_string_id input_text_description; static rct_string_id input_text_description;

View File

@ -49,36 +49,21 @@ static void window_themes_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_themes_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_themes_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static void window_themes_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w); static void window_themes_draw_tab_images(rct_drawpixelinfo *dpi, rct_window *w);
static rct_window_event_list window_themes_events = { static rct_window_event_list window_themes_events([](auto& events)
nullptr, {
window_themes_mouseup, events.mouse_up = &window_themes_mouseup;
window_themes_resize, events.resize = &window_themes_resize;
window_themes_mousedown, events.mouse_down = &window_themes_mousedown;
window_themes_dropdown, events.dropdown = &window_themes_dropdown;
nullptr, events.update = &window_themes_update;
window_themes_update, events.get_scroll_size = &window_themes_scrollgetsize;
nullptr, events.scroll_mousedown = &window_themes_scrollmousedown;
nullptr, events.scroll_mouseover = &window_themes_scrollmouseover;
nullptr, events.text_input = &window_themes_textinput;
nullptr, events.invalidate = &window_themes_invalidate;
nullptr, events.paint = &window_themes_paint;
nullptr, events.scroll_paint = &window_themes_scrollpaint;
nullptr, });
nullptr,
window_themes_scrollgetsize,
window_themes_scrollmousedown,
nullptr,
window_themes_scrollmouseover,
window_themes_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_themes_invalidate,
window_themes_paint,
window_themes_scrollpaint,
};
enum WINDOW_STAFF_LIST_WIDGET_IDX { enum WINDOW_STAFF_LIST_WIDGET_IDX {
WIDX_THEMES_BACKGROUND, WIDX_THEMES_BACKGROUND,

View File

@ -439,36 +439,23 @@ static void window_tile_inspector_scrollpaint(rct_window* w, rct_drawpixelinfo*
static void window_tile_inspector_set_page(rct_window* w, const TILE_INSPECTOR_PAGE page); static void window_tile_inspector_set_page(rct_window* w, const TILE_INSPECTOR_PAGE page);
// clang-format off // clang-format off
static rct_window_event_list TileInspectorWindowEvents = { static rct_window_event_list TileInspectorWindowEvents([](auto& events)
nullptr, {
window_tile_inspector_mouseup, events.mouse_up = &window_tile_inspector_mouseup;
window_tile_inspector_resize, events.resize = &window_tile_inspector_resize;
window_tile_inspector_mousedown, events.mouse_down = &window_tile_inspector_mousedown;
window_tile_inspector_dropdown, events.dropdown = &window_tile_inspector_dropdown;
nullptr, events.update = &window_tile_inspector_update;
window_tile_inspector_update, events.tool_update = &window_tile_inspector_tool_update;
nullptr, events.tool_down = &window_tile_inspector_tool_down;
nullptr, events.tool_drag = &window_tile_inspector_tool_drag;
window_tile_inspector_tool_update, events.get_scroll_size = &window_tile_inspector_scrollgetsize;
window_tile_inspector_tool_down, events.scroll_mousedown = &window_tile_inspector_scrollmousedown;
window_tile_inspector_tool_drag, events.scroll_mouseover = &window_tile_inspector_scrollmouseover;
nullptr, events.invalidate = &window_tile_inspector_invalidate;
nullptr, events.paint = &window_tile_inspector_paint;
nullptr, events.scroll_paint = &window_tile_inspector_scrollpaint;
window_tile_inspector_scrollgetsize, });
window_tile_inspector_scrollmousedown,
nullptr,
window_tile_inspector_scrollmouseover,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_tile_inspector_invalidate,
window_tile_inspector_paint,
window_tile_inspector_scrollpaint
};
static uint64_t PageEnabledWidgets[] = { static uint64_t PageEnabledWidgets[] = {
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT), (1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT),

View File

@ -122,36 +122,18 @@ static TITLE_COMMAND_ORDER get_command_info(int32_t index);
static TileCoordsXY get_location(); static TileCoordsXY get_location();
static uint8_t get_zoom(); static uint8_t get_zoom();
static rct_window_event_list window_title_command_editor_events = { static rct_window_event_list window_title_command_editor_events([](auto& events)
window_title_command_editor_close, {
window_title_command_editor_mouseup, events.close = &window_title_command_editor_close;
nullptr, events.mouse_up = &window_title_command_editor_mouseup;
window_title_command_editor_mousedown, events.mouse_down = &window_title_command_editor_mousedown;
window_title_command_editor_dropdown, events.dropdown = &window_title_command_editor_dropdown;
nullptr, events.update = &window_title_command_editor_update;
window_title_command_editor_update, events.tool_down = &window_title_command_editor_tool_down;
nullptr, events.text_input = &window_title_command_editor_textinput;
nullptr, events.invalidate = &window_title_command_editor_invalidate;
nullptr, events.paint = &window_title_command_editor_paint;
window_title_command_editor_tool_down, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_command_editor_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_command_editor_invalidate,
window_title_command_editor_paint,
nullptr
};
// clang-format on // clang-format on
static void scenario_select_callback(const utf8* path) static void scenario_select_callback(const utf8* path)

View File

@ -62,36 +62,22 @@ static bool window_title_editor_check_can_edit();
static void window_title_editor_add_park_callback(int32_t result, const utf8 * path); static void window_title_editor_add_park_callback(int32_t result, const utf8 * path);
static void window_title_editor_rename_park(size_t index, const utf8 * name); static void window_title_editor_rename_park(size_t index, const utf8 * name);
static rct_window_event_list window_title_editor_events = { static rct_window_event_list window_title_editor_events([](auto& events)
window_title_editor_close, {
window_title_editor_mouseup, events.close = &window_title_editor_close;
window_title_editor_resize, events.mouse_up = &window_title_editor_mouseup;
window_title_editor_mousedown, events.resize = &window_title_editor_resize;
window_title_editor_dropdown, events.mouse_down = &window_title_editor_mousedown;
nullptr, events.dropdown = &window_title_editor_dropdown;
window_title_editor_update, events.update = &window_title_editor_update;
nullptr, events.get_scroll_size = &window_title_editor_scrollgetsize;
nullptr, events.scroll_mousedown = &window_title_editor_scrollmousedown;
nullptr, events.scroll_mouseover = &window_title_editor_scrollmouseover;
nullptr, events.text_input = &window_title_editor_textinput;
nullptr, events.invalidate = &window_title_editor_invalidate;
nullptr, events.paint = &window_title_editor_paint;
nullptr, events.scroll_paint = &window_title_editor_scrollpaint;
nullptr, });
window_title_editor_scrollgetsize,
window_title_editor_scrollmousedown,
nullptr,
window_title_editor_scrollmouseover,
window_title_editor_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_editor_invalidate,
window_title_editor_paint,
window_title_editor_scrollpaint,
};
enum WINDOW_TITLE_EDITOR_WIDGET_IDX { enum WINDOW_TITLE_EDITOR_WIDGET_IDX {
WIDX_TITLE_EDITOR_BACKGROUND, WIDX_TITLE_EDITOR_BACKGROUND,

View File

@ -28,36 +28,11 @@ static rct_widget window_title_exit_widgets[] = {
static void window_title_exit_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_title_exit_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_title_exit_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_title_exit_mouseup(rct_window *w, rct_widgetindex widgetIndex);
static rct_window_event_list window_title_exit_events = { static rct_window_event_list window_title_exit_events([](auto& events)
nullptr, {
window_title_exit_mouseup, events.mouse_up = &window_title_exit_mouseup;
nullptr, events.paint = &window_title_exit_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_exit_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -31,36 +31,11 @@ static void window_title_menu_mouseup(rct_window* w, rct_widgetindex widgetIndex
static void window_title_logo_paint(rct_window* w, rct_drawpixelinfo* dpi); static void window_title_logo_paint(rct_window* w, rct_drawpixelinfo* dpi);
// clang-format off // clang-format off
static rct_window_event_list window_title_logo_events = { static rct_window_event_list window_title_logo_events([](auto& events)
nullptr, {
window_title_menu_mouseup, events.mouse_up = &window_title_menu_mouseup;
nullptr, events.paint = &window_title_logo_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_logo_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -51,36 +51,15 @@ static void window_title_menu_cursor(rct_window *w, rct_widgetindex widgetIndex,
static void window_title_menu_invalidate(rct_window *w); static void window_title_menu_invalidate(rct_window *w);
static void window_title_menu_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_title_menu_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_title_menu_events = { static rct_window_event_list window_title_menu_events([](auto& events)
nullptr, {
window_title_menu_mouseup, events.mouse_up = &window_title_menu_mouseup;
nullptr, events.mouse_down = &window_title_menu_mousedown;
window_title_menu_mousedown, events.dropdown = &window_title_menu_dropdown;
window_title_menu_dropdown, events.cursor = &window_title_menu_cursor;
nullptr, events.invalidate = &window_title_menu_invalidate;
nullptr, events.paint = &window_title_menu_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_menu_cursor,
nullptr,
window_title_menu_invalidate,
window_title_menu_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -27,36 +27,11 @@ static rct_widget window_title_options_widgets[] = {
static void window_title_options_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_title_options_mouseup(rct_window *w, rct_widgetindex widgetIndex);
static void window_title_options_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_title_options_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_title_options_events = { static rct_window_event_list window_title_options_events([](auto& events)
nullptr, {
window_title_options_mouseup, events.mouse_up = &window_title_options_mouseup;
nullptr, events.paint = &window_title_options_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_title_options_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -28,36 +28,11 @@ static rct_widget window_tooltip_widgets[] = {
static void window_tooltip_update(rct_window *w); static void window_tooltip_update(rct_window *w);
static void window_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_tooltip_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_tooltip_events = { static rct_window_event_list window_tooltip_events([](auto& events)
nullptr, {
nullptr, events.update = &window_tooltip_update;
nullptr, events.paint = &window_tooltip_paint;
nullptr, });
nullptr,
nullptr,
window_tooltip_update,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_tooltip_paint,
nullptr
};
// clang-format on // clang-format on
static utf8 _tooltipText[sizeof(gCommonStringFormatBuffer)]; static utf8 _tooltipText[sizeof(gCommonStringFormatBuffer)];

View File

@ -270,36 +270,19 @@ static void window_top_toolbar_tool_abort(rct_window *w, rct_widgetindex widgetI
static void window_top_toolbar_invalidate(rct_window *w); static void window_top_toolbar_invalidate(rct_window *w);
static void window_top_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_top_toolbar_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_top_toolbar_events = { static rct_window_event_list window_top_toolbar_events([](auto& events)
nullptr, {
window_top_toolbar_mouseup, events.mouse_up = &window_top_toolbar_mouseup;
nullptr, events.mouse_down = &window_top_toolbar_mousedown;
window_top_toolbar_mousedown, events.dropdown = &window_top_toolbar_dropdown;
window_top_toolbar_dropdown, events.tool_update = &window_top_toolbar_tool_update;
nullptr, events.tool_down = &window_top_toolbar_tool_down;
nullptr, events.tool_drag = &window_top_toolbar_tool_drag;
nullptr, events.tool_up = &window_top_toolbar_tool_up;
nullptr, // check if editor versions are significantly different... events.tool_abort = &window_top_toolbar_tool_abort;
window_top_toolbar_tool_update, // editor: 0x0066fB0E events.invalidate = &window_top_toolbar_invalidate;
window_top_toolbar_tool_down, // editor: 0x0066fB5C events.paint = &window_top_toolbar_paint;
window_top_toolbar_tool_drag, // editor: 0x0066fB37 });
window_top_toolbar_tool_up, // editor: 0x0066fC44 (Exactly the same)
window_top_toolbar_tool_abort, // editor: 0x0066fA74 (Exactly the same)
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_top_toolbar_invalidate,
window_top_toolbar_paint,
nullptr
};
// clang-format on // clang-format on
static void top_toolbar_init_view_menu(rct_window* window, rct_widget* widget); static void top_toolbar_init_view_menu(rct_window* window, rct_widget* widget);

View File

@ -61,68 +61,20 @@ static void window_track_delete_prompt_mouseup(rct_window *w, rct_widgetindex wi
static void window_track_delete_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_track_delete_prompt_paint(rct_window *w, rct_drawpixelinfo *dpi);
// 0x009940EC // 0x009940EC
static rct_window_event_list window_track_manage_events = { static rct_window_event_list window_track_manage_events([](auto& events)
window_track_manage_close, {
window_track_manage_mouseup, events.close = &window_track_manage_close;
nullptr, events.mouse_up = &window_track_manage_mouseup;
nullptr, events.text_input = &window_track_manage_textinput;
nullptr, events.paint = &window_track_manage_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_track_manage_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_track_manage_paint,
nullptr
};
// 0x0099415C // 0x0099415C
static rct_window_event_list window_track_delete_prompt_events = { static rct_window_event_list window_track_delete_prompt_events([](auto& events)
nullptr, {
window_track_delete_prompt_mouseup, events.mouse_up = &window_track_delete_prompt_mouseup;
nullptr, events.paint = &window_track_delete_prompt_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_track_delete_prompt_paint,
nullptr
};
// clang-format on // clang-format on
#pragma endregion #pragma endregion

View File

@ -79,36 +79,18 @@ static void window_track_place_unknown14(rct_window *w);
static void window_track_place_invalidate(rct_window *w); static void window_track_place_invalidate(rct_window *w);
static void window_track_place_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_track_place_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_track_place_events = { static rct_window_event_list window_track_place_events([](auto& events)
window_track_place_close, {
window_track_place_mouseup, events.close = &window_track_place_close;
nullptr, events.mouse_up = &window_track_place_mouseup;
nullptr, events.update = &window_track_place_update;
nullptr, events.tool_update = &window_track_place_toolupdate;
nullptr, events.tool_down = &window_track_place_tooldown;
window_track_place_update, events.tool_abort = &window_track_place_toolabort;
nullptr, events.viewport_rotate = &window_track_place_unknown14;
nullptr, events.invalidate = &window_track_place_invalidate;
window_track_place_toolupdate, events.paint = &window_track_place_paint;
window_track_place_tooldown, });
nullptr,
nullptr,
window_track_place_toolabort,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_track_place_unknown14,
nullptr,
nullptr,
nullptr,
nullptr,
window_track_place_invalidate,
window_track_place_paint,
nullptr
};
// clang-format on // clang-format on
static std::vector<uint8_t> _window_track_place_mini_preview; static std::vector<uint8_t> _window_track_place_mini_preview;

View File

@ -67,36 +67,19 @@ static void window_track_list_invalidate(rct_window *w);
static void window_track_list_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_track_list_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_track_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); static void window_track_list_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex);
static rct_window_event_list window_track_list_events = { static rct_window_event_list window_track_list_events([](auto& events)
window_track_list_close, {
window_track_list_mouseup, events.close = &window_track_list_close;
nullptr, events.mouse_up = &window_track_list_mouseup;
nullptr, events.update = &window_track_list_update;
nullptr, events.get_scroll_size = &window_track_list_scrollgetsize;
nullptr, events.scroll_mousedown = &window_track_list_scrollmousedown;
window_track_list_update, events.scroll_mouseover = &window_track_list_scrollmouseover;
nullptr, events.text_input = &window_track_list_textinput;
nullptr, events.invalidate = &window_track_list_invalidate;
nullptr, events.paint = &window_track_list_paint;
nullptr, events.scroll_paint = &window_track_list_scrollpaint;
nullptr, });
nullptr,
nullptr,
nullptr,
window_track_list_scrollgetsize,
window_track_list_scrollmousedown,
nullptr,
window_track_list_scrollmouseover,
window_track_list_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_track_list_invalidate,
window_track_list_paint,
window_track_list_scrollpaint
};
// clang-format on // clang-format on
constexpr uint16_t TRACK_DESIGN_INDEX_UNLOADED = UINT16_MAX; constexpr uint16_t TRACK_DESIGN_INDEX_UNLOADED = UINT16_MAX;

View File

@ -89,36 +89,20 @@ static void window_view_clipping_paint(rct_window* w, rct_drawpixelinfo* dpi);
static void window_view_clipping_scrollgetsize(rct_window* w, int scrollIndex, int* width, int* height); static void window_view_clipping_scrollgetsize(rct_window* w, int scrollIndex, int* width, int* height);
static void window_view_clipping_close(); static void window_view_clipping_close();
static rct_window_event_list window_view_clipping_events = { static rct_window_event_list window_view_clipping_events([](auto& events)
window_view_clipping_close_button, {
window_view_clipping_mouseup, events.close = &window_view_clipping_close_button;
nullptr, events.mouse_up = &window_view_clipping_mouseup;
window_view_clipping_mousedown, events.mouse_down = &window_view_clipping_mousedown;
nullptr, events.update = &window_view_clipping_update;
nullptr, events.tool_update = &window_view_clipping_tool_update;
window_view_clipping_update, events.tool_down = &window_view_clipping_tool_down;
nullptr, events.tool_drag = &window_view_clipping_tool_drag;
nullptr, events.tool_up = &window_view_clipping_tool_up;
window_view_clipping_tool_update, events.get_scroll_size = &window_view_clipping_scrollgetsize;
window_view_clipping_tool_down, events.invalidate = &window_view_clipping_invalidate;
window_view_clipping_tool_drag, events.paint = &window_view_clipping_paint;
window_view_clipping_tool_up, });
nullptr,
nullptr,
window_view_clipping_scrollgetsize,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_view_clipping_invalidate,
window_view_clipping_paint,
nullptr
};
// clang-format on // clang-format on
#pragma endregion #pragma endregion

View File

@ -47,36 +47,14 @@ static void window_viewport_update(rct_window *w);
static void window_viewport_invalidate(rct_window *w); static void window_viewport_invalidate(rct_window *w);
static void window_viewport_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_viewport_paint(rct_window *w, rct_drawpixelinfo *dpi);
static rct_window_event_list window_viewport_events = { static rct_window_event_list window_viewport_events([](auto& events)
nullptr, {
window_viewport_mouseup, events.mouse_up = &window_viewport_mouseup;
window_viewport_resize, events.resize = &window_viewport_resize;
nullptr, events.update = &window_viewport_update;
nullptr, events.invalidate = &window_viewport_invalidate;
nullptr, events.paint = &window_viewport_paint;
window_viewport_update, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_viewport_invalidate,
window_viewport_paint,
nullptr
};
// clang-format on // clang-format on
static int32_t _viewportNumber = 1; static int32_t _viewportNumber = 1;

View File

@ -47,36 +47,16 @@ static void window_water_paint(rct_window *w, rct_drawpixelinfo *dpi);
static void window_water_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text); static void window_water_textinput(rct_window *w, rct_widgetindex widgetIndex, char *text);
static void window_water_inputsize(rct_window *w); static void window_water_inputsize(rct_window *w);
static rct_window_event_list window_water_events = { static rct_window_event_list window_water_events([](auto& events)
window_water_close, {
window_water_mouseup, events.close = &window_water_close;
nullptr, events.mouse_up = &window_water_mouseup;
window_water_mousedown, events.mouse_down = &window_water_mousedown;
nullptr, events.update = &window_water_update;
nullptr, events.text_input = &window_water_textinput;
window_water_update, events.invalidate = &window_water_invalidate;
nullptr, events.paint = &window_water_paint;
nullptr, });
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_water_textinput,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
window_water_invalidate,
window_water_paint,
nullptr
};
// clang-format on // clang-format on
/** /**

View File

@ -241,6 +241,12 @@ struct rct_window_event_list
void (*invalidate)(struct rct_window*); void (*invalidate)(struct rct_window*);
void (*paint)(struct rct_window*, rct_drawpixelinfo*); void (*paint)(struct rct_window*, rct_drawpixelinfo*);
void (*scroll_paint)(struct rct_window*, rct_drawpixelinfo*, int32_t); void (*scroll_paint)(struct rct_window*, rct_drawpixelinfo*, int32_t);
typedef void (*fnEventInitializer)(rct_window_event_list&);
rct_window_event_list(fnEventInitializer fn)
{
fn(*this);
}
}; };
struct campaign_variables struct campaign_variables