Skip to content
Snippets Groups Projects
Commit 5ca281fd authored by Frederik Alexander Keens's avatar Frederik Alexander Keens
Browse files

Merge branch 'betterHelpMenu' into 'main'

Better help menu

See merge request !55
parents e8767e72 965b721f
Branches
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