diff --git a/editor/src/CenterGrid.hpp b/editor/src/CenterGrid.hpp index d322af12b43e34b6ac8098540b7d00bc8bc9e3e8..4ebe97a80a47f293de7d3764fa1327cc3fc5744a 100644 --- a/editor/src/CenterGrid.hpp +++ b/editor/src/CenterGrid.hpp @@ -126,11 +126,11 @@ class CenterGrid : public QWidget /** * @brief List of all spriteIDs that are tiles */ - std::vector<int> m_tileIDList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 160, 161, 162, 163, 164, 165, 166, 167, 168, 192, 193, 194, - 195, 198, 199, 201, 224, 225, 226, 227, 232, 233}; + std::vector<int> m_tileIDList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 96, 97, 98, 99, 100, 101, 102, 103, 104, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 192, 193, 194, 195, 198, 199, 201, 224, 225, 226, 227, 232, 233}; /** * @brief List of all spriteIDs that are mobs @@ -143,7 +143,7 @@ class CenterGrid : public QWidget /** * @brief List of all spriteIDs that are doors */ - std::vector<int> m_doorIDList = {102,103,104,134,135,136,166,167,168,198,199}; + std::vector<int> m_doorIDList = {102, 103, 104, 134, 135, 136, 166, 167, 168, 198, 199}; }; } // namespace editor \ No newline at end of file diff --git a/editor/src/Config.hpp b/editor/src/Config.hpp index cd820effdc33a2f91735388175b23d6888dac172..2f5f01d0aa68b244bc1b6a2cef66cf8bcc218bb6 100644 --- a/editor/src/Config.hpp +++ b/editor/src/Config.hpp @@ -16,7 +16,7 @@ class Config : public TileConfig, public ObjectConfig public: /** * @brief loads config from boost property tree - * @param tree boost property tree + * @param tree boost property tree */ void load(const pt::ptree &tree); diff --git a/editor/src/HDF5Handler.cpp b/editor/src/HDF5Handler.cpp index 504163bee2d39c44cda6b64adbfbec0a886041a5..ed3be7e20b484994ede87e554fcd6f1a4c647a84 100644 --- a/editor/src/HDF5Handler.cpp +++ b/editor/src/HDF5Handler.cpp @@ -67,8 +67,7 @@ QString HDF5Handler::removeRoom(int id) lvl::Level level("./level.h5"); std::vector<lvl::Room> &roomsList = level.getRooms(); auto it = - std::find_if(roomsList.begin(), roomsList.end(), - [id](const lvl::Room &room) { return room.getId() == id; }); + std::find_if(roomsList.begin(), roomsList.end(), [id](const lvl::Room &room) { return room.getId() == id; }); lvl::Room &room = *it; QString name = QString::fromStdString(room.getName()); level.deleteRoom(id); diff --git a/editor/src/HDF5Handler.hpp b/editor/src/HDF5Handler.hpp index 31f180324ef03b2bcd893b40a6b739a2395d9d03..61e3321d8548cc9a1ea4878cf9600a00066ec94d 100644 --- a/editor/src/HDF5Handler.hpp +++ b/editor/src/HDF5Handler.hpp @@ -13,7 +13,6 @@ namespace editor { - /** * @brief Editor-handler for all interactions with HDF5 */ diff --git a/editor/src/MainWindow.cpp b/editor/src/MainWindow.cpp index 161dd7555ea133df333966318ad78dac7bb38609..6eb6cc72479ab8483bc639d54c9695a68499bea1 100644 --- a/editor/src/MainWindow.cpp +++ b/editor/src/MainWindow.cpp @@ -129,8 +129,8 @@ MainWindow::MainWindow(DialogSelection selected, const std::filesystem::path &pa case 2: m_centerGrid->setCurrentSprite(m_leftWidget->getPixmapByIndex(86), 146); break; - } - m_centerGrid->onTileClicked(x,y); + } + m_centerGrid->onTileClicked(x, y); } } } diff --git a/editor/src/StartupDialog.hpp b/editor/src/StartupDialog.hpp index 91eb2ecf8d993015fa3a4b43ddc0ae029775a29f..787563261a4743b42e5347057f992956725f7fb0 100644 --- a/editor/src/StartupDialog.hpp +++ b/editor/src/StartupDialog.hpp @@ -33,9 +33,8 @@ class StartupDialog : public QDialog { Q_OBJECT public: - /** - * @brief Create new StartupDialog + * @brief Create new StartupDialog * @param parent Parent QWidget, default nullptr */ explicit StartupDialog(QWidget *parent = nullptr); diff --git a/editor/src/TileConfig.hpp b/editor/src/TileConfig.hpp index 80a36b013c375e19aecc0eba2a3a44d74df86635..e2fba291d7c0b5976f191536dca425e89669abfc 100644 --- a/editor/src/TileConfig.hpp +++ b/editor/src/TileConfig.hpp @@ -16,7 +16,6 @@ namespace pt = boost::property_tree; class TileConfig : public ConfigSection<TileConfig> { public: - /** * @brief struct holding one tile * @param id ID of the tile diff --git a/game/src/BulletManager.cpp b/game/src/BulletManager.cpp index f6b8a159d721fa52b7a7034f74059e917f9ff7f2..86b56497df7aaa4875c66a7e60fb970dde9ef662 100644 --- a/game/src/BulletManager.cpp +++ b/game/src/BulletManager.cpp @@ -115,4 +115,4 @@ void BulletManager::cleanup() m_enemy_projectiles.clear(); } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/BulletManager.hpp b/game/src/BulletManager.hpp index 440154d28edeef5bbdb06fc733fdec59f88e3e0a..14a25f0ee8baa2ad443a6866146c79366e845af7 100644 --- a/game/src/BulletManager.hpp +++ b/game/src/BulletManager.hpp @@ -97,4 +97,4 @@ class BulletManager void cleanup(); }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/BulletObject.cpp b/game/src/BulletObject.cpp index f1f646cd4e9ab9393a2b24607ad7753123666089..22ad7d1120a0166d8971c7b9b0a2e4cb9217faa5 100644 --- a/game/src/BulletObject.cpp +++ b/game/src/BulletObject.cpp @@ -22,4 +22,4 @@ b2Body *BulletObject::getBody() return m_body; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/BulletObject.hpp b/game/src/BulletObject.hpp index 99ecdc7bb79edd44d7720bc4309d4043c64235ba..a453fe4932bd883f75f49a2ab985d19bdd388b4e 100644 --- a/game/src/BulletObject.hpp +++ b/game/src/BulletObject.hpp @@ -56,4 +56,4 @@ class BulletObject : public DynamicObject b2Body *getBody(); }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/Camera.cpp b/game/src/Camera.cpp index cfb96f2e470a669f5675fd812c25055528fb2dcb..e2f941ac73cf88c6794faab93f01e8de8e22c40f 100644 --- a/game/src/Camera.cpp +++ b/game/src/Camera.cpp @@ -58,4 +58,4 @@ void Camera::updateContext(int x, int y, int viewportWidth, int viewportHeight, m_LevelHeight = levelHeight; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/Camera.hpp b/game/src/Camera.hpp index d65b690d5e998751dbc568e48e9a7f480ff984b9..87394858843ffec1c1d1d625be48a6830d0f323c 100644 --- a/game/src/Camera.hpp +++ b/game/src/Camera.hpp @@ -24,7 +24,7 @@ class Camera * @param levelHeight The height of the level. */ Camera(int viewportWidth, int viewportHeight, int levelWidth, int levelHeight); - + /** * @brief Destroys the Camera object. */ @@ -85,12 +85,12 @@ class Camera void updateContext(int x, int y, int viewportWidth, int viewportHeight, int levelWidth, int levelHeight); private: - int m_X; ///< The current X position of the camera. - int m_Y; ///< The current Y position of the camera. - int m_viewportWidth; ///< The width of the viewport. - int m_viewportHeight; ///< The height of the viewport. - int m_LevelWidth; ///< The width of the level. - int m_LevelHeight; ///< The height of the level. + int m_X; ///< The current X position of the camera. + int m_Y; ///< The current Y position of the camera. + int m_viewportWidth; ///< The width of the viewport. + int m_viewportHeight; ///< The height of the viewport. + int m_LevelWidth; ///< The width of the level. + int m_LevelHeight; ///< The height of the level. }; -} +} // namespace game diff --git a/game/src/ContactListener.cpp b/game/src/ContactListener.cpp index 80ceafb41df6392003ccd29828f10a8f9c422ea3..f9a8efb275fee2519cbfd67f4eb3e714ac2b0951 100644 --- a/game/src/ContactListener.cpp +++ b/game/src/ContactListener.cpp @@ -29,59 +29,59 @@ void ContactListener::EndContact(b2Contact *contact) void ContactListener::HandleCollision(b2Body *bodyA, b2Body *bodyB) { - GameObject* obja = reinterpret_cast<GameObject*>(bodyA->GetUserData().pointer); - GameObject* objb = reinterpret_cast<GameObject*>(bodyB->GetUserData().pointer); + GameObject *obja = reinterpret_cast<GameObject *>(bodyA->GetUserData().pointer); + GameObject *objb = reinterpret_cast<GameObject *>(bodyB->GetUserData().pointer); - if(obja->get_type() == ObjectType::EnemyBullet) + if (obja->get_type() == ObjectType::EnemyBullet) { enemyBulletsToDestroy.push_back(bodyA); - if(objb->get_type() == ObjectType::Player) + if (objb->get_type() == ObjectType::Player) { std::cout << "Player hit" << std::endl; } } - else if (objb->get_type() == ObjectType::EnemyBullet) + else if (objb->get_type() == ObjectType::EnemyBullet) { enemyBulletsToDestroy.push_back(bodyB); - if(obja->get_type() == ObjectType::Player) + if (obja->get_type() == ObjectType::Player) { std::cout << "Player hit" << std::endl; } } - if(obja->get_type() == ObjectType::PlayerBullet) + if (obja->get_type() == ObjectType::PlayerBullet) { playerBulletsToDestroy.push_back(bodyA); - if(objb->get_type() == ObjectType::Enemy) + if (objb->get_type() == ObjectType::Enemy) { std::cout << "Enemy hit" << std::endl; enemiesToDestroy.push_back(bodyB); } } - else if(objb->get_type() == ObjectType::PlayerBullet) + else if (objb->get_type() == ObjectType::PlayerBullet) { playerBulletsToDestroy.push_back(bodyB); - if(obja->get_type() == ObjectType::Enemy) + if (obja->get_type() == ObjectType::Enemy) { std::cout << "Enemy hit" << std::endl; enemiesToDestroy.push_back(bodyA); } } - if(obja->get_type() == ObjectType::Player) + if (obja->get_type() == ObjectType::Player) { - if(objb->get_type() == ObjectType::Door) + if (objb->get_type() == ObjectType::Door) { std::cout << "Door entered" << std::endl; m_door_entered = true; } } - else if (objb->get_type() == ObjectType::Player) + else if (objb->get_type() == ObjectType::Player) { - if(obja->get_type() == ObjectType::Door) + if (obja->get_type() == ObjectType::Door) { std::cout << "Door entered" << std::endl; m_door_entered = true; - } + } } } @@ -94,9 +94,9 @@ void ContactListener::cleanup() bool ContactListener::door_entered() { - bool state= m_door_entered; + bool state = m_door_entered; m_door_entered = false; return state; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/ContactListener.hpp b/game/src/ContactListener.hpp index 0e2e42fa338b072b4a0fb9c3bf4f274a5e0320f1..7dc10689f7e9a62bfd37e9aec0f9d1cda8b40e26 100644 --- a/game/src/ContactListener.hpp +++ b/game/src/ContactListener.hpp @@ -71,7 +71,7 @@ class ContactListener : public b2ContactListener bool door_entered(); void cleanup(); - + private: /** * @brief Handles the collision between two bodies. @@ -84,8 +84,7 @@ class ContactListener : public b2ContactListener */ void HandleCollision(b2Body *bodyA, b2Body *bodyB); - bool m_door_entered; }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/DynamicObject.cpp b/game/src/DynamicObject.cpp index 3f4af78974a3335d2ba83e4c0a9073ea7785c07f..9657cd74303d6faca5170e8aefadf66d75ba765b 100644 --- a/game/src/DynamicObject.cpp +++ b/game/src/DynamicObject.cpp @@ -11,4 +11,4 @@ DynamicObject::DynamicObject(b2World *world, const b2Vec2 &position, const b2Vec { m_body->SetLinearDamping(3.0f); } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/DynamicObject.hpp b/game/src/DynamicObject.hpp index a8621b7ba2dc1b02575b708d44f5c5ea06e840f3..48e2a402869f6be5454b66e2bed3002f36b2d115 100644 --- a/game/src/DynamicObject.hpp +++ b/game/src/DynamicObject.hpp @@ -34,4 +34,4 @@ class DynamicObject : public GameObject float friction, const std::vector<int> &tileIDs, bool isBullet); }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/Enemy.cpp b/game/src/Enemy.cpp index c237e50f9774b113fbdfb9df67eae73869b7c231..cc20bf6ce8d309440d98c54897dfc00069e77b85 100644 --- a/game/src/Enemy.cpp +++ b/game/src/Enemy.cpp @@ -45,7 +45,7 @@ void Enemy::set_fireRate(int rate) void Enemy::take_damage(int damage) { - m_health-=damage; + m_health -= damage; } b2Body *Enemy::getBody() @@ -53,4 +53,4 @@ b2Body *Enemy::getBody() return m_body; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/Enemy.hpp b/game/src/Enemy.hpp index 00104bb33f59b6c260fcd584f480ff22f2200e4c..d462489af5f489ac64c64bb27d10d022598f5a13 100644 --- a/game/src/Enemy.hpp +++ b/game/src/Enemy.hpp @@ -65,11 +65,11 @@ class Enemy : public DynamicObject void set_fireRate(int rate); private: - int m_health; /**< The health of the enemy, representing its hit points. */ - int m_damage; /**< The amount of damage the enemy can inflict on other objects. */ + int m_health; /**< The health of the enemy, representing its hit points. */ + int m_damage; /**< The amount of damage the enemy can inflict on other objects. */ int m_fireRate; /**< The rate at which the enemy can fire projectiles. */ Uint32 m_fireDelay; /**< The delay between shots in milliseconds. */ Uint32 m_lastFire; /**< The timestamp of the last shot fired. */ }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/EnemyManager.cpp b/game/src/EnemyManager.cpp index 3bbbbf9103ce80f08204d4dd8c1e9e7548db81c7..c8033f8e3afd090a321d739312a691d594824e46 100644 --- a/game/src/EnemyManager.cpp +++ b/game/src/EnemyManager.cpp @@ -70,4 +70,4 @@ void EnemyManager::cleanup() m_enemies.clear(); } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/EnemyManager.hpp b/game/src/EnemyManager.hpp index 1101f39069acd3bf81a3b3e63bde285e5de8dd50..75919aafab84063f195363a285af2c007fbccc0e 100644 --- a/game/src/EnemyManager.hpp +++ b/game/src/EnemyManager.hpp @@ -88,4 +88,4 @@ class EnemyManager void cleanup(); }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/GameContext.cpp b/game/src/GameContext.cpp index 067c3109dd3769458c8a42508626624a2fd81aa0..aa78853d8e6fcb31ac3050dcc69d12d892def03e 100644 --- a/game/src/GameContext.cpp +++ b/game/src/GameContext.cpp @@ -8,10 +8,11 @@ namespace game { GameContext::GameContext(lvl::Level &level, EnemyManager &enemy_manager, BulletManager &bullet_manager, - TilesheetManager &tilesheet_manager, ObjectManager &object_manager, Player &player, SDL_Renderer* renderer, Camera &camera) + TilesheetManager &tilesheet_manager, ObjectManager &object_manager, Player &player, + SDL_Renderer *renderer, Camera &camera) : m_level(level), m_bulletManager(bullet_manager), m_enemyManager(enemy_manager), m_objectManager(object_manager), - m_tilesheetManager(tilesheet_manager), m_current_room(level.getRooms().at(2)), - m_player(player), m_renderer(renderer), m_camera(camera) + m_tilesheetManager(tilesheet_manager), m_current_room(level.getRooms().at(2)), m_player(player), + m_renderer(renderer), m_camera(camera) { } @@ -31,16 +32,16 @@ void GameContext::changeSzene() SDL_Rect fadeRect = {0, 0, m_camera.getViewportWidth(), m_camera.getViewportHeight()}; SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_BLEND); - // Fade-Out - for (int alpha = 0; alpha <= 255; alpha += 15) { - + // Fade-Out + for (int alpha = 0; alpha <= 255; alpha += 15) + { + render_underlying_szene(); SDL_SetRenderDrawColor(m_renderer, 0, 0, 0, alpha); SDL_RenderFillRect(m_renderer, &fadeRect); SDL_RenderPresent(m_renderer); - SDL_Delay(25); // Delay for smooth fade-out - + SDL_Delay(25); // Delay for smooth fade-out } float old_room_width = m_current_room.getWidth() * m_tileSize; @@ -48,7 +49,7 @@ void GameContext::changeSzene() float new_x_pos; float new_y_pos; - //random int between 2 and 4 + // random int between 2 and 4 int random_next_id = rand() % 8 + 2; lvl::Room new_room = m_level.getRooms().at(random_next_id); @@ -56,62 +57,63 @@ void GameContext::changeSzene() float new_room_height = new_room.getHeight() * m_tileSize; b2Vec2 player_pos = m_player.getPosition(); - //std::cout << "Player position: " << player_pos.x << " " << player_pos.y << std::endl; + // std::cout << "Player position: " << player_pos.x << " " << player_pos.y << std::endl; if (player_pos.x < old_room_width / 6) { - //check if there is a door in the left side of the room + // check if there is a door in the left side of the room - new_x_pos = (new_room_width - (new_room_width/7)) / (m_player.getPixelsPerMeterScaled()); - new_y_pos = (new_room_height/2) / (m_player.getPixelsPerMeterScaled()); + new_x_pos = (new_room_width - (new_room_width / 7)) / (m_player.getPixelsPerMeterScaled()); + new_y_pos = (new_room_height / 2) / (m_player.getPixelsPerMeterScaled()); m_player.getBody()->SetTransform({new_x_pos, new_y_pos}, 0); loadRoom(new_room); - - } else if (player_pos.x > (old_room_width - (old_room_width / 6))) + } + else if (player_pos.x > (old_room_width - (old_room_width / 6))) { - //check if there is a door in the right side of the room + // check if there is a door in the right side of the room - new_x_pos = (new_room_width/7) / (m_player.getPixelsPerMeterScaled()); - new_y_pos = (new_room_height/2) / (m_player.getPixelsPerMeterScaled()); + new_x_pos = (new_room_width / 7) / (m_player.getPixelsPerMeterScaled()); + new_y_pos = (new_room_height / 2) / (m_player.getPixelsPerMeterScaled()); m_player.getBody()->SetTransform({new_x_pos, new_y_pos}, 0); loadRoom(new_room); - - } else if (player_pos.y < (old_room_height / 6)) + } + else if (player_pos.y < (old_room_height / 6)) { - //check if there is a door in the up side of the room + // check if there is a door in the up side of the room new_x_pos = (new_room_width / 2) / (m_player.getPixelsPerMeterScaled()); - new_y_pos = (new_room_height - (new_room_height/7)) / (m_player.getPixelsPerMeterScaled()); + new_y_pos = (new_room_height - (new_room_height / 7)) / (m_player.getPixelsPerMeterScaled()); m_player.getBody()->SetTransform({new_x_pos, new_y_pos}, 0); loadRoom(new_room); - - } else if (player_pos.y > (old_room_height - (old_room_height / 6))) + } + else if (player_pos.y > (old_room_height - (old_room_height / 6))) { - //check if there is a door in the down side of the room + // check if there is a door in the down side of the room new_x_pos = (new_room_width / 2) / (m_player.getPixelsPerMeterScaled()); - new_y_pos = (new_room_height/ 7) / (m_player.getPixelsPerMeterScaled()); + new_y_pos = (new_room_height / 7) / (m_player.getPixelsPerMeterScaled()); m_player.getBody()->SetTransform({new_x_pos, new_y_pos}, 0); loadRoom(new_room); } - - m_camera.updateContext(0, 0, m_camera.getViewportWidth(), m_camera.getViewportHeight(), new_room_width, new_room_height); + + m_camera.updateContext(0, 0, m_camera.getViewportWidth(), m_camera.getViewportHeight(), new_room_width, + new_room_height); m_camera.updateDirect(m_player.getPosition().x, m_player.getPosition().y); //// Fade-In - for (int alpha = 255; alpha >=0; alpha -= 15) { - + for (int alpha = 255; alpha >= 0; alpha -= 15) + { + render_underlying_szene(); SDL_SetRenderDrawColor(m_renderer, 0, 0, 0, alpha); SDL_RenderFillRect(m_renderer, &fadeRect); SDL_RenderPresent(m_renderer); - SDL_Delay(25); // Delay for smooth fade-in - + SDL_Delay(25); // Delay for smooth fade-in } } @@ -127,7 +129,8 @@ void GameContext::loadRoom(const lvl::Room &next_room) { b2Vec2 enemy_pos = {static_cast<float>(enemy_it->position.x * m_tileSize), static_cast<float>(enemy_it->position.y * m_tileSize)}; - m_enemyManager.addEnemy(enemy_pos, m_level.getEnemies().at(enemy_it->id).getSprites(), m_level.getEnemies()[0].getHealth(), 5); + m_enemyManager.addEnemy(enemy_pos, m_level.getEnemies().at(enemy_it->id).getSprites(), + m_level.getEnemies()[0].getHealth(), 5); } const std::unordered_set<int> valid_door_ids = {102, 103, 104, 134, 135, 136, 166, 167, 168, 198, 199}; // door ids @@ -143,30 +146,31 @@ void GameContext::loadRoom(const lvl::Room &next_room) } } + // place walls + int tile_pos_x = 0; + int tile_pos_y = 0; - //place walls - int tile_pos_x = 0; - int tile_pos_y = 0; - - const std::unordered_set<int> valid_wall_ids = {0,1,2,3,4,5,32,37,64,69,96,101,128,129,130,131,132,133,160,161,162,163,164,165}; //valid wall ids + const std::unordered_set<int> valid_wall_ids = { + 0, 1, 2, 3, 4, 5, 32, 37, 64, 69, 96, 101, + 128, 129, 130, 131, 132, 133, 160, 161, 162, 163, 164, 165}; // valid wall ids - for (auto it = m_current_room.tilesBegin(); it != m_current_room.tilesEnd(); ++it) - { - if (valid_wall_ids.find(*it) != valid_wall_ids.end()) - { - // Compute the corresponding tile position + for (auto it = m_current_room.tilesBegin(); it != m_current_room.tilesEnd(); ++it) + { + if (valid_wall_ids.find(*it) != valid_wall_ids.end()) + { + // Compute the corresponding tile position b2Vec2 object_pos = {static_cast<float>(tile_pos_x * m_tileSize + m_tileSize / 2.0), static_cast<float>(tile_pos_y * m_tileSize + m_tileSize / 2.0)}; m_objectManager.addObject(object_pos); - } - - tile_pos_x++; - if (tile_pos_x >= m_current_room.getWidth()) - { - tile_pos_x = 0; - tile_pos_y++; - } - } + } + + tile_pos_x++; + if (tile_pos_x >= m_current_room.getWidth()) + { + tile_pos_x = 0; + tile_pos_y++; + } + } } lvl::Room &GameContext::getCurrentRoom() @@ -174,7 +178,7 @@ lvl::Room &GameContext::getCurrentRoom() return m_current_room; } -} +} // namespace game void game::GameContext::render_underlying_szene() { diff --git a/game/src/GameContext.hpp b/game/src/GameContext.hpp index 5b7799309f19614a4e867e8170e422e8ac4e4712..bca0d8ea92474cc02491923bf01ae7ed1242df41 100644 --- a/game/src/GameContext.hpp +++ b/game/src/GameContext.hpp @@ -32,8 +32,9 @@ class GameContext * @param camera Reference to the camera object. */ GameContext(lvl::Level &level, EnemyManager &enemy_manager, BulletManager &bullet_manager, - TilesheetManager &tilesheet_manager, ObjectManager &object_manager, Player &player, SDL_Renderer* renderer, Camera &camera); - + TilesheetManager &tilesheet_manager, ObjectManager &object_manager, Player &player, + SDL_Renderer *renderer, Camera &camera); + /** * @brief Destroys the GameContext object. */ @@ -76,16 +77,16 @@ class GameContext void render_underlying_szene(); private: - lvl::Room m_current_room; ///< The current room being played. - lvl::Level &m_level; ///< Reference to the level object. - BulletManager &m_bulletManager; ///< Reference to the bullet manager. - EnemyManager &m_enemyManager; ///< Reference to the enemy manager. - ObjectManager &m_objectManager; ///< Reference to the object manager. + lvl::Room m_current_room; ///< The current room being played. + lvl::Level &m_level; ///< Reference to the level object. + BulletManager &m_bulletManager; ///< Reference to the bullet manager. + EnemyManager &m_enemyManager; ///< Reference to the enemy manager. + ObjectManager &m_objectManager; ///< Reference to the object manager. TilesheetManager &m_tilesheetManager; ///< Reference to the tilesheet manager. - Camera &m_camera; ///< Reference to the camera object. - Player &m_player; ///< Reference to the player object. - SDL_Renderer* m_renderer; ///< Pointer to the SDL renderer. - int m_tileSize; ///< Tile size used in the game (respects scale factor). + Camera &m_camera; ///< Reference to the camera object. + Player &m_player; ///< Reference to the player object. + SDL_Renderer *m_renderer; ///< Pointer to the SDL renderer. + int m_tileSize; ///< Tile size used in the game (respects scale factor). }; -} +} // namespace game diff --git a/game/src/GameObject.cpp b/game/src/GameObject.cpp index e1a9048a73ae863f596faf1207d3cbf1c738f46a..c5525bc42ae130fa7e0c363c24f351de5b45b6c1 100644 --- a/game/src/GameObject.cpp +++ b/game/src/GameObject.cpp @@ -8,17 +8,18 @@ namespace game GameObject::GameObject(b2World *world, const b2Vec2 &position, const b2Vec2 &size, float density, float scale, float friction, const std::vector<int> &tileIDs, bool isBullet, bool isDynamic) : m_world(world), m_size(scale * size), m_frameDuration(0.0f), m_lastFrameSwitch(0.0f), m_currentFrame(tileIDs[0]), - m_firstFrame(tileIDs[0]), m_lastFrame(m_firstFrame + tileIDs.size() - 1), m_tileIDs(tileIDs), m_render_angle(0.0f), m_render_flip(SDL_FLIP_NONE) + m_firstFrame(tileIDs[0]), m_lastFrame(m_firstFrame + tileIDs.size() - 1), m_tileIDs(tileIDs), + m_render_angle(0.0f), m_render_flip(SDL_FLIP_NONE) { // Box2D m_pixelsPerMeterScaled = pixelsPerMeter * scale; b2BodyDef bodyDef; - if(isDynamic) + if (isDynamic) { bodyDef.type = b2_dynamicBody; } - else + else { bodyDef.type = b2_staticBody; } @@ -35,7 +36,7 @@ GameObject::GameObject(b2World *world, const b2Vec2 &position, const b2Vec2 &siz fixtureDef.shape = &boxShape; fixtureDef.density = density; fixtureDef.friction = friction; - if(isBullet) + if (isBullet) { fixtureDef.filter.groupIndex = -1; } @@ -115,4 +116,4 @@ ObjectType GameObject::get_type() { return m_type; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/GameObject.hpp b/game/src/GameObject.hpp index dbedf4f512b6eafdcb4b76bde0e0a54a51690e48..e53c895a527e3fc5983eac9727c6a729c1710826 100644 --- a/game/src/GameObject.hpp +++ b/game/src/GameObject.hpp @@ -10,13 +10,14 @@ namespace game constexpr float pixelsPerMeter = 20.0; /**< Conversion factor from meters to pixels. */ -enum class ObjectType { - Player, - PlayerBullet, - Enemy, - EnemyBullet, - Door, - Obstacle +enum class ObjectType +{ + Player, + PlayerBullet, + Enemy, + EnemyBullet, + Door, + Obstacle }; /** @@ -85,7 +86,8 @@ class GameObject /** * @brief Retrieves the conversion factor from meters to pixels. * - * This function returns the conversion factor from meters to pixels, which is used to scale the object's size (also relevant for rendering). + * This function returns the conversion factor from meters to pixels, which is used to scale the object's size (also + * relevant for rendering). * * @return The conversion factor from meters to pixels. */ @@ -101,7 +103,6 @@ class GameObject */ void setRenderAngle(float angle); - /** * @brief Sets the flip of the object for rendering. * @@ -139,4 +140,4 @@ class GameObject float m_pixelsPerMeterScaled; /**< Conversion factor from meters to pixels. */ }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/GameWindow.cpp b/game/src/GameWindow.cpp index d179192e45ed59483c06afdb1250dfee3b3a8f70..cadc865b745b5d72e142adf3cdece8c3411c2f73 100644 --- a/game/src/GameWindow.cpp +++ b/game/src/GameWindow.cpp @@ -17,7 +17,7 @@ GameWindow::GameWindow(const int32_t width, const int32_t height, const float_t m_level.getRooms().at(2).getHeight() * m_level.getSpritesheet().getTileSize() * m_Scale), m_gameContext(m_level, m_enemyManager, m_bulletManager, m_tilesheetManager, m_objectManager, m_player, m_Renderer, m_Camera) - + { m_world.SetContactListener(&m_contactListener); m_gameContext.initialize(); @@ -26,15 +26,14 @@ GameWindow::GameWindow(const int32_t width, const int32_t height, const float_t GameWindow::~GameWindow() { m_boundingboxes.clear(); - } void GameWindow::draw() { // Background color - //SDL_SetRenderDrawColor(m_Renderer, 61, 37, 59, 255); - SDL_SetRenderDrawColor(m_Renderer, 0,0,0, 255); + // SDL_SetRenderDrawColor(m_Renderer, 61, 37, 59, 255); + SDL_SetRenderDrawColor(m_Renderer, 0, 0, 0, 255); SDL_RenderClear(m_Renderer); m_tilesheetManager.renderBackground(m_gameContext.getCurrentRoom(), m_Camera); @@ -57,9 +56,8 @@ void GameWindow::update(float timeStep, int32_t velocityIterations, int32_t posi if (m_contactListener.door_entered()) { - //std::cout << "Szene change" << std::endl; + // std::cout << "Szene change" << std::endl; m_gameContext.changeSzene(); - } b2Vec2 playerPos = m_player.getPosition(); @@ -85,4 +83,4 @@ b2Vec2 GameWindow::getPlayerPosition() const return m_player.getPosition(); } -} +} // namespace game diff --git a/game/src/GameWindow.hpp b/game/src/GameWindow.hpp index aa1514fe893c85cc17a15e44bf4695d7fec488f1..ad10c9ff5230604d0977d98e3c1ca2ffc95f66f8 100644 --- a/game/src/GameWindow.hpp +++ b/game/src/GameWindow.hpp @@ -120,4 +120,4 @@ class GameWindow : public SDLApplication Camera m_Camera; }; -} +} // namespace game diff --git a/game/src/ObjectManager.cpp b/game/src/ObjectManager.cpp index 599a64bf232e18ab73868ffcba22845e63bd1ba9..fc8004c2f8df4d5ffbafa0e557a10731df409b5d 100644 --- a/game/src/ObjectManager.cpp +++ b/game/src/ObjectManager.cpp @@ -29,21 +29,22 @@ ObjectManager::~ObjectManager() void ObjectManager::addDoor(const b2Vec2 &position) { - StaticObject *new_object = new StaticObject(m_world, position, b2Vec2(16.0f, 16.0f), - m_tilesheetManager.getGameScale(), 0.0f, - std::vector<int>{-1}, ObjectType::Door); - + StaticObject *new_object = + new StaticObject(m_world, position, b2Vec2(16.0f, 16.0f), m_tilesheetManager.getGameScale(), 0.0f, + std::vector<int>{-1}, ObjectType::Door); + m_doors.emplace_back(new_object); } -void ObjectManager::addObject(const b2Vec2 &position) { +void ObjectManager::addObject(const b2Vec2 &position) +{ - StaticObject *new_object = new StaticObject(m_world, position, b2Vec2(16.0f, 16.0f), - m_tilesheetManager.getGameScale(), 0.0f, std::vector<int>{-1}, ObjectType::Obstacle); + StaticObject *new_object = + new StaticObject(m_world, position, b2Vec2(16.0f, 16.0f), m_tilesheetManager.getGameScale(), 0.0f, + std::vector<int>{-1}, ObjectType::Obstacle); m_objects.emplace_back(new_object); } - void ObjectManager::cleanup() { for (StaticObject *object : m_doors) diff --git a/game/src/ObjectManager.hpp b/game/src/ObjectManager.hpp index d00cbb7ba45a47b67a917b78027e082bfc91e671..9c59a203a4d2231a8633e53767d0408162742fe8 100644 --- a/game/src/ObjectManager.hpp +++ b/game/src/ObjectManager.hpp @@ -11,10 +11,10 @@ namespace game class ObjectManager { private: - b2World *m_world; /**< The Box2D world in which the objects exist. */ - std::vector<StaticObject *> m_doors; /**< A collection of all active objects in the game. */ + b2World *m_world; /**< The Box2D world in which the objects exist. */ + std::vector<StaticObject *> m_doors; /**< A collection of all active objects in the game. */ std::vector<StaticObject *> m_objects; /**< A collection of all active walls in the game. */ - TilesheetManager &m_tilesheetManager; /**< The tilesheet manager used for rendering the objects. */ + TilesheetManager &m_tilesheetManager; /**< The tilesheet manager used for rendering the objects. */ public: /** @@ -58,6 +58,5 @@ class ObjectManager * when the game context is changed to a new room. */ void cleanup(); - }; } // namespace game diff --git a/game/src/Player.cpp b/game/src/Player.cpp index 6a5bd337677e50bba63b2faf8f3a2c47ad3dc7db..61ea62b93f16ece4f39342401cb6ab65460d0603 100644 --- a/game/src/Player.cpp +++ b/game/src/Player.cpp @@ -5,14 +5,13 @@ namespace game { Player::Player(b2World *world, const b2Vec2 &position, const b2Vec2 &size, float density, float scale, float friction, - BulletManager &bulletmanager, TilesheetManager &tilesheetManager, const std::vector<int> &tileIDs, int health, int damage) + BulletManager &bulletmanager, TilesheetManager &tilesheetManager, const std::vector<int> &tileIDs, + int health, int damage) : DynamicObject(world, position, size, density, scale, friction, tileIDs, false), m_alive(true), m_bulletManager(bulletmanager), m_lastFire(1000), m_fireRate(5), - m_fireDelay(static_cast<Uint32>(std::round(1000.0 / m_fireRate))), - m_health(health), - m_damage(damage) + m_fireDelay(static_cast<Uint32>(std::round(1000.0 / m_fireRate))), m_health(health), m_damage(damage) { - //m_body->GetUserData().pointer = 2; // 2 = Player (idenfier for contact listener) + // m_body->GetUserData().pointer = 2; // 2 = Player (idenfier for contact listener) m_type = ObjectType::Player; } @@ -31,7 +30,6 @@ void Player::handle_input() { m_body->ApplyForceToCenter({10.0f, -10.0f}, true); m_render_flip = SDL_FLIP_NONE; - } else if (state[SDL_SCANCODE_W] && state[SDL_SCANCODE_A]) { @@ -114,7 +112,7 @@ void Player::set_fireRate(int rate) // if items are ever implemented, this will void Player::take_damage(int damage) { - m_health-=damage; + m_health -= damage; } b2Body *Player::getBody() @@ -122,4 +120,4 @@ b2Body *Player::getBody() return m_body; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/Player.hpp b/game/src/Player.hpp index 7ded0fb2742f9e5e1818af0986e25b07ffe4f34b..1f9d154f2610417a7dd12aeb6b4068c4f488a1e9 100644 --- a/game/src/Player.hpp +++ b/game/src/Player.hpp @@ -33,7 +33,8 @@ class Player : public DynamicObject * @param tileIDs The tile IDs representing the player's texture in the tilesheet. */ Player(b2World *world, const b2Vec2 &position, const b2Vec2 &size, float density, float scale, float friction, - BulletManager &bulletmanager, TilesheetManager &tilesheetManager, const std::vector<int> &tileIDs, int health, int damage); + BulletManager &bulletmanager, TilesheetManager &tilesheetManager, const std::vector<int> &tileIDs, + int health, int damage); /** * @brief Destructor for the Player class. @@ -93,4 +94,4 @@ class Player : public DynamicObject BulletManager &m_bulletManager; /**< A reference to the BulletManager object used for managing fired projectiles. */ }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/SDLApplication.cpp b/game/src/SDLApplication.cpp index 94e1af7bfd7ca8b9e23e3b86706e0d941f1910b6..bf62f33b076d078e50d0cfa9a040ebf43ed5e7dc 100644 --- a/game/src/SDLApplication.cpp +++ b/game/src/SDLApplication.cpp @@ -69,4 +69,4 @@ void SDLApplication::run() } } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/SDLApplication.hpp b/game/src/SDLApplication.hpp index 8cf5adfd4bb7dffa5125d51c163c21baa25ed2fb..09aca0a681e47ed93af2c693967a2278390cca8a 100644 --- a/game/src/SDLApplication.hpp +++ b/game/src/SDLApplication.hpp @@ -80,4 +80,4 @@ class SDLApplication SDL_Renderer *m_Renderer; }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/StaticObject.cpp b/game/src/StaticObject.cpp index fb718a294479cc042d17ae364c15a2bb0b2e6b28..a9b7a0bd5add4081d65e8c51dc28d360df432df7 100644 --- a/game/src/StaticObject.cpp +++ b/game/src/StaticObject.cpp @@ -28,4 +28,4 @@ b2Body *StaticObject::getBody() return m_body; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/StaticObject.hpp b/game/src/StaticObject.hpp index 37f025f77ce9272d2b4f07272bc21eba76df7ae6..3d99bc6273a8fcae375a5071a71cc7fc45c8d7a3 100644 --- a/game/src/StaticObject.hpp +++ b/game/src/StaticObject.hpp @@ -1,7 +1,6 @@ #pragma once #include "GameObject.hpp" - namespace game { @@ -45,4 +44,4 @@ class StaticObject : public GameObject b2Body *getBody(); }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/TilesheetManager.cpp b/game/src/TilesheetManager.cpp index 6fc4ce7e573407400c6f4f98e75e7f8a3e18382f..abbfb5e91c9fd71710bf99b6490cf2260227908d 100644 --- a/game/src/TilesheetManager.cpp +++ b/game/src/TilesheetManager.cpp @@ -124,4 +124,4 @@ void TilesheetManager::renderBackground(const lvl::Room &room, const Camera &cam } } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/TilesheetManager.hpp b/game/src/TilesheetManager.hpp index 1cc84792a8d4712902bbdbcd5585e79e27d624c1..f62df2d3d9ef82921baab9579a8458b18fb8fd4f 100644 --- a/game/src/TilesheetManager.hpp +++ b/game/src/TilesheetManager.hpp @@ -60,9 +60,9 @@ class TilesheetManager private: SDL_Texture *m_tilesheetTexture; ///< Pointer to the SDL texture for the tilesheet. - SDL_Renderer *m_renderer; ///< Pointer to the SDL renderer. - lvl::Spritesheet m_Spritesheet; ///< Spritesheet data. - float m_scale; ///< Scaling factor for tile rendering. + SDL_Renderer *m_renderer; ///< Pointer to the SDL renderer. + lvl::Spritesheet m_Spritesheet; ///< Spritesheet data. + float m_scale; ///< Scaling factor for tile rendering. /** * @brief Loads the tilesheet texture into memory. @@ -71,4 +71,4 @@ class TilesheetManager void loadTexture(SDL_Renderer *renderer); }; -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/game/src/Vector.hpp b/game/src/Vector.hpp index 238f708edb38cc0df6d3b247d3d9f05d33b97831..551f701ed0270db0f180409e91592f724194448c 100644 --- a/game/src/Vector.hpp +++ b/game/src/Vector.hpp @@ -134,6 +134,6 @@ template <typename T> Vector<T> operator*(T s, const Vector<T> &v); typedef Vector<double> Vector2f; typedef Vector<int> Pixel; -} +} // namespace game #include "Vector.tcc" \ No newline at end of file diff --git a/game/src/Vector.tcc b/game/src/Vector.tcc index de8d244683fcbbdfdc9869c6dc5aba28e0fc9e31..64459003dd95596b8287627f94a8689908ca9981 100644 --- a/game/src/Vector.tcc +++ b/game/src/Vector.tcc @@ -108,4 +108,4 @@ template <typename T> void Vector<T>::operator-=(const Vector<T> &other) m_y -= other.m_y; } -} \ No newline at end of file +} // namespace game \ No newline at end of file diff --git a/liblvl/src/include/level.hpp b/liblvl/src/include/level.hpp index 8abba7ff293e2021b48120a2b88351403c18bc9d..1dbfba671c800ce96c77a14c7f04ecb25d95846e 100644 --- a/liblvl/src/include/level.hpp +++ b/liblvl/src/include/level.hpp @@ -20,7 +20,6 @@ namespace fs = std::filesystem; class Level { public: - /** * @brief Create new Level from tilesheet and size of single tiles * @param path Path to tilesheet @@ -45,7 +44,6 @@ class Level */ void saveChanges(const fs::path &path) const; - /** * @brief Get current spritesheet * @return Spritesheet used for all sprites @@ -77,7 +75,6 @@ class Level Player &getPlayer(); private: - /** * @brief std::vector containing all enemies */ diff --git a/liblvl/src/level.cpp b/liblvl/src/level.cpp index dff48f5f72516d1018a52fa02127d941ca1f4244..a654b918775a4e2d682ea3901490b9a4f0b0f7a9 100644 --- a/liblvl/src/level.cpp +++ b/liblvl/src/level.cpp @@ -329,9 +329,10 @@ void Level::deleteRoom(int id) HighFive::File file("./level.h5", HighFive::File::ReadWrite); HighFive::Group roomsGroup = file.getGroup("rooms"); std::vector<std::string> roomNames = roomsGroup.listObjectNames(); - for (const auto& subgroupName : roomNames) { + for (const auto &subgroupName : roomNames) + { HighFive::Group roomGroup = roomsGroup.getGroup(subgroupName); - if (std::stoi(subgroupName) == id) + if (std::stoi(subgroupName) == id) { roomsGroup.unlink(subgroupName); break;