MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Mission_Intro_Play

Method Mission_Intro_Play

Source/PC/Graphics_PC.cpp:964–1044  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

962
963
964void cGraphics_PC::Mission_Intro_Play( const bool pShowHelicopter, const eTileTypes pTileset, const std::string pTop, const std::string pBottom) {
965
966 const std::vector<cPosition>& pPositions = BackgroundPositions[pTileset];
967
968 static int16 mouseCheck = 0;
969
970 mFodder->mVideo_Draw_FrameDataPtr = mBriefing_ParaHeli->data();
971
972 mFodder->mVideo_Draw_PaletteIndex = 0xE0;
973
974 mImageMissionIntro.CopyPalette(mPalette, 0x100, 0);
975
976 mSurface->paletteSet(mPalette );
977
978 Heli_TextPos = 0;
979 Heli_TextPosBottom = 320;
980 mFodder->mString_GapCharID = 0x25;
981
982 mFodder->String_CalculateWidth(320, mFont_Underlined_Width, pTop);
983 auto topTextPos = mFodder->mGUI_Temp_X;
984
985 mFodder->String_CalculateWidth(320, mFont_Underlined_Width, pBottom);
986 auto bottomTextPos = mFodder->mGUI_Temp_X - 4;
987
988 do {
989 if (mSurface->isPaletteAdjusting())
990 mSurface->palette_FadeTowardNew();
991
992 mFodder->Briefing_Helicopter_Check();
993 HeliIntro_TickParallaxAndText();
994
995 mFodder->String_Print(mFont_Underlined_Width, 1, -332 + (topTextPos + (Heli_TextPos)), 0x01, pTop);
996 mFodder->String_Print(mFont_Underlined_Width, 1, (Heli_TextPosBottom)+bottomTextPos, 0xB5, pBottom);
997
998 // Clouds
999 mMission_Intro_DrawX = pPositions[0].mX;
1000 mMission_Intro_DrawY = pPositions[0].mY;
1001 HeliIntroBlit_OpaqueAlignedX( mMission_Intro_Gfx_Clouds3, 320 - (Heli_VeryBack >> 16));
1002
1003 mMission_Intro_DrawX = pPositions[1].mX;
1004 mMission_Intro_DrawY = pPositions[1].mY;
1005 HeliIntro_BlitMaskedAlignedX( mMission_Intro_Gfx_Clouds2, 320 - (Heli_Back >> 16));
1006
1007 mMission_Intro_DrawX = pPositions[2].mX;
1008 mMission_Intro_DrawY = pPositions[2].mY;
1009 HeliIntro_BlitMaskedAlignedX( mMission_Intro_Gfx_Clouds1, 320 - (Heli_middle >> 16));
1010
1011 // Trees (Main)
1012 mMission_Intro_DrawX = pPositions[3].mX;
1013 mMission_Intro_DrawY = pPositions[3].mY;
1014 HeliIntroBlit_OpaqueAlignedX( mMission_Intro_Gfx_TreesMain, 320 - (Heli_middle >> 16));
1015
1016 mFodder->mVideo_Draw_FrameDataPtr = mBriefing_ParaHeli->data() + mBriefing_ParaHeli_Frames[mFodder->mBriefingHelicopter_FrameCounter];
1017
1018 mFodder->mVideo_Draw_PosX = mFodder->mBriefingHelicopter_ScreenX; // X
1019 mFodder->mVideo_Draw_PosY = mFodder->mBriefingHelicopter_ScreenY; // Y
1020 mFodder->mVideo_Draw_Columns = 0x40;
1021 mFodder->mVideo_Draw_Rows = 0x18;

Callers

nothing calls this directly

Calls 9

CopyPaletteMethod · 0.80
paletteSetMethod · 0.80
String_CalculateWidthMethod · 0.80
isPaletteAdjustingMethod · 0.80
palette_FadeTowardNewMethod · 0.80
String_PrintMethod · 0.80
Video_SleepMethod · 0.80
paletteNew_SetToBlackMethod · 0.80

Tested by

no test coverage detected