|
15 | 15 |
|
16 | 16 | #include "raylib/raylib.h"
|
17 | 17 | #include "raylib/rlgl.h"
|
| 18 | +#include "RenderTarget.h" |
18 | 19 |
|
19 | 20 | using namespace RTE;
|
20 | 21 |
|
| 22 | +LoadingScreen::LoadingScreen() { Clear(); } |
21 | 23 | void LoadingScreen::Clear() {
|
22 | 24 | m_LoadingLogWriter = nullptr;
|
23 | 25 | m_LoadingSplashBitmap = nullptr;
|
| 26 | + m_LoadingBackground.reset(); |
24 | 27 | m_ProgressListboxBitmap = nullptr;
|
25 | 28 | m_ProgressListboxPosX = 0;
|
26 | 29 | m_ProgressListboxPosY = 0;
|
@@ -69,13 +72,21 @@ void LoadingScreen::CreateLoadingSplash(int xOffset) {
|
69 | 72 | m_LoadingSplashBitmap = create_bitmap_ex(FrameMan::c_BPP, backbuffer->w, backbuffer->h);
|
70 | 73 | clear_bitmap(m_LoadingSplashBitmap);
|
71 | 74 |
|
72 |
| - StaticSceneLayer loadingSplash; |
73 |
| - loadingSplash.Create(ContentFile("Base.rte/GUIs/Title/LoadingSplash.png").GetAsBitmap(COLORCONV_NONE, false), false, Vector(), true, false, Vector(1.0F, 0)); |
74 |
| - loadingSplash.SetOffset(Vector(static_cast<float>(((loadingSplash.GetBitmap()->w - g_WindowMan.GetResX()) / 2) + xOffset), 0)); |
75 |
| - |
76 |
| - Box loadingSplashTargetBox(Vector(0, static_cast<float>((g_WindowMan.GetResY() - loadingSplash.GetBitmap()->h) / 2)), static_cast<float>(g_WindowMan.GetResX()), static_cast<float>(loadingSplash.GetBitmap()->h)); |
| 75 | + m_LoadingBackground = std::make_unique<StaticSceneLayer>(); |
| 76 | + m_LoadingBackground->Create(ContentFile("Base.rte/GUIs/Title/LoadingSplash.png").GetAsBitmap(COLORCONV_NONE, false), false, Vector(), true, false, Vector(1.0F, 0)); |
| 77 | + m_LoadingBackground->SetOffset(Vector(static_cast<float>(((m_LoadingBackground->GetBitmap()->w - g_WindowMan.GetResX()) / 2) + xOffset), 0)); |
| 78 | + |
| 79 | + Box loadingSplashTargetBox(Vector(0, static_cast<float>((g_WindowMan.GetResY() - m_LoadingBackground->GetBitmap()->h) / 2)), static_cast<float>(g_WindowMan.GetResX()), static_cast<float>(m_LoadingBackground->GetBitmap()->h)); |
| 80 | + RenderTarget defaultTarget{ |
| 81 | + FloatRect(0, 0, g_WindowMan.GetResX(), g_WindowMan.GetResY()), |
| 82 | + FloatRect(0, 0, g_WindowMan.GetResX(), g_WindowMan.GetResY()), |
| 83 | + 0, |
| 84 | + Texture2D(), |
| 85 | + true |
| 86 | + }; |
| 87 | + defaultTarget.Begin(); |
77 | 88 | g_WindowMan.ClearBackbuffer();
|
78 |
| - loadingSplash.Draw(loadingSplashTargetBox, loadingSplashTargetBox); |
| 89 | + m_LoadingBackground->Draw(loadingSplashTargetBox, loadingSplashTargetBox); |
79 | 90 | rlDrawRenderBatchActive();
|
80 | 91 | g_WindowMan.Present();
|
81 | 92 | }
|
@@ -140,7 +151,10 @@ void LoadingScreen::LoadingSplashProgressReport(const std::string& reportString,
|
140 | 151 |
|
141 | 152 | blit(g_LoadingScreen.m_ProgressListboxBitmap, g_FrameMan.GetBackBuffer32(), 0, 0, g_LoadingScreen.m_ProgressListboxPosX, g_LoadingScreen.m_ProgressListboxPosY, g_LoadingScreen.m_ProgressListboxBitmap->w, g_LoadingScreen.m_ProgressListboxBitmap->h);
|
142 | 153 |
|
| 154 | + Box loadingSplashTargetBox(Vector(0, static_cast<float>((g_WindowMan.GetResY() - g_LoadingScreen.m_LoadingBackground->GetBitmap()->h) / 2)), static_cast<float>(g_WindowMan.GetResX()), static_cast<float>(g_LoadingScreen.m_LoadingBackground->GetBitmap()->h)); |
143 | 155 | g_WindowMan.ClearBackbuffer(false);
|
| 156 | + g_WindowMan.GetScreenBuffer()->Begin(); |
| 157 | + g_LoadingScreen.m_LoadingBackground->Draw(loadingSplashTargetBox, loadingSplashTargetBox); |
144 | 158 | g_WindowMan.UploadFrame();
|
145 | 159 | }
|
146 | 160 | }
|
|
0 commit comments