mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-09 17:48:19 +00:00
Merge pull request #8663 from Robyt3/Menus-Checker-Fix-Optimization
Smoother menu checker background scrolling on loading screens, fix menu checker background on wide resolutions and optimize it
This commit is contained in:
commit
83c9b6cae6
|
@ -3820,6 +3820,7 @@ void CClient::UpdateAndSwap()
|
||||||
Input()->Update();
|
Input()->Update();
|
||||||
Graphics()->Swap();
|
Graphics()->Swap();
|
||||||
Graphics()->Clear(0, 0, 0);
|
Graphics()->Clear(0, 0, 0);
|
||||||
|
m_GlobalTime = (time_get() - m_GlobalStartTime) / (float)time_freq();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CClient::ServerBrowserUpdate()
|
void CClient::ServerBrowserUpdate()
|
||||||
|
|
|
@ -2231,14 +2231,16 @@ void CMenus::RenderBackground()
|
||||||
Graphics()->QuadsBegin();
|
Graphics()->QuadsBegin();
|
||||||
Graphics()->SetColor(0.0f, 0.0f, 0.0f, 0.045f);
|
Graphics()->SetColor(0.0f, 0.0f, 0.0f, 0.045f);
|
||||||
const float Size = 15.0f;
|
const float Size = 15.0f;
|
||||||
const float OffsetTime = std::fmod(LocalTime() * 0.15f, 2.0f);
|
const float OffsetTime = std::fmod(Client()->GlobalTime() * 0.15f, 2.0f);
|
||||||
IGraphics::CQuadItem aCheckerItems[64];
|
IGraphics::CQuadItem aCheckerItems[64];
|
||||||
size_t NumCheckerItems = 0;
|
size_t NumCheckerItems = 0;
|
||||||
for(int y = -2; y < (int)(ScreenWidth / Size); y++)
|
const int NumItemsWidth = std::ceil(ScreenWidth / Size);
|
||||||
|
const int NumItemsHeight = std::ceil(ScreenHeight / Size);
|
||||||
|
for(int y = -2; y < NumItemsHeight; y++)
|
||||||
{
|
{
|
||||||
for(int x = -2; x < (int)(ScreenHeight / Size); x++)
|
for(int x = 0; x < NumItemsWidth + 4; x += 2)
|
||||||
{
|
{
|
||||||
aCheckerItems[NumCheckerItems] = IGraphics::CQuadItem((x - OffsetTime) * Size * 2 + (y & 1) * Size, (y + OffsetTime) * Size, Size, Size);
|
aCheckerItems[NumCheckerItems] = IGraphics::CQuadItem((x - 2 * OffsetTime + (y & 1)) * Size, (y + OffsetTime) * Size, Size, Size);
|
||||||
NumCheckerItems++;
|
NumCheckerItems++;
|
||||||
if(NumCheckerItems == std::size(aCheckerItems))
|
if(NumCheckerItems == std::size(aCheckerItems))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue