mirror of https://github.com/OpenRCT2/OpenRCT2.git
Changed window_update to use cdecl where possible
This commit is contained in:
parent
aaca1d2ece
commit
d077beea20
20
src/game.c
20
src/game.c
|
@ -180,22 +180,6 @@ void game_logic_update()
|
|||
static void game_handle_input_mouse();
|
||||
static void game_get_next_input(int *x, int *y, int *state);
|
||||
|
||||
static void RCT2_CALLPROC_EVENT_HANDLER(int address, rct_window* w)
|
||||
{
|
||||
__asm {
|
||||
push address
|
||||
push w
|
||||
mov eax, 0
|
||||
mov ebx, 0
|
||||
mov ecx, 0
|
||||
mov edx, 0
|
||||
mov esi, w
|
||||
mov edi, 0
|
||||
mov ebp, 0
|
||||
call[esp+4]
|
||||
add esp, 8
|
||||
}
|
||||
}
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006EA627
|
||||
|
@ -211,7 +195,7 @@ void game_handle_input()
|
|||
|
||||
if (RCT2_GLOBAL(0x009ABDF2, uint8) != 0) {
|
||||
for (w = RCT2_ADDRESS(RCT2_ADDRESS_WINDOW_LIST, rct_window); w < RCT2_GLOBAL(RCT2_ADDRESS_NEW_WINDOW_PTR, rct_window*); w++)
|
||||
RCT2_CALLPROC_EVENT_HANDLER(w->event_handlers[WE_UNKNOWN_07], w);
|
||||
RCT2_CALLPROC_X(w->event_handlers[WE_UNKNOWN_07], 0, 0, 0, 0, (int)w, 0, 0);
|
||||
|
||||
RCT2_CALLPROC_EBPSAFE(0x006EA73F);
|
||||
RCT2_CALLPROC_EBPSAFE(0x006E8346); // update_cursor_position
|
||||
|
@ -245,7 +229,7 @@ void game_handle_input()
|
|||
}
|
||||
|
||||
for (w = RCT2_ADDRESS(RCT2_ADDRESS_WINDOW_LIST, rct_window); w < RCT2_GLOBAL(RCT2_ADDRESS_NEW_WINDOW_PTR, rct_window*); w++)
|
||||
RCT2_CALLPROC_EVENT_HANDLER(w->event_handlers[WE_UNKNOWN_08],w);
|
||||
RCT2_CALLPROC_X(w->event_handlers[WE_UNKNOWN_08], 0, 0, 0, 0,(int) w, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
14
src/window.c
14
src/window.c
|
@ -99,18 +99,12 @@ rct_widget *window_get_scroll_widget(rct_window *w, int scrollIndex)
|
|||
|
||||
return NULL;
|
||||
}
|
||||
static void RCT2_CALLPROC_EVENT_HANDLER(int address, rct_window* w)
|
||||
static void RCT2_CALLPROC_WE_UPDATE(int address, rct_window* w)
|
||||
{
|
||||
__asm {
|
||||
push address
|
||||
push address
|
||||
push w
|
||||
mov eax, 0
|
||||
mov ebx, 0
|
||||
mov ecx, 0
|
||||
mov edx, 0
|
||||
mov esi, w
|
||||
mov edi, 0
|
||||
mov ebp, 0
|
||||
call[esp + 4]
|
||||
add esp, 8
|
||||
}
|
||||
|
@ -126,7 +120,7 @@ void window_dispatch_update_all()
|
|||
RCT2_GLOBAL(0x01423604, sint32)++;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_TOOLTIP_NOT_SHOWN_TICKS, sint16)++;
|
||||
for (w = RCT2_LAST_WINDOW; w >= RCT2_FIRST_WINDOW; w--)
|
||||
RCT2_CALLPROC_EVENT_HANDLER(w->event_handlers[WE_UPDATE], w);
|
||||
RCT2_CALLPROC_WE_UPDATE(w->event_handlers[WE_UPDATE], w);
|
||||
|
||||
RCT2_CALLPROC_EBPSAFE(0x006EE411); // handle_text_input
|
||||
}
|
||||
|
@ -157,7 +151,7 @@ void window_update_all()
|
|||
if (RCT2_GLOBAL(0x009DEB7C, sint16) >= 1000) {
|
||||
RCT2_GLOBAL(0x009DEB7C, sint16) = 0;
|
||||
for (w = RCT2_LAST_WINDOW; w >= RCT2_FIRST_WINDOW; w--)
|
||||
RCT2_CALLPROC_EVENT_HANDLER(w->event_handlers[WE_UNKNOWN_07],w);
|
||||
RCT2_CALLPROC_X(w->event_handlers[WE_UNKNOWN_07], 0, 0, 0, 0, (int) w, 0, 0);
|
||||
}
|
||||
|
||||
// Border flash invalidation
|
||||
|
|
|
@ -79,7 +79,7 @@ static rct_widget *window_cheats_page_widgets[] = {
|
|||
static void window_cheats_emptysub() { }
|
||||
static void window_cheats_money_mouseup();
|
||||
static void window_cheats_guests_mouseup();
|
||||
static void window_cheats_update();
|
||||
static void window_cheats_update(rct_window *w);
|
||||
static void window_cheats_invalidate();
|
||||
static void window_cheats_paint();
|
||||
static void window_cheats_set_page(rct_window *w, int page);
|
||||
|
|
|
@ -49,7 +49,7 @@ static int window_clear_scenery_should_close();
|
|||
static void window_clear_scenery_emptysub() { }
|
||||
static void window_clear_scenery_close();
|
||||
static void window_clear_scenery_mouseup();
|
||||
static void window_clear_scenery_update();
|
||||
static void window_clear_scenery_update(rct_window *w);
|
||||
static void window_clear_scenery_invalidate();
|
||||
static void window_clear_scenery_paint();
|
||||
|
||||
|
@ -168,12 +168,8 @@ static void window_clear_scenery_mouseup()
|
|||
*
|
||||
* rct2: 0x0068E205
|
||||
*/
|
||||
static void window_clear_scenery_update()
|
||||
static void window_clear_scenery_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
// Close window if another tool is open
|
||||
if (window_clear_scenery_should_close())
|
||||
window_close(w);
|
||||
|
|
|
@ -108,7 +108,7 @@ static void window_footpath_close();
|
|||
static void window_footpath_mouseup();
|
||||
static void window_footpath_mousedown();
|
||||
static void window_footpath_dropdown();
|
||||
static void window_footpath_update();
|
||||
static void window_footpath_update(rct_window *w);
|
||||
static void window_footpath_toolupdate();
|
||||
static void window_footpath_tooldown();
|
||||
static void window_footpath_tooldrag();
|
||||
|
@ -470,12 +470,8 @@ static void window_footpath_toolup()
|
|||
*
|
||||
* rct2: 0x006A84BB
|
||||
*/
|
||||
static void window_footpath_update()
|
||||
static void window_footpath_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
// Invalidate construct button
|
||||
widget_invalidate(WC_FOOTPATH, 0, WIDX_CONSTRUCT);
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ static void window_guest_list_mouseup();
|
|||
static void window_guest_list_resize();
|
||||
static void window_guest_list_mousedown();
|
||||
static void window_guest_list_dropdown();
|
||||
static void window_guest_list_update();
|
||||
static void window_guest_list_update(rct_window *w);
|
||||
static void window_guest_list_scrollgetsize();
|
||||
static void window_guest_list_scrollmousedown();
|
||||
static void window_guest_list_scrollmouseover();
|
||||
|
@ -327,12 +327,8 @@ static void window_guest_list_dropdown()
|
|||
*
|
||||
* rct2: 0x00699E54
|
||||
*/
|
||||
static void window_guest_list_update()
|
||||
static void window_guest_list_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
if (RCT2_GLOBAL(0x00F1AF20, uint16) != 0)
|
||||
RCT2_GLOBAL(0x00F1AF20, uint16)--;
|
||||
w->var_490++;
|
||||
|
|
|
@ -54,7 +54,7 @@ static void window_land_close();
|
|||
static void window_land_mouseup();
|
||||
static void window_land_mousedown();
|
||||
static void window_land_dropdown();
|
||||
static void window_land_update();
|
||||
static void window_land_update(rct_window *w);
|
||||
static void window_land_invalidate();
|
||||
static void window_land_paint();
|
||||
|
||||
|
@ -310,12 +310,8 @@ static void window_land_dropdown()
|
|||
*
|
||||
* rct2: 0x00664272
|
||||
*/
|
||||
static void window_land_update()
|
||||
static void window_land_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
// Close window if another tool is open
|
||||
if (window_land_should_close())
|
||||
window_close(w);
|
||||
|
|
|
@ -65,7 +65,7 @@ static void window_map_emptysub() { }
|
|||
static void window_map_close();
|
||||
static void window_map_mouseup();
|
||||
static void window_map_mousedown();
|
||||
static void window_map_update();
|
||||
static void window_map_update(rct_window *w);
|
||||
static void window_map_scrollgetsize();
|
||||
static void window_map_scrollmousedown();
|
||||
static void window_map_invalidate();
|
||||
|
@ -198,7 +198,7 @@ static void window_map_mousedown()
|
|||
*
|
||||
* rct2: 0x0068D7FB
|
||||
*/
|
||||
static void window_map_update()
|
||||
static void window_map_update(rct_window *w)
|
||||
{
|
||||
RCT2_CALLPROC_EBPSAFE(0x0068D7FB);
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ static rct_widget window_news_widgets[] = {
|
|||
|
||||
static void window_news_emptysub() { }
|
||||
static void window_news_mouseup();
|
||||
static void window_news_update();
|
||||
static void window_news_update(rct_window *w);
|
||||
static void window_news_scrollgetsize();
|
||||
static void window_news_scrollmousedown();
|
||||
static void window_news_tooltip();
|
||||
|
@ -140,14 +140,11 @@ static void window_news_mouseup()
|
|||
*
|
||||
* rct2: 0x0066EAB8
|
||||
*/
|
||||
static void window_news_update()
|
||||
static void window_news_update(rct_window *w)
|
||||
{
|
||||
int i, j, x, y, z;
|
||||
rct_window *w;
|
||||
rct_news_item *newsItems;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
if (w->var_480 == -1)
|
||||
return;
|
||||
if (--w->var_484 != 0)
|
||||
|
|
|
@ -105,7 +105,7 @@ static void window_options_emptysub() { }
|
|||
static void window_options_mouseup();
|
||||
static void window_options_mousedown();
|
||||
static void window_options_dropdown();
|
||||
static void window_options_update();
|
||||
static void window_options_update(rct_window *w);
|
||||
static void window_options_paint();
|
||||
static void window_options_draw_dropdown_box(w, widget, num_items);
|
||||
static void window_options_update_height_markers();
|
||||
|
@ -458,12 +458,9 @@ static void window_options_dropdown()
|
|||
*
|
||||
* rct2: 0x006BAD48
|
||||
*/
|
||||
static void window_options_update()
|
||||
static void window_options_update(rct_window *w)
|
||||
{
|
||||
sint32 format_args = RCT2_GLOBAL(0x009AF280, sint32);
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
// sound devices
|
||||
if (format_args == -1 || RCT2_GLOBAL(RCT2_ADDRESS_NUM_DSOUND_DEVICES, sint32) == 0) {
|
||||
|
|
|
@ -218,7 +218,7 @@ static void window_park_entrance_mouseup();
|
|||
static void window_park_entrance_resize();
|
||||
static void window_park_entrance_mousedown();
|
||||
static void window_park_entrance_dropdown();
|
||||
static void window_park_entrance_update();
|
||||
static void window_park_entrance_update(rct_window *w);
|
||||
static void window_park_entrance_toolupdate();
|
||||
static void window_park_entrance_tooldown();
|
||||
static void window_park_entrance_tooldrag();
|
||||
|
@ -229,38 +229,38 @@ static void window_park_entrance_paint();
|
|||
|
||||
static void window_park_rating_mouseup();
|
||||
static void window_park_rating_resize();
|
||||
static void window_park_rating_update();
|
||||
static void window_park_rating_update(rct_window *w);
|
||||
static void window_park_rating_invalidate();
|
||||
static void window_park_rating_paint();
|
||||
|
||||
static void window_park_guests_mouseup();
|
||||
static void window_park_guests_resize();
|
||||
static void window_park_guests_update();
|
||||
static void window_park_guests_update(rct_window *w);
|
||||
static void window_park_guests_invalidate();
|
||||
static void window_park_guests_paint();
|
||||
|
||||
static void window_park_price_mouseup();
|
||||
static void window_park_price_resize();
|
||||
static void window_park_price_mousedown();
|
||||
static void window_park_price_update();
|
||||
static void window_park_price_update(rct_window *w);
|
||||
static void window_park_price_invalidate();
|
||||
static void window_park_price_paint();
|
||||
|
||||
static void window_park_stats_mouseup();
|
||||
static void window_park_stats_resize();
|
||||
static void window_park_stats_update();
|
||||
static void window_park_stats_update(rct_window *w);
|
||||
static void window_park_stats_invalidate();
|
||||
static void window_park_stats_paint();
|
||||
|
||||
static void window_park_objective_mouseup();
|
||||
static void window_park_objective_resize();
|
||||
static void window_park_objective_update();
|
||||
static void window_park_objective_update(rct_window *w);
|
||||
static void window_park_objective_invalidate();
|
||||
static void window_park_objective_paint();
|
||||
|
||||
static void window_park_awards_mouseup();
|
||||
static void window_park_awards_resize();
|
||||
static void window_park_awards_update();
|
||||
static void window_park_awards_update(rct_window *w);
|
||||
static void window_park_awards_invalidate();
|
||||
static void window_park_awards_paint();
|
||||
|
||||
|
@ -773,12 +773,8 @@ static void window_park_entrance_dropdown()
|
|||
*
|
||||
* rct2: 0x006686B5
|
||||
*/
|
||||
static void window_park_entrance_update()
|
||||
static void window_park_entrance_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
window_invalidate_by_id(w->classification, 1179);
|
||||
}
|
||||
|
@ -1146,12 +1142,8 @@ static void window_park_rating_resize()
|
|||
*
|
||||
* rct2: 0x00668A21
|
||||
*/
|
||||
static void window_park_rating_update()
|
||||
static void window_park_rating_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
widget_invalidate(w->classification, w->number, WIDX_TAB_2);
|
||||
}
|
||||
|
@ -1288,12 +1280,8 @@ static void window_park_guests_resize()
|
|||
*
|
||||
* rct2: 0x00668E06
|
||||
*/
|
||||
static void window_park_guests_update()
|
||||
static void window_park_guests_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
w->var_492 = (w->var_492 + 1) % 24;
|
||||
widget_invalidate(w->classification, w->number, WIDX_TAB_3);
|
||||
|
@ -1439,12 +1427,8 @@ static void window_park_price_mousedown()
|
|||
*
|
||||
* rct2: 0x00669077
|
||||
*/
|
||||
static void window_park_price_update()
|
||||
static void window_park_price_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
widget_invalidate(w->classification, w->number, WIDX_TAB_4);
|
||||
}
|
||||
|
@ -1551,12 +1535,9 @@ static void window_park_stats_resize()
|
|||
*
|
||||
* rct2: 0x006692A8
|
||||
*/
|
||||
static void window_park_stats_update()
|
||||
static void window_park_stats_update(rct_window *w)
|
||||
{
|
||||
int i;
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
widget_invalidate(w->classification, w->number, WIDX_TAB_5);
|
||||
|
@ -1734,12 +1715,8 @@ static void window_park_objective_resize()
|
|||
*
|
||||
* rct2: 0x0066966C
|
||||
*/
|
||||
static void window_park_objective_update()
|
||||
static void window_park_objective_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
widget_invalidate(w->classification, w->number, WIDX_TAB_6);
|
||||
}
|
||||
|
@ -1887,12 +1864,8 @@ static void window_park_awards_resize()
|
|||
*
|
||||
* rct2: 0x0066986D
|
||||
*/
|
||||
static void window_park_awards_update()
|
||||
static void window_park_awards_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E++;
|
||||
window_invalidate_by_id(w->classification, 1179);
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ static void window_ride_list_mouseup();
|
|||
static void window_ride_list_resize();
|
||||
static void window_ride_list_mousedown();
|
||||
static void window_ride_list_dropdown();
|
||||
static void window_ride_list_update();
|
||||
static void window_ride_list_update(rct_window *w);
|
||||
static void window_ride_list_scrollgetsize();
|
||||
static void window_ride_list_scrollmousedown();
|
||||
static void window_ride_list_scrollmouseover();
|
||||
|
@ -297,12 +297,8 @@ static void window_ride_list_dropdown()
|
|||
*
|
||||
* rct2: 0x006B386B
|
||||
*/
|
||||
static void window_ride_list_update()
|
||||
static void window_ride_list_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
w->var_48E = (w->var_48E + 1) % 64;
|
||||
widget_invalidate(w->classification, w->number, WIDX_TAB_1 + w->page);
|
||||
if (_window_ride_list_information_type != INFORMATION_TYPE_STATUS)
|
||||
|
|
|
@ -35,7 +35,7 @@ static rct_widget window_tooltip_widgets[] = {
|
|||
|
||||
static void window_tooltip_emptysub() { }
|
||||
static void window_tooltip_onclose();
|
||||
static void window_tooltip_update();
|
||||
static void window_tooltip_update(rct_window *w);
|
||||
static void window_tooltip_paint();
|
||||
|
||||
static void* window_tooltip_events[] = {
|
||||
|
@ -173,7 +173,7 @@ static void window_tooltip_onclose()
|
|||
*
|
||||
* rct2: 0x006EA580
|
||||
*/
|
||||
static void window_tooltip_update()
|
||||
static void window_tooltip_update(rct_window *w)
|
||||
{
|
||||
if (RCT2_GLOBAL(0x009DE51E, uint8) == 0)
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_TOOLTIP_NOT_SHOWN_TICKS, uint16) = 0;
|
||||
|
|
|
@ -169,12 +169,8 @@ static void window_water_mouseup()
|
|||
*
|
||||
* rct2: 0x006E6BCE
|
||||
*/
|
||||
static void window_water_update()
|
||||
static void window_water_update(rct_window *w)
|
||||
{
|
||||
rct_window *w;
|
||||
|
||||
__asm mov w, esi
|
||||
|
||||
// Close window if another tool is open
|
||||
if (window_water_should_close())
|
||||
window_close(w);
|
||||
|
|
Loading…
Reference in New Issue