Clean up most of the inline assembly from windows

This commit is contained in:
qcz 2014-08-19 19:47:12 +02:00
parent e9665e22df
commit bd06c7caee
28 changed files with 182 additions and 1351 deletions

View File

@ -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) );

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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:

View File

@ -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);

View File

@ -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(

View File

@ -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);

View File

@ -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]);

View File

@ -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);

View File

@ -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);
}

View File

@ -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);

View File

@ -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:

View File

@ -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);

View File

@ -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:

View File

@ -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);

View File

@ -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:

View File

@ -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));

View File

@ -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);
}

View File

@ -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]);

View File

@ -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);
}

View File

@ -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);

View File

@ -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);
}

View File

@ -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;

View File

@ -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;

View File

@ -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;