1#ifndef YAZE_ZELDA3_DUNGEON_GAME_PARITY_GATE_H
2#define YAZE_ZELDA3_DUNGEON_GAME_PARITY_GATE_H
26#include "absl/status/status.h"
27#include "absl/status/statusor.h"
51 std::filesystem::path
dir;
60 std::string_view rom_sha1);
88 std::vector<BaselineTile>
tiles;
129 const std::vector<ObservedDifference>& observed,
130 const std::vector<int>& rooms_checked);
std::string SerializeBaseline(const Baseline &baseline)
std::string DifferenceDigest(uint16_t game_word, uint16_t yaze_word)
absl::StatusOr< CaptureSet > LoadVerifiedCaptureSet(const std::filesystem::path &dir, const CaptureExpectation &expected, std::string_view rom_sha1)
GateReport EvaluateParity(const Baseline &baseline, const std::vector< ObservedDifference > &observed, const std::vector< int > &rooms_checked)
const char * GateFindingKindName(GateFinding::Kind kind)
std::string CaptureRomSha1(std::span< const uint8_t > rom)
absl::StatusOr< Baseline > ParseBaseline(std::string_view text)
constexpr size_t kCaptureRomMinSize
std::string DescribeFinding(const GateFinding &finding)
std::vector< BaselineTile > tiles
CaptureExpectation capture
std::vector< BaselineGroup > groups
std::vector< int > required_rooms
std::filesystem::path dir
std::map< int, std::vector< uint8_t > > room_tilemaps
std::vector< GateFinding > findings
int expected_differences_matched