1#ifndef YAZE_ZELDA3_DUNGEON_ROOM_CENSUS_H_
2#define YAZE_ZELDA3_DUNGEON_ROOM_CENSUS_H_
39#include "absl/status/statusor.h"
46struct ProjectRegistry;
47struct RomAddressOverrides;
100 std::vector<RoomCensusRoomFacts>
rooms;
189 Rom* rom,
const RoomCensusOptions& options = {});
192 const core::ProjectRegistry& registry);
197 const core::HackManifest& manifest);
209 const std::vector<uint16_t>& b);
213 Rom* rom, util::StopToken stop_token = {});
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Loads and queries the hack manifest JSON for yaze-ASM integration.
absl::StatusOr< RoomCensusInput > CollectRoomCensusInput(Rom *rom, const RoomCensusOptions &options)
std::vector< RoomCensusOwnerGroup > RoomCensusOwnersFromProject(const core::ProjectRegistry ®istry)
std::set< uint8_t > RoomCensusWarpTagsFromManifest(const core::HackManifest &manifest)
absl::StatusOr< RoomCensus > ComputeRoomCensus(Rom *rom, const RoomCensusOptions &options)
std::string FormatRoomBlockSummary(const std::vector< int > &rooms_in)
constexpr int kRoomCensusInteriorDungeonId
const char * RoomCensusStatusName(RoomCensusStatus status)
absl::StatusOr< std::vector< std::vector< uint16_t > > > ComputeRoomFingerprints(Rom *rom, util::StopToken stop_token)
constexpr int kDungeonRoomCount
constexpr float kReclaimableVanillaSimilarity
RoomCensus BuildRoomCensus(const RoomCensusInput &input)
float RoomFingerprintSimilarity(const std::vector< uint16_t > &a, const std::vector< uint16_t > &b)
constexpr float kPartlyEditedVanillaSimilarity
constexpr int kRoomCensusRoomCount
uint16_t HashRoomCensusObject(int id, int x, int y, int size)
Project-level registry data loaded from the Oracle planning outputs.
std::vector< int > core_rooms
std::vector< RoomReference > references
std::vector< std::string > reasons
std::function< void(int room_id, const Room &room) room_visitor)
const core::RomAddressOverrides * address_overrides
const core::ProjectRegistry * project
util::StopToken stop_token
const core::HackManifest * manifest
const CustomObjectRenderSnapshot * custom_objects
std::vector< RoomCensusOwner > owners
std::vector< RoomCensusCluster > free_clusters
bool expanded_entrance_tables
bool has_vanilla_baseline
std::string vanilla_baseline_source
std::vector< RoomCensusEntry > rooms