From 77be863f4f15d2481a64e4e8dadb4060a6e4e590 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sun, 11 Feb 2018 12:34:52 -0500 Subject: Implemented map rendering and basic collision Only wall and platform collision currently works, and map edges are not currently implemented. --- src/game.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/game.cpp') 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 @@ #include "systems/controlling.h" #include "systems/pondering.h" #include "systems/animating.h" +#include "systems/mapping.h" #include "animation.h" #include "renderer.h" #include "consts.h" @@ -26,10 +27,14 @@ void key_callback(GLFWwindow* window, int key, int, int action, int) game.systemManager_.input(key, action); } -Game::Game(GLFWwindow* window) : window_(window) +Game::Game( + GLFWwindow* window) : + window_(window), + world_("res/maps.xml") { systemManager_.emplaceSystem(*this); systemManager_.emplaceSystem(*this); + systemManager_.emplaceSystem(*this); systemManager_.emplaceSystem(*this); int player = entityManager_.emplaceEntity(); @@ -49,11 +54,16 @@ Game::Game(GLFWwindow* window) : window_(window) player, 203, 44, 10, 12); + systemManager_.getSystem().initializeBody( + player, + PonderableComponent::Type::freefalling); + entityManager_.emplaceComponent(player); - entityManager_.emplaceComponent(player); entityManager_.emplaceComponent(player); entityManager_.emplaceComponent(player); + systemManager_.getSystem().loadMap(world_.getStartingMapId()); + glfwSwapInterval(1); glfwSetWindowUserPointer(window_, this); glfwSetKeyCallback(window_, key_callback); -- cgit 1.4.1