Message box, letterbox and ped attaching

This commit is contained in:
eray orçunus
2020-06-07 21:44:43 +03:00
parent 23f20ceaf8
commit e07b6fdce7
7 changed files with 88 additions and 32 deletions

View File

@ -2198,26 +2198,24 @@ CCamera::ProcessWideScreenOn(void)
void
CCamera::DrawBordersForWideScreen(void)
{
float bottomBorderTopY, topBorderBottomY;
if (m_WideScreenOn) {
float centerY = (SCREEN_HEIGHT / 2) * (m_ScreenReductionPercentage / 100.f);
topBorderBottomY = centerY - SCREEN_SCALE_Y(22.f);
bottomBorderTopY = SCREEN_HEIGHT - centerY - SCREEN_SCALE_Y(14.f);
} else {
topBorderBottomY = 0.f;
bottomBorderTopY = SCREEN_HEIGHT;
}
if(m_BlurType == MBLUR_NONE || m_BlurType == MBLUR_NORMAL)
SetMotionBlurAlpha(80);
CSprite2d::DrawRect(
#ifdef FIX_BUGS
CRect(0.0f, (SCREEN_HEIGHT/2) * m_ScreenReductionPercentage/100.0f - SCREEN_SCALE_Y(8.0f),
#else
CRect(0.0f, (SCREEN_HEIGHT/2) * m_ScreenReductionPercentage/100.0f - 8.0f,
#endif
SCREEN_WIDTH, 0.0f),
CRGBA(0, 0, 0, 255));
// top border
CSprite2d::DrawRect(CRect(0.0f, 0.0f, SCREEN_WIDTH, topBorderBottomY), CRGBA(0, 0, 0, 255));
CSprite2d::DrawRect(
CRect(0.0f, SCREEN_HEIGHT,
#ifdef FIX_BUGS
SCREEN_WIDTH, SCREEN_HEIGHT - (SCREEN_HEIGHT/2) * m_ScreenReductionPercentage/100.0f - SCREEN_SCALE_Y(8.0f)),
#else
SCREEN_WIDTH, SCREEN_HEIGHT - (SCREEN_HEIGHT/2) * m_ScreenReductionPercentage/100.0f - 8.0f),
#endif
CRGBA(0, 0, 0, 255));
// bottom border
CSprite2d::DrawRect(CRect(0.0f, bottomBorderTopY, SCREEN_WIDTH, SCREEN_HEIGHT), CRGBA(0, 0, 0, 255));
}

View File

@ -3272,7 +3272,7 @@ CMenuManager::MessageScreen(const char *text, bool blackBg)
DoRWStuffEndOfFrame();
}
// TODO(Miami)
// --MIAMI: Done
void
CMenuManager::SmallMessageScreen(const char* text)
{
@ -3284,9 +3284,19 @@ CMenuManager::SmallMessageScreen(const char* text)
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
CFont::SetCentreSize(SCREEN_SCALE_X(430.0f));
CFont::SetCentreOn();
CFont::SetColor(CRGBA(255, 217, 106, FadeIn(255)));
CFont::SetColor(CRGBA(LABEL_COLOR.r, LABEL_COLOR.g, LABEL_COLOR.b, FadeIn(255)));
CFont::SetDropShadowPosition(2);
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
CFont::SetScale(SCREEN_SCALE_X(SMALLTEXT_X_SCALE), SCREEN_SCALE_Y(SMALLTEXT_Y_SCALE));
CFont::PrintString(SCREEN_SCALE_X(320.0f), SCREEN_SCALE_Y(170.0f), TheText.Get(text));
int numOfLines = CFont::GetNumberLines(SCREEN_WIDTH / 2.f, SCREEN_SCALE_Y(135.f), TheText.Get(text));
float y;
if (numOfLines > 1)
y = SCREEN_SCALE_Y(192.f) - numOfLines * SCREEN_SCALE_Y(8.f);
else
y = SCREEN_SCALE_Y(182.f);
CFont::PrintString(SCREEN_WIDTH / 2.f, y, TheText.Get(text));
}
void

View File

@ -2064,6 +2064,10 @@ CWorld::Process(void)
movingPed->bInVehicle = false;
movingPed->QuitEnteringCar();
}
} else if (movingPed->m_attachedTo) {
movingPed->PositionAttachedPed();
movingPed->GetMatrix().UpdateRW();
movingPed->UpdateRwFrame();
}
}
}

View File

@ -234,18 +234,13 @@ DoFade(void)
fadeColor.a = alpha;
}
// This is CCamera::GetScreenRect in VC
if(TheCamera.m_WideScreenOn){
// what's this?
float y = SCREEN_HEIGHT/2 * TheCamera.m_ScreenReductionPercentage/100.0f;
rect.left = 0.0f;
rect.right = SCREEN_WIDTH;
#ifdef FIX_BUGS
rect.top = y - SCREEN_SCALE_Y(8.0f);
rect.bottom = SCREEN_HEIGHT - y - SCREEN_SCALE_Y(8.0f);
#else
rect.top = y - 8.0f;
rect.bottom = SCREEN_HEIGHT - y - 8.0f;
#endif // FIX_BUGS
rect.top = y - SCREEN_SCALE_Y(22.0f);
rect.bottom = SCREEN_HEIGHT - y - SCREEN_SCALE_Y(14.0f);
}else{
rect.left = 0.0f;
rect.right = SCREEN_WIDTH;