diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-02-11 12:34:52 -0500 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-02-11 12:34:52 -0500 |
commit | 77be863f4f15d2481a64e4e8dadb4060a6e4e590 (patch) | |
tree | ca571702d2148a75b5b847e77d26270257f54ebc /src/game.cpp | |
parent | 1400ade977e13e3b535d3c2fddb6e15de3c9b5a5 (diff) | |
download | therapy-77be863f4f15d2481a64e4e8dadb4060a6e4e590.tar.gz therapy-77be863f4f15d2481a64e4e8dadb4060a6e4e590.tar.bz2 therapy-77be863f4f15d2481a64e4e8dadb4060a6e4e590.zip |
Implemented map rendering and basic collision
Only wall and platform collision currently works, and map edges are not currently implemented.
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/game.cpp b/src/game.cpp index dfe700e..7cbe7e0 100644 --- a/src/game.cpp +++ b/src/game.cpp | |||
@@ -8,6 +8,7 @@ | |||
8 | #include "systems/controlling.h" | 8 | #include "systems/controlling.h" |
9 | #include "systems/pondering.h" | 9 | #include "systems/pondering.h" |
10 | #include "systems/animating.h" | 10 | #include "systems/animating.h" |
11 | #include "systems/mapping.h" | ||
11 | #include "animation.h" | 12 | #include "animation.h" |
12 | #include "renderer.h" | 13 | #include "renderer.h" |
13 | #include "consts.h" | 14 | #include "consts.h" |
@@ -26,10 +27,14 @@ void key_callback(GLFWwindow* window, int key, int, int action, int) | |||
26 | game.systemManager_.input(key, action); | 27 | game.systemManager_.input(key, action); |
27 | } | 28 | } |
28 | 29 | ||
29 | Game::Game(GLFWwindow* window) : window_(window) | 30 | Game::Game( |
31 | GLFWwindow* window) : | ||
32 | window_(window), | ||
33 | world_("res/maps.xml") | ||
30 | { | 34 | { |
31 | systemManager_.emplaceSystem<ControllingSystem>(*this); | 35 | systemManager_.emplaceSystem<ControllingSystem>(*this); |
32 | systemManager_.emplaceSystem<PonderingSystem>(*this); | 36 | systemManager_.emplaceSystem<PonderingSystem>(*this); |
37 | systemManager_.emplaceSystem<MappingSystem>(*this); | ||
33 | systemManager_.emplaceSystem<AnimatingSystem>(*this); | 38 | systemManager_.emplaceSystem<AnimatingSystem>(*this); |
34 | 39 | ||
35 | int player = entityManager_.emplaceEntity(); | 40 | int player = entityManager_.emplaceEntity(); |
@@ -49,11 +54,16 @@ Game::Game(GLFWwindow* window) : window_(window) | |||
49 | player, | 54 | player, |
50 | 203, 44, 10, 12); | 55 | 203, 44, 10, 12); |
51 | 56 | ||
57 | systemManager_.getSystem<PonderingSystem>().initializeBody( | ||
58 | player, | ||
59 | PonderableComponent::Type::freefalling); | ||
60 | |||
52 | entityManager_.emplaceComponent<DroppableComponent>(player); | 61 | entityManager_.emplaceComponent<DroppableComponent>(player); |
53 | entityManager_.emplaceComponent<PonderableComponent>(player); | ||
54 | entityManager_.emplaceComponent<ControllableComponent>(player); | 62 | entityManager_.emplaceComponent<ControllableComponent>(player); |
55 | entityManager_.emplaceComponent<OrientableComponent>(player); | 63 | entityManager_.emplaceComponent<OrientableComponent>(player); |
56 | 64 | ||
65 | systemManager_.getSystem<MappingSystem>().loadMap(world_.getStartingMapId()); | ||
66 | |||
57 | glfwSwapInterval(1); | 67 | glfwSwapInterval(1); |
58 | glfwSetWindowUserPointer(window_, this); | 68 | glfwSetWindowUserPointer(window_, this); |
59 | glfwSetKeyCallback(window_, key_callback); | 69 | glfwSetKeyCallback(window_, key_callback); |