]> git.localhorst.tv Git - orbi.git/blob - src/orbi.cpp
59c0e0c1cbdbf8ecd9254da156ce212a43d1bcb6
[orbi.git] / src / orbi.cpp
1 #include "app/Application.h"
2 #include "app/IMG.h"
3 #include "app/SDL.h"
4 #include "graphics/const.h"
5 #include "graphics/Canvas.h"
6 #include "graphics/Window.h"
7 #include "world/AABB.h"
8 #include "world/Entity.h"
9 #include "world/Tile.h"
10 #include "world/Tileset.h"
11 #include "world/World.h"
12
13 #include <iostream>
14 #include <SDL_image.h>
15
16 using namespace orbi;
17 using namespace std;
18
19
20 int main(int argc, const char *argv[]) {
21         SDL sdl(SDL_INIT_VIDEO);
22         IMG img(IMG_INIT_PNG);
23         Window win(
24                 "orbi",
25                 Window::POS_UNDEF,
26                 Vector<int>(800, 600),
27                 SDL_WINDOW_RESIZABLE
28         );
29         Canvas canv(win.CreateCanvas(
30                 0
31         ));
32
33         Tileset tiles(
34                 canv.LoadTexture(sdl.GetBasePath() + "../../data/test-tile.png"),
35                 Vector<int>(32, 32)
36         );
37
38         World world(Vector<int>(10, 10));
39         world.SetTile(Vector<int>(5, 5), Tile(0));
40         world.SetTile(Vector<int>(5, 6), Tile(0));
41         world.SetTile(Vector<int>(6, 5), Tile(0));
42         world.SetTile(Vector<int>(6, 6), Tile(0));
43         world.SetTile(Vector<int>(6, 7), Tile(0));
44         world.SetTile(Vector<int>(7, 4), Tile(0));
45         world.SetTile(Vector<int>(7, 5), Tile(0));
46         world.SetTile(Vector<int>(8, 5), Tile(0));
47         world.SetTile(Vector<int>(9, 4), Tile(0));
48         world.SetTile(Vector<int>(9, 5), Tile(0));
49         world.SetTile(Vector<int>(9, 6), Tile(0));
50
51         world.SetTile(Vector<int>(3, 8), Tile(0));
52         world.SetTile(Vector<int>(2, 9), Tile(0));
53         world.SetTile(Vector<int>(3, 9), Tile(0));
54
55         Entity e;
56         e.bounds = AABB(Vector<float>(5, 0), Vector<float>(1.9, 2.9));
57         Entity &player = world.AddEntity(e);
58
59         Application app(canv, world, tiles);
60         app.Control(player);
61         app.Run();
62
63         return 0;
64 }