Skip to content
Snippets Groups Projects
Commit 965b721f authored by Max Götz Hans-Georg Körschen's avatar Max Götz Hans-Georg Körschen Committed by Frederik Alexander Keens
Browse files

Better help menu

parent e8767e72
No related branches found
No related tags found
1 merge request!55Better help menu
/** /**
* HelpMenu.cpp
*
* @authors Max Körschen * @authors Max Körschen
* @author Nicolas Will * @author Nicolas Will
*/ */
#include "HelpMenu.hpp" #include "HelpMenu.hpp"
#include <SDL_ttf.h> #include <SDL_ttf.h>
...@@ -29,11 +30,11 @@ std::vector<std::string> helpTable = { ...@@ -29,11 +30,11 @@ std::vector<std::string> helpTable = {
"Einheiten daerfen sich in einer Runde nur ein Mal bewegen und ein Mal " "Einheiten daerfen sich in einer Runde nur ein Mal bewegen und ein Mal "
"angreifen! ", // 7 "angreifen! ", // 7
"Gegnerische Einheiten muessen sich in REICHWEITE befinden! ", // 8 "Gegnerische Einheiten muessen sich in REICHWEITE befinden! ", // 8
"Einheiten kosten Geld! ", // 9 "Einheiten kosten Geld! Ihren aktuellen Kontostand sehen sie oben links! ", // 9
"Am Start ihres Zuges erhalten Sie pro Stadt 1000 Geld! ", // 10 "Am Start ihres Zuges erhalten Sie pro Stadt 1000 Geld! ", // 10
"Angreifer schiessen immer zuerst! ", // 11 "Angreifer schiessen immer zuerst! ", // 11
"Achten Sie auf die Einheitenklassen um Schadensboni auszunutzen! ", // 12 "Achten Sie auf die Einheitenklassen um Schadensboni auszunutzen! ", // 12
"Nutzen Sie diese Werkzeuge um das Spiel gegen ihren Gegner zu gewinnen! "}; // 13 "Nutzen Sie diese Werkzeuge um das Spiel zu gewinnen! "}; // 13
void HelpMenu::render(advanced_wars::Engine& engine) void HelpMenu::render(advanced_wars::Engine& engine)
{ {
...@@ -58,6 +59,10 @@ void HelpMenu::render(advanced_wars::Engine& engine) ...@@ -58,6 +59,10 @@ void HelpMenu::render(advanced_wars::Engine& engine)
int boxWidth = 600; int boxWidth = 600;
int boxHeight = 610; int boxHeight = 610;
SDL_SetRenderDrawColor(engine.renderer(), 255, 255, 255, 255);
SDL_Rect boxw = {48, 48, boxWidth + 4, boxHeight + 4};
SDL_RenderFillRect(engine.renderer(), &boxw);
SDL_SetRenderDrawColor(engine.renderer(), 75, 87, 219, 255); SDL_SetRenderDrawColor(engine.renderer(), 75, 87, 219, 255);
SDL_Rect box = {50, 50, boxWidth, boxHeight}; SDL_Rect box = {50, 50, boxWidth, boxHeight};
SDL_RenderFillRect(engine.renderer(), &box); SDL_RenderFillRect(engine.renderer(), &box);
...@@ -81,24 +86,33 @@ void HelpMenu::render(advanced_wars::Engine& engine) ...@@ -81,24 +86,33 @@ void HelpMenu::render(advanced_wars::Engine& engine)
SDL_RenderFillRect(engine.renderer(), &divider); SDL_RenderFillRect(engine.renderer(), &divider);
Spritesheet* spritesheet = engine.getSpritesheet(); Spritesheet* spritesheet = engine.getSpritesheet();
SDL_Texture* buildingTexture = spritesheet->getBuildingTextures().at(0); SDL_Texture* buildingTexture = spritesheet->getBuildingTextures().at(5);
SDL_Texture* buildingTextureRedHQ = spritesheet->getBuildingTextures().at(0);
SDL_Texture* buildingTextureBluHQ = spritesheet->getBuildingTextures().at(1);
int renderingScale = 2; int renderingScale = 2;
SDL_Rect targetRect = {65, textY, 16 * renderingScale, 16 * renderingScale * 2}; SDL_Rect targetRect = {65, textY, 16 * renderingScale, 16 * renderingScale * 2};
SDL_Rect targetRectBluHQ = {115, textY, 16 * renderingScale, 16 * renderingScale * 2};
SDL_Rect sourceRect = {0, 0, 16, 32}; SDL_Rect sourceRect = {0, 0, 16, 32};
SDL_RenderCopy(engine.renderer(), buildingTexture, &sourceRect, &targetRect); SDL_RenderCopy(engine.renderer(), buildingTextureRedHQ, &sourceRect, &targetRect);
SDL_RenderCopy(engine.renderer(), buildingTextureBluHQ, &sourceRect, &targetRectBluHQ);
renderTextPortion( renderTextPortion(
engine, "Das ist das Hauptquartier! Wenn es faellt, haben Sie das Spiel verloren!", font, engine, "Das ist das Hauptquartier! Wenn es faellt haben Sie das Spiel verloren!", font,
white, boxWidth - 120 - 5, 120, textY); white, boxWidth - 120 - 5, 175, textY);
textY += 48; textY += 48;
renderTexture(buildingTexture, engine, 55, textY + 48, 16, 16); renderTexture(buildingTexture, engine, 55, textY + 48, 16, 16);
renderTexture(buildingTexture, engine, 55, textY + 96, 32, 16); renderTexture(buildingTexture, engine, 55, textY + 96, 32, 16);
renderTexture(buildingTexture, engine, 55, textY + 144, 48, 16); renderTexture(buildingTexture, engine, 55, textY + 144, 48, 16);
renderTexture(buildingTexture, engine, 55, textY + 192, 64, 16);
SDL_Rect targetRectHarbor = {65, textY + 180, 16 * renderingScale, 16 * renderingScale * 2};
SDL_Rect srcRectHarbor = {64, 0, 16, 48};
// harbor needs special treatment
SDL_RenderCopy(engine.renderer(), buildingTexture, &srcRectHarbor, &targetRectHarbor);
renderTextPortion( renderTextPortion(
engine, engine,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment