diff --git a/src/game.c b/src/game.c index 6e8c53fc44..12ef31fb4a 100644 --- a/src/game.c +++ b/src/game.c @@ -402,6 +402,10 @@ static void game_get_next_input(int *x, int *y, int *state) *y = RCT2_GLOBAL(eax + 4, sint32); *state = RCT2_GLOBAL(eax + 8, sint32); + edx = RCT2_GLOBAL(0x9DE51C, uint8); + RCT2_GLOBAL(0x14241BC, uint32) = 2; + osinterface_set_cursor(RCT2_ADDRESS(0x1423598, int)[edx]); + RCT2_GLOBAL(0x14241BC, uint32) = 0; //int eax, ebx, ecx, edx, esi, edi, ebp; //RCT2_CALLFUNC_X(0x006E83C7, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp); //*x = eax & 0xFFFF; diff --git a/src/osinterface.c b/src/osinterface.c index 2a50120528..5371c3224d 100644 --- a/src/osinterface.c +++ b/src/osinterface.c @@ -59,6 +59,9 @@ void osinterface_init() // RCT2_CALLPROC(0x00404584); // dinput_init() } +void osinterface_set_cursor(int hCurs){ + SetCursor((HCURSOR)hCurs); +} /** *rct2: 0x0068352C */ diff --git a/src/osinterface.h b/src/osinterface.h index 4725902362..4d951eb2f6 100644 --- a/src/osinterface.h +++ b/src/osinterface.h @@ -47,6 +47,8 @@ void osinterface_draw(); void osinterface_free(); void osinterface_update_palette(char* colours, int start_index, int num_colours); +void osinterface_set_cursor(int hCurs); + int osinterface_open_common_file_dialog(int type, char *title, char *filename, char *filterPattern, char *filterName); void osinterface_show_messagebox(char* message); char* osinterface_open_directory_browser(char *title);