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();