feat(editor): el SAVE_PATH segueix la sala carregada
El writer del tilemap deixa de fer servir la constant Defaults::Editor::SAVE_PATH (que apuntava a data/maps/pyramid.yaml) i demana al LevelManager el path actual. Resultat: editar i guardar desa la sala que tens davant — no l'antic mapa monolític — i salts debug entre sales canviaran també el destí del save.
This commit is contained in:
1 parent
9d4f92c98b
commit
d52cc1c509
2 files changed
+8
-7
No files matched your search
@@ -14,6 +14,7 @@
|
|||||||
#include "core/resources/resource_cache.hpp"
|
#include "core/resources/resource_cache.hpp"
|
||||||
#include "core/resources/resource_helper.hpp"
|
#include "core/resources/resource_helper.hpp"
|
||||||
#include "core/system/event_buffer.hpp"
|
#include "core/system/event_buffer.hpp"
|
||||||
|
#include "game/levels/level_manager.hpp"
|
||||||
#include "game/map/tilemap.hpp"
|
#include "game/map/tilemap.hpp"
|
||||||
#include "utils/defaults.hpp"
|
#include "utils/defaults.hpp"
|
||||||
#include "utils/defines.hpp"
|
#include "utils/defines.hpp"
|
||||||
@@ -76,11 +77,13 @@ void Editor::exit(Tilemap& tilemap) {
|
|||||||
if (!active_) { return; }
|
if (!active_) { return; }
|
||||||
active_ = false;
|
active_ = false;
|
||||||
picker_open_ = false;
|
picker_open_ = false;
|
||||||
// Resolem la ruta via Resource::Helper perquè en Debug el root de
|
// El writer salva sempre sobre la sala actualment carregada (segons
|
||||||
// dades és AEE_SOURCE_DIR (ruta absoluta al repo), no el CWD. Sense
|
// el LevelManager): així el "9" de l'editor desa el que tens davant,
|
||||||
// això, el writer obriria `data/maps/pyramid.yaml` relatiu al CWD
|
// no una constant fixa. Resolem la ruta via Resource::Helper perquè
|
||||||
// i fallaria sempre excepte si el binari es llança des del repo root.
|
// en Debug el root de dades és AEE_SOURCE_DIR (ruta absoluta al repo),
|
||||||
const auto ABS_PATH = Resource::Helper::resolve(Defaults::Editor::SAVE_PATH);
|
// no el CWD; sense això, el writer obriria el path relatiu al CWD i
|
||||||
|
// fallaria si el binari no es llança des del repo root.
|
||||||
|
const auto ABS_PATH = Resource::Helper::resolve(Levels::LevelManager::get().currentPath());
|
||||||
const bool SAVED = tilemap.save(ABS_PATH);
|
const bool SAVED = tilemap.save(ABS_PATH);
|
||||||
Notification::notify(Locale::get().text(SAVED ? "input.editor_off" : "input.editor_save_error"));
|
Notification::notify(Locale::get().text(SAVED ? "input.editor_off" : "input.editor_save_error"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -206,8 +206,6 @@ namespace Defaults {
|
|||||||
namespace Editor {
|
namespace Editor {
|
||||||
// Color del rectangle 1 px que envolta el canvas durant l'edició.
|
// Color del rectangle 1 px que envolta el canvas durant l'edició.
|
||||||
constexpr std::uint32_t BORDER_ARGB = 0xFF2244FFU;
|
constexpr std::uint32_t BORDER_ARGB = 0xFF2244FFU;
|
||||||
// Ruta de persistència: writer surgical sobre la font del repo.
|
|
||||||
constexpr const char* SAVE_PATH = "data/maps/pyramid.yaml";
|
|
||||||
// Píxels entre el canvas i el rectangle del TilePicker per totes
|
// Píxels entre el canvas i el rectangle del TilePicker per totes
|
||||||
// les vores. Prou perquè el border blau de l'editor no es
|
// les vores. Prou perquè el border blau de l'editor no es
|
||||||
// superpose amb la graella del picker.
|
// superpose amb la graella del picker.
|
||||||
|
|||||||
Reference in new issue
Block a user