1#ifndef YAZE_ZELDA3_DUNGEON_TRACK_COLLISION_GENERATOR_H
2#define YAZE_ZELDA3_DUNGEON_TRACK_COLLISION_GENERATOR_H
13#include "absl/status/status.h"
14#include "absl/status/statusor.h"
82 std::map<size_t, MinecartTrackCollisionCellOwner>;
100 std::span<const RoomObject> before_objects,
101 std::span<const RoomObject> after_objects,
109 Room* room,
const GeneratorOptions& options = {});
115 const CustomCollisionMap& map);
absl::Status WriteTrackCollision(Rom *rom, int room_id, const CustomCollisionMap &map)
std::map< size_t, MinecartTrackCollisionCellOwner > MinecartTrackCollisionOwnership
std::string VisualizeCollisionMap(const CustomCollisionMap &map)
absl::StatusOr< MinecartTrackCollisionEdit > SynchronizeMinecartTrackCollision(std::span< const RoomObject > before_objects, std::span< const RoomObject > after_objects, const CustomCollisionMap &before_collision, const MinecartTrackCollisionOwnership &before_ownership)
absl::StatusOr< TrackCollisionResult > GenerateTrackCollision(Room *room, const GeneratorOptions &options)
std::vector< std::pair< int, int > > switch_promotions
std::vector< std::tuple< int, int, TrackTileType > > stop_overrides
bool operator==(const MinecartTrackCollisionCellOwner &) const =default
CustomCollisionMap collision
MinecartTrackCollisionOwnership ownership
CustomCollisionMap collision_map
std::string ascii_visualization