Use dpi ref in Intro.cpp

This commit is contained in:
Gymnasiast 2023-04-03 21:37:10 +02:00 committed by duncanspumpkin
parent 90d21dbe14
commit f98818f8e5
3 changed files with 24 additions and 24 deletions

View File

@ -38,7 +38,7 @@ static bool _chainLiftFinished;
static void ScreenIntroProcessMouseInput();
static void ScreenIntroProcessKeyboardInput();
static void ScreenIntroSkipPart();
static void ScreenIntroDrawLogo(DrawPixelInfo* dpi);
static void ScreenIntroDrawLogo(DrawPixelInfo& dpi);
// rct2: 0x0068E966
void IntroUpdate()
@ -168,7 +168,7 @@ void IntroUpdate()
}
}
void IntroDraw(DrawPixelInfo* dpi)
void IntroDraw(DrawPixelInfo& dpi)
{
int32_t screenWidth = ContextGetWidth();
@ -178,34 +178,34 @@ void IntroDraw(DrawPixelInfo* dpi)
case IntroState::Disclaimer2:
break;
case IntroState::PublisherBegin:
GfxClear(dpi, BACKROUND_COLOUR_DARK);
GfxClear(&dpi, BACKROUND_COLOUR_DARK);
break;
case IntroState::PublisherScroll:
GfxClear(dpi, BACKROUND_COLOUR_DARK);
GfxClear(&dpi, BACKROUND_COLOUR_DARK);
// Draw a white rectangle for the logo background (gives a bit of white margin)
GfxFillRect(
dpi,
&dpi,
{ { (screenWidth / 2) - 320 + 50, _introStateCounter + 50 },
{ (screenWidth / 2) - 320 + 50 + 540, _introStateCounter + 50 + 425 } },
BORDER_COLOUR_PUBLISHER);
// Draw Infogrames logo
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_INFOGRAMES_00), { (screenWidth / 2) - 320 + 69, _introStateCounter + 69 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_INFOGRAMES_10), { (screenWidth / 2) - 320 + 319, _introStateCounter + 69 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_INFOGRAMES_01), { (screenWidth / 2) - 320 + 69, _introStateCounter + 319 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_INFOGRAMES_11), { (screenWidth / 2) - 320 + 319, _introStateCounter + 319 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_INFOGRAMES_00), { (screenWidth / 2) - 320 + 69, _introStateCounter + 69 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_INFOGRAMES_10), { (screenWidth / 2) - 320 + 319, _introStateCounter + 69 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_INFOGRAMES_01), { (screenWidth / 2) - 320 + 69, _introStateCounter + 319 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_INFOGRAMES_11), { (screenWidth / 2) - 320 + 319, _introStateCounter + 319 });
break;
case IntroState::DeveloperBegin:
GfxClear(dpi, BACKROUND_COLOUR_DARK);
GfxClear(&dpi, BACKROUND_COLOUR_DARK);
GfxTransposePalette(PALETTE_G1_IDX_DEVELOPER, 255);
break;
case IntroState::DeveloperScroll:
GfxClear(dpi, BACKROUND_COLOUR_DARK);
GfxClear(&dpi, BACKROUND_COLOUR_DARK);
// Draw Chris Sawyer logo
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_CHRIS_SAWYER_00), { (screenWidth / 2) - 320 + 70, _introStateCounter });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_CHRIS_SAWYER_10), { (screenWidth / 2) - 320 + 320, _introStateCounter });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_CHRIS_SAWYER_00), { (screenWidth / 2) - 320 + 70, _introStateCounter });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_CHRIS_SAWYER_10), { (screenWidth / 2) - 320 + 320, _introStateCounter });
break;
case IntroState::LogoFadeIn:
if (_introStateCounter <= 0xFF00)
@ -233,7 +233,7 @@ void IntroDraw(DrawPixelInfo* dpi)
ScreenIntroDrawLogo(dpi);
break;
case IntroState::Clear:
GfxClear(dpi, BACKROUND_COLOUR_DARK);
GfxClear(&dpi, BACKROUND_COLOUR_DARK);
break;
default:
break;
@ -280,7 +280,7 @@ static void ScreenIntroSkipPart()
}
}
static void ScreenIntroDrawLogo(DrawPixelInfo* dpi)
static void ScreenIntroDrawLogo(DrawPixelInfo& dpi)
{
int32_t screenWidth = ContextGetWidth();
int32_t imageWidth = 640;
@ -293,11 +293,11 @@ static void ScreenIntroDrawLogo(DrawPixelInfo* dpi)
DrawingEngineInvalidateImage(SPR_INTRO_LOGO_11);
DrawingEngineInvalidateImage(SPR_INTRO_LOGO_21);
GfxClear(dpi, BACKROUND_COLOUR_LOGO);
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_LOGO_00), { imageX + 0, 0 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_LOGO_10), { imageX + 220, 0 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_LOGO_20), { imageX + 440, 0 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_LOGO_01), { imageX + 0, 240 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_LOGO_11), { imageX + 220, 240 });
GfxDrawSprite(*dpi, ImageId(SPR_INTRO_LOGO_21), { imageX + 440, 240 });
GfxClear(&dpi, BACKROUND_COLOUR_LOGO);
GfxDrawSprite(dpi, ImageId(SPR_INTRO_LOGO_00), { imageX + 0, 0 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_LOGO_10), { imageX + 220, 0 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_LOGO_20), { imageX + 440, 0 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_LOGO_01), { imageX + 0, 240 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_LOGO_11), { imageX + 220, 240 });
GfxDrawSprite(dpi, ImageId(SPR_INTRO_LOGO_21), { imageX + 440, 240 });
}

View File

@ -32,4 +32,4 @@ enum class IntroState : uint8_t
extern IntroState gIntroState;
void IntroUpdate();
void IntroDraw(DrawPixelInfo* dpi);
void IntroDraw(DrawPixelInfo& dpi);

View File

@ -43,7 +43,7 @@ void Painter::Paint(IDrawingEngine& de)
auto dpi = de.GetDrawingPixelInfo();
if (gIntroState != IntroState::None)
{
IntroDraw(dpi);
IntroDraw(*dpi);
}
else
{