|
|
@ -393,6 +393,17 @@ const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const Texture
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case Regs::TextureFormat::I4:
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
u32 morton_offset = VideoCore::GetMortonOffset(x, y, 1);
|
|
|
|
|
|
|
|
const u8* source_ptr = source + morton_offset / 2;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
u8 i = (morton_offset % 2) ? ((*source_ptr & 0xF0) >> 4) : (*source_ptr & 0xF);
|
|
|
|
|
|
|
|
i = Color::Convert4To8(i);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { i, i, i, 255 };
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
case Regs::TextureFormat::A4:
|
|
|
|
case Regs::TextureFormat::A4:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
u32 morton_offset = VideoCore::GetMortonOffset(x, y, 1);
|
|
|
|
u32 morton_offset = VideoCore::GetMortonOffset(x, y, 1);
|
|
|
|