static void putChar(OSScreenID id, uint32_t x, uint32_t y, char chr) { auto index = chr & 0x7F; if (index < ' ') { index = 0; } else { index -= ' '; } auto font = sScreenFontBitmap + index * sScreenFontPitch; for (auto v = 0; v < sScreenFontHeight; ++v) { for (auto h = 0; h < sScreenFontWidth; ++h) { auto bitmap = font[v * 2 + h / 8]; auto bit = bitmap >> (h % 8); if (bit & 1) { OSScreenPutPixelEx(id, x + h, y + v, 0xFFFFFFFF); } } } }
//Rendering in void drawPixel(int x, int y, char r, char g, char b, char a) { OSScreenPutPixelEx(0, x, y, (r << 24) | (g << 16) | (b << 8) | a); OSScreenPutPixelEx(1, x, y, (r << 24) | (g << 16) | (b << 8) | a); }