#pragma once

// TODO: This should be rewritten, just added the old code for now since I forgot to do levelgen when rewriting

#include <map>
#include <string>
#include <vector>
#include <filesystem>

#include "block.hpp"

struct LVLGENBADBlock
{
	LVLGENBADBlock *parent;
	std::string type;
	std::string name;
	std::map<std::string, std::string> properties;
	std::vector<LVLGENBADBlock> subBlocks;
	FilePos filepos;
};

std::vector<LVLGENBADBlock> ParseFloorgenFile(const std::string &filename);
void CompileFloorgen(const std::vector<LVLGENBADBlock> &blocks, const std::filesystem::path &buildDir);
