]> git.localhorst.tv Git - l2e.git/commitdiff
added some test sprites
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Tue, 7 Aug 2012 14:01:28 +0000 (16:01 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Tue, 7 Aug 2012 14:01:28 +0000 (16:01 +0200)
src/battle/BattleState.cpp
src/battle/HeroTag.cpp
src/battle/HeroTag.h
src/main.cpp
test-data/battle-bg.png [new file with mode: 0644]
test-data/hero.png [new file with mode: 0644]
test-data/monster.png [new file with mode: 0644]

index 2c5fe8174449ceb899f2bf7f8f634baff60304ba..30a33b691b04fc27382b9f1b29c02e593531d89d 100644 (file)
@@ -48,8 +48,9 @@ void BattleState::Resize(int w, int h) {
 void BattleState::EnterState(Application &ctrl, SDL_Surface *screen) {
        monstersLayout->CalculatePositions(background->w, background->h, monsterPositions);
        heroesLayout->CalculatePositions(background->w, background->h, heroesPositions);
+       attackChoices.resize(heroes.size());
        for (vector<Hero>::size_type i(0), end(heroes.size()); i < end; ++i) {
-               heroTags.push_back(HeroTag(&heroes[i], HeroTag::Alignment((i + 1) % 2)));
+               heroTags.push_back(HeroTag(&heroes[i], &attackChoices[i], HeroTag::Alignment((i + 1) % 2)));
        }
 }
 
index d67368ff9b98bf4d0d097e97c03633b0416993c1..713fb8fe35774fbf9766ef72f8791236d8d6b277 100644 (file)
@@ -39,7 +39,7 @@ void HeroTag::Render(SDL_Surface *screen, int width, int height, Point<int> posi
        Vector<int> heroOffset(
                        (align == LEFT) ? 3 : width - hero->Sprite()->Width() - 3,
                        height - hero->Sprite()->Height() - 3);
-       hero->Sprite()->Draw(screen, position + heroOffset);
+       hero->Sprite()->Draw(screen, position + heroOffset, 0, hero->Health() > 0 ? 0 : 2);
 }
 
 }
index c60634853035bf58b76800c48e71b2e90d2f1426..3e42edd44e9dca2accf3d1c1f1bc50a9346e50d3 100644 (file)
@@ -14,6 +14,7 @@
 
 namespace battle {
 
+class AttackChoice;
 class Hero;
 
 class HeroTag {
@@ -25,7 +26,7 @@ public:
        };
 
 public:
-       HeroTag(const Hero *hero, Alignment align) : hero(hero), align(align) { }
+       HeroTag(const Hero *hero, const AttackChoice *choice, Alignment align) : hero(hero), choice(choice), align(align) { }
        ~HeroTag() { }
 
 public:
@@ -33,6 +34,7 @@ public:
 
 private:
        const Hero *hero;
+       const AttackChoice *choice;
        Alignment align;
 
 };
index bd8ff4a48c0850c58232857a6b439d23bdff3853..807784300ae1c5fe416ea0c44f058e3c7596ca66 100644 (file)
@@ -49,33 +49,29 @@ int main(int argc, char **argv) {
                InitScreen screen(width, height);
 
                // temporary test data
-               SDL_Surface *bg(SDL_CreateRGBSurface(0, width, height, 32, 0xFF000000, 0xFF0000, 0xFF00, 0xFF));
-               SDL_FillRect(bg, 0, SDL_MapRGB(bg->format, 0xFF, 0xFF, 0xFF));
-               SDL_Rect r;
-               r.x = 1;
-               r.y = 1;
-               r.w = width - 2;
-               r.h = height - 2;
-               SDL_FillRect(bg, &r, SDL_MapRGB(bg->format, 0, 0, 0));
+               SDL_Surface *bg(IMG_Load("test-data/battle-bg.png"));
                PartyLayout monstersLayout;
                monstersLayout.AddPosition(Point<Uint8>(50, 100));
-               monstersLayout.AddPosition(Point<Uint8>(100, 100));
+               monstersLayout.AddPosition(Point<Uint8>(100, 108));
                monstersLayout.AddPosition(Point<Uint8>(150, 100));
-               monstersLayout.AddPosition(Point<Uint8>(200, 100));
+               monstersLayout.AddPosition(Point<Uint8>(200, 108));
                PartyLayout heroesLayout;
                heroesLayout.AddPosition(Point<Uint8>(27, 219));
                heroesLayout.AddPosition(Point<Uint8>(104, 227));
                heroesLayout.AddPosition(Point<Uint8>(66, 238));
                heroesLayout.AddPosition(Point<Uint8>(143, 246));
-               SDL_Surface *white96(SDL_CreateRGBSurface(0, 96, 96, 32, 0xFF000000, 0xFF0000, 0xFF00, 0xFF));
-               SDL_FillRect(white96, 0, SDL_MapRGB(bg->format, 0xFF, 0xFF, 0xFF));
-               Sprite dummySprite(white96, 96, 96);
+
+               SDL_Surface *monsterImg(IMG_Load("test-data/monster.png"));
+               Sprite dummySprite(monsterImg, 96, 96);
                Monster monster;
                monster.SetSprite(&dummySprite);
+
+               SDL_Surface *heroImg(IMG_Load("test-data/hero.png"));
+               Sprite heroSprite(heroImg, 96, 96);
                Hero hero;
                hero.SetName("Name");
                hero.SetLevel(34);
-               hero.SetSprite(&dummySprite);
+               hero.SetSprite(&heroSprite);
                hero.SetMaxHealth(100);
                hero.SetHealth(50);
                hero.SetMaxMana(100);
diff --git a/test-data/battle-bg.png b/test-data/battle-bg.png
new file mode 100644 (file)
index 0000000..7913872
Binary files /dev/null and b/test-data/battle-bg.png differ
diff --git a/test-data/hero.png b/test-data/hero.png
new file mode 100644 (file)
index 0000000..c61b217
Binary files /dev/null and b/test-data/hero.png differ
diff --git a/test-data/monster.png b/test-data/monster.png
new file mode 100644 (file)
index 0000000..2a76e9a
Binary files /dev/null and b/test-data/monster.png differ