载入中...
搜索中...
未找到
RoguelikeGenerator.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
4
5#include <cstdint>
6
7namespace eve::procgen {
8class GeneratorRegistry;
9class Grid2D;
10
12void registerRoguelikeGenerator(GeneratorRegistry &registry);
13
20bool autotileGridInPlace(Grid2D &grid);
21
28[[nodiscard]] eve::Result<void> autotileOccupiedGridInPlace(Grid2D &grid);
29
32
33} // namespace eve::procgen
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
void registerRoguelikeGenerator(GeneratorRegistry &registry)
Register the "level.roguelike" algorithm (idempotent).
eve::Result< void > autotileOccupiedGridInPlace(Grid2D &grid)
Write an eight-neighbour occupancy mask into every non-empty cell's detail value.
bool autotileGridInPlace(Grid2D &grid)
Post-process any generated Grid2D: fill each wall cell's detail with an 8-bit neighbour mask describi...
uint32_t randomSeedValue()
Produce a fresh seed suitable for regenerating a level (never 0).