#pragma once #include #include "Texture.h" #include "utilities.h" #include "parser.h" struct trainset_desc { std::pair file_bounds; std::string description; std::string name; std::string track; float offset { 0.f }; float velocity { 0.f }; std::vector> vehicles; }; struct scenery_desc { std::filesystem::path path; std::string name; std::string description; std::string image_path; texture_handle image = 0; std::vector> links; std::vector trainsets; std::string title() { if (!name.empty()) return name; else return path.stem().string(); } }; class scenery_scanner { public: std::vector scenarios; void scan(); private: void scan_scn(std::filesystem::path path); void parse_trainset(cParser &parser); };