]> git.localhorst.tv Git - l2e.git/commitdiff
added spell menu's headline
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 8 Aug 2012 21:12:15 +0000 (23:12 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 8 Aug 2012 21:12:15 +0000 (23:12 +0200)
src/battle/Resources.h
src/battle/states/SelectSpell.cpp
src/battle/states/SelectSpell.h
src/main.cpp

index 40c0b3b92a167b04eaff8649fb9a8cc7648b3425..2de6b69f684d7513a6c7e56c34b846a78b4c074f 100644 (file)
@@ -38,6 +38,7 @@ struct Resources {
 
        graphics::Font *normalFont;
 
+       const char *spellMenuHeadline;
        graphics::Menu</* Spell */ void *> spellMenuPrototype;
 
 
@@ -58,6 +59,8 @@ struct Resources {
        , selectFrame(0)
 
        , normalFont(0)
+
+       , spellMenuHeadline("")
        { }
 
 };
index 5f358fbe45c031f2420749654f97885941e29c8b..713c3d53ce2b276a93db8b4072eb778192e03e09 100644 (file)
@@ -65,6 +65,7 @@ void SelectSpell::Render(SDL_Surface *screen) {
        parent->Render(screen);
        Vector<int> offset(battle->CalculateScreenOffset(screen));
        RenderFrame(screen, offset);
+       RenderHeadline(screen, offset);
        RenderMenu(screen, offset);
 }
 
@@ -77,8 +78,19 @@ void SelectSpell::RenderFrame(SDL_Surface *screen, const Vector<int> &offset) {
        frame->Draw(screen, position + offset, width, height);
 }
 
+void SelectSpell::RenderHeadline(SDL_Surface *screen, const Vector<int> &offset) {
+       const Resources &res(battle->Res());
+       Point<int> position(
+                       2 * res.selectFrame->BorderWidth() + res.normalFont->CharWidth(),
+                       2 * res.selectFrame->BorderHeight());
+       res.normalFont->DrawString(res.spellMenuHeadline, screen, position + offset);
+}
+
 void SelectSpell::RenderMenu(SDL_Surface *screen, const Vector<int> &offset) {
-       Point<int> position(2 * battle->Res().selectFrame->BorderWidth(), 2 * battle->Res().selectFrame->BorderHeight());
+       const Resources &res(battle->Res());
+       Point<int> position(
+                       2 * res.selectFrame->BorderWidth() + res.normalFont->CharWidth(),
+                       2 * res.selectFrame->BorderHeight() + 2 * res.normalFont->CharHeight());
        battle->GetSpellMenu().Draw(screen, position + offset);
 }
 
index f3841a1f92e78b0e8bf076972af872f67baf74f5..eda7e9166820b976ffe703a5e07173d7ac9716a7 100644 (file)
@@ -38,6 +38,7 @@ public:
 
 private:
        void RenderFrame(SDL_Surface *, const geometry::Vector<int> &offset);
+       void RenderHeadline(SDL_Surface *, const geometry::Vector<int> &offset);
        void RenderMenu(SDL_Surface *, const geometry::Vector<int> &offset);
 
 private:
index f5d32e48495cd61b96a98b69daba2c778baecb01..22c43cc1974be862e701edfe10591622c11f29fa 100644 (file)
@@ -166,8 +166,10 @@ int main(int argc, char **argv) {
                normalFont.MapChar(':', 10, 0);
                normalFont.MapChar('!', 10, 0);
                normalFont.MapChar('?', 10, 0);
+               // TODO: add '.' character
                battleRes.normalFont = &normalFont;
 
+               battleRes.spellMenuHeadline = "Please choose a spell.";
                battleRes.spellMenuPrototype = Menu</* Spell */ void *>(&normalFont, 12, 6, 8, 2, 32);
 
                BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &battleRes));