X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=8f92a357dacb74830cd0350cc15ec55149c09c17;hb=4a1816af30dcfe53181a25355bd51cc7b24a83f1;hp=0fce8fe511640d4e9f3fdb7fa9feceaa224e7e1a;hpb=e411b1bbef7bc5bc383046e7bf294d2c5a17ac7e;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 0fce8fe..8f92a35 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,6 +5,71 @@ * Author: holy */ +#include "app/Application.h" +#include "battle/BattleState.h" +#include "battle/Monster.h" +#include "battle/PartyLayout.h" +#include "geometry/Point.h" +#include "graphics/Sprite.h" +#include "sdl/InitScreen.h" +#include "sdl/InitSDL.h" + +#include +#include + +using app::Application; +using battle::BattleState; +using battle::Monster; +using battle::PartyLayout; +using geometry::Point; +using graphics::Sprite; +using sdl::InitScreen; +using sdl::InitSDL; + +using std::cerr; +using std::cout; +using std::endl; +using std::exception; + int main(int argc, char **argv) { - return 0; + 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)); + SDL_Surface *white100(SDL_CreateRGBSurface(0, 100, 100, 32, 0xFF000000, 0xFF0000, 0xFF00, 0xFF)); + SDL_FillRect(white100, 0, SDL_MapRGB(bg->format, 0xFF, 0xFF, 0xFF)); + Sprite dummyMonsterSprite(white100, 100, 100); + Monster monster; + monster.SetSprite(&dummyMonsterSprite); + + try { + InitSDL sdl; + InitScreen screen(width, height); + + BattleState *battleState(new BattleState(bg, monstersLayout)); + battleState->AddMonster(monster); + battleState->AddMonster(monster); + battleState->AddMonster(monster); + battleState->AddMonster(monster); + Application app(&screen, battleState); + app.Run(); + + return 0; + } catch (exception &e) { + cerr << "exception in main(): " << e.what() << endl; + return 1; + } }