summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
authorSonic Dreamcaster <alejandro.asenjo88@gmail.com>2024-12-06 00:17:05 -0300
committerSonic Dreamcaster <alejandro.asenjo88@gmail.com>2024-12-06 00:17:05 -0300
commit04047776105e6249fffcd84c237a5c047f6ca5cd (patch)
treeeb293f6d2575c9f23d7712dc8ccde894f5832be2 /src/engine
parent2e74bbbb8c7c52da2ef464b24734c0884947bff8 (diff)
Widescreen Radar
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/fox_hud.c68
1 files changed, 47 insertions, 21 deletions
diff --git a/src/engine/fox_hud.c b/src/engine/fox_hud.c
index d75d993e..0b005b1a 100644
--- a/src/engine/fox_hud.c
+++ b/src/engine/fox_hud.c
@@ -304,7 +304,7 @@ void HUD_BoostGaugeCool_Draw(f32 xPos, f32 yPos, f32 xScale, f32 yScale) {
}
}
-void HUD_MatrixTranslateCoord(f32* transX, f32* transY) {
+void HUD_MatrixTranslateCoordLeft(f32* transX, f32* transY) {
*transX = OTRGetRectDimensionFromLeftEdge(*transX) - (SCREEN_WIDTH / 2.0f);
*transY = (SCREEN_HEIGHT / 2.0f) - *transY;
}
@@ -381,7 +381,7 @@ void HUD_GoldRings_Draw(void) {
scale += 0.06f;
}
- HUD_MatrixTranslateCoord(&x, &y);
+ HUD_MatrixTranslateCoordLeft(&x, &y);
Matrix_Translate(gGfxMatrix, x, y, -100.0f, MTXF_NEW);
Matrix_Scale(gGfxMatrix, scale, scale, scale, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, ringScale, ringScale, ringScale, MTXF_APPLY);
@@ -403,7 +403,7 @@ void HUD_GoldRings_Draw(void) {
RCP_SetupDL(&gMasterDisp, SETUPDL_62);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
- HUD_MatrixTranslateCoord(&D_800D1AC4[i + 1], &D_800D1AD8[i + 1]);
+ HUD_MatrixTranslateCoordLeft(&D_800D1AC4[i + 1], &D_800D1AD8[i + 1]);
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, D_800D1AC4[i + 1], D_800D1AD8[i + 1], -100.0f, MTXF_NEW);
@@ -436,7 +436,7 @@ void HUD_GoldRings_Draw(void) {
scale += 0.06f;
}
- HUD_MatrixTranslateCoord(&x, &y);
+ HUD_MatrixTranslateCoordLeft(&x, &y);
Matrix_Translate(gGfxMatrix, x, y, -100.0f, MTXF_NEW);
Matrix_Scale(gGfxMatrix, scale, scale, scale, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, ringScale, ringScale, ringScale, MTXF_APPLY);
@@ -1492,8 +1492,7 @@ void HUD_PauseScreen_Update(void) {
case 3:
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
- OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0,
- 255);
+ OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
gFillScreenAlphaTarget = 0;
@@ -1543,8 +1542,7 @@ void HUD_PauseScreen_Update(void) {
case 4:
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
- OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0,
- 255);
+ OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
if (sPauseScreenTimer[0] < 140) {
break;
}
@@ -1563,8 +1561,7 @@ void HUD_PauseScreen_Update(void) {
case 5:
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
- OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH ), SCREEN_HEIGHT, 0, 0, 0,
- 255);
+ OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
for (i = 0; i < 6; i++) {
if (gPrevPlanetTeamShields[i] == -1) {
@@ -2012,6 +2009,9 @@ void HUD_RadarMarks_Setup(void) {
}
}
+static f32 gHudOffsetRect = 0.0f;
+static f32 gHudOffsetPers = 0.0f;
+
s32 HUD_RadarMarks_Update(void) {
s32 i;
f32 scale;
@@ -2020,11 +2020,32 @@ s32 HUD_RadarMarks_Update(void) {
f32 z1;
f32 x = 0;
f32 y = 0;
- s32 pad;
f32 temp;
f32 temp2;
f32 temp3;
+ switch (gCurrentLevel) {
+ case LEVEL_CORNERIA:
+ gHudOffsetRect = OTRGetDimensionFromRightEdge(0.0f);
+ gHudOffsetPers = gHudOffsetRect * 2.15f;
+ break;
+
+ case LEVEL_SECTOR_Z:
+ gHudOffsetRect = OTRGetDimensionFromRightEdge(0.0f);
+ gHudOffsetPers = gHudOffsetRect * 5.50f;
+ break;
+
+ case LEVEL_BOLSE:
+ gHudOffsetRect = OTRGetDimensionFromRightEdge(0.0f);
+ gHudOffsetPers = gHudOffsetRect * 2.70f;
+ break;
+
+ default:
+ gHudOffsetRect = OTRGetDimensionFromRightEdge(0.0f);
+ gHudOffsetPers = gHudOffsetRect * 3.35f;
+ break;
+ }
+
if (!gVersusMode) {
if (gLevelMode != LEVELMODE_ALL_RANGE) {
return 0;
@@ -2098,7 +2119,7 @@ s32 HUD_RadarMarks_Update(void) {
}
HUD_RadarMarks_Setup();
- HUD_RadarWindow_Draw(x, y);
+ HUD_RadarWindow_Draw(x + gHudOffsetRect, y);
if (!gVersusMode &&
((gCurrentLevel == LEVEL_SECTOR_Z) || (gCurrentLevel == LEVEL_FORTUNA) || (gCurrentLevel == LEVEL_VENOM_2) ||
@@ -2109,15 +2130,18 @@ s32 HUD_RadarMarks_Update(void) {
switch (gCurrentLevel) {
case LEVEL_SECTOR_Z:
- Lib_TextureRect_IA8(&gMasterDisp, D_SZ_60012D0, 16, 9, 251.0f + D_800D1E10, 181.0f, 1.00f, 1.00f);
+ Lib_TextureRect_IA8(&gMasterDisp, D_SZ_60012D0, 16, 9, gHudOffsetRect + 251.0f + D_800D1E10, 181.0f,
+ 1.00f, 1.00f);
break;
case LEVEL_FORTUNA:
- Lib_TextureRect_IA8(&gMasterDisp, D_FO_6001260, 16, 16, 251.0f + D_800D1E10, 178.0f, 1.00f, 1.00f);
+ Lib_TextureRect_IA8(&gMasterDisp, D_FO_6001260, 16, 16, gHudOffsetRect + 251.0f + D_800D1E10, 178.0f,
+ 1.00f, 1.00f);
break;
case LEVEL_BOLSE:
- Lib_TextureRect_IA8(&gMasterDisp, D_BO_6000C80, 16, 16, 251.0f + D_800D1E10, 178.0f, 1.00f, 1.00f);
+ Lib_TextureRect_IA8(&gMasterDisp, D_BO_6000C80, 16, 16, gHudOffsetRect + (251.0f + D_800D1E10), 178.0f,
+ 1.00f, 1.00f);
break;
case LEVEL_SECTOR_Y:
@@ -2128,22 +2152,25 @@ s32 HUD_RadarMarks_Update(void) {
if ((y < 150.0f) || (y > 206.0f)) {
break;
}
- Lib_TextureRect_IA8(&gMasterDisp, D_SY_6000840, 64, 64, 250.0f + D_800D1E10, temp, 0.25f, 0.25f);
+ Lib_TextureRect_IA8(&gMasterDisp, D_SY_6000840, 64, 64, gHudOffsetRect + 250.0f + D_800D1E10, temp,
+ 0.25f, 0.25f);
}
break;
case LEVEL_KATINA:
- Lib_TextureRect_IA8(&gMasterDisp, D_KA_6001260, 8, 8, 254.0f + D_800D1E10, 182.0f, 1.00f, 1.00f);
+ Lib_TextureRect_IA8(&gMasterDisp, D_KA_6001260, 8, 8, 254.0f + D_800D1E10 + gHudOffsetRect, 182.0f,
+ 1.00f, 1.00f);
break;
case LEVEL_VENOM_2:
- Lib_TextureRect_IA8(&gMasterDisp, D_VE2_6002890, 16, 16, 251.0f + D_800D1E10, 178.0f, 1.00f, 1.00f);
+ Lib_TextureRect_IA8(&gMasterDisp, D_VE2_6002890, 16, 16, gHudOffsetRect + 251.0f + D_800D1E10, 178.0f,
+ 1.00f, 1.00f);
break;
}
}
Matrix_Push(&gGfxMatrix);
- Matrix_Translate(gGfxMatrix, x1, y1, z1, MTXF_APPLY);
+ Matrix_Translate(gGfxMatrix, x1 + gHudOffsetPers, y1, z1, MTXF_APPLY);
if ((gCurrentLevel == LEVEL_SECTOR_Z) && (D_hud_80161710 != 0)) {
Matrix_Push(&gGfxMatrix);
@@ -2897,8 +2924,7 @@ void HUD_KillCountStars_Update(void) {
}
void HUD_VS_ShieldGaugeFrame_Draw(f32 xPos, f32 yPos, f32 xScale, f32 yScale) {
- Lib_TextureRect_IA8(&gMasterDisp, aVsShieldGaugeFrameTex, 80, 26, xPos, yPos, xScale,
- yScale);
+ Lib_TextureRect_IA8(&gMasterDisp, aVsShieldGaugeFrameTex, 80, 26, xPos, yPos, xScale, yScale);
}
void HUD_VS_ShieldGaugeTex_Draw(f32 xPos, f32 yPos, f32 xScale, f32 yScale, f32 width) {