From 0b31a19f470a42baa8d1e03cbf81bb0ddc83fb7a Mon Sep 17 00:00:00 2001 From: DanielProl1xy Date: Wed, 21 Feb 2024 15:27:00 +0300 Subject: [PATCH] propogate player smart-pointer usage --- src/files/WorldFiles.cpp | 4 ++-- src/files/WorldFiles.h | 4 ++-- src/frontend/hud.cpp | 4 ++-- src/frontend/hud.h | 2 +- src/world/World.cpp | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/files/WorldFiles.cpp b/src/files/WorldFiles.cpp index 62b79a41..24c3dfe4 100644 --- a/src/files/WorldFiles.cpp +++ b/src/files/WorldFiles.cpp @@ -559,11 +559,11 @@ bool WorldFiles::readWorldInfo(World* world) { return true; } -void WorldFiles::writePlayer(Player* player) { +void WorldFiles::writePlayer(std::shared_ptr player) { files::write_json(getPlayerFile(), player->serialize().release()); } -bool WorldFiles::readPlayer(Player* player) { +bool WorldFiles::readPlayer(std::shared_ptr player) { fs::path file = getPlayerFile(); if (!fs::is_regular_file(file)) { std::cerr << "warning: player.json does not exists" << std::endl; diff --git a/src/files/WorldFiles.h b/src/files/WorldFiles.h index 34203b97..a3a9a483 100644 --- a/src/files/WorldFiles.h +++ b/src/files/WorldFiles.h @@ -143,13 +143,13 @@ public: chunk_inventories_map fetchInventories(int x, int z); bool readWorldInfo(World* world); - bool readPlayer(Player* player); + bool readPlayer(std::shared_ptr player); void writeRegion(int x, int y, WorldRegion* entry, fs::path file, int layer); - void writePlayer(Player* player); + void writePlayer(std::shared_ptr player); /* @param world world info to save (nullable) */ void write(const World* world, const Content* content); void writePacks(const World* world); diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index 0d93f404..c2fec154 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -645,6 +645,6 @@ void Hud::setPause(bool pause) { menu->setVisible(pause); } -Player* Hud::getPlayer() const { - return frontend->getLevel()->player.get(); +std::shared_ptr Hud::getPlayer() const { + return frontend->getLevel()->player; } diff --git a/src/frontend/hud.h b/src/frontend/hud.h index 7e9e2153..5a5b8914 100644 --- a/src/frontend/hud.h +++ b/src/frontend/hud.h @@ -118,7 +118,7 @@ public: void remove(HudElement& element); void remove(std::shared_ptr node); - Player* getPlayer() const; + std::shared_ptr getPlayer() const; }; #endif /* SRC_HUD_H_ */ diff --git a/src/world/World.cpp b/src/world/World.cpp index 14985b39..fce0b05c 100644 --- a/src/world/World.cpp +++ b/src/world/World.cpp @@ -61,7 +61,7 @@ void World::write(Level* level) { } wfile->write(this, content); - wfile->writePlayer(level->player.get()); + wfile->writePlayer(level->player); } Level* World::create(std::string name, @@ -89,7 +89,7 @@ Level* World::load(fs::path directory, } auto level = new Level(world.get(), content, settings); - wfile->readPlayer(level->player.get()); + wfile->readPlayer(level->player); world.release(); return level; }