]> git.localhorst.tv Git - orbi.git/blob - src/orbi.cpp
f410a40bcab41c612dd8a9c1b4dabe355a8fb7b0
[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("/home/holy/projects/orbi/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         Entity e;
52         e.Bounds() = AABB(Vector<float>(5, 2), Vector<float>(2, 3));
53         world.AddEntity(e);
54
55         Application app(canv, world, tiles);
56         app.Run();
57
58         return 0;
59 }