X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=bd8ff4a48c0850c58232857a6b439d23bdff3853;hb=628b3a7276d0b330719e05504b23bafcf88f8fca;hp=6bce28f0efe5d5e9eee4dbc044f0d6567c0139f9;hpb=867fd5d9b79c3b9c1d0fb17ba9f55cfe971b93d5;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 6bce28f..bd8ff4a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,11 +13,14 @@ #include "battle/PartyLayout.h" #include "geometry/Point.h" #include "graphics/Sprite.h" +#include "sdl/InitImage.h" #include "sdl/InitScreen.h" #include "sdl/InitSDL.h" #include #include +#include +#include using app::Application; using app::Input; @@ -27,6 +30,7 @@ using battle::Monster; using battle::PartyLayout; using geometry::Point; using graphics::Sprite; +using sdl::InitImage; using sdl::InitScreen; using sdl::InitSDL; @@ -39,38 +43,51 @@ int main(int argc, char **argv) { const int width = 800; const int height = 480; - // 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)); - PartyLayout monstersLayout; - monstersLayout.AddPosition(Point(50, 100)); - monstersLayout.AddPosition(Point(100, 100)); - monstersLayout.AddPosition(Point(150, 100)); - monstersLayout.AddPosition(Point(200, 100)); - 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); - Monster monster; - monster.SetSprite(&dummySprite); - Hero hero; - hero.SetSprite(&dummySprite); - try { InitSDL sdl; + InitImage image(IMG_INIT_PNG); InitScreen screen(width, height); - BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout)); + // 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)); + PartyLayout monstersLayout; + monstersLayout.AddPosition(Point(50, 100)); + monstersLayout.AddPosition(Point(100, 100)); + monstersLayout.AddPosition(Point(150, 100)); + monstersLayout.AddPosition(Point(200, 100)); + 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); + Monster monster; + monster.SetSprite(&dummySprite); + Hero hero; + hero.SetName("Name"); + hero.SetLevel(34); + hero.SetSprite(&dummySprite); + hero.SetMaxHealth(100); + hero.SetHealth(50); + hero.SetMaxMana(100); + hero.SetMana(66); + hero.SetIP(160); + + 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); + + BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &attackIconsSprite, &moveIconsSprite)); battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster);