// setting.txt(ScriptType MapSetting)—— 地图全局设置。 // 对标 GameLib/MapOutdoorLoad.cpp 的 setting 解析。SHINSOO §5.1。 #pragma once #include namespace fmt { struct MapSetting { int cell_scale = 200; // CellScale(cm/格),默认取 PRTerrainLib 常量 double height_scale = 0.5; // HeightScale(raw 高度乘数) int view_radius = 0; // ViewRadius int map_size_x = 0; // MapSize 第 1 个数(区块列数) int map_size_y = 0; // MapSize 第 2 个数(区块行数) long base_position_x = 0; // BasePosition(全局世界基准,cm) long base_position_y = 0; std::string texture_set; // TextureSet 相对路径(原样,含反斜杠) std::string environment; // Environment(.msenv 名) int chunk_count() const { return map_size_x * map_size_y; } }; // text = setting.txt 全文。缺关键字段 -> false + err。 bool parse_map_setting(const std::string& text, MapSetting& out, std::string* err); bool parse_map_setting_file(const std::string& path, MapSetting& out, std::string* err); } // namespace fmt