yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_coordinates.h File Reference
#include <cstdint>
#include <utility>
Include dependency graph for dungeon_coordinates.h:

Go to the source code of this file.

Classes

struct  yaze::editor::dungeon_coords::CameraToLocalResult
 Convert camera coordinates back to room ID and local position. More...
 

Namespaces

namespace  yaze
 
namespace  yaze::editor
 Editors are the view controllers for the application.
 
namespace  yaze::editor::dungeon_coords
 Coordinate conversion utilities for dungeon editing.
 

Functions

std::pair< int, int > yaze::editor::dungeon_coords::RoomToCanvas (int room_x, int room_y)
 Convert room tile coordinates to canvas pixel coordinates.
 
std::pair< int, int > yaze::editor::dungeon_coords::CanvasToRoom (int canvas_x, int canvas_y)
 Convert canvas pixel coordinates to room tile coordinates.
 
std::pair< int, int > yaze::editor::dungeon_coords::ScreenToCanvas (int screen_x, int screen_y, float scale)
 Convert screen coordinates to canvas coordinates (undo scale)
 
std::pair< int, int > yaze::editor::dungeon_coords::CanvasToScreen (int canvas_x, int canvas_y, float scale)
 Convert canvas coordinates to screen coordinates (apply scale)
 
bool yaze::editor::dungeon_coords::IsWithinBounds (int canvas_x, int canvas_y, int margin=0)
 Check if coordinates are within room bounds.
 
std::pair< int, int > yaze::editor::dungeon_coords::ClampToRoom (int room_x, int room_y)
 Clamp room tile coordinates to valid range.
 
bool yaze::editor::dungeon_coords::IsValidRoomId (int room_id)
 Validate room ID is within valid range.
 
std::pair< int, int > yaze::editor::dungeon_coords::RoomIdToGridPosition (int room_id)
 Get the grid position (column, row) for a room ID.
 
uint16_t yaze::editor::dungeon_coords::CalculateCameraX (int room_id, int local_pixel_x)
 Calculate absolute camera X coordinate from room and local position.
 
uint16_t yaze::editor::dungeon_coords::CalculateCameraY (int room_id, int local_pixel_y)
 Calculate absolute camera Y coordinate from room and local position.
 
std::pair< uint16_t, uint16_t > yaze::editor::dungeon_coords::TileToCameraCoords (int room_id, int tile_x, int tile_y)
 Calculate camera coordinates from room and tile position.
 
CameraToLocalResult yaze::editor::dungeon_coords::CameraToLocalCoords (uint16_t camera_x, uint16_t camera_y)
 
std::pair< uint16_t, uint16_t > yaze::editor::dungeon_coords::SpriteToCameraCoords (int room_id, int sprite_x, int sprite_y)
 Calculate sprite-format coordinates (16-pixel units)
 

Variables

constexpr int yaze::editor::dungeon_coords::kTileSize = 8
 
constexpr int yaze::editor::dungeon_coords::kRoomTileWidth = 64
 
constexpr int yaze::editor::dungeon_coords::kRoomTileHeight = 64
 
constexpr int yaze::editor::dungeon_coords::kRoomPixelWidth = 512
 
constexpr int yaze::editor::dungeon_coords::kRoomPixelHeight = 512
 
constexpr int yaze::editor::dungeon_coords::kRoomCount = 0x128
 
constexpr int yaze::editor::dungeon_coords::kEntranceCount = 0x8C
 
constexpr int yaze::editor::dungeon_coords::kSpriteTileSize = 16
 
constexpr int yaze::editor::dungeon_coords::kSpriteGridMax = 31
 
constexpr uint16_t yaze::editor::dungeon_coords::kCameraBaseOffset = 0x1000
 
constexpr int yaze::editor::dungeon_coords::kDungeonGridWidth = 16