diff --git a/VSLinux/Amiberry.vcxproj b/VSLinux/Amiberry.vcxproj
index b7c29555..ac2764b0 100644
--- a/VSLinux/Amiberry.vcxproj
+++ b/VSLinux/Amiberry.vcxproj
@@ -90,6 +90,9 @@
true
+
+ true
+
true
@@ -134,6 +137,9 @@
true
+
+ true
+
diff --git a/VSLinux/Amiberry.vcxproj.filters b/VSLinux/Amiberry.vcxproj.filters
index e8a68f59..8249e4b3 100644
--- a/VSLinux/Amiberry.vcxproj.filters
+++ b/VSLinux/Amiberry.vcxproj.filters
@@ -128,11 +128,17 @@
data
+
+ data
+
data
+
+ data
+
diff --git a/VisualGDB/Amiberry/Amiberry.vcxproj b/VisualGDB/Amiberry/Amiberry.vcxproj
index 5cdeacd0..0696669c 100644
--- a/VisualGDB/Amiberry/Amiberry.vcxproj
+++ b/VisualGDB/Amiberry/Amiberry.vcxproj
@@ -272,6 +272,9 @@
true
+
+ true
+
true
@@ -316,6 +319,9 @@
true
+
+ true
+
diff --git a/VisualGDB/Amiberry/Amiberry.vcxproj.filters b/VisualGDB/Amiberry/Amiberry.vcxproj.filters
index 34e973e1..175c6a34 100644
--- a/VisualGDB/Amiberry/Amiberry.vcxproj.filters
+++ b/VisualGDB/Amiberry/Amiberry.vcxproj.filters
@@ -599,11 +599,17 @@
Resource files\data
+
+ Resource files\data
+
Resource files\data
+
+ Resource files\data
+
diff --git a/data/Topaznew.ttf b/data/Topaznew.ttf
new file mode 100644
index 00000000..84627763
Binary files /dev/null and b/data/Topaznew.ttf differ
diff --git a/data/cursor.bmp b/data/cursor.bmp
new file mode 100644
index 00000000..2cc3aba2
Binary files /dev/null and b/data/cursor.bmp differ
diff --git a/src/main.cpp b/src/main.cpp
index b6120f5a..79538a92 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1079,6 +1079,8 @@ static int real_main2 (int argc, TCHAR **argv)
if (SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1") != SDL_TRUE)
SDL_Log("SDL could not grab the keyboard");
+
+ SDL_ShowCursor(SDL_DISABLE);
set_config_changed();
if (restart_config[0]) {
diff --git a/src/osdep/amiberry_gfx.cpp b/src/osdep/amiberry_gfx.cpp
index 313aa862..43d80218 100644
--- a/src/osdep/amiberry_gfx.cpp
+++ b/src/osdep/amiberry_gfx.cpp
@@ -176,8 +176,8 @@ static void open_screen(struct uae_prefs* p)
void update_display(struct uae_prefs* p)
{
- open_screen(p);
SDL_ShowCursor(SDL_DISABLE);
+ open_screen(p);
framecnt = 1; // Don't draw frame before reset done
}
diff --git a/src/osdep/amiberry_gfx.h b/src/osdep/amiberry_gfx.h
index d7f7f3ea..e68ea83f 100644
--- a/src/osdep/amiberry_gfx.h
+++ b/src/osdep/amiberry_gfx.h
@@ -4,6 +4,7 @@ extern SDL_Window* sdlWindow;
extern SDL_Renderer* renderer;
extern SDL_Texture* texture;
extern SDL_Surface* screen;
+extern SDL_Cursor* cursor;
extern SDL_Surface* gui_screen;
extern SDL_Texture* gui_texture;
@@ -12,4 +13,4 @@ extern SDL_DisplayMode sdlMode;
extern void check_error_sdl(bool check, const char* message);
extern void updatedisplayarea();
-void DX_Fill(int dstx, int dsty, int width, int height, uae_u32 color);
\ No newline at end of file
+void DX_Fill(int dstx, int dsty, int width, int height, uae_u32 color);
diff --git a/src/osdep/gui/main_window.cpp b/src/osdep/gui/main_window.cpp
index cafb2492..b6fb6257 100644
--- a/src/osdep/gui/main_window.cpp
+++ b/src/osdep/gui/main_window.cpp
@@ -12,7 +12,6 @@
#include "uae.h"
#include "gui.h"
#include "gui_handling.h"
-#include "memory.h"
#include "amiberry_gfx.h"
bool gui_running = false;
@@ -62,6 +61,7 @@ enum
SDL_Surface* gui_screen;
SDL_Texture* gui_texture;
SDL_Event gui_event;
+SDL_Cursor* cursor;
/*
* Guisan SDL stuff we need
@@ -157,6 +157,13 @@ namespace sdl
// Create new screen for GUI
//-------------------------------------------------
+ SDL_Surface *cursorSurface = SDL_LoadBMP("data/cursor.bmp");
+ if (cursorSurface)
+ {
+ cursor = SDL_CreateColorCursor(cursorSurface, 0, 0);
+ SDL_SetCursor(cursor);
+ }
+
// make the scaled rendering look smoother (linear scaling).
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");
@@ -194,9 +201,12 @@ namespace sdl
delete gui_imageLoader;
delete gui_input;
delete gui_graphics;
-
+
SDL_FreeSurface(gui_screen);
SDL_DestroyTexture(gui_texture);
+ if (cursor) {
+ SDL_FreeCursor(cursor);
+ }
gui_screen = nullptr;
}
@@ -462,7 +472,7 @@ namespace widgets
// Initialize fonts
//-------------------------------------------------
TTF_Init();
- gui_font = new gcn::SDLTrueTypeFont("data/FreeSans.ttf", 14);
+ gui_font = new gcn::SDLTrueTypeFont("data/Topaznew.ttf", 14);
gcn::Widget::setGlobalFont(gui_font);
//--------------------------------------------------