mirror of
https://github.com/halpz/re3.git
synced 2024-12-28 18:35:29 +00:00
Merge pull request #563 from Xinerki/miami
match frontend to vc more; isolate crgba
This commit is contained in:
commit
401e45d63e
|
@ -37,6 +37,18 @@
|
|||
#include "Messages.h"
|
||||
#include "FileLoader.h"
|
||||
|
||||
// Similar story to Hud.cpp:
|
||||
// Game has colors inlined in code.
|
||||
// For easier modification we collect them here:
|
||||
CRGBA LABEL_COLOR(255, 150, 225, 255);
|
||||
CRGBA SELECTIONBORDER_COLOR(25, 130, 70, 255);
|
||||
CRGBA MENUOPTION_COLOR(255, 150, 225, 255);
|
||||
CRGBA SELECTEDMENUOPTION_COLOR(255, 150, 225, 255);
|
||||
CRGBA HEADER_COLOR(255, 150, 255, 255);
|
||||
CRGBA DARKMENUOPTION_COLOR(195, 90, 165, 255);
|
||||
CRGBA SLIDERON_COLOR(97, 194, 247, 255);
|
||||
CRGBA SLIDEROFF_COLOR(27, 89, 130, 255);
|
||||
|
||||
#define TIDY_UP_PBP // ProcessButtonPresses
|
||||
#define MAX_VISIBLE_LIST_ROW 30
|
||||
#define SCROLLBAR_MAX_HEIGHT 263.0f // not in end result
|
||||
|
@ -269,7 +281,7 @@ ScaleAndCenterX(float x)
|
|||
#endif
|
||||
|
||||
#define PREPARE_MENU_HEADER \
|
||||
CFont::SetColor(CRGBA(0, 0, 0, FadeIn(255))); \
|
||||
CFont::SetColor(CRGBA(HEADER_COLOR.r, HEADER_COLOR.g, HEADER_COLOR.b, FadeIn(255))); \
|
||||
CFont::SetRightJustifyOn(); \
|
||||
CFont::SetScale(MENU_X(MENUHEADER_WIDTH), MENU_Y(MENUHEADER_HEIGHT)); \
|
||||
CFont::SetFontStyle(FONT_LOCALE(FONT_HEADING));
|
||||
|
@ -636,15 +648,15 @@ CMenuManager::DisplaySlider(float x, float y, float mostLeftBarSize, float mostR
|
|||
|
||||
int lastActiveBarX = 0;
|
||||
float curBarX = 0.0f;
|
||||
float spacing = SCREEN_SCALE_X(10.0f);
|
||||
float spacing = SCREEN_SCALE_X(4.0f); // TODO: find actual numbers used in the game
|
||||
for (int i = 0; i < 16; i++) {
|
||||
curBarX = i * rectSize/16.0f + x;
|
||||
curBarX = i * rectSize/32.0f + x;
|
||||
|
||||
if (i / 16.0f + 1 / 32.0f < progress) {
|
||||
color = CRGBA(255, 217, 106, FadeIn(255));
|
||||
color = CRGBA(SLIDERON_COLOR.r, SLIDERON_COLOR.g, SLIDERON_COLOR.b, FadeIn(255));
|
||||
lastActiveBarX = curBarX;
|
||||
} else
|
||||
color = CRGBA(185, 120, 0, FadeIn(255));
|
||||
color = CRGBA(SLIDEROFF_COLOR.r, SLIDEROFF_COLOR.g, SLIDEROFF_COLOR.b, FadeIn(255));
|
||||
|
||||
maxBarHeight = Max(mostLeftBarSize, mostRightBarSize);
|
||||
|
||||
|
@ -685,8 +697,10 @@ CMenuManager::Draw()
|
|||
CFont::SetCentreOff();
|
||||
CFont::SetJustifyOn();
|
||||
CFont::SetBackGroundOnlyTextOn();
|
||||
#ifdef GTA3_1_1_PATCH
|
||||
CFont::SetColor(CRGBA(235, 170, 50, FadeIn(255)));
|
||||
|
||||
// no V1.1 text in vc obv
|
||||
#if 0 //def GTA3_1_1_PATCH
|
||||
CFont::SetColor(CRGBA(255, 150, 225, FadeIn(255)));
|
||||
CFont::SetRightJustifyOn();
|
||||
CFont::SetFontStyle(FONT_HEADING);
|
||||
CFont::SetScale(MENU_X(0.7f), MENU_Y(0.5f));
|
||||
|
@ -696,6 +710,7 @@ CMenuManager::Draw()
|
|||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(SCREEN_WIDTH / 10, SCREEN_HEIGHT / 45, gUString);
|
||||
#endif
|
||||
|
||||
CFont::SetWrapx(MENU_X_RIGHT_ALIGNED(MENU_X_MARGIN));
|
||||
CFont::SetRightJustifyWrap(SCREEN_SCALE_X(MENUACTION_WIDTH));
|
||||
|
||||
|
@ -723,7 +738,11 @@ CMenuManager::Draw()
|
|||
if (aScreens[m_nCurrScreen].m_ScreenName[0] != '\0') {
|
||||
|
||||
PREPARE_MENU_HEADER
|
||||
CFont::PrintString(SCREEN_SCALE_FROM_RIGHT(MENUHEADER_POS_X), SCREEN_SCALE_FROM_BOTTOM(MENUHEADER_POS_Y), TheText.Get(aScreens[m_nCurrScreen].m_ScreenName));
|
||||
CFont::SetColor(CRGBA(30, 30, 30, FadeIn(255)));
|
||||
CFont::PrintString(SCREEN_SCALE_FROM_RIGHT(17.f), SCREEN_SCALE_Y(17.f), TheText.Get(aScreens[m_nCurrScreen].m_ScreenName));
|
||||
|
||||
PREPARE_MENU_HEADER
|
||||
CFont::PrintString(SCREEN_SCALE_FROM_RIGHT(10.f), SCREEN_SCALE_Y(10.f), TheText.Get(aScreens[m_nCurrScreen].m_ScreenName));
|
||||
|
||||
// Weird place to put that.
|
||||
nextYToUse += 24.0f + 10.0f;
|
||||
|
@ -732,7 +751,7 @@ CMenuManager::Draw()
|
|||
CFont::SetFontStyle(FONT_LOCALE(FONT_BANK));
|
||||
CFont::SetScale(MENU_X(MENUACTION_SCALE_MULT * MENU_TEXT_SIZE_X), MENU_Y(MENUACTION_SCALE_MULT * MENU_TEXT_SIZE_Y));
|
||||
CFont::SetRightJustifyOff();
|
||||
CFont::SetColor(CRGBA(235, 170, 50, FadeIn(255)));
|
||||
CFont::SetColor(CRGBA(LABEL_COLOR.r, LABEL_COLOR.g, LABEL_COLOR.b, FadeIn(255)));
|
||||
|
||||
// Label
|
||||
wchar *str;
|
||||
|
@ -830,7 +849,7 @@ CMenuManager::Draw()
|
|||
break;
|
||||
case MENUPAGE_START_MENU:
|
||||
columnWidth = 320;
|
||||
headerHeight = 140;
|
||||
headerHeight = 110;
|
||||
lineHeight = 24;
|
||||
CFont::SetFontStyle(FONT_LOCALE(FONT_HEADING));
|
||||
CFont::SetScale(MENU_X(MENU_TEXT_SIZE_X = BIGTEXT_X_SCALE), MENU_Y(MENU_TEXT_SIZE_Y = BIGTEXT_Y_SCALE));
|
||||
|
@ -883,7 +902,7 @@ CMenuManager::Draw()
|
|||
}
|
||||
|
||||
float usableLineHeight = lineHeight * 0.9f; // also height of biggest bar in slider
|
||||
float smallestSliderBar = lineHeight * 0.1f;
|
||||
float smallestSliderBar = lineHeight * 0.25f; // TODO: find actual number
|
||||
bool foundTheHoveringItem = false;
|
||||
wchar unicodeTemp[64];
|
||||
char asciiTemp[32];
|
||||
|
@ -1211,7 +1230,7 @@ CMenuManager::Draw()
|
|||
// We keep stretching, because we also stretch background image and we want that bar to be aligned with borders of background
|
||||
CSprite2d::DrawRect(CRect(StretchX(10.0f), MENU_Y(bitAboveNextItemY),
|
||||
SCREEN_STRETCH_FROM_RIGHT(11.0f), MENU_Y(usableLineHeight + nextItemY)),
|
||||
CRGBA(100, 200, 50, FadeIn(50)));
|
||||
CRGBA(SELECTIONBORDER_COLOR.r, SELECTIONBORDER_COLOR.g, SELECTIONBORDER_COLOR.b, FadeIn(255)));
|
||||
}
|
||||
|
||||
CFont::SetColor(CRGBA(0, 0, 0, FadeIn(90)));
|
||||
|
@ -1230,14 +1249,14 @@ CMenuManager::Draw()
|
|||
|
||||
if(!strcmp(aScreens[m_nCurrScreen].m_aEntries[i].m_EntryName, "FED_RES")
|
||||
&& !m_bGameNotLoaded && textLayer == 1) {
|
||||
CFont::SetColor(CRGBA(155, 117, 6, FadeIn(255)));
|
||||
CFont::SetColor(CRGBA(DARKMENUOPTION_COLOR.r, DARKMENUOPTION_COLOR.g, DARKMENUOPTION_COLOR.b, FadeIn(255)));
|
||||
}
|
||||
CFont::PrintString(MENU_X_RIGHT_ALIGNED(columnWidth - textLayer), itemY, rightText);
|
||||
}
|
||||
if (i == m_nCurrOption && itemsAreSelectable){
|
||||
CFont::SetColor(CRGBA(255, 217, 106, FadeIn(255)));
|
||||
CFont::SetColor(CRGBA(MENUOPTION_COLOR.r, MENUOPTION_COLOR.g, MENUOPTION_COLOR.b, FadeIn(255)));
|
||||
} else {
|
||||
CFont::SetColor(CRGBA(235, 170, 50, FadeIn(255)));
|
||||
CFont::SetColor(CRGBA(SELECTEDMENUOPTION_COLOR.r, SELECTEDMENUOPTION_COLOR.g, SELECTEDMENUOPTION_COLOR.b, FadeIn(255)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2361,12 +2380,15 @@ CMenuManager::DrawFrontEndNormal()
|
|||
// GTA LOGO
|
||||
RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)rwBLENDSRCALPHA);
|
||||
RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDINVSRCALPHA);
|
||||
/*
|
||||
if (m_nCurrScreen == MENUPAGE_START_MENU || m_nCurrScreen == MENUPAGE_PAUSE_MENU) {
|
||||
if (CGame::frenchGame || CGame::germanGame || !CGame::nastyGame)
|
||||
m_aFrontEndSprites[MENUSPRITE_VCLOGO].Draw(CRect(MENU_X_LEFT_ALIGNED(205.0f), MENU_Y(70.0f), MENU_X_LEFT_ALIGNED(435.0f), MENU_Y(180.0f)), CRGBA(255, 255, 255, FadeIn(255)));
|
||||
else
|
||||
m_aFrontEndSprites[MENUSPRITE_VCLOGO].Draw(CRect(MENU_X_LEFT_ALIGNED(225.0f), MENU_Y(40.0f), MENU_X_LEFT_ALIGNED(415.0f), MENU_Y(210.0f)), CRGBA(255, 255, 255, FadeIn(255)));
|
||||
}
|
||||
*/
|
||||
m_aFrontEndSprites[MENUSPRITE_VCLOGO].Draw(CRect(SCREEN_SCALE_X(27.0f), MENU_Y(8.0f), SCREEN_SCALE_X(157.0f), MENU_Y(138.0f)), CRGBA(255, 255, 255, FadeIn(255)));
|
||||
|
||||
RwRenderStateSet(rwRENDERSTATETEXTUREFILTER, (void*)rwFILTERNEAREST);
|
||||
RwRenderStateSet(rwRENDERSTATETEXTUREADDRESS, (void*)rwTEXTUREADDRESSCLAMP);
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
#define MENUHEADER_POS_Y 75.0f
|
||||
#define MENUHEADER_HEIGHT 1.3f
|
||||
#else
|
||||
#define MENUHEADER_POS_X 35.0f
|
||||
#define MENUHEADER_POS_Y 93.0f
|
||||
#define MENUHEADER_POS_X 0.0f
|
||||
#define MENUHEADER_POS_Y 412.0f
|
||||
#define MENUHEADER_HEIGHT 1.6f
|
||||
#endif
|
||||
#define MENUHEADER_WIDTH 0.84f
|
||||
|
@ -20,7 +20,7 @@
|
|||
|
||||
#define MENURADIO_ICON_SCALE 60.0f
|
||||
|
||||
#define MENUSLIDER_X 256.0f
|
||||
#define MENUSLIDER_X 128.0f
|
||||
#define MENUSLIDER_UNK 256.0f
|
||||
|
||||
#define BIGTEXT_X_SCALE 0.75f
|
||||
|
|
Loading…
Reference in a new issue