Consoles: Allow separating horizontal from vertical content offset

This commit is contained in:
UnknownShadow200 2023-11-24 20:34:19 +11:00
parent 788d4f32d9
commit 4b3e520ec3
9 changed files with 28 additions and 9 deletions

View File

@ -472,6 +472,7 @@
<ClCompile Include="Game.c" />
<ClCompile Include="Graphics_GL2.c" />
<ClCompile Include="Graphics_N64.c" />
<ClCompile Include="Graphics_PS2.c" />
<ClCompile Include="Graphics_PS3.c" />
<ClCompile Include="Graphics_PSP.c" />
<ClCompile Include="Graphics_PSVita.c" />
@ -497,6 +498,7 @@
<ClCompile Include="Platform_GCWii.c" />
<ClCompile Include="Platform_N64.c" />
<ClCompile Include="Platform_Posix.c" />
<ClCompile Include="Platform_PS2.c" />
<ClCompile Include="Platform_PS3.c" />
<ClCompile Include="Platform_PSP.c" />
<ClCompile Include="Platform_PSVita.c" />
@ -537,6 +539,7 @@
<ClCompile Include="Window_Dreamcast.c" />
<ClCompile Include="Window_GCWii.c" />
<ClCompile Include="Window_N64.c" />
<ClCompile Include="Window_PS2.c" />
<ClCompile Include="Window_PS3.c" />
<ClCompile Include="Window_PSP.c" />
<ClCompile Include="Window_PSVita.c" />

View File

@ -689,6 +689,15 @@
<ClCompile Include="Graphics_SoftGPU.c">
<Filter>Source Files\Graphics</Filter>
</ClCompile>
<ClCompile Include="Window_PS2.c">
<Filter>Source Files\Window</Filter>
</ClCompile>
<ClCompile Include="Platform_PS2.c">
<Filter>Source Files\Platform</Filter>
</ClCompile>
<ClCompile Include="Graphics_PS2.c">
<Filter>Source Files\Graphics</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\misc\windows\CCicon.rc">

View File

@ -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 */

View File

@ -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. */

View File

@ -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) {

View File

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

View File

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

View File

@ -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);
}

View File

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