Move back to SPRT font instead of SPRT_16 for more efficency

This commit is contained in:
jaby 2024-01-02 13:26:49 -06:00
parent 239a7ceb3f
commit f96b55a548
4 changed files with 5 additions and 4 deletions

View File

@ -4,7 +4,7 @@
#include <PSX/GPU/make_gpu_primitives.hpp> #include <PSX/GPU/make_gpu_primitives.hpp>
namespace JabyEngine { namespace JabyEngine {
using FontPrimitive = GPU::SPRT_16::Linked; using FontPrimitive = GPU::SPRT::Linked;
struct FontInfo { struct FontInfo {
GPU::SizeU16 texture_size; GPU::SizeU16 texture_size;

View File

@ -16,8 +16,6 @@ namespace JabyEngine {
GPU::PageClut clut; GPU::PageClut clut;
GPU::Link* last_primitive; GPU::Link* last_primitive;
void setup(const SimpleTIM& vram_dst, const GPU::SizeI16& font_size);
public: public:
static constexpr FontWriter empty() { static constexpr FontWriter empty() {
FontWriter instance; FontWriter instance;
@ -30,6 +28,8 @@ namespace JabyEngine {
return instance; return instance;
} }
void setup(const SimpleTIM& vram_dst, const GPU::SizeI16& font_size);
void setup(const SimpleTIM& vram_dst, const FontInfo& font_info) { void setup(const SimpleTIM& vram_dst, const FontInfo& font_info) {
FontWriter::setup(vram_dst, Make::SizeI16(font_info.font_size.width, font_info.font_size.height)); FontWriter::setup(vram_dst, Make::SizeI16(font_info.font_size.width, font_info.font_size.height));
} }

View File

@ -70,6 +70,7 @@ namespace JabyEngine {
auto& primitive = GlobalPrimitiveFactory.new_primitive(); auto& primitive = GlobalPrimitiveFactory.new_primitive();
primitive->position = state.pos; primitive->position = state.pos;
primitive->size = this->font_size;
if(wiggle) { if(wiggle) {
const auto [off_x, off_y] = (*wiggle)[(state.wiggle_count++)&0x7]; const auto [off_x, off_y] = (*wiggle)[(state.wiggle_count++)&0x7];
primitive->position.move(off_x, off_y); primitive->position.move(off_x, off_y);

View File

@ -8,7 +8,7 @@ namespace JabyEngine {
const auto*const buffer_end = start + length; const auto*const buffer_end = start + length;
for(auto* cur_prim = start; cur_prim < buffer_end; cur_prim++) { for(auto* cur_prim = start; cur_prim < buffer_end; cur_prim++) {
*cur_prim = FontPrimitive::create(Make::SPRT_16(Make::Vertex(), Make::OffsetPageWithClut())); *cur_prim = FontPrimitive::create(Make::SPRT(Make::AreaI16(), Make::OffsetPageWithClut()));
} }
GlobalPrimitiveFactory = PrimitiveFactory::create(start, length); GlobalPrimitiveFactory = PrimitiveFactory::create(start, length);