From d98489020535e0ebec29782fe61fcdf66a9a0d56 Mon Sep 17 00:00:00 2001 From: Jaby Date: Tue, 23 Jan 2024 11:28:03 -0500 Subject: [PATCH] Support obtaining PageOffset from SimpleTIM --- include/PSX/File/file_types.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/PSX/File/file_types.hpp b/include/PSX/File/file_types.hpp index 508b44d3..5b4a7ff2 100644 --- a/include/PSX/File/file_types.hpp +++ b/include/PSX/File/file_types.hpp @@ -44,6 +44,21 @@ namespace JabyEngine { constexpr GPU::PositionU16 get_clut_position() const { return GPU::PositionU16::create(SimpleTIM::get_clut_x(), SimpleTIM::get_clut_y()); } + + constexpr GPU::PageOffset get_page_offset() const { + const auto tex_page = SimpleTIM::get_texture_position(); + return GPU::PageOffset::create(tex_page.x&0x3F, tex_page.y); + } + + constexpr GPU::PageOffset get_page_offset_clut8() const { + const auto page_offset = SimpleTIM::get_page_offset(); + return GPU::PageOffset::create(page_offset.x*2, page_offset.y); + } + + constexpr GPU::PageOffset get_page_offset_clut4() const { + const auto page_offset = SimpleTIM::get_page_offset(); + return GPU::PageOffset::create(page_offset.x*4, page_offset.y); + } }; struct CopyTo {