]> git.localhorst.tv Git - l2e.git/commitdiff
write hero's name on tag
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 8 Aug 2012 18:53:33 +0000 (20:53 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Wed, 8 Aug 2012 18:53:33 +0000 (20:53 +0200)
src/battle/HeroTag.cpp
src/battle/Resources.h
src/main.cpp
test-data/normal-font.png [new file with mode: 0644]

index 01cee4485f463ed1c68fce599c7fb6e47f0aa08e..531031f8e93868b2cb8143b40c650b6e424d6a0f 100644 (file)
@@ -26,6 +26,7 @@ void HeroTag::Render(SDL_Surface *screen, int width, int height, Point<int> posi
        // frame
        const Frame *frame(active ? res->activeHeroTagFrame : res->heroTagFrame);
        Vector<int> frameOffset(frame->BorderWidth(), frame->BorderHeight());
+       Vector<int> alignOffset(align == LEFT ? 4 * res->heroTagFont->CharWidth() : 0, 0);
        frame->Draw(screen, position, width, height);
 
        int yOffset((height - hero->Sprite()->Height()) / 2);
@@ -74,6 +75,9 @@ void HeroTag::Render(SDL_Surface *screen, int width, int height, Point<int> posi
        Vector<int> manaNumberOffset(labelX + res->heroTagLabels->Width(), manaLabelOffset.Y());
        res->heroTagFont->DrawNumber(hero->Mana(), screen, position + manaNumberOffset, 3);
 
+       // name
+       res->normalFont->DrawString(hero->Name(), screen, position + frameOffset + alignOffset, 5);
+
        // hero
        Vector<int> heroOffset(
                        (align == LEFT) ? yOffset : width - hero->Sprite()->Width() - yOffset,
index 7c37bcaf1cbd14966aee66ceb7ba063f16fd7f78..8d1144f6b30bdc60efd5437f5981fd1e08585bd8 100644 (file)
@@ -34,6 +34,8 @@ struct Resources {
 
        graphics::Frame *selectFrame;
 
+       graphics::Font *normalFont;
+
 
        Resources()
        : moveIcons(0)
@@ -50,6 +52,8 @@ struct Resources {
        , ikariGauge(0)
 
        , selectFrame(0)
+
+       , normalFont(0)
        { }
 
 };
index 29c08a5fbda46a2ea20acd511af27761c0db3add..d9a2f57c438cb4b1dfa3685e57b8d0cd3d419b68 100644 (file)
@@ -154,6 +154,15 @@ int main(int argc, char **argv) {
                Frame selectFrame(selectFrameImg, 16, 16);
                battleRes.selectFrame = &selectFrame;
 
+               SDL_Surface *normalFontImg(IMG_Load("test-data/normal-font.png"));
+               Sprite normalFontSprite(normalFontImg, 16, 16);
+               Font normalFont(&normalFontSprite);
+               normalFont.MapRange('A', 'M', 0, 1);
+               normalFont.MapRange('N', 'Z', 0, 2);
+               normalFont.MapRange('a', 'm', 0, 3);
+               normalFont.MapRange('n', 'z', 0, 4);
+               battleRes.normalFont = &normalFont;
+
                BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &battleRes));
                battleState->AddMonster(monster);
                battleState->AddMonster(monster);
diff --git a/test-data/normal-font.png b/test-data/normal-font.png
new file mode 100644 (file)
index 0000000..b2b1a40
Binary files /dev/null and b/test-data/normal-font.png differ