#pragma once #include "../jabyengine_config.hpp" #include "gpu_primitives.hpp" namespace JabyEngine { namespace GPU { struct BIOS_Font { // This size is by Hardware limitation static constexpr auto Size = SizeU16::create(16, 16); static constexpr auto TextureLoadPos = Configuration::BIOSFont::texture_load_pos(); static constexpr auto CLUTLoadPos = Configuration::BIOSFont::CLUT_load_pos(); static constexpr TexPage get_tex_page() { return TexPage::create(BIOS_Font::TextureLoadPos, GPU::TextureColorMode::clut4); } static constexpr TPage get_tpage() { return TPage::create(TextureLoadPos.x, TextureLoadPos.y, SemiTransparency::B_add_F, TextureColorMode::clut4); } static constexpr PageOffset get_offset_page() { return PageOffset::create(BIOS_Font::CLUTLoadPos.x & 0x3F, BIOS_Font::CLUTLoadPos.y & 0xFF); } static constexpr PageClut get_page_clut() { return PageClut::create(BIOS_Font::CLUTLoadPos); } static constexpr OffsetPageWithClut get_offset_page_with_clut() { return OffsetPageWithClut::create(BIOS_Font::get_offset_page(), BIOS_Font::get_page_clut()); } }; } }