diff --git a/src/window.h b/src/window.h index 9629975068..66ba7dced2 100644 --- a/src/window.h +++ b/src/window.h @@ -394,7 +394,7 @@ void window_event_helper(rct_window* w, short widgetIndex, WINDOW_EVENTS event); #define window_get_register(w) \ __asm mov w, esi - #define window_mouse_up_get_registers(w, widgetIndex) \ + #define window_widget_get_registers(w, widgetIndex) \ __asm mov widgetIndex, dx \ __asm mov w, esi @@ -403,6 +403,17 @@ void window_event_helper(rct_window* w, short widgetIndex, WINDOW_EVENTS event); __asm mov widgetIndex, dx \ __asm mov w, esi + #define window_scrollmouse_get_registers(w, x, y) \ + __asm mov x, cx \ + __asm mov y, dx \ + __asm mov w, esi + + #define window_tool_get_registers(w, widgetIndex, x, y) \ + __asm mov x, ax \ + __asm mov y, bx \ + __asm mov widgetIndex, dx \ + __asm mov w, esi + #define window_paint_get_registers(w, dpi) \ __asm mov w, esi \ __asm mov dpi, edi @@ -410,7 +421,7 @@ void window_event_helper(rct_window* w, short widgetIndex, WINDOW_EVENTS event); #define window_get_register(w) \ __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #define window_mouse_up_get_registers(w, widgetIndex) \ + #define window_widget_get_registers(w, widgetIndex) \ __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); \ __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); @@ -419,6 +430,17 @@ void window_event_helper(rct_window* w, short widgetIndex, WINDOW_EVENTS event); __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); \ __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); + #define window_scrollmouse_get_registers(w, x, y) \ + __asm__ ( "mov %[x], cx " : [x] "+m" (x) ); \ + __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); \ + __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); + + #define window_tool_get_registers(w, widgetIndex, x, y) \ + __asm__ ( "mov %[x], ax " : [x] "+m" (x) ); \ + __asm__ ( "mov %[y], bx " : [y] "+m" (y) ); \ + __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); \ + __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); + #define window_paint_get_registers(w, dpi) \ __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); \ __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); diff --git a/src/window_about.c b/src/window_about.c index f707439b26..6f968ada89 100644 --- a/src/window_about.c +++ b/src/window_about.c @@ -118,13 +118,7 @@ static void window_about_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - __asm mov w, esi - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -149,13 +143,7 @@ static void window_about_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - __asm mov dpi, edi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_banner.c b/src/window_banner.c index 8ce11fbfe1..82c92d41e9 100644 --- a/src/window_banner.c +++ b/src/window_banner.c @@ -157,18 +157,7 @@ static void window_banner_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -209,14 +198,10 @@ static void window_banner_mousedown(int widgetIndex, rct_window*w, rct_widget* w static void window_banner_dropdown() { - short widgetIndex; - - #ifdef _MSC_VER - __asm mov widgetIndex, dx; - #else - __asm__ ( "mov %[widgetIndex], dx; " : [widgetIndex] "+m" (widgetIndex) ); - #endif + short widgetIndex, dropdownIndex; + rct_window* w; + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_MAIN_COLOR) RCT2_CALLPROC_EBPSAFE(0x006BA548); @@ -250,18 +235,7 @@ static void window_banner_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_cheats.c b/src/window_cheats.c index 44183ae28f..e60b118352 100644 --- a/src/window_cheats.c +++ b/src/window_cheats.c @@ -270,18 +270,7 @@ static void window_cheats_money_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -318,17 +307,8 @@ static void window_cheats_guests_mouseup() short widgetIndex; rct_window *w; int i; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_widget_get_registers(w, widgetIndex); rct_peep* peep; uint16 spriteIndex; @@ -361,17 +341,8 @@ static void window_cheats_misc_mouseup() { short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -408,11 +379,7 @@ static void window_cheats_update(rct_window *w) { rct_window *w2; - #ifdef _MSC_VER - __asm mov w2, esi - #else - __asm__ ( "mov %[w2], esi " : [w2] "+m" (w2) ); - #endif + window_get_register(w2); w->frame_no++; widget_invalidate(w->classification, w->number, WIDX_TAB_1+w->page); @@ -423,11 +390,7 @@ static void window_cheats_invalidate() int i; rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_get_register(w); strcpy((char*)0x009BC677, "Cheats"); @@ -448,18 +411,7 @@ static void window_cheats_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); window_cheats_draw_tab_images(dpi, w); diff --git a/src/window_clear_scenery.c b/src/window_clear_scenery.c index 957139683d..df945f65d1 100644 --- a/src/window_clear_scenery.c +++ b/src/window_clear_scenery.c @@ -129,18 +129,7 @@ static void window_clear_scenery_mouseup() int limit; short widgetIndex; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -193,12 +182,7 @@ static void window_clear_scenery_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); // Set the preview image button to be pressed down w->pressed_widgets |= (1 << WIDX_PREVIEW); @@ -217,18 +201,7 @@ static void window_clear_scenery_paint() rct_drawpixelinfo *dpi; int x, y; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_dropdown.c b/src/window_dropdown.c index f091d36812..c7298e9bf2 100644 --- a/src/window_dropdown.c +++ b/src/window_dropdown.c @@ -271,18 +271,7 @@ static void window_dropdown_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_finances.c b/src/window_finances.c index d29c79e727..8c21d63d97 100644 --- a/src/window_finances.c +++ b/src/window_finances.c @@ -564,7 +564,7 @@ static void window_finances_summary_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -761,7 +761,7 @@ static void window_finances_financial_graph_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -883,7 +883,7 @@ static void window_finances_park_value_graph_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -1001,7 +1001,7 @@ static void window_finances_profit_graph_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -1119,7 +1119,7 @@ static void window_finances_marketing_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -1306,7 +1306,7 @@ static void window_finances_research_mouseup() short widgetIndex; int activeResearchTypes; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: diff --git a/src/window_footpath.c b/src/window_footpath.c index 8e4abe0951..451816cb38 100644 --- a/src/window_footpath.c +++ b/src/window_footpath.c @@ -223,12 +223,7 @@ static void window_footpath_close() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); RCT2_CALLPROC_EBPSAFE(0x006A7831); RCT2_CALLPROC_X(0x006CB70A, 0, 0, 0, 0, 0, 0, 0); @@ -247,18 +242,7 @@ static void window_footpath_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -352,24 +336,7 @@ static void window_footpath_dropdown() rct_window *w; rct_path_type *pathType; - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_FOOTPATH_TYPE) RCT2_GLOBAL(RCT2_ADDRESS_SELECTED_PATH_TYPE, uint8) = SELECTED_PATH_TYPE_NORMAL; @@ -415,34 +382,11 @@ static void window_footpath_dropdown() */ static void window_footpath_toolupdate() { - int x, y; + short x, y; short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, eax - #else - __asm__ ( "mov %[x], eax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, ebx - #else - __asm__ ( "mov %[y], ebx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { window_footpath_set_provisional_path_at_point(x, y); @@ -457,34 +401,11 @@ static void window_footpath_toolupdate() */ static void window_footpath_tooldown() { - int x, y; + short x, y; short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, eax - #else - __asm__ ( "mov %[x], eax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, ebx - #else - __asm__ ( "mov %[y], ebx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { window_footpath_place_path_at_point(x, y); @@ -499,34 +420,11 @@ static void window_footpath_tooldown() */ static void window_footpath_tooldrag() { - int x, y; + short x, y; short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, eax - #else - __asm__ ( "mov %[x], eax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, ebx - #else - __asm__ ( "mov %[y], ebx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { RCT2_CALLPROC_X(0x006A82C5, x, y, 0, 0, (int)w, 0, 0); @@ -539,34 +437,11 @@ static void window_footpath_tooldrag() */ static void window_footpath_toolup() { - int x, y; + short x, y; short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, eax - #else - __asm__ ( "mov %[x], eax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, ebx - #else - __asm__ ( "mov %[y], ebx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); if (widgetIndex == WIDX_CONSTRUCT_ON_LAND) { RCT2_CALLPROC_X(0x006A8380, x, y, 0, 0, (int)w, 0, 0); @@ -612,12 +487,7 @@ static void window_footpath_invalidate() rct_path_type *pathType; rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); // Press / unpress footpath and queue type buttons w->pressed_widgets &= ~(1 << WIDX_FOOTPATH_TYPE); @@ -654,18 +524,7 @@ static void window_footpath_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_game_bottom_toolbar.c b/src/window_game_bottom_toolbar.c index dac63397f1..09bf115fe2 100644 --- a/src/window_game_bottom_toolbar.c +++ b/src/window_game_bottom_toolbar.c @@ -155,18 +155,7 @@ static void window_game_bottom_toolbar_mouseup() rct_window *w, *mainWindow; rct_news_item *newsItem; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_LEFT_OUTSET: @@ -268,12 +257,7 @@ static void window_game_bottom_toolbar_invalidate() rct_window *w; rct_news_item *newsItem; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); // Anchor the middle and right panel to the right x = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_WIDTH, sint16); @@ -365,18 +349,7 @@ static void window_game_bottom_toolbar_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); // Draw panel grey backgrounds gfx_fill_rect( diff --git a/src/window_game_top_toolbar.c b/src/window_game_top_toolbar.c index e5fe50057d..b7f624a598 100644 --- a/src/window_game_top_toolbar.c +++ b/src/window_game_top_toolbar.c @@ -190,7 +190,7 @@ static void window_game_top_toolbar_mouseup() short widgetIndex; rct_window *w, *mainWindow; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_PAUSE: @@ -385,18 +385,7 @@ static void window_game_top_toolbar_dropdown() short widgetIndex, dropdownIndex; rct_window* w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_FILE_MENU) { switch (dropdownIndex) { @@ -473,12 +462,7 @@ static void window_game_top_toolbar_invalidate() int x; rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); // Anchor the right half of the buttons to the right x = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_WIDTH, sint16); @@ -564,18 +548,7 @@ static void window_game_top_toolbar_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_guest_list.c b/src/window_guest_list.c index 405cd10c3e..bb61a45100 100644 --- a/src/window_guest_list.c +++ b/src/window_guest_list.c @@ -190,18 +190,7 @@ static void window_guest_list_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -221,12 +210,7 @@ static void window_guest_list_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->min_width = 350; w->min_height = 330; @@ -314,24 +298,7 @@ static void window_guest_list_dropdown() short dropdownIndex, widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); switch (widgetIndex) { case WIDX_PAGE_DROPDOWN_BUTTON: @@ -373,12 +340,7 @@ static void window_guest_list_scrollgetsize() rct_window *w; rct_peep *peep; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); switch (_window_guest_list_selected_tab) { case PAGE_INDIVIDUAL: @@ -446,22 +408,11 @@ static void window_guest_list_scrollgetsize() static void window_guest_list_scrollmousedown() { int i, spriteIndex; - short y; + short x, y; rct_window *w; rct_peep *peep; - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); switch (_window_guest_list_selected_tab) { case PAGE_INDIVIDUAL: @@ -505,21 +456,10 @@ static void window_guest_list_scrollmousedown() static void window_guest_list_scrollmouseover() { int i; - short y; + short x, y; rct_window *w; - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); i = y / (_window_guest_list_selected_tab == PAGE_INDIVIDUAL ? 10 : 21); i += _window_guest_list_selected_page * 3173; @@ -546,12 +486,7 @@ static void window_guest_list_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->pressed_widgets &= ~(1 << WIDX_TAB_1); w->pressed_widgets &= ~(1 << WIDX_TAB_2); @@ -585,18 +520,7 @@ static void window_guest_list_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); // Widgets window_draw_widgets(w, dpi); @@ -659,18 +583,7 @@ static void window_guest_list_scrollpaint() rct_peep_thought *thought; uint32 argument_1, argument_2; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); // Background fill gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ((char*)0x0141FC48)[w->colours[1] * 8]); diff --git a/src/window_land.c b/src/window_land.c index 823c2f3011..81d95020b1 100644 --- a/src/window_land.c +++ b/src/window_land.c @@ -165,18 +165,7 @@ static void window_land_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -269,24 +258,7 @@ static void window_land_dropdown() short dropdownIndex, widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); switch (widgetIndex) { case WIDX_FLOOR: @@ -343,12 +315,7 @@ static void window_land_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->pressed_widgets = (1 << WIDX_PREVIEW); if (RCT2_GLOBAL(RCT2_ADDRESS_SELECTED_TERRAIN_SURFACE, uint8) != 255) @@ -374,18 +341,7 @@ static void window_land_paint() int x, y, numTiles; money32 price; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); diff --git a/src/window_main.c b/src/window_main.c index fd3c70eb42..7f2e6f3caa 100644 --- a/src/window_main.c +++ b/src/window_main.c @@ -101,13 +101,7 @@ void window_main_paint(){ rct_window* w; rct_drawpixelinfo* dpi; -#ifdef _MSC_VER - __asm mov w, esi - __asm mov dpi, edi -#else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); -#endif + window_paint_get_registers(w, dpi); viewport_render(dpi, w->viewport, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height); } diff --git a/src/window_map.c b/src/window_map.c index 6f8d7bc872..4a317b3454 100644 --- a/src/window_map.c +++ b/src/window_map.c @@ -180,11 +180,7 @@ static void window_map_close() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_get_register(w); rct2_free(RCT2_GLOBAL(RCT2_ADDRESS_MAP_IMAGE_DATA, uint32*)); if ((RCT2_GLOBAL(0x009DE518, uint32) & (1 << 3)) && @@ -278,11 +274,7 @@ static void window_map_invalidate() uint32 pressed_widgets; int i, height; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_get_register(w); // set the pressed widgets pressed_widgets = (uint32)w->pressed_widgets; @@ -405,18 +397,7 @@ static void window_map_paint() int image_id; int i, x, y; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); @@ -483,17 +464,7 @@ static void window_map_scrollpaint() rct_drawpixelinfo *dpi; rct_g1_element *g1_element, pushed_g1_element; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__("mov %[dpi], edi " : [dpi] "+m" (dpi)); - #endif + window_paint_get_registers(w, dpi); gfx_clear(dpi, 0x0A0A0A0A); diff --git a/src/window_new_campaign.c b/src/window_new_campaign.c index 30445ec4ea..3bd66c88da 100644 --- a/src/window_new_campaign.c +++ b/src/window_new_campaign.c @@ -226,7 +226,7 @@ static void window_new_campaign_mouseup() rct_window *w; short widgetIndex; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: diff --git a/src/window_news.c b/src/window_news.c index 742dfd1c4d..9af5754e25 100644 --- a/src/window_news.c +++ b/src/window_news.c @@ -129,7 +129,7 @@ static void window_news_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -213,24 +213,7 @@ static void window_news_scrollmousedown() rct_window *w; rct_news_item *newsItems; - #ifdef _MSC_VER - __asm mov x, cx - #else - __asm__ ( "mov %[x], cx " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); buttonIndex = 0; newsItems = RCT2_ADDRESS(RCT2_ADDRESS_NEWS_ITEM_LIST, rct_news_item); diff --git a/src/window_options.c b/src/window_options.c index db918f03c9..738fe92bdf 100644 --- a/src/window_options.c +++ b/src/window_options.c @@ -269,7 +269,7 @@ static void window_options_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: diff --git a/src/window_park.c b/src/window_park.c index 98caf43f0e..51f1a3e127 100644 --- a/src/window_park.c +++ b/src/window_park.c @@ -642,11 +642,7 @@ static void window_park_entrance_close() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_get_register(w); if (RCT2_GLOBAL(0x009DE518, uint32) & (1 << 3)) if (w->classification == RCT2_GLOBAL(RCT2_ADDRESS_TOOL_WINDOWCLASS, rct_windowclass) && w->number == RCT2_GLOBAL(RCT2_ADDRESS_TOOL_WINDOWNUMBER, rct_windownumber)) @@ -662,18 +658,7 @@ static void window_park_entrance_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -712,12 +697,7 @@ static void window_park_entrance_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->flags |= WF_RESIZABLE; window_set_resize(w, 230, 174 + 9, 230 * 3, (274 + 9) * 3); @@ -761,18 +741,9 @@ static void window_park_entrance_mousedown(int widgetIndex, rct_window*w, rct_wi static void window_park_entrance_dropdown() { short widgetIndex, dropdownIndex; + rct_window* w; - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_OPEN_OR_CLOSE) { @@ -806,34 +777,10 @@ static void window_park_entrance_update(rct_window *w) */ static void window_park_entrance_toolupdate() { - int x, y; - short widgetIndex; + short x, y, widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, eax - #else - __asm__ ( "mov %[x], eax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, ebx - #else - __asm__ ( "mov %[y], ebx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); if (widgetIndex == WIDX_BUY_LAND_RIGHTS) { RCT2_CALLPROC_X(0x0068AAE1, x, y, 0, 0, (int)w, 0, 0); @@ -860,30 +807,7 @@ static void window_park_entrance_tooldown() short x, y, widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, ax - #else - __asm__ ( "mov %[x], ax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, bx - #else - __asm__ ( "mov %[y], bx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); RCT2_CALLPROC_X(0x006681E6, x, y, 0, widgetIndex, (int)w, 0, 0); } @@ -897,30 +821,7 @@ static void window_park_entrance_tooldrag() short x, y, widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov x, ax - #else - __asm__ ( "mov %[x], ax " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, bx - #else - __asm__ ( "mov %[y], bx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_tool_get_registers(w, widgetIndex, x, y); RCT2_CALLPROC_X(0x006681FB, x, y, 0, widgetIndex, (int)w, 0, 0); } @@ -934,18 +835,7 @@ static void window_park_entrance_toolabort() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_BUY_LAND_RIGHTS) { hide_gridlines(); @@ -1011,12 +901,7 @@ static void window_park_entrance_invalidate() int i; rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->widgets = window_park_page_widgets[w->page]; window_init_scroll_widgets(w); @@ -1068,18 +953,7 @@ static void window_park_entrance_paint() rct_drawpixelinfo *dpi; rct_widget *labelWidget; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); @@ -1246,18 +1120,7 @@ static void window_park_rating_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -1273,12 +1136,7 @@ static void window_park_rating_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_set_resize(w, 230, 182, 230, 182); } @@ -1302,12 +1160,7 @@ static void window_park_rating_invalidate() rct_window *w; rct_widget *widgets; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); widgets = window_park_page_widgets[w->page]; if (w->widgets != widgets) { @@ -1336,18 +1189,7 @@ static void window_park_rating_paint() rct_widget *widget; uint8 *history; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); @@ -1412,18 +1254,7 @@ static void window_park_guests_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -1439,12 +1270,7 @@ static void window_park_guests_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_set_resize(w, 230, 182, 230, 182); } @@ -1469,12 +1295,7 @@ static void window_park_guests_invalidate() rct_window *w; rct_widget *widgets; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); widgets = window_park_page_widgets[w->page]; if (w->widgets != widgets) { @@ -1503,18 +1324,7 @@ static void window_park_guests_paint() rct_widget *widget; uint8 *history; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); @@ -1550,18 +1360,7 @@ static void window_park_price_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -1577,12 +1376,7 @@ static void window_park_price_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_set_resize(w, 230, 124, 230, 124); } @@ -1638,12 +1432,7 @@ static void window_park_price_invalidate() rct_window *w; rct_widget *widgets; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); widgets = window_park_page_widgets[w->page]; if (w->widgets != widgets) { @@ -1683,19 +1472,8 @@ static void window_park_price_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - - + window_paint_get_registers(w, dpi); + window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); @@ -1720,19 +1498,8 @@ static void window_park_stats_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - + window_widget_get_registers(w, widgetIndex); + if (widgetIndex == WIDX_CLOSE) window_close(w); else if (widgetIndex >= WIDX_TAB_1 && widgetIndex <= WIDX_TAB_7) @@ -1747,12 +1514,7 @@ static void window_park_stats_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_set_resize(w, 230, 109, 230, 109); } @@ -1792,12 +1554,7 @@ static void window_park_stats_invalidate() rct_window *w; rct_widget *widgets; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); widgets = window_park_page_widgets[w->page]; if (w->widgets != widgets) { @@ -1824,19 +1581,8 @@ static void window_park_stats_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - - + window_paint_get_registers(w, dpi); + window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); @@ -1917,18 +1663,7 @@ static void window_park_objective_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -1957,12 +1692,7 @@ static void window_park_objective_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_set_resize(w, 230, 224, 230, 224); } @@ -1985,12 +1715,7 @@ static void window_park_objective_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_park_set_pressed_tab(w); @@ -2018,19 +1743,8 @@ static void window_park_objective_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - - + window_paint_get_registers(w, dpi); + window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); @@ -2109,18 +1823,7 @@ static void window_park_awards_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -2136,12 +1839,7 @@ static void window_park_awards_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_set_resize(w, 230, 182, 230, 182); } @@ -2165,12 +1863,7 @@ static void window_park_awards_invalidate() rct_window *w; rct_widget *widgets; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); widgets = window_park_page_widgets[w->page]; if (w->widgets != widgets) { @@ -2198,19 +1891,8 @@ static void window_park_awards_paint() rct_drawpixelinfo *dpi; rct_award *award; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - - + window_paint_get_registers(w, dpi); + window_draw_widgets(w, dpi); window_park_draw_tab_images(dpi, w); diff --git a/src/window_research.c b/src/window_research.c index fd29a3b290..1e286830d7 100644 --- a/src/window_research.c +++ b/src/window_research.c @@ -263,7 +263,7 @@ static void window_research_development_mouseup() short widgetIndex; rct_window *w; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -407,7 +407,7 @@ static void window_research_funding_mouseup() short widgetIndex; int activeResearchTypes; - window_mouse_up_get_registers(w, widgetIndex); + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: diff --git a/src/window_ride_list.c b/src/window_ride_list.c index fec59c0f1d..d49c487778 100644 --- a/src/window_ride_list.c +++ b/src/window_ride_list.c @@ -178,18 +178,7 @@ static void window_ride_list_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -223,12 +212,7 @@ static void window_ride_list_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->min_width = 340; w->min_height = 124; @@ -283,24 +267,7 @@ static void window_ride_list_dropdown() short dropdownIndex, widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_OPEN_CLOSE_ALL) { if (dropdownIndex == 0) @@ -336,13 +303,8 @@ static void window_ride_list_scrollgetsize() { int top, height; rct_window *w; - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + + window_get_register(w); height = w->no_list_items * 10; if (w->selected_list_item != -1) { @@ -379,21 +341,10 @@ static void window_ride_list_scrollgetsize() static void window_ride_list_scrollmousedown() { int index; - short y; + short x, y; rct_window *w; - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); index = y / 10; if (index >= w->no_list_items) @@ -410,21 +361,10 @@ static void window_ride_list_scrollmousedown() static void window_ride_list_scrollmouseover() { int index; - short y; + short x, y; rct_window *w; - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); index = y / 10; if (index >= w->no_list_items) @@ -452,12 +392,7 @@ static void window_ride_list_invalidate() int i; rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); window_ride_list_widgets[WIDX_CURRENT_INFORMATION_TYPE].image = STR_STATUS + _window_ride_list_information_type; @@ -490,18 +425,7 @@ static void window_ride_list_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); window_ride_list_draw_tab_images(dpi, w); @@ -531,18 +455,7 @@ static void window_ride_list_scrollpaint() rct_drawpixelinfo *dpi; rct_ride *ride; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width, dpi->y + dpi->height, RCT2_GLOBAL(0x0141FC48 + (w->colours[1] * 8), uint8)); diff --git a/src/window_save_prompt.c b/src/window_save_prompt.c index b9b39d0c25..5ab0081bb5 100644 --- a/src/window_save_prompt.c +++ b/src/window_save_prompt.c @@ -228,17 +228,7 @@ static void window_save_prompt_mouseup() rct_window *w; short prompt_mode; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_widget_get_registers(w, widgetIndex); prompt_mode = RCT2_GLOBAL(RCT2_ADDRESS_SAVE_PROMPT_MODE, uint16); @@ -300,18 +290,7 @@ static void window_save_prompt_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); } \ No newline at end of file diff --git a/src/window_staff.c b/src/window_staff.c index d23545d8f9..d4db8262b9 100644 --- a/src/window_staff.c +++ b/src/window_staff.c @@ -173,11 +173,7 @@ void window_staff_open() void window_staff_cancel_tools() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif + window_get_register(w); int toolWindowClassification = RCT2_GLOBAL(RCT2_ADDRESS_TOOL_WINDOWCLASS, rct_windowclass); int toolWindowNumber = RCT2_GLOBAL(RCT2_ADDRESS_TOOL_WINDOWNUMBER, rct_windownumber); @@ -192,11 +188,7 @@ void window_staff_cancel_tools() { void window_staff_close() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif + window_get_register(w); window_staff_cancel_tools(w); } @@ -228,18 +220,7 @@ static void window_staff_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__("mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex)); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_STAFF_CLOSE: @@ -272,12 +253,7 @@ static void window_staff_resize() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif - + window_get_register(w); w->min_width = 320; w->min_height = 270; @@ -329,19 +305,9 @@ static void window_staff_mousedown(int widgetIndex, rct_window*w, rct_widget* wi */ static void window_staff_dropdown() { + rct_window* w; short widgetIndex, dropdownIndex; - - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__("mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex)); - #endif - - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__("mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex)); - #endif + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_STAFF_UNIFORM_COLOR_PICKER && dropdownIndex != -1) { game_do_command( @@ -390,17 +356,7 @@ void window_staff_toolabort() { short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__("mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex)); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_STAFF_SHOW_PATROL_AREA_BUTTON) { hide_gridlines(); @@ -419,11 +375,7 @@ void window_staff_scrollgetsize() { rct_peep *peep; rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif + window_get_register(w); uint16 staffCount = 0; FOR_ALL_PEEPS(spriteIndex, peep) { @@ -466,21 +418,11 @@ void window_staff_scrollgetsize() { */ void window_staff_scrollmousedown() { int i, spriteIndex; - short y; + short x, y; rct_window *w; rct_peep *peep; - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__("mov %[y], dx " : [y] "+m" (y)); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif + window_scrollmouse_get_registers(w, x, y); i = y / 10; FOR_ALL_PEEPS(spriteIndex, peep) { @@ -505,21 +447,10 @@ void window_staff_scrollmousedown() { */ void window_staff_scrollmouseover() { int i; - short y; + short x, y; rct_window *w; - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__("mov %[y], dx " : [y] "+m" (y)); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif - + window_scrollmouse_get_registers(w, x, y); i = y / 10; if (i != RCT2_GLOBAL(RCT2_ADDRESS_STAFF_HIGHLIGHTED_INDEX, short)) { @@ -545,11 +476,7 @@ void window_staff_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif + window_get_register(w); int pressed_widgets = w->pressed_widgets & 0xFFFFFF0F; uint8 tabIndex = RCT2_GLOBAL(RCT2_ADDRESS_WINDOW_STAFF_LIST_SELECTED_TAB, uint8); @@ -587,17 +514,7 @@ void window_staff_paint() { rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__("mov %[dpi], edi " : [dpi] "+m" (dpi)); - #endif + window_paint_get_registers(w, dpi); // Widgets window_draw_widgets(w, dpi); @@ -697,17 +614,7 @@ void window_staff_scrollpaint() rct_drawpixelinfo *dpi; rct_peep *peep; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__("mov %[w], esi " : [w] "+m" (w)); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__("mov %[dpi], edi " : [dpi] "+m" (dpi)); - #endif + window_paint_get_registers(w, dpi); gfx_fill_rect(dpi, dpi->x, dpi->y, dpi->x + dpi->width - 1, dpi->y + dpi->height - 1, ((char*)0x0141FC48)[w->colours[1] * 8]); diff --git a/src/window_title_exit.c b/src/window_title_exit.c index 643d46601e..ecb6426aed 100644 --- a/src/window_title_exit.c +++ b/src/window_title_exit.c @@ -99,17 +99,7 @@ static void window_title_exit_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif + window_widget_get_registers(w, widgetIndex); if (RCT2_GLOBAL(RCT2_ADDRESS_RUN_INTRO_TICK_PART, uint8) != 0) return; @@ -128,18 +118,7 @@ static void window_title_exit_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); } \ No newline at end of file diff --git a/src/window_title_logo.c b/src/window_title_logo.c index 7b5bec581d..2fd9d7c0f0 100644 --- a/src/window_title_logo.c +++ b/src/window_title_logo.c @@ -99,18 +99,7 @@ static void window_title_logo_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); gfx_draw_sprite(dpi, SPR_MENU_LOGO, w->x, w->y, 0); diff --git a/src/window_title_menu.c b/src/window_title_menu.c index 9586d888e4..54aa0ea04c 100644 --- a/src/window_title_menu.c +++ b/src/window_title_menu.c @@ -108,12 +108,9 @@ void window_title_menu_open() static void window_title_menu_mouseup() { short widgetIndex; + rct_window* w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_START_NEW_GAME) { window_scenarioselect_open(); @@ -155,19 +152,9 @@ static void window_title_menu_mousedown(int widgetIndex, rct_window*w, rct_widge static void window_title_menu_dropdown() { short widgetIndex, dropdownIndex; + rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov dropdownIndex, ax - #else - __asm__ ( "mov %[dropdownIndex], ax " : [dropdownIndex] "+m" (dropdownIndex) ); - #endif - + window_dropdown_get_registers(w, widgetIndex, dropdownIndex); if (widgetIndex == WIDX_SHOW_TUTORIAL) { tutorial_start(dropdownIndex); @@ -199,18 +186,7 @@ static void window_title_menu_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); } diff --git a/src/window_title_scenarioselect.c b/src/window_title_scenarioselect.c index 7c8c7b744a..d567c9ff4f 100644 --- a/src/window_title_scenarioselect.c +++ b/src/window_title_scenarioselect.c @@ -173,18 +173,7 @@ static void window_scenarioselect_mouseup() short widgetIndex; rct_window *w; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); if (widgetIndex == WIDX_CLOSE) window_close(w); @@ -209,12 +198,7 @@ static void window_scenarioselect_scrollgetsize() rct_window *w; rct_scenario_basic *scenario; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); height = 0; for (i = 0; i < gScenarioListCount; i++) { @@ -246,24 +230,7 @@ static void window_scenarioselect_scrollmousedown() rct_window *w; rct_scenario_basic *scenario; - #ifdef _MSC_VER - __asm mov x, cx - #else - __asm__ ( "mov %[x], cx " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); for (i = 0; i < gScenarioListCount; i++) { scenario = &gScenarioList[i]; @@ -289,24 +256,7 @@ static void window_scenarioselect_scrollmouseover() rct_window *w; rct_scenario_basic *scenario, *selected; - #ifdef _MSC_VER - __asm mov x, cx - #else - __asm__ ( "mov %[x], cx " : [x] "+m" (x) ); - #endif - - #ifdef _MSC_VER - __asm mov y, dx - #else - __asm__ ( "mov %[y], dx " : [y] "+m" (y) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_scrollmouse_get_registers(w, x, y); selected = NULL; for (i = 0; i < gScenarioListCount; i++) { @@ -333,12 +283,7 @@ static void window_scenarioselect_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); w->pressed_widgets &= ~(0x10 | 0x20 | 0x40 | 0x80 | 0x100); w->pressed_widgets |= 1LL << (w->selected_tab + 4); @@ -352,18 +297,7 @@ static void window_scenarioselect_paint() rct_widget *widget; rct_scenario_basic *scenario; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); window_draw_widgets(w, dpi); @@ -424,18 +358,7 @@ static void window_scenarioselect_scrollpaint() rct_drawpixelinfo *dpi; rct_scenario_basic *scenario; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); colour = ((char*)0x0141FC48)[w->colours[1] * 8]; colour = (colour << 24) | (colour << 16) | (colour << 8) | colour; diff --git a/src/window_tooltip.c b/src/window_tooltip.c index 3002f798ce..3561e81dd1 100644 --- a/src/window_tooltip.c +++ b/src/window_tooltip.c @@ -189,18 +189,7 @@ static void window_tooltip_paint() rct_window *w; rct_drawpixelinfo *dpi; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif - + window_paint_get_registers(w, dpi); int left = w->x; int top = w->y; diff --git a/src/window_water.c b/src/window_water.c index 2870e85ddc..0147842f5e 100644 --- a/src/window_water.c +++ b/src/window_water.c @@ -130,18 +130,7 @@ static void window_water_mouseup() int limit; short widgetIndex; - #ifdef _MSC_VER - __asm mov widgetIndex, dx - #else - __asm__ ( "mov %[widgetIndex], dx " : [widgetIndex] "+m" (widgetIndex) ); - #endif - - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_widget_get_registers(w, widgetIndex); switch (widgetIndex) { case WIDX_CLOSE: @@ -194,12 +183,7 @@ static void window_water_invalidate() { rct_window *w; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - + window_get_register(w); // Set the preview image button to be pressed down w->pressed_widgets |= (1 << WIDX_PREVIEW); @@ -223,17 +207,7 @@ static void window_water_paint() rct_drawpixelinfo *dpi; int x, y; - #ifdef _MSC_VER - __asm mov w, esi - #else - __asm__ ( "mov %[w], esi " : [w] "+m" (w) ); - #endif - - #ifdef _MSC_VER - __asm mov dpi, edi - #else - __asm__ ( "mov %[dpi], edi " : [dpi] "+m" (dpi) ); - #endif + window_paint_get_registers(w, dpi); x = w->x + (window_water_widgets[WIDX_PREVIEW].left + window_water_widgets[WIDX_PREVIEW].right) / 2; y = w->y + (window_water_widgets[WIDX_PREVIEW].top + window_water_widgets[WIDX_PREVIEW].bottom) / 2;