X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=c3d73cb93ec43b6c2cc1bac78498e58d283a3406;hb=d1df71f636f14fe2cb5b44b173e3d30bdc73521e;hp=bd8ff4a48c0850c58232857a6b439d23bdff3853;hpb=628b3a7276d0b330719e05504b23bafcf88f8fca;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index bd8ff4a..c3d73cb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,6 +12,8 @@ #include "battle/Monster.h" #include "battle/PartyLayout.h" #include "geometry/Point.h" +#include "graphics/Frame.h" +#include "graphics/Gauge.h" #include "graphics/Sprite.h" #include "sdl/InitImage.h" #include "sdl/InitScreen.h" @@ -29,6 +31,8 @@ using battle::Hero; using battle::Monster; using battle::PartyLayout; using geometry::Point; +using graphics::Frame; +using graphics::Gauge; using graphics::Sprite; using sdl::InitImage; using sdl::InitScreen; @@ -49,45 +53,49 @@ 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(50, 100)); - monstersLayout.AddPosition(Point(100, 100)); - monstersLayout.AddPosition(Point(150, 100)); - monstersLayout.AddPosition(Point(200, 100)); + 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)); heroesLayout.AddPosition(Point(66, 238)); heroesLayout.AddPosition(Point(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, 64, 64); Monster monster; monster.SetSprite(&dummySprite); + + SDL_Surface *heroImg(IMG_Load("test-data/hero.png")); + Sprite heroSprite(heroImg, 64, 64); Hero hero; hero.SetName("Name"); hero.SetLevel(34); - hero.SetSprite(&dummySprite); + hero.SetSprite(&heroSprite); hero.SetMaxHealth(100); hero.SetHealth(50); hero.SetMaxMana(100); - hero.SetMana(66); - hero.SetIP(160); + hero.SetMana(100); + hero.SetIP(255); 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 *tagFrames(IMG_Load("test-data/tag-frames.png")); + 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); - BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &attackIconsSprite, &moveIconsSprite)); + BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &attackIconsSprite, &moveIconsSprite, &heroTagFrame, &activeHeroTagFrame, &healthGauge, &manaGauge, &ikariGauge)); battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster);