mirror of https://github.com/OpenRCT2/OpenRCT2.git
Added unload of cursors. Small cleanup
This commit is contained in:
parent
8f50e75859
commit
0b5b95979e
|
@ -62,34 +62,13 @@ void osinterface_init()
|
|||
// RCT2_CALLPROC(0x00404584); // dinput_init()
|
||||
}
|
||||
|
||||
uint8 curs_data[32 * 4] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xA4,
|
||||
0x00, 0x00, 0x01, 0x52, 0x00, 0x00, 0x02, 0x8B, 0x00, 0x00, 0x02, 0x96, 0x00, 0x00, 0x02, 0x6C,
|
||||
0x00, 0x00, 0x04, 0x18, 0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, 0x11, 0x80, 0x00, 0x03, 0x2A, 0x00,
|
||||
0x00, 0x04, 0xC6, 0x00, 0x00, 0x09, 0x8C, 0x00, 0x00, 0x15, 0x18, 0x00, 0x00, 0x22, 0x30, 0x00,
|
||||
0x00, 0x24, 0x78, 0x00, 0x0F, 0xC5, 0xE4, 0x00, 0x08, 0xC7, 0xC4, 0x00, 0x08, 0xC3, 0x28, 0x00,
|
||||
0x08, 0xA0, 0x10, 0x00, 0x08, 0x90, 0x20, 0x00, 0x08, 0x88, 0xC0, 0x00, 0x08, 0x87, 0x00, 0x00,
|
||||
0x08, 0x80, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00,
|
||||
0x10, 0x40, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
};
|
||||
uint8 curs_mask[32 * 4] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xFC,
|
||||
0x00, 0x00, 0x01, 0xDE, 0x00, 0x00, 0x03, 0x8F, 0x00, 0x00, 0x03, 0x9E, 0x00, 0x00, 0x03, 0xFC,
|
||||
0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x03, 0x3E, 0x00,
|
||||
0x00, 0x07, 0xFE, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xF0, 0x00,
|
||||
0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0xF8, 0x00,
|
||||
0x0F, 0xBF, 0xF0, 0x00, 0x0F, 0x9F, 0xE0, 0x00, 0x0F, 0x8F, 0xC0, 0x00, 0x0F, 0x87, 0x00, 0x00,
|
||||
0x0F, 0x80, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00,
|
||||
0x1F, 0xC0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
};
|
||||
/**
|
||||
* This is not quite the same as the below function as we don't want to
|
||||
* derfererence the cursor before the function.
|
||||
* rct2: 0x0407956
|
||||
*/
|
||||
void osinterface_set_cursor(char cursor){
|
||||
|
||||
HCURSOR hCurs = RCT2_ADDRESS(RCT2_ADDRESS_HCURSOR_START, HCURSOR)[cursor];
|
||||
//HCURSOR hCurs = RCT2_ADDRESS(RCT2_ADDRESS_HCURSOR_START, HCURSOR)[cursor];
|
||||
//SetCursor((HCURSOR)hCurs);
|
||||
SDL_SetCursor(_cursors[cursor]);
|
||||
}
|
||||
|
@ -159,6 +138,12 @@ static void osinterface_load_cursors(){
|
|||
RCT2_GLOBAL(0x14241BC, uint32) = 0;
|
||||
}
|
||||
|
||||
static void osinterface_unload_cursors(){
|
||||
for (int i = 0; i < NO_CURSORS; ++i){
|
||||
if (_cursors[i] != NULL)SDL_FreeCursor(_cursors[i]);
|
||||
}
|
||||
}
|
||||
|
||||
static void osinterface_create_window()
|
||||
{
|
||||
SDL_SysWMinfo wmInfo;
|
||||
|
@ -414,6 +399,7 @@ static void osinterface_close_window()
|
|||
SDL_FreeSurface(_surface);
|
||||
if (_palette != NULL)
|
||||
SDL_FreePalette(_palette);
|
||||
osinterface_unload_cursors();
|
||||
}
|
||||
|
||||
void osinterface_free()
|
||||
|
|
Loading…
Reference in New Issue