1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-02-01 19:25:12 +01:00

added GCC/MinGW-compatible assembler

This commit is contained in:
anyc
2014-05-19 22:53:14 +02:00
parent 872f4521a0
commit d34e2db9e1
28 changed files with 1536 additions and 5 deletions

View File

@@ -183,8 +183,18 @@ 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
switch (widgetIndex) {
case WIDX_CLOSE:
@@ -214,8 +224,18 @@ static void window_cheats_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
rct_peep* peep;
uint16 sprite_idx;
@@ -245,7 +265,11 @@ 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
w->var_48E++;
widget_invalidate(w->classification, w->number, WIDX_TAB_1+w->page);
@@ -256,7 +280,12 @@ 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
strcpy((char*)0x009BC677, "Cheats");
rct_widget *widgets = window_cheats_page_widgets[w->page];
@@ -276,8 +305,18 @@ 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_draw_widgets(w, dpi);
window_cheats_draw_tab_images(dpi, w);