X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=97a93994a634c8bcd018fb75803fcbc656d175a4;hb=185c6c79f8ba30981aad4e1d66f98143a344b95e;hp=767464bfe5f7be7b33799aa87cf4b38cc26c1f88;hpb=cccda573516f3bce30efbaba3fc20e4148d3cdc8;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 767464b..97a9399 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,7 +12,9 @@ #include "battle/Monster.h" #include "battle/PartyLayout.h" #include "geometry/Point.h" +#include "graphics/Font.h" #include "graphics/Frame.h" +#include "graphics/Gauge.h" #include "graphics/Sprite.h" #include "sdl/InitImage.h" #include "sdl/InitScreen.h" @@ -30,7 +32,9 @@ using battle::Hero; using battle::Monster; using battle::PartyLayout; using geometry::Point; +using graphics::Font; using graphics::Frame; +using graphics::Gauge; using graphics::Sprite; using sdl::InitImage; using sdl::InitScreen; @@ -53,10 +57,10 @@ int main(int argc, char **argv) { // temporary test data SDL_Surface *bg(IMG_Load("test-data/battle-bg.png")); PartyLayout monstersLayout; - monstersLayout.AddPosition(Point(50, 100)); - monstersLayout.AddPosition(Point(100, 108)); - monstersLayout.AddPosition(Point(150, 100)); - monstersLayout.AddPosition(Point(200, 108)); + monstersLayout.AddPosition(Point(88, 104)); + monstersLayout.AddPosition(Point(128, 104)); + monstersLayout.AddPosition(Point(168, 104)); + monstersLayout.AddPosition(Point(208, 104)); PartyLayout heroesLayout; heroesLayout.AddPosition(Point(27, 219)); heroesLayout.AddPosition(Point(104, 227)); @@ -64,39 +68,89 @@ int main(int argc, char **argv) { heroesLayout.AddPosition(Point(143, 246)); SDL_Surface *monsterImg(IMG_Load("test-data/monster.png")); - Sprite dummySprite(monsterImg, 96, 96); + Sprite dummySprite(monsterImg, 64, 64); 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(&heroSprite); - hero.SetMaxHealth(100); - hero.SetHealth(50); - hero.SetMaxMana(100); - hero.SetMana(66); - hero.SetIP(160); + SDL_Surface *maximImg(IMG_Load("test-data/maxim.png")); + Sprite maximSprite(maximImg, 64, 64); + Hero maxim; + maxim.SetName("Maxim"); + maxim.SetLevel(1); + maxim.SetSprite(&maximSprite); + maxim.SetMaxHealth(33); + maxim.SetHealth(33); + maxim.SetMaxMana(20); + maxim.SetMana(20); + maxim.SetIP(0); + + SDL_Surface *selanImg(IMG_Load("test-data/selan.png")); + Sprite selanSprite(selanImg, 64, 64); + Hero selan; + selan.SetName("Selan"); + selan.SetLevel(1); + selan.SetSprite(&selanSprite); + selan.SetMaxHealth(28); + selan.SetHealth(28); + selan.SetMaxMana(23); + selan.SetMana(23); + selan.SetIP(0); + + SDL_Surface *guyImg(IMG_Load("test-data/guy.png")); + Sprite guySprite(guyImg, 64, 64); + Hero guy; + guy.SetName("Guy"); + guy.SetLevel(1); + guy.SetSprite(&guySprite); + guy.SetMaxHealth(38); + guy.SetHealth(38); + guy.SetMaxMana(0); + guy.SetMana(0); + guy.SetIP(0); + + SDL_Surface *dekarImg(IMG_Load("test-data/dekar.png")); + Sprite dekarSprite(dekarImg, 64, 64); + Hero dekar; + dekar.SetName("Dekar"); + dekar.SetLevel(1); + dekar.SetSprite(&dekarSprite); + dekar.SetMaxHealth(38); + dekar.SetHealth(38); + dekar.SetMaxMana(0); + dekar.SetMana(0); + dekar.SetIP(0); SDL_Surface *attackIcons(IMG_Load("test-data/attack-type-icons.png")); Sprite attackIconsSprite(attackIcons, 32, 32); SDL_Surface *moveIcons(IMG_Load("test-data/move-icons.png")); Sprite moveIconsSprite(moveIcons, 32, 32); + SDL_Surface *heroTagSprites(IMG_Load("test-data/hero-tag-sprites.png")); + Sprite heroTagSprite(heroTagSprites, 32, 16); + SDL_Surface *numbers(IMG_Load("test-data/numbers.png")); + Sprite numbersSprite(numbers, 16, 16); + Font heroTagFont(&numbersSprite); SDL_Surface *tagFrames(IMG_Load("test-data/tag-frames.png")); - Frame heroTagFrame(tagFrames, 8, 8, 1, 1, 17); - Frame activeHeroTagFrame(tagFrames, 8, 8); + Frame heroTagFrame(tagFrames, 16, 16, 1, 1, 0, 33); + Frame activeHeroTagFrame(tagFrames, 16, 16); + + SDL_Surface *gauges(IMG_Load("test-data/gauges.png")); + Gauge healthGauge(gauges, 0, 16, 0, 0, 16, 6, 1, 6); + Gauge manaGauge(gauges, 0, 32, 0, 0, 16, 6, 1, 6); + Gauge ikariGauge(gauges, 0, 48, 0, 0, 16, 6, 1, 6); + + SDL_Surface *selectFrameImg(IMG_Load("test-data/select-frame.png")); + Frame selectFrame(selectFrameImg, 16, 16); - BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &attackIconsSprite, &moveIconsSprite, &heroTagFrame, &activeHeroTagFrame)); + // TODO: create a container for all the battle resources + BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &attackIconsSprite, &moveIconsSprite, &heroTagFrame, &activeHeroTagFrame, &healthGauge, &manaGauge, &ikariGauge, &heroTagSprite, &heroTagFont, &selectFrame)); battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster); - battleState->AddHero(hero); - battleState->AddHero(hero); - battleState->AddHero(hero); - battleState->AddHero(hero); + battleState->AddHero(maxim); + battleState->AddHero(selan); + battleState->AddHero(guy); + battleState->AddHero(dekar); Application app(&screen, battleState); app.Buttons().MapKey(SDLK_w, Input::PAD_UP); app.Buttons().MapKey(SDLK_d, Input::PAD_RIGHT);