The mScreenManager->Render() calls all of the render functions for the current screen.
On the title screen it is:
Code:
if(mAnimated)
{
RenderSprite(“BeachTop”, BG_TOP_X, BG_TOP_Y);
RenderSprite(“BeachBottom”, BG_BOTTOM_X, BG_BOTTOM_Y);
mWaves->Render();
std::vector< Cloud* >::iterator cloudIt;
for (cloudIt = mClouds.begin(); cloudIt != mClouds.end(); ++cloudIt)
{
(*cloudIt)->Render();
}
}
else
RenderSprite("BeachNonAnimated", BG_TOP_X, BG_TOP_Y);
if(mMenu == OPTMENU_TITLE)
{
RenderSprite("TextBackground", TEXT_BACKGROUND1_X, TEXT_BACKGROUND1_Y);
RenderSprite("TextBackground", TEXT_BACKGROUND2_X, TEXT_BACKGROUND2_Y);
RenderSprite("TextBackground", TEXT_BACKGROUND3_X, TEXT_BACKGROUND3_Y);
RenderSprite("TextBackground", TEXT_BACKGROUND4_X, TEXT_BACKGROUND4_Y);
}
else if(mMenu == OPTMENU_GAMEMODE || mMenu == OPTMENU_NORMAL)
{
RenderSprite("HeaderBackground", HEADER1_X, HEADER1_Y);
if (!mBackArrowIsHighlighted)
RenderSprite("BackArrow", BACKBUTTON_X, BACKBUTTON_Y);
else
RenderSprite("BackArrowHighlighted", BACKBUTTON_X, BACKBUTTON_Y);
if(mMenu == OPTMENU_GAMEMODE)
{
RenderSprite("TextBackground", OPTION1_X, OPTION1_Y);
RenderSprite("TextBackground", OPTION2_X, OPTION2_Y);
RenderSprite("TextBackground", OPTION3_X, OPTION3_Y);
RenderSprite("Description", DESCRIPTION_X, DESCRIPTION_Y);
}
else if(mMenu == OPTMENU_NORMAL)
{
RenderSprite("TextBackground", OPTION1_X, OPTION1_Y);
if (!mDecreaseLevel)
RenderSprite("Decrease", OPTION1_DECREASE_X, OPTION1_DECREASE_Y);
else
RenderSprite("DecreasePushed", OPTION1_DECREASE_X, OPTION1_DECREASE_Y);
if (!mIncreaseLevel)
RenderSprite("Increase", OPTION1_INCREASE_X, OPTION1_INCREASE_Y);
else
RenderSprite("IncreasePushed", OPTION1_INCREASE_X, OPTION1_INCREASE_Y);
RenderSprite("TextBackground", OPTION3_X, OPTION3_Y);
}
}
else if(mMenu == OPTMENU_PUZZLECATEGORY)
{
RenderSprite("HeaderBackground", HEADER1_X, HEADER1_Y);
RenderSprite("CategoryBackground", PUZZLECATBG_X, PUZZLECATBG_Y);
if (!mBackArrowIsHighlighted)
RenderSprite("BackArrow", BACKBUTTON_X, BACKBUTTON_Y);
else
RenderSprite("BackArrowHighlighted", BACKBUTTON_X, BACKBUTTON_Y);
if(!mPreviousCategory)
RenderSprite("PreviousCategory", PUZZLECATLEFT_X, PUZZLECATLEFT_Y);
else
RenderSprite("PreviousCategoryPushed", PUZZLECATLEFT_X, PUZZLECATLEFT_Y);
if(!mNextCategory)
RenderSprite("NextCategory", PUZZLECATRIGHT_X, PUZZLECATRIGHT_Y);
else
RenderSprite("NextCategoryPushed", PUZZLECATRIGHT_X, PUZZLECATRIGHT_Y);
}
else if(mMenu == OPTMENU_PUZZLE)
{
RenderSprite("HeaderBackground", HEADER1_X, HEADER1_Y);
if (!mBackArrowIsHighlighted)
RenderSprite("BackArrow", BACKBUTTON_X, BACKBUTTON_Y);
else
RenderSprite("BackArrowHighlighted", BACKBUTTON_X, BACKBUTTON_Y);
RenderSprite("PuzzleListBackground", PUZZLELIST_X, PUZZLELIST_Y);
if(!mDecreaseLevel)
RenderSprite("PuzzleListUp", PUZZLELISTUP_X, PUZZLELISTUP_Y);
else
RenderSprite("PuzzleListUpPushed", PUZZLELISTUP_X, PUZZLELISTUP_Y);
if(!mIncreaseLevel)
RenderSprite("PuzzleListDown", PUZZLELISTDOWN_X, PUZZLELISTDOWN_Y);
else
RenderSprite("PuzzleListDownPushed", PUZZLELISTDOWN_X, PUZZLELISTDOWN_Y);
for(int i = 0; i < PUZZLE_LINE_COUNT; i++)
{
if(mScreenManager->CheckPuzzleStatus((mCurrentPuzzleLine - 1) + i) == CATSTAT_PERFECT)
RenderSprite("Checkmark", mPuzzleEntryCheckmarkLoc[i].x, mPuzzleEntryCheckmarkLoc[i].y);
}
RenderSprite("TextBackground", START_X, START_Y);
}
else if(mMenu == OPTMENU_OPTIONS)
{
if (!mBackArrowIsHighlighted)
RenderSprite("BackArrow", BACKBUTTON_X, BACKBUTTON_Y);
else
RenderSprite("BackArrowHighlighted", BACKBUTTON_X, BACKBUTTON_Y);
RenderSprite("HeaderBackground", HEADER1_X, HEADER1_Y);
RenderSprite("TextBackground", OPTION1_X, OPTION1_Y);
if (!mDecreaseSound)
RenderSprite("Decrease", OPTION1_DECREASE_X, OPTION1_DECREASE_Y);
else
RenderSprite("DecreasePushed", OPTION1_DECREASE_X, OPTION1_DECREASE_Y);
if (!mIncreaseSound)
RenderSprite("Increase", OPTION1_INCREASE_X, OPTION1_INCREASE_Y);
else
RenderSprite("IncreasePushed", OPTION1_INCREASE_X, OPTION1_INCREASE_Y);
RenderSprite("TextBackground", OPTION4_X, OPTION4_Y);
RenderSprite("TextBackground", OPTION5_X, OPTION5_Y);
RenderSprite("TextBackground", OPTION6_X, OPTION6_Y);
RenderSprite("TextBackground", OPTION7_X, OPTION7_Y);
RenderSprite("TextBackground", OPTION8_X, OPTION8_Y);
RenderSprite("TextBackground", OPTION9_X, OPTION9_Y);
}
else if(mMenu == OPTMENU_SCORES)
{
RenderSprite("HeaderBackground", HEADER1_X, HEADER1_Y);
RenderSprite("ScoresTextBackground", HIGHSCORE_TEXTBG_X, HIGHSCORE_TEXTBG_Y);
if(!mGameOver)
{
if (!mBackArrowIsHighlighted)
RenderSprite("BackArrow", BACKBUTTON_X, BACKBUTTON_Y);
else
RenderSprite("BackArrowHighlighted", BACKBUTTON_X, BACKBUTTON_Y);
}
else
{
if (mNewScore > -1)
RenderSprite("ScoresHighlight", mScoreHightlightLocs[mNewScore].x, mScoreHightlightLocs[mNewScore].y);
RenderSprite("TextBackground", HIGHSCORE_OPTION1_X, HIGHSCORE_OPTION1_Y);
RenderSprite("TextBackground", HIGHSCORE_OPTION2_X, HIGHSCORE_OPTION2_Y);
}
}
mTextManager->Render(0);
if(mAnimated)
{
std::vector< Bubble* >::iterator bubbleIt;
for (bubbleIt = mBubbles.begin(); bubbleIt != mBubbles.end(); ++bubbleIt)
{
(*bubbleIt)->Render();
}
}
if(mMenu == OPTMENU_TITLE)
RenderSprite("TitleScreenText", TITLE_TEXT_X, TITLE_TEXT_Y);
RenderSprite():
Code:
SDL_Rect s;
SetSpriteSourceRect(spriteReference, &s);
SDL_Rect d;
d.x = x;
d.y = y;
d.w = s.w;
d.h = s.h;
SDL_RenderCopy(mRenderer, GetTexture(TextureType_Sprite, spriteReference), &s, &d);
Do you need me to go deeper and post more functions?