diff --git a/src/ClassiCube.vcxproj b/src/ClassiCube.vcxproj
index 45d2e35df..cd3ae8f0f 100644
--- a/src/ClassiCube.vcxproj
+++ b/src/ClassiCube.vcxproj
@@ -472,6 +472,7 @@
+
@@ -497,6 +498,7 @@
+
@@ -537,6 +539,7 @@
+
diff --git a/src/ClassiCube.vcxproj.filters b/src/ClassiCube.vcxproj.filters
index e7bcbb587..89f84ad5d 100644
--- a/src/ClassiCube.vcxproj.filters
+++ b/src/ClassiCube.vcxproj.filters
@@ -689,6 +689,15 @@
Source Files\Graphics
+
+ Source Files\Window
+
+
+ Source Files\Platform
+
+
+ Source Files\Graphics
+
diff --git a/src/Screens.c b/src/Screens.c
index 1b0aadfdb..516017ae1 100644
--- a/src/Screens.c
+++ b/src/Screens.c
@@ -120,7 +120,7 @@ static void HUDScreen_BuildPosition(struct HUDScreen* s, struct VertexTextured*
/* Make "Position: " prefix */
tex = atlas->tex;
- tex.X = 2 + DisplayInfo.ContentOffset;
+ tex.X = 2 + DisplayInfo.ContentOffsetX;
tex.Width = atlas->offset;
Gfx_Make2DQuad(&tex, PACKEDCOL_WHITE, &cur);
@@ -214,11 +214,11 @@ static void HUDScreen_Layout(void* screen) {
int posY;
Widget_SetLocation(line1, ANCHOR_MIN, ANCHOR_MIN,
- 2 + DisplayInfo.ContentOffset, 2 + DisplayInfo.ContentOffset);
+ 2 + DisplayInfo.ContentOffsetX, 2 + DisplayInfo.ContentOffsetY);
posY = line1->y + line1->height;
s->posAtlas.tex.Y = posY;
Widget_SetLocation(line2, ANCHOR_MIN, ANCHOR_MIN,
- 2 + DisplayInfo.ContentOffset, 0);
+ 2 + DisplayInfo.ContentOffsetX, 0);
if (Game_ClassicMode) {
/* Swap around so 0.30 version is at top */
diff --git a/src/Window.h b/src/Window.h
index 9fb2ad228..604190956 100644
--- a/src/Window.h
+++ b/src/Window.h
@@ -60,7 +60,7 @@ CC_VAR extern struct _DisplayData {
/* Amount to offset content near the edges of the window by */
/* Mainly intended for when the game is rendered on TV displays, where */
/* pixels on the edges of the screen may be hidden due to overscan */
- int ContentOffset;
+ int ContentOffsetX, ContentOffsetY;
} DisplayInfo;
/* Scales the given X coordinate from 96 dpi to current display dpi. */
diff --git a/src/Window_Dreamcast.c b/src/Window_Dreamcast.c
index 1ff5351f6..4dfbbf093 100644
--- a/src/Window_Dreamcast.c
+++ b/src/Window_Dreamcast.c
@@ -32,7 +32,8 @@ void Window_Init(void) {
WindowInfo.Exists = true;
Input.Sources = INPUT_SOURCE_GAMEPAD;
- DisplayInfo.ContentOffset = 10;
+ DisplayInfo.ContentOffsetX = 10;
+ DisplayInfo.ContentOffsetY = 20;
}
void Window_Create2D(int width, int height) {
diff --git a/src/Window_GCWii.c b/src/Window_GCWii.c
index e292749b5..1a78b4202 100644
--- a/src/Window_GCWii.c
+++ b/src/Window_GCWii.c
@@ -76,7 +76,8 @@ void Window_Init(void) {
WindowInfo.Exists = true;
Input.Sources = INPUT_SOURCE_GAMEPAD;
- DisplayInfo.ContentOffset = 10;
+ DisplayInfo.ContentOffsetX = 10;
+ DisplayInfo.ContentOffsetY = 10;
#if defined HW_RVL
WPAD_Init();
diff --git a/src/Window_PS2.c b/src/Window_PS2.c
index 55b293ab8..7be63b7eb 100644
--- a/src/Window_PS2.c
+++ b/src/Window_PS2.c
@@ -52,7 +52,8 @@ void Window_Init(void) {
WindowInfo.Exists = true;
Input.Sources = INPUT_SOURCE_GAMEPAD;
- DisplayInfo.ContentOffset = 10;
+ DisplayInfo.ContentOffsetX = 10;
+ DisplayInfo.ContentOffsetY = 10;
LoadModules();
padInit(0);
diff --git a/src/Window_PS3.c b/src/Window_PS3.c
index 5e7934f5d..a624639b0 100644
--- a/src/Window_PS3.c
+++ b/src/Window_PS3.c
@@ -54,7 +54,9 @@ void Window_Init(void) {
WindowInfo.Exists = true;
Input.Sources = INPUT_SOURCE_GAMEPAD;
- DisplayInfo.ContentOffset = 10;
+ DisplayInfo.ContentOffsetX = 10;
+ DisplayInfo.ContentOffsetY = 10;
+
ioPadInit(7);
}
diff --git a/src/Window_Xbox.c b/src/Window_Xbox.c
index d11eea805..71f49fa11 100644
--- a/src/Window_Xbox.c
+++ b/src/Window_Xbox.c
@@ -75,7 +75,9 @@ void Window_Init(void) {
WindowInfo.Exists = true;
Input.Sources = INPUT_SOURCE_GAMEPAD;
- DisplayInfo.ContentOffset = 10;
+ DisplayInfo.ContentOffsetX = 10;
+ DisplayInfo.ContentOffsetY = 10;
+
usbh_core_init();
usbh_xid_init();