diff --git a/Core/Dialog/PSPOskDialog.cpp b/Core/Dialog/PSPOskDialog.cpp index 60e6a6e62a..00b7d7314d 100644 --- a/Core/Dialog/PSPOskDialog.cpp +++ b/Core/Dialog/PSPOskDialog.cpp @@ -173,8 +173,8 @@ int PSPOskDialog::Update() RenderKeyboard(); PPGeDrawImage(I_CROSS, 30, 220, 20, 20, 0, CalcFadedColor(0xFFFFFFFF)); PPGeDrawImage(I_CIRCLE, 130, 220, 20, 20, 0, CalcFadedColor(0xFFFFFFFF)); - PPGeDrawImage(I_BUTTON, 230, 220, 50, 20, 0, CalcFadedColor(0xFFFFFFFF)); - PPGeDrawImage(I_BUTTON, 350, 220, 55, 20, 0, CalcFadedColor(0xFFFFFFFF)); + //PPGeDrawImage(I_BUTTON, 230, 220, 50, 20, 0, CalcFadedColor(0xFFFFFFFF)); + //PPGeDrawImage(I_BUTTON, 350, 220, 55, 20, 0, CalcFadedColor(0xFFFFFFFF)); PPGeDrawText("Select", 60, 220, PPGE_ALIGN_LEFT, 0.5f, CalcFadedColor(0xFFFFFFFF)); PPGeDrawText("Delete", 160, 220, PPGE_ALIGN_LEFT, 0.5f, CalcFadedColor(0xFFFFFFFF)); diff --git a/Core/Util/PPGeDraw.cpp b/Core/Util/PPGeDraw.cpp index f8ff20285b..bceec560c0 100644 --- a/Core/Util/PPGeDraw.cpp +++ b/Core/Util/PPGeDraw.cpp @@ -52,6 +52,10 @@ static u32 dataPtr; static u32 dataWritePtr; static u32 dataSize = 0x10000; // should be enough for a frame of gui... +static u32 palettePtr; +static u32 paletteSize = 4 * 16; // should be enough for a frame of gui... + + // Vertex collector static u32 vertexStart; static u32 vertexCount; @@ -124,27 +128,35 @@ void __PPGeInit() return; } - u32 atlasSize = height * width * 2; // it's a 4444 texture + u32 atlasSize = height * width / 2; // it's a 4-bit paletted texture in ram atlasWidth = width; atlasHeight = height; dlPtr = __PPGeDoAlloc(dlSize, false, "PPGe Display List"); dataPtr = __PPGeDoAlloc(dataSize, false, "PPGe Vertex Data"); - atlasPtr = __PPGeDoAlloc(atlasSize, false, "PPGe Atlas Texture"); savedContextPtr = __PPGeDoAlloc(savedContextSize, false, "PPGe Saved Context"); + atlasPtr = __PPGeDoAlloc(atlasSize, false, "PPGe Atlas Texture"); + palettePtr = __PPGeDoAlloc(paletteSize, false, "PPGe Texture Palette"); - u16 *imagePtr = (u16 *)imageData; - // component order change - for (int i = 0; i < width * height; i++) { - u16 c = imagePtr[i]; - int a = c & 0xF; - int r = (c >> 4) & 0xF; - int g = (c >> 8) & 0xF; - int b = (c >> 12) & 0xF; - c = (a << 12) | (r << 8) | (g << 4) | b; - imagePtr[i] = c; + // Generate 16-greyscale palette. All PPGe graphics are greyscale so we can use a tiny paletted texture. + u32 *palette = (u32 *)Memory::GetPointer(palettePtr); + for (int i = 0; i < 16; i++) { + int val = i | (i << 4); + palette[i] = (val << 24) | 0xFFFFFF; } - Memory::Memcpy(atlasPtr, imageData, atlasSize); + u16 *imagePtr = (u16 *)imageData; + u8 *ramPtr = (u8 *)Memory::GetPointer(atlasPtr); + + // Palettize to 4-bit, the easy way. + for (int i = 0; i < width * height / 2; i++) { + u16 c1 = imagePtr[i*2]; + u16 c2 = imagePtr[i*2+1]; + int a1 = c1 & 0xF; + int a2 = c2 & 0xF; + u8 cval = (a2 << 4) | a1; + ramPtr[i] = cval; + } + free(imageData); DEBUG_LOG(HLE, "PPGe drawing library initialized. DL: %08x Data: %08x Atlas: %08x (%i) Ctx: %08x", @@ -184,6 +196,8 @@ void __PPGeShutdown() kernelMemory.Free(dlPtr); if (savedContextPtr) kernelMemory.Free(savedContextPtr); + if (palettePtr) + kernelMemory.Free(palettePtr); atlasPtr = 0; dataPtr = 0; @@ -254,14 +268,16 @@ static void PPGeMeasureText(const char *text, float scale, float *w, float *h) { float wacc = 0; float maxw = 0; int lines = 1; - while ((cval = *text++) != '\0') { + UTF8 utf(text); + while (true) { + if (utf.end()) + break; + cval = utf.next(); if (cval == '\n') { if (wacc > maxw) maxw = wacc; wacc = 0; lines++; } - if (cval < 32) continue; - if (cval > 127) continue; const AtlasChar *c = atlasfont.getChar(cval); if (c) { wacc += c->wx * scale; @@ -294,15 +310,17 @@ void PPGeDrawText(const char *text, float x, float y, int align, float scale, u3 BeginVertexData(); y += atlasfont.ascend*scale; float sx = x; - while ((cval = *text++) != '\0') { + UTF8 utf(text); + while (true) { + if (utf.end()) + break; + cval = utf.next(); if (cval == '\n') { // This is not correct when centering or right-justifying, need to set x depending on line width (tricky) y += atlasfont.height * scale; x = sx; continue; } - if (cval < 32) continue; - if (cval > 127) continue; const AtlasChar *ch = atlasfont.getChar(cval); if (ch) { const AtlasChar &c = *ch; @@ -310,8 +328,8 @@ void PPGeDrawText(const char *text, float x, float y, int align, float scale, u3 float cy1 = y + c.oy * scale; float cx2 = x + (c.ox + c.pw) * scale; float cy2 = y + (c.oy + c.ph) * scale; - Vertex(cx1, cy1, c.sx, c.sy, 256, 256, color); - Vertex(cx2, cy2, c.ex, c.ey, 256, 256, color); + Vertex(cx1, cy1, c.sx, c.sy, atlasWidth, atlasHeight, color); + Vertex(cx2, cy2, c.ex, c.ey, atlasWidth, atlasHeight, color); x += c.wx * scale; } } @@ -416,10 +434,14 @@ void PPGeSetDefaultTexture() WriteCmd(GE_CMD_TEXTUREMAPENABLE, 1); int wp2 = GetPow2(atlasWidth); int hp2 = GetPow2(atlasHeight); - WriteCmd(GE_CMD_TEXSIZE0, wp2 | (hp2 << 8)); // 1 << (7+1) = 256 + WriteCmd(GE_CMD_CLUTADDR, palettePtr & 0xFFFFF0); + WriteCmd(GE_CMD_CLUTADDRUPPER, (palettePtr & 0xFF000000) >> 8); + WriteCmd(GE_CMD_CLUTFORMAT, 0x00FF03); + WriteCmd(GE_CMD_LOADCLUT, 2); + WriteCmd(GE_CMD_TEXSIZE0, wp2 | (hp2 << 8)); WriteCmd(GE_CMD_TEXMAPMODE, 0 | (1 << 8)); WriteCmd(GE_CMD_TEXMODE, 0); - WriteCmd(GE_CMD_TEXFORMAT, 2); // 4444 + WriteCmd(GE_CMD_TEXFORMAT, GE_TFMT_CLUT4); // 4-bit CLUT WriteCmd(GE_CMD_TEXFILTER, (1 << 8) | 1); // mag = LINEAR min = LINEAR WriteCmd(GE_CMD_TEXWRAP, (1 << 8) | 1); // clamp texture wrapping WriteCmd(GE_CMD_TEXFUNC, (0 << 16) | (1 << 8) | 0); // RGBA texture reads, modulate, no color doubling @@ -433,7 +455,7 @@ void PPGeSetTexture(u32 dataAddr, int width, int height) WriteCmd(GE_CMD_TEXTUREMAPENABLE, 1); int wp2 = GetPow2(width); int hp2 = GetPow2(height); - WriteCmd(GE_CMD_TEXSIZE0, wp2 | (hp2 << 8)); // 1 << (7+1) = 256 + WriteCmd(GE_CMD_TEXSIZE0, wp2 | (hp2 << 8)); WriteCmd(GE_CMD_TEXMAPMODE, 0 | (1 << 8)); WriteCmd(GE_CMD_TEXMODE, 0); WriteCmd(GE_CMD_TEXFORMAT, GE_TFMT_8888); // 4444 diff --git a/Core/Util/ppge_atlas.cpp b/Core/Util/ppge_atlas.cpp index ce22ae3a30..3d85dd356c 100644 --- a/Core/Util/ppge_atlas.cpp +++ b/Core/Util/ppge_atlas.cpp @@ -4,128 +4,414 @@ const AtlasChar font_UBUNTU24_chardata[] = { // RANGE: 0x20 - 0x80, start 0x0 - {0.972656f, 0.000000f, 0.976563f, 0.003906f, -2.0000f, -2.0000f, 7.0625f, 1, 1}, // 32 - {0.531250f, 0.675781f, 0.562500f, 0.777344f, -0.3750f, -23.1250f, 6.3750f, 8, 26}, // 33 - {0.246094f, 0.718750f, 0.292969f, 0.765625f, -0.5000f, -23.0625f, 10.2500f, 12, 12}, // 34 - {0.000000f, 0.191406f, 0.074219f, 0.292969f, -1.5625f, -23.0625f, 15.3125f, 19, 26}, // 35 - {0.527344f, 0.464844f, 0.589844f, 0.566406f, -1.1875f, -23.0625f, 13.8125f, 16, 26}, // 36 - {0.867188f, 0.105469f, 0.957031f, 0.207031f, -0.7500f, -23.3750f, 20.9375f, 23, 26}, // 37 - {0.000000f, 0.296875f, 0.066406f, 0.398438f, -0.9375f, -23.0625f, 14.1250f, 17, 26}, // 38 - {0.656250f, 0.140625f, 0.683594f, 0.187500f, -0.5000f, -23.0625f, 5.3125f, 7, 12}, // 39 - {0.425781f, 0.449219f, 0.472656f, 0.589844f, 0.3750f, -26.9375f, 10.7500f, 12, 36}, // 40 - {0.703125f, 0.453125f, 0.750000f, 0.593750f, -1.3750f, -26.9375f, 10.7500f, 12, 36}, // 41 - {0.933594f, 0.691406f, 0.996094f, 0.750000f, -1.2500f, -23.0625f, 12.8750f, 16, 15}, // 42 - {0.867188f, 0.691406f, 0.929688f, 0.753906f, -0.5000f, -18.3750f, 14.7500f, 16, 16}, // 43 - {0.593750f, 0.464844f, 0.625000f, 0.511719f, -0.5000f, -4.9375f, 5.7500f, 8, 12}, // 44 - {0.148438f, 0.191406f, 0.187500f, 0.214844f, -1.4375f, -12.6250f, 7.1250f, 10, 6}, // 45 - {0.421875f, 0.316406f, 0.453125f, 0.343750f, -0.5000f, -4.9375f, 6.1250f, 8, 7}, // 46 - {0.363281f, 0.421875f, 0.421875f, 0.535156f, -3.0625f, -23.0625f, 9.1250f, 15, 29}, // 47 - {0.070313f, 0.304688f, 0.136719f, 0.406250f, -0.7500f, -23.0625f, 15.4375f, 17, 26}, // 48 - {0.960938f, 0.105469f, 0.996094f, 0.207031f, -1.7500f, -23.0625f, 6.6250f, 9, 26}, // 49 - {0.781250f, 0.312500f, 0.847656f, 0.414063f, -0.8125f, -23.0625f, 14.3750f, 17, 26}, // 50 - {0.820313f, 0.527344f, 0.878906f, 0.628906f, -1.1875f, -23.0625f, 12.8750f, 15, 26}, // 51 - {0.406250f, 0.210938f, 0.476563f, 0.312500f, -1.6250f, -23.0625f, 13.8125f, 18, 26}, // 52 - {0.351563f, 0.316406f, 0.417969f, 0.417969f, -0.7500f, -23.0625f, 14.8750f, 17, 26}, // 53 - {0.628906f, 0.316406f, 0.695313f, 0.417969f, -0.7500f, -23.0625f, 14.9375f, 17, 26}, // 54 - {0.000000f, 0.507813f, 0.062500f, 0.609375f, -1.5000f, -23.0625f, 12.1250f, 16, 26}, // 55 - {0.859375f, 0.210938f, 0.929688f, 0.312500f, -0.8750f, -23.0625f, 15.5625f, 18, 26}, // 56 - {0.851563f, 0.316406f, 0.917969f, 0.417969f, -0.8750f, -23.0625f, 15.0000f, 17, 26}, // 57 - {0.660156f, 0.527344f, 0.691406f, 0.597656f, -0.3125f, -15.4375f, 6.5625f, 8, 18}, // 58 - {0.277344f, 0.128906f, 0.308594f, 0.218750f, -0.3125f, -15.4375f, 6.5625f, 8, 23}, // 59 - {0.335938f, 0.644531f, 0.398438f, 0.714844f, -0.5000f, -19.5000f, 14.7500f, 16, 18}, // 60 - {0.035156f, 0.707031f, 0.097656f, 0.753906f, -0.5000f, -16.3750f, 14.7500f, 16, 12}, // 61 - {0.660156f, 0.683594f, 0.722656f, 0.753906f, -0.5000f, -19.5000f, 14.7500f, 16, 18}, // 62 - {0.066406f, 0.515625f, 0.128906f, 0.617188f, -1.7500f, -23.0625f, 12.3750f, 16, 26}, // 63 - {0.191406f, 0.128906f, 0.273438f, 0.222656f, -0.8750f, -19.5625f, 18.5000f, 21, 24}, // 64 - {0.277344f, 0.222656f, 0.347656f, 0.324219f, -1.8125f, -23.0625f, 14.1875f, 18, 26}, // 65 - {0.222656f, 0.328125f, 0.289063f, 0.429688f, -0.5000f, -23.0625f, 15.0625f, 17, 26}, // 66 - {0.203125f, 0.539063f, 0.261719f, 0.640625f, -0.7500f, -23.0625f, 12.6875f, 15, 26}, // 67 - {0.140625f, 0.332031f, 0.207031f, 0.433594f, -0.5000f, -23.0625f, 15.5000f, 17, 26}, // 68 - {0.347656f, 0.539063f, 0.406250f, 0.640625f, -0.5000f, -23.0625f, 12.8750f, 15, 26}, // 69 - {0.132813f, 0.554688f, 0.191406f, 0.656250f, -0.5000f, -23.0625f, 11.8750f, 15, 26}, // 70 - {0.421875f, 0.343750f, 0.488281f, 0.445313f, -0.7500f, -23.0625f, 15.2500f, 17, 26}, // 71 - {0.699219f, 0.347656f, 0.765625f, 0.449219f, -0.5000f, -23.0625f, 15.8750f, 17, 26}, // 72 - {0.402344f, 0.695313f, 0.433594f, 0.796875f, -0.4375f, -23.0625f, 6.2500f, 8, 26}, // 73 - {0.527344f, 0.570313f, 0.585938f, 0.671875f, -1.7500f, -23.0625f, 11.8125f, 15, 26}, // 74 - {0.921875f, 0.355469f, 0.988281f, 0.457031f, -0.5000f, -23.0625f, 14.5000f, 17, 26}, // 75 - {0.222656f, 0.226563f, 0.277344f, 0.328125f, -0.5000f, -23.0625f, 11.1875f, 14, 26}, // 76 - {0.320313f, 0.117188f, 0.402344f, 0.218750f, -0.5000f, -23.0625f, 19.7500f, 21, 26}, // 77 - {0.492188f, 0.359375f, 0.558594f, 0.460938f, -0.5625f, -23.0625f, 15.8125f, 17, 26}, // 78 - {0.148438f, 0.226563f, 0.218750f, 0.328125f, -0.7500f, -23.0625f, 16.1250f, 18, 26}, // 79 - {0.562500f, 0.359375f, 0.628906f, 0.460938f, -0.5000f, -23.0625f, 14.5625f, 17, 26}, // 80 - {0.507813f, 0.125000f, 0.578125f, 0.234375f, -0.7500f, -23.0625f, 16.3125f, 18, 28}, // 81 - {0.000000f, 0.402344f, 0.066406f, 0.503906f, -0.5000f, -23.0625f, 15.4375f, 17, 26}, // 82 - {0.070313f, 0.410156f, 0.136719f, 0.511719f, -1.3125f, -23.0625f, 13.6875f, 17, 26}, // 83 - {0.753906f, 0.523438f, 0.816406f, 0.625000f, -1.7500f, -23.0625f, 12.3125f, 16, 26}, // 84 - {0.480469f, 0.238281f, 0.550781f, 0.339844f, -0.6250f, -23.0625f, 16.3125f, 18, 26}, // 85 - {0.554688f, 0.253906f, 0.625000f, 0.355469f, -1.8125f, -23.0625f, 13.8125f, 18, 26}, // 86 - {0.867188f, 0.000000f, 0.968750f, 0.101563f, -1.7500f, -23.0625f, 22.2500f, 26, 26}, // 87 - {0.769531f, 0.417969f, 0.835938f, 0.519531f, -1.5625f, -23.0625f, 13.5625f, 17, 26}, // 88 - {0.292969f, 0.421875f, 0.359375f, 0.523438f, -1.9375f, -23.0625f, 12.5625f, 17, 26}, // 89 - {0.281250f, 0.527344f, 0.343750f, 0.628906f, -1.0000f, -23.0625f, 13.0625f, 16, 26}, // 90 - {0.910156f, 0.460938f, 0.957031f, 0.601563f, 0.3750f, -26.9375f, 10.7500f, 12, 36}, // 91 - {0.140625f, 0.437500f, 0.199219f, 0.550781f, -2.0000f, -23.0625f, 9.1250f, 15, 29}, // 92 - {0.476563f, 0.464844f, 0.523438f, 0.605469f, -1.3750f, -26.9375f, 10.7500f, 12, 36}, // 93 - {0.726563f, 0.714844f, 0.781250f, 0.761719f, -1.1250f, -23.0625f, 11.4375f, 14, 12}, // 94 - {0.785156f, 0.718750f, 0.847656f, 0.742188f, -2.0000f, 0.0625f, 11.6250f, 16, 6}, // 95 - {0.566406f, 0.718750f, 0.617188f, 0.753906f, -0.5000f, -24.9375f, 11.9375f, 13, 9}, // 96 - {0.000000f, 0.613281f, 0.066406f, 0.695313f, -1.0000f, -18.6875f, 14.4375f, 17, 21}, // 97 - {0.632813f, 0.421875f, 0.699219f, 0.523438f, -0.5000f, -23.6875f, 15.3750f, 17, 26}, // 98 - {0.292969f, 0.328125f, 0.351563f, 0.410156f, -0.7500f, -18.6875f, 12.3750f, 15, 21}, // 99 - {0.839844f, 0.421875f, 0.906250f, 0.523438f, -0.7500f, -23.6875f, 15.3750f, 17, 26}, // 100 - {0.734375f, 0.628906f, 0.800781f, 0.710938f, -0.7500f, -18.6875f, 14.5000f, 17, 21}, // 101 - {0.136719f, 0.660156f, 0.179688f, 0.761719f, -0.5000f, -23.6875f, 8.1250f, 11, 26}, // 102 - {0.078125f, 0.191406f, 0.144531f, 0.300781f, -0.7500f, -18.6875f, 15.3750f, 17, 28}, // 103 - {0.210938f, 0.433594f, 0.277344f, 0.535156f, -0.5000f, -23.6875f, 15.6250f, 17, 26}, // 104 - {0.437500f, 0.695313f, 0.468750f, 0.796875f, -0.4375f, -23.6875f, 6.1875f, 8, 26}, // 105 - {0.484375f, 0.609375f, 0.527344f, 0.738281f, -3.3750f, -23.6875f, 6.6250f, 11, 33}, // 106 - {0.593750f, 0.527344f, 0.656250f, 0.628906f, -0.5000f, -23.6875f, 13.6250f, 16, 26}, // 107 - {0.000000f, 0.699219f, 0.031250f, 0.800781f, -0.5000f, -23.6875f, 6.0625f, 8, 26}, // 108 - {0.406250f, 0.125000f, 0.503906f, 0.207031f, -0.5000f, -18.6875f, 23.1875f, 25, 21}, // 109 - {0.265625f, 0.632813f, 0.332031f, 0.714844f, -0.5000f, -18.6875f, 15.6250f, 17, 21}, // 110 - {0.660156f, 0.597656f, 0.730469f, 0.679688f, -0.7500f, -18.6875f, 15.5625f, 18, 21}, // 111 - {0.789063f, 0.199219f, 0.855469f, 0.308594f, -0.5000f, -18.6875f, 15.3750f, 17, 28}, // 112 - {0.656250f, 0.203125f, 0.722656f, 0.312500f, -0.7500f, -18.6875f, 15.3750f, 17, 28}, // 113 - {0.351563f, 0.222656f, 0.398438f, 0.304688f, -0.6250f, -18.6875f, 9.6875f, 12, 21}, // 114 - {0.070313f, 0.621094f, 0.132813f, 0.703125f, -1.1250f, -18.6875f, 13.6250f, 16, 21}, // 115 - {0.195313f, 0.644531f, 0.242188f, 0.746094f, -0.6250f, -23.0625f, 8.9375f, 12, 26}, // 116 - {0.589844f, 0.632813f, 0.656250f, 0.714844f, -0.6250f, -18.6875f, 15.5000f, 17, 21}, // 117 - {0.882813f, 0.605469f, 0.953125f, 0.687500f, -1.7500f, -18.6875f, 14.3125f, 18, 21}, // 118 - {0.683594f, 0.117188f, 0.785156f, 0.199219f, -1.6875f, -18.6875f, 22.4375f, 26, 21}, // 119 - {0.410156f, 0.609375f, 0.480469f, 0.691406f, -1.7500f, -18.6875f, 13.8125f, 18, 21}, // 120 - {0.582031f, 0.140625f, 0.652344f, 0.250000f, -1.7500f, -18.6875f, 14.0000f, 18, 28}, // 121 - {0.804688f, 0.632813f, 0.863281f, 0.714844f, -1.0000f, -18.6875f, 12.7500f, 15, 21}, // 122 - {0.726563f, 0.203125f, 0.777344f, 0.343750f, -0.6875f, -26.9375f, 10.9375f, 13, 36}, // 123 - {0.960938f, 0.460938f, 0.988281f, 0.597656f, 0.6875f, -26.3125f, 7.9375f, 7, 35}, // 124 - {0.933594f, 0.210938f, 0.984375f, 0.351563f, -1.3750f, -26.9375f, 10.9375f, 13, 36}, // 125 - {0.296875f, 0.718750f, 0.359375f, 0.750000f, -0.5000f, -14.1875f, 14.7500f, 16, 8}, // 126 - {0.582031f, 0.000000f, 0.679688f, 0.136719f, -0.5000f, -25.2500f, 23.1250f, 25, 35}, // 127 + {0.953125f, 0.052734f, 0.955078f, 0.054688f, -2.0000f, -2.0000f, 5.3750f, 1, 1}, // 32 + {0.207031f, 0.166016f, 0.222656f, 0.210938f, -0.5625f, -20.3750f, 6.3750f, 8, 23}, // 33 + {0.810547f, 0.513672f, 0.832031f, 0.535156f, -0.8125f, -20.8750f, 9.4375f, 11, 11}, // 34 + {0.457031f, 0.611328f, 0.488281f, 0.656250f, -1.1250f, -20.1250f, 13.2500f, 16, 23}, // 35 + {0.882813f, 0.556641f, 0.912109f, 0.609375f, -0.4375f, -22.3750f, 13.5000f, 15, 27}, // 36 + {0.048828f, 0.320313f, 0.095703f, 0.365234f, -1.1875f, -20.0625f, 21.1875f, 24, 23}, // 37 + {0.367188f, 0.472656f, 0.406250f, 0.517578f, -1.1875f, -20.6250f, 16.2500f, 20, 23}, // 38 + {0.423828f, 0.367188f, 0.437500f, 0.388672f, -0.8125f, -20.8750f, 5.1250f, 7, 11}, // 39 + {0.978516f, 0.214844f, 0.998047f, 0.267578f, -0.3750f, -20.8750f, 7.7500f, 10, 27}, // 40 + {0.880859f, 0.701172f, 0.900391f, 0.753906f, -1.3750f, -20.8750f, 7.7500f, 10, 27}, // 41 + {0.654297f, 0.728516f, 0.681641f, 0.755859f, -1.2500f, -20.6875f, 11.2500f, 14, 14}, // 42 + {0.330078f, 0.648438f, 0.367188f, 0.685547f, -1.0000f, -16.5625f, 16.2500f, 19, 19}, // 43 + {0.390625f, 0.519531f, 0.408203f, 0.542969f, -1.6250f, -5.7500f, 5.9375f, 9, 12}, // 44 + {0.810547f, 0.537109f, 0.832031f, 0.548828f, -1.1875f, -10.3125f, 8.2500f, 11, 6}, // 45 + {0.408203f, 0.421875f, 0.423828f, 0.437500f, -0.6250f, -5.5625f, 5.8750f, 8, 8}, // 46 + {0.222656f, 0.111328f, 0.248047f, 0.158203f, -1.9375f, -20.6250f, 8.8750f, 13, 24}, // 47 + {0.910156f, 0.611328f, 0.941406f, 0.656250f, -1.1250f, -20.3125f, 13.5000f, 16, 23}, // 48 + {0.242188f, 0.605469f, 0.263672f, 0.650391f, 0.3750f, -20.0625f, 13.5000f, 11, 23}, // 49 + {0.111328f, 0.615234f, 0.142578f, 0.660156f, -0.9375f, -20.3750f, 13.5000f, 16, 23}, // 50 + {0.207031f, 0.654297f, 0.236328f, 0.699219f, -1.0000f, -20.3750f, 13.5000f, 15, 23}, // 51 + {0.724609f, 0.574219f, 0.757813f, 0.619141f, -1.5000f, -20.0625f, 13.5000f, 17, 23}, // 52 + {0.523438f, 0.654297f, 0.552734f, 0.699219f, -1.0000f, -20.0625f, 13.5000f, 15, 23}, // 53 + {0.412109f, 0.615234f, 0.443359f, 0.660156f, -1.1250f, -20.3125f, 13.5000f, 16, 23}, // 54 + {0.828125f, 0.654297f, 0.857422f, 0.699219f, -0.6250f, -20.0625f, 13.5000f, 15, 23}, // 55 + {0.708984f, 0.621094f, 0.740234f, 0.666016f, -1.0625f, -20.3750f, 13.5000f, 16, 23}, // 56 + {0.000000f, 0.632813f, 0.031250f, 0.677734f, -1.0000f, -20.3750f, 13.5000f, 16, 23}, // 57 + {0.080078f, 0.412109f, 0.095703f, 0.447266f, -0.6250f, -14.9375f, 5.8750f, 8, 18}, // 58 + {0.978516f, 0.269531f, 0.996094f, 0.310547f, -1.6250f, -14.9375f, 5.9375f, 9, 21}, // 59 + {0.476563f, 0.683594f, 0.509766f, 0.720703f, -0.2500f, -16.5625f, 16.2500f, 17, 19}, // 60 + {0.544922f, 0.724609f, 0.582031f, 0.748047f, -0.8750f, -12.9375f, 16.2500f, 19, 12}, // 61 + {0.554688f, 0.685547f, 0.587891f, 0.722656f, -0.2500f, -16.5625f, 16.2500f, 17, 19}, // 62 + {0.728516f, 0.697266f, 0.753906f, 0.742188f, -0.6875f, -20.6875f, 10.7500f, 13, 23}, // 63 + {0.240234f, 0.417969f, 0.283203f, 0.462891f, -0.8750f, -18.1875f, 19.3750f, 22, 23}, // 64 + {0.451172f, 0.513672f, 0.488281f, 0.558594f, -1.3750f, -20.3125f, 15.8750f, 19, 23}, // 65 + {0.490234f, 0.636719f, 0.521484f, 0.681641f, -0.0625f, -20.5000f, 14.4375f, 16, 23}, // 66 + {0.000000f, 0.585938f, 0.033203f, 0.630859f, -1.0625f, -20.6250f, 14.6250f, 17, 23}, // 67 + {0.771484f, 0.513672f, 0.808594f, 0.558594f, -0.0625f, -20.5000f, 17.0000f, 19, 23}, // 68 + {0.445313f, 0.658203f, 0.474609f, 0.703125f, -0.0625f, -20.3750f, 12.8125f, 15, 23}, // 69 + {0.587891f, 0.214844f, 0.615234f, 0.259766f, -0.0625f, -20.3750f, 12.6875f, 14, 23}, // 70 + {0.035156f, 0.515625f, 0.072266f, 0.560547f, -1.0625f, -20.5625f, 16.5625f, 19, 23}, // 71 + {0.000000f, 0.539063f, 0.035156f, 0.583984f, -0.0625f, -20.3750f, 16.8750f, 18, 23}, // 72 + {0.984375f, 0.458984f, 0.998047f, 0.503906f, -0.0625f, -20.3750f, 6.6250f, 7, 23}, // 73 + {0.171875f, 0.062500f, 0.195313f, 0.107422f, -2.0000f, -20.3750f, 9.6875f, 12, 23}, // 74 + {0.490234f, 0.589844f, 0.523438f, 0.634766f, -0.0625f, -20.3750f, 14.4375f, 17, 23}, // 75 + {0.625000f, 0.685547f, 0.652344f, 0.730469f, -0.0625f, -20.3750f, 12.3125f, 14, 23}, // 76 + {0.609375f, 0.369141f, 0.654297f, 0.414063f, -0.5625f, -20.3750f, 20.8750f, 23, 23}, // 77 + {0.810547f, 0.548828f, 0.845703f, 0.593750f, -0.0625f, -20.3750f, 17.0000f, 18, 23}, // 78 + {0.730469f, 0.474609f, 0.769531f, 0.519531f, -1.0625f, -20.6250f, 17.4375f, 20, 23}, // 79 + {0.564453f, 0.638672f, 0.595703f, 0.683594f, -0.0625f, -20.5000f, 14.0625f, 16, 23}, // 80 + {0.039063f, 0.412109f, 0.078125f, 0.462891f, -1.0625f, -20.6250f, 17.4375f, 20, 26}, // 81 + {0.597656f, 0.638672f, 0.628906f, 0.683594f, -0.0625f, -20.5625f, 14.2500f, 16, 23}, // 82 + {0.902344f, 0.658203f, 0.931641f, 0.703125f, -0.9375f, -20.6250f, 12.9375f, 15, 23}, // 83 + {0.568359f, 0.591797f, 0.601563f, 0.636719f, -1.9375f, -20.3750f, 13.0000f, 17, 23}, // 84 + {0.603516f, 0.591797f, 0.636719f, 0.636719f, -0.1250f, -20.3750f, 16.6875f, 17, 23}, // 85 + {0.269531f, 0.515625f, 0.306641f, 0.560547f, -1.8125f, -20.3750f, 14.8750f, 19, 23}, // 86 + {0.472656f, 0.312500f, 0.523438f, 0.357422f, -1.5625f, -20.3750f, 22.1250f, 26, 23}, // 87 + {0.074219f, 0.550781f, 0.109375f, 0.595703f, -1.5000f, -20.3750f, 14.6875f, 18, 23}, // 88 + {0.687500f, 0.550781f, 0.722656f, 0.595703f, -1.7500f, -20.3750f, 14.1875f, 18, 23}, // 89 + {0.638672f, 0.591797f, 0.671875f, 0.636719f, -1.3125f, -20.3750f, 14.0000f, 17, 23}, // 90 + {0.154297f, 0.115234f, 0.171875f, 0.166016f, 0.0625f, -20.6875f, 7.7500f, 9, 26}, // 91 + {0.787109f, 0.421875f, 0.812500f, 0.468750f, -1.9375f, -20.6250f, 8.6875f, 13, 24}, // 92 + {0.306641f, 0.265625f, 0.324219f, 0.316406f, -1.3750f, -20.6875f, 7.7500f, 9, 26}, // 93 + {0.373047f, 0.689453f, 0.408203f, 0.722656f, -0.4375f, -19.7500f, 16.2500f, 18, 17}, // 94 + {0.162109f, 0.740234f, 0.197266f, 0.751953f, -2.0000f, -0.1875f, 13.6250f, 18, 6}, // 95 + {0.445313f, 0.453125f, 0.464844f, 0.468750f, -1.4375f, -20.9375f, 8.1875f, 10, 8}, // 96 + {0.160156f, 0.472656f, 0.189453f, 0.507813f, -1.1250f, -15.5625f, 12.7500f, 15, 18}, // 97 + {0.158203f, 0.556641f, 0.191406f, 0.603516f, -0.3750f, -21.2500f, 14.6875f, 17, 24}, // 98 + {0.902344f, 0.705078f, 0.929688f, 0.740234f, -1.0625f, -15.5000f, 11.3750f, 14, 18}, // 99 + {0.193359f, 0.556641f, 0.226563f, 0.603516f, -1.0625f, -21.2500f, 14.5625f, 17, 24}, // 100 + {0.207031f, 0.701172f, 0.238281f, 0.736328f, -1.0625f, -15.5000f, 13.0625f, 16, 18}, // 101 + {0.345703f, 0.689453f, 0.371094f, 0.736328f, -1.6875f, -21.5000f, 7.9375f, 13, 24}, // 102 + {0.263672f, 0.603516f, 0.294922f, 0.650391f, -1.0625f, -15.5000f, 14.5000f, 16, 24}, // 103 + {0.480469f, 0.164063f, 0.509766f, 0.210938f, -0.2500f, -21.2500f, 14.4375f, 15, 24}, // 104 + {0.537109f, 0.509766f, 0.552734f, 0.554688f, -0.4375f, -20.5000f, 6.3750f, 8, 23}, // 105 + {0.976563f, 0.505859f, 0.998047f, 0.562500f, -3.1250f, -20.5000f, 6.6250f, 11, 29}, // 106 + {0.035156f, 0.605469f, 0.066406f, 0.652344f, -0.2500f, -21.2500f, 12.5625f, 16, 24}, // 107 + {0.259766f, 0.214844f, 0.273438f, 0.261719f, -0.2500f, -21.2500f, 6.3125f, 7, 24}, // 108 + {0.490234f, 0.552734f, 0.535156f, 0.587891f, -0.3750f, -15.5000f, 21.6250f, 23, 18}, // 109 + {0.240234f, 0.701172f, 0.271484f, 0.736328f, -0.3750f, -15.5000f, 14.4375f, 16, 18}, // 110 + {0.773438f, 0.689453f, 0.806641f, 0.724609f, -1.0625f, -15.5000f, 14.1875f, 17, 18}, // 111 + {0.802734f, 0.595703f, 0.835938f, 0.640625f, -0.3750f, -15.5000f, 14.6875f, 17, 23}, // 112 + {0.076172f, 0.597656f, 0.109375f, 0.642578f, -1.0625f, -15.5000f, 14.5625f, 17, 23}, // 113 + {0.488281f, 0.468750f, 0.509766f, 0.503906f, -0.3750f, -15.5625f, 8.8125f, 11, 18}, // 114 + {0.464844f, 0.722656f, 0.490234f, 0.757813f, -1.1250f, -15.5625f, 10.3750f, 13, 18}, // 115 + {0.099609f, 0.708984f, 0.123047f, 0.750000f, -1.5625f, -18.5000f, 8.8750f, 12, 21}, // 116 + {0.203125f, 0.513672f, 0.232422f, 0.548828f, -0.2500f, -15.2500f, 14.3125f, 15, 18}, // 117 + {0.064453f, 0.691406f, 0.097656f, 0.726563f, -1.6875f, -15.2500f, 12.6250f, 17, 18}, // 118 + {0.587891f, 0.554688f, 0.632813f, 0.589844f, -1.5625f, -15.1875f, 19.1875f, 23, 18}, // 119 + {0.511719f, 0.701172f, 0.542969f, 0.736328f, -1.8125f, -15.2500f, 12.2500f, 16, 18}, // 120 + {0.142578f, 0.605469f, 0.173828f, 0.652344f, -1.7500f, -15.2500f, 12.4375f, 16, 24}, // 121 + {0.166016f, 0.703125f, 0.195313f, 0.738281f, -1.5000f, -15.1875f, 11.2500f, 15, 18}, // 122 + {0.808594f, 0.701172f, 0.830078f, 0.751953f, -1.3125f, -20.6875f, 7.6875f, 11, 26}, // 123 + {0.302734f, 0.689453f, 0.316406f, 0.751953f, 0.2500f, -22.4375f, 6.5625f, 7, 32}, // 124 + {0.832031f, 0.701172f, 0.853516f, 0.751953f, -1.3125f, -20.6875f, 7.6875f, 11, 26}, // 125 + {0.125000f, 0.738281f, 0.160156f, 0.755859f, -0.6875f, -11.9375f, 16.2500f, 18, 9}, // 126 + {0.957031f, 0.052734f, 0.958984f, 0.054688f, 0.0000f, 0.0000f, 0.0000f, 1, 1}, // 127 +// RANGE: 0x80 - 0x81, start 0x60 + {0.960938f, 0.052734f, 0.962891f, 0.054688f, 0.0000f, 0.0000f, 0.0000f, 1, 1}, // 128 +// RANGE: 0xa2 - 0xff, start 0x61 + {0.316406f, 0.687500f, 0.343750f, 0.732422f, -0.1875f, -20.6250f, 13.5000f, 14, 23}, // 162 + {0.630859f, 0.638672f, 0.662109f, 0.683594f, -0.6875f, -20.3125f, 13.5000f, 16, 23}, // 163 + {0.654297f, 0.691406f, 0.687500f, 0.726563f, -1.5000f, -17.9375f, 13.5000f, 17, 18}, // 164 + {0.673828f, 0.597656f, 0.707031f, 0.642578f, -1.7500f, -20.1250f, 13.5000f, 17, 23}, // 165 + {0.982422f, 0.703125f, 0.996094f, 0.757813f, 0.2500f, -20.3750f, 6.5625f, 7, 28}, // 166 + {0.457031f, 0.560547f, 0.488281f, 0.609375f, 4.1875f, -20.6875f, 24.0000f, 16, 25}, // 167 + {0.117188f, 0.453125f, 0.142578f, 0.468750f, 5.9375f, -24.6250f, 24.0000f, 13, 8}, // 168 + {0.074219f, 0.507813f, 0.115234f, 0.548828f, -1.0625f, -19.6875f, 18.4375f, 21, 21}, // 169 + {0.273438f, 0.736328f, 0.296875f, 0.761719f, -1.1250f, -18.0625f, 9.1875f, 12, 13}, // 170 + {0.755859f, 0.726563f, 0.783203f, 0.755859f, -1.2500f, -13.9375f, 11.3125f, 14, 15}, // 171 + {0.583984f, 0.724609f, 0.621094f, 0.748047f, -0.9375f, -13.1250f, 16.2500f, 19, 12}, // 172 + {0.394531f, 0.740234f, 0.431641f, 0.751953f, -0.8750f, -10.3125f, 16.2500f, 19, 6}, // 173 + {0.623047f, 0.732422f, 0.650391f, 0.757813f, -0.8750f, -20.6250f, 11.3750f, 14, 13}, // 174 + {0.345703f, 0.738281f, 0.367188f, 0.750000f, -0.9375f, -19.6250f, 8.1875f, 11, 6}, // 175 + {0.773438f, 0.648438f, 0.794922f, 0.669922f, -0.5000f, -21.4375f, 24.0000f, 11, 11}, // 176 + {0.154297f, 0.369141f, 0.197266f, 0.416016f, 1.3125f, -21.4375f, 24.0000f, 22, 24}, // 177 + {0.785156f, 0.726563f, 0.808594f, 0.755859f, -1.7500f, -24.6250f, 8.3125f, 12, 15}, // 178 + {0.000000f, 0.734375f, 0.023438f, 0.763672f, -1.8125f, -24.6875f, 8.1875f, 12, 15}, // 179 + {0.773438f, 0.671875f, 0.792969f, 0.687500f, 8.5625f, -24.6875f, 24.0000f, 10, 8}, // 180 + {0.343750f, 0.601563f, 0.376953f, 0.646484f, -0.2500f, -15.3125f, 14.3750f, 17, 23}, // 181 + {0.175781f, 0.605469f, 0.207031f, 0.652344f, 3.6875f, -20.4375f, 24.0000f, 16, 24}, // 182 + {0.771484f, 0.474609f, 0.787109f, 0.490234f, -0.8125f, -11.0625f, 5.9375f, 8, 8}, // 183 + {0.980469f, 0.601563f, 0.998047f, 0.621094f, -0.5000f, -2.1250f, 8.1875f, 9, 10}, // 184 + {0.832031f, 0.470703f, 0.849609f, 0.500000f, -1.5625f, -24.5000f, 6.8125f, 9, 15}, // 185 + {0.318359f, 0.734375f, 0.343750f, 0.759766f, -1.3750f, -18.0625f, 9.5625f, 13, 13}, // 186 + {0.050781f, 0.728516f, 0.078125f, 0.757813f, -1.3750f, -13.9375f, 11.3125f, 14, 15}, // 187 + {0.812500f, 0.369141f, 0.857422f, 0.414063f, -1.0000f, -20.0000f, 20.2500f, 23, 23}, // 188 + {0.240234f, 0.371094f, 0.285156f, 0.416016f, -1.3750f, -20.0000f, 20.2500f, 23, 23}, // 189 + {0.714844f, 0.371094f, 0.759766f, 0.416016f, -1.2500f, -20.0000f, 20.2500f, 23, 23}, // 190 + {0.933594f, 0.697266f, 0.958984f, 0.742188f, -0.7500f, -15.3750f, 10.7500f, 13, 23}, // 191 + {0.470703f, 0.414063f, 0.507813f, 0.466797f, -1.3750f, -24.5000f, 15.8750f, 19, 27}, // 192 + {0.287109f, 0.416016f, 0.324219f, 0.468750f, -1.3750f, -24.5625f, 15.8750f, 19, 27}, // 193 + {0.609375f, 0.416016f, 0.646484f, 0.468750f, -1.3750f, -24.4375f, 15.8750f, 19, 27}, // 194 + {0.812500f, 0.416016f, 0.849609f, 0.468750f, -1.3750f, -24.4375f, 15.8750f, 19, 27}, // 195 + {0.150391f, 0.417969f, 0.187500f, 0.470703f, -1.4375f, -24.5625f, 15.8750f, 19, 27}, // 196 + {0.000000f, 0.369141f, 0.037109f, 0.423828f, -1.4375f, -26.0000f, 15.8750f, 19, 28}, // 197 + {0.000000f, 0.322266f, 0.046875f, 0.367188f, -1.9375f, -20.3750f, 20.5625f, 24, 23}, // 198 + {0.000000f, 0.425781f, 0.033203f, 0.482422f, -1.0625f, -20.6250f, 14.6250f, 17, 29}, // 199 + {0.914063f, 0.556641f, 0.943359f, 0.609375f, -0.0625f, -24.5000f, 12.8125f, 15, 27}, // 200 + {0.537109f, 0.558594f, 0.566406f, 0.611328f, -0.0625f, -24.5625f, 12.8125f, 15, 27}, // 201 + {0.111328f, 0.560547f, 0.140625f, 0.613281f, -0.0625f, -24.4375f, 12.8125f, 15, 27}, // 202 + {0.425781f, 0.560547f, 0.455078f, 0.613281f, -0.0625f, -24.5625f, 12.8125f, 15, 27}, // 203 + {0.960938f, 0.703125f, 0.980469f, 0.755859f, -2.8125f, -24.5000f, 6.6250f, 10, 27}, // 204 + {0.443359f, 0.705078f, 0.462891f, 0.757813f, -0.0625f, -24.5625f, 6.6250f, 10, 27}, // 205 + {0.974609f, 0.648438f, 0.998047f, 0.701172f, -2.5000f, -24.4375f, 6.6250f, 12, 27}, // 206 + {0.000000f, 0.679688f, 0.023438f, 0.732422f, -2.6875f, -24.5625f, 6.6250f, 12, 27}, // 207 + {0.941406f, 0.458984f, 0.982422f, 0.503906f, -2.0625f, -20.5000f, 17.1875f, 21, 23}, // 208 + {0.080078f, 0.453125f, 0.115234f, 0.505859f, -0.0625f, -24.4375f, 17.0000f, 18, 27}, // 209 + {0.486328f, 0.359375f, 0.525391f, 0.412109f, -1.0625f, -24.5000f, 17.4375f, 20, 27}, // 210 + {0.382813f, 0.367188f, 0.421875f, 0.419922f, -1.0625f, -24.5625f, 17.4375f, 20, 27}, // 211 + {0.527344f, 0.367188f, 0.566406f, 0.419922f, -1.0625f, -24.4375f, 17.4375f, 20, 27}, // 212 + {0.568359f, 0.367188f, 0.607422f, 0.419922f, -1.0625f, -24.4375f, 17.4375f, 20, 27}, // 213 + {0.771484f, 0.367188f, 0.810547f, 0.419922f, -1.0625f, -24.5625f, 17.4375f, 20, 27}, // 214 + {0.761719f, 0.560547f, 0.800781f, 0.599609f, 2.1875f, -18.8750f, 24.0000f, 20, 20}, // 215 + {0.326172f, 0.419922f, 0.365234f, 0.468750f, -1.0625f, -21.5625f, 17.4375f, 20, 25}, // 216 + {0.000000f, 0.484375f, 0.033203f, 0.537109f, -0.1250f, -24.5000f, 16.6875f, 17, 27}, // 217 + {0.873047f, 0.501953f, 0.906250f, 0.554688f, -0.1250f, -24.5625f, 16.6875f, 17, 27}, // 218 + {0.908203f, 0.501953f, 0.941406f, 0.554688f, -0.1250f, -24.4375f, 16.6875f, 17, 27}, // 219 + {0.552734f, 0.503906f, 0.585938f, 0.556641f, -0.1250f, -24.5625f, 16.6875f, 17, 27}, // 220 + {0.408203f, 0.453125f, 0.443359f, 0.505859f, -1.7500f, -24.5625f, 14.1875f, 18, 27}, // 221 + {0.794922f, 0.642578f, 0.826172f, 0.687500f, -0.0625f, -20.3750f, 14.0000f, 16, 23}, // 222 + {0.208984f, 0.605469f, 0.240234f, 0.652344f, -0.2500f, -21.5000f, 14.5000f, 16, 24}, // 223 + {0.742188f, 0.648438f, 0.771484f, 0.695313f, -1.1250f, -20.9375f, 12.7500f, 15, 24}, // 224 + {0.943359f, 0.648438f, 0.972656f, 0.695313f, -1.1250f, -20.9375f, 12.7500f, 15, 24}, // 225 + {0.242188f, 0.652344f, 0.271484f, 0.699219f, -1.1250f, -20.9375f, 12.7500f, 15, 24}, // 226 + {0.101563f, 0.662109f, 0.130859f, 0.707031f, -1.1250f, -20.4375f, 12.7500f, 15, 23}, // 227 + {0.412109f, 0.662109f, 0.441406f, 0.707031f, -1.1250f, -20.4375f, 12.7500f, 15, 23}, // 228 + {0.871094f, 0.652344f, 0.900391f, 0.699219f, -1.1250f, -21.7500f, 12.7500f, 15, 24}, // 229 + {0.634766f, 0.554688f, 0.679688f, 0.589844f, -1.1875f, -15.5000f, 20.0000f, 23, 18}, // 230 + {0.273438f, 0.689453f, 0.300781f, 0.734375f, -1.0625f, -15.5000f, 11.3750f, 14, 23}, // 231 + {0.296875f, 0.605469f, 0.328125f, 0.652344f, -1.0625f, -20.9375f, 13.0625f, 16, 24}, // 232 + {0.378906f, 0.605469f, 0.410156f, 0.652344f, -1.0625f, -20.9375f, 13.0625f, 16, 24}, // 233 + {0.837891f, 0.605469f, 0.869141f, 0.652344f, -1.0625f, -20.9375f, 13.0625f, 16, 24}, // 234 + {0.068359f, 0.644531f, 0.099609f, 0.689453f, -1.0625f, -20.4375f, 13.0625f, 16, 23}, // 235 + {0.492188f, 0.722656f, 0.511719f, 0.767578f, -2.3750f, -20.9375f, 6.3125f, 10, 23}, // 236 + {0.373047f, 0.724609f, 0.392578f, 0.769531f, -0.3125f, -20.9375f, 6.3125f, 10, 23}, // 237 + {0.855469f, 0.701172f, 0.878906f, 0.746094f, -2.3750f, -20.9375f, 6.3125f, 12, 23}, // 238 + {0.025391f, 0.703125f, 0.048828f, 0.748047f, -2.8125f, -20.4375f, 6.3125f, 12, 23}, // 239 + {0.228516f, 0.556641f, 0.261719f, 0.603516f, -1.0625f, -21.5625f, 14.0000f, 17, 24}, // 240 + {0.664063f, 0.644531f, 0.695313f, 0.689453f, -0.3750f, -20.4375f, 14.4375f, 16, 23}, // 241 + {0.308594f, 0.556641f, 0.341797f, 0.603516f, -1.0625f, -20.9375f, 14.1875f, 17, 24}, // 242 + {0.390625f, 0.556641f, 0.423828f, 0.603516f, -1.0625f, -20.9375f, 14.1875f, 17, 24}, // 243 + {0.847656f, 0.556641f, 0.880859f, 0.603516f, -1.0625f, -20.9375f, 14.1875f, 17, 24}, // 244 + {0.759766f, 0.601563f, 0.792969f, 0.646484f, -1.0625f, -20.4375f, 14.1875f, 17, 23}, // 245 + {0.945313f, 0.601563f, 0.978516f, 0.646484f, -1.0625f, -20.4375f, 14.1875f, 17, 23}, // 246 + {0.587891f, 0.513672f, 0.630859f, 0.552734f, 1.3750f, -19.0000f, 24.0000f, 22, 20}, // 247 + {0.962891f, 0.369141f, 0.996094f, 0.408203f, -1.0625f, -16.3125f, 14.1875f, 17, 20}, // 248 + {0.033203f, 0.654297f, 0.062500f, 0.701172f, -0.2500f, -20.9375f, 14.3125f, 15, 24}, // 249 + {0.144531f, 0.654297f, 0.173828f, 0.701172f, -0.2500f, -20.9375f, 14.3125f, 15, 24}, // 250 + {0.175781f, 0.654297f, 0.205078f, 0.701172f, -0.2500f, -20.9375f, 14.3125f, 15, 24}, // 251 + {0.697266f, 0.667969f, 0.726563f, 0.712891f, -0.2500f, -20.4375f, 14.3125f, 15, 23}, // 252 + {0.966797f, 0.310547f, 0.998047f, 0.367188f, -1.7500f, -20.9375f, 12.4375f, 16, 29}, // 253 + {0.943359f, 0.505859f, 0.974609f, 0.560547f, -0.2500f, -20.3125f, 14.6875f, 16, 28}, // 254 +// RANGE: 0x2122 - 0x2123, start 0xbe + {0.689453f, 0.714844f, 0.728516f, 0.738281f, -1.3750f, -20.3750f, 16.3750f, 20, 12}, // 8482 +// RANGE: 0x30a0 - 0x30ff, start 0xbf + {0.964844f, 0.052734f, 0.966797f, 0.054688f, 0.0000f, 0.0000f, 0.0000f, 1, 1}, // 12448 + {0.308594f, 0.515625f, 0.349609f, 0.554688f, 2.3125f, -16.5625f, 24.0000f, 21, 20}, // 12449 + {0.207031f, 0.265625f, 0.255859f, 0.312500f, 0.2500f, -20.5000f, 24.0000f, 25, 24}, // 12450 + {0.685547f, 0.507813f, 0.726563f, 0.548828f, 0.9375f, -17.3125f, 24.0000f, 21, 21}, // 12451 + {0.257813f, 0.265625f, 0.304688f, 0.314453f, -0.3750f, -21.5625f, 24.0000f, 24, 25}, // 12452 + {0.351563f, 0.519531f, 0.388672f, 0.562500f, 3.0000f, -17.8125f, 24.0000f, 19, 22}, // 12453 + {0.619141f, 0.316406f, 0.662109f, 0.367188f, 1.3750f, -21.8125f, 24.0000f, 22, 26}, // 12454 + {0.273438f, 0.654297f, 0.314453f, 0.687500f, 1.7500f, -15.0000f, 24.0000f, 21, 17}, // 12455 + {0.552734f, 0.462891f, 0.599609f, 0.501953f, 0.0625f, -18.2500f, 24.0000f, 24, 20}, // 12456 + {0.488281f, 0.509766f, 0.529297f, 0.550781f, 1.5625f, -17.5625f, 24.0000f, 21, 21}, // 12457 + {0.615234f, 0.160156f, 0.664063f, 0.210938f, -0.8125f, -21.6875f, 24.0000f, 25, 26}, // 12458 + {0.628906f, 0.265625f, 0.675781f, 0.314453f, -0.1250f, -21.5000f, 24.0000f, 24, 25}, // 12459 + {0.636719f, 0.000000f, 0.687500f, 0.052734f, -0.0625f, -22.8750f, 24.0000f, 26, 27}, // 12460 + {0.666016f, 0.160156f, 0.714844f, 0.210938f, -0.1250f, -21.6875f, 24.0000f, 25, 26}, // 12461 + {0.308594f, 0.000000f, 0.361328f, 0.052734f, -0.1875f, -23.0625f, 24.0000f, 27, 27}, // 12462 + {0.953125f, 0.000000f, 0.998047f, 0.050781f, 0.3125f, -21.7500f, 24.0000f, 23, 26}, // 12463 + {0.689453f, 0.000000f, 0.740234f, 0.052734f, 0.3750f, -23.0625f, 24.0000f, 26, 27}, // 12464 + {0.832031f, 0.160156f, 0.880859f, 0.210938f, -0.3125f, -21.6250f, 24.0000f, 25, 26}, // 12465 + {0.742188f, 0.000000f, 0.792969f, 0.052734f, -0.3125f, -22.7500f, 24.0000f, 26, 27}, // 12466 + {0.685547f, 0.464844f, 0.728516f, 0.505859f, 1.1875f, -18.3125f, 24.0000f, 22, 21}, // 12467 + {0.882813f, 0.160156f, 0.931641f, 0.210938f, 1.3750f, -23.0000f, 24.0000f, 25, 26}, // 12468 + {0.222656f, 0.162109f, 0.271484f, 0.212891f, -0.4375f, -21.6250f, 24.0000f, 25, 26}, // 12469 + {0.363281f, 0.000000f, 0.416016f, 0.052734f, -0.5000f, -22.8125f, 24.0000f, 27, 27}, // 12470 + {0.867188f, 0.265625f, 0.916016f, 0.312500f, -0.0625f, -20.8125f, 24.0000f, 25, 24}, // 12471 + {0.794922f, 0.000000f, 0.845703f, 0.052734f, -0.0625f, -22.9375f, 24.0000f, 26, 27}, // 12472 + {0.152344f, 0.267578f, 0.201172f, 0.314453f, -0.3125f, -20.1250f, 24.0000f, 25, 24}, // 12473 + {0.417969f, 0.000000f, 0.470703f, 0.052734f, -0.3125f, -23.0000f, 24.0000f, 27, 27}, // 12474 + {0.421875f, 0.267578f, 0.470703f, 0.314453f, -0.3125f, -21.0625f, 24.0000f, 25, 24}, // 12475 + {0.195313f, 0.058594f, 0.246094f, 0.109375f, -0.3125f, -23.0000f, 24.0000f, 26, 26}, // 12476 + {0.423828f, 0.406250f, 0.468750f, 0.451172f, 0.6875f, -19.8125f, 24.0000f, 23, 23}, // 12477 + {0.324219f, 0.263672f, 0.371094f, 0.314453f, 1.3125f, -23.0625f, 24.0000f, 24, 26}, // 12478 + {0.816406f, 0.316406f, 0.859375f, 0.367188f, 0.2500f, -21.8750f, 24.0000f, 22, 26}, // 12479 + {0.847656f, 0.000000f, 0.898438f, 0.052734f, 0.5000f, -23.0625f, 24.0000f, 26, 27}, // 12480 + {0.767578f, 0.267578f, 0.814453f, 0.316406f, 0.0000f, -21.4375f, 24.0000f, 24, 25}, // 12481 + {0.273438f, 0.162109f, 0.324219f, 0.210938f, -0.0625f, -21.5000f, 24.0000f, 26, 25}, // 12482 + {0.263672f, 0.562500f, 0.302734f, 0.601563f, 1.9375f, -16.3750f, 24.0000f, 20, 20}, // 12483 + {0.294922f, 0.316406f, 0.341797f, 0.363281f, 0.1875f, -20.0625f, 24.0000f, 24, 24}, // 12484 + {0.458984f, 0.109375f, 0.507813f, 0.162109f, 0.2500f, -23.0000f, 24.0000f, 25, 27}, // 12485 + {0.050781f, 0.269531f, 0.097656f, 0.318359f, 0.3750f, -20.6875f, 24.0000f, 24, 25}, // 12486 + {0.900391f, 0.000000f, 0.951172f, 0.052734f, 0.6250f, -23.1250f, 24.0000f, 26, 27}, // 12487 + {0.728516f, 0.521484f, 0.759766f, 0.572266f, 6.2500f, -21.6875f, 24.0000f, 16, 26}, // 12488 + {0.748047f, 0.421875f, 0.785156f, 0.472656f, 6.2500f, -22.3125f, 24.0000f, 19, 26}, // 12489 + {0.326172f, 0.162109f, 0.375000f, 0.212891f, -0.0625f, -21.8125f, 24.0000f, 25, 26}, // 12490 + {0.232422f, 0.464844f, 0.279297f, 0.503906f, -0.0625f, -18.2500f, 24.0000f, 24, 20}, // 12491 + {0.859375f, 0.408203f, 0.902344f, 0.455078f, 1.0625f, -20.4375f, 24.0000f, 22, 24}, // 12492 + {0.119141f, 0.062500f, 0.169922f, 0.113281f, -0.7500f, -22.3125f, 24.0000f, 26, 26}, // 12493 + {0.343750f, 0.316406f, 0.388672f, 0.365234f, 0.0000f, -21.3750f, 24.0000f, 23, 25}, // 12494 + {0.664063f, 0.320313f, 0.716797f, 0.361328f, -1.1875f, -18.9375f, 24.0000f, 27, 21}, // 12495 + {0.509766f, 0.109375f, 0.562500f, 0.158203f, -1.0625f, -22.8750f, 24.0000f, 27, 25}, // 12496 + {0.564453f, 0.109375f, 0.617188f, 0.158203f, -1.1250f, -22.5625f, 24.0000f, 27, 25}, // 12497 + {0.189453f, 0.419922f, 0.230469f, 0.466797f, 2.3125f, -20.9375f, 24.0000f, 21, 24}, // 12498 + {0.373047f, 0.263672f, 0.419922f, 0.314453f, 2.3125f, -22.8750f, 24.0000f, 24, 26}, // 12499 + {0.390625f, 0.316406f, 0.435547f, 0.365234f, 2.3125f, -22.4375f, 24.0000f, 23, 25}, // 12500 + {0.656250f, 0.408203f, 0.701172f, 0.453125f, 0.8750f, -19.4375f, 24.0000f, 23, 23}, // 12501 + {0.730469f, 0.109375f, 0.779297f, 0.162109f, 1.0000f, -23.0625f, 24.0000f, 25, 27}, // 12502 + {0.781250f, 0.109375f, 0.830078f, 0.162109f, 1.0000f, -22.9375f, 24.0000f, 25, 27}, // 12503 + {0.861328f, 0.367188f, 0.914063f, 0.406250f, -1.3125f, -18.3750f, 24.0000f, 27, 20}, // 12504 + {0.324219f, 0.214844f, 0.376953f, 0.261719f, -1.3125f, -22.0000f, 24.0000f, 27, 24}, // 12505 + {0.533203f, 0.214844f, 0.585938f, 0.261719f, -1.3750f, -21.9375f, 24.0000f, 27, 24}, // 12506 + {0.156250f, 0.216797f, 0.205078f, 0.265625f, -0.3750f, -21.5000f, 24.0000f, 25, 25}, // 12507 + {0.308594f, 0.054688f, 0.359375f, 0.107422f, -0.3750f, -22.7500f, 24.0000f, 26, 27}, // 12508 + {0.361328f, 0.054688f, 0.412109f, 0.107422f, -0.3750f, -22.8750f, 24.0000f, 26, 27}, // 12509 + {0.664063f, 0.363281f, 0.712891f, 0.406250f, -0.3125f, -18.9375f, 24.0000f, 25, 22}, // 12510 + {0.367188f, 0.421875f, 0.406250f, 0.470703f, 1.5625f, -21.1875f, 24.0000f, 20, 25}, // 12511 + {0.376953f, 0.162109f, 0.427734f, 0.210938f, -0.4375f, -21.1250f, 24.0000f, 26, 25}, // 12512 + {0.525391f, 0.316406f, 0.570313f, 0.365234f, 0.0625f, -21.5625f, 24.0000f, 23, 25}, // 12513 + {0.097656f, 0.322266f, 0.144531f, 0.367188f, 0.0625f, -20.1250f, 24.0000f, 24, 23}, // 12514 + {0.160156f, 0.513672f, 0.201172f, 0.554688f, 1.7500f, -17.4375f, 24.0000f, 21, 21}, // 12515 + {0.429688f, 0.164063f, 0.478516f, 0.214844f, -0.3125f, -21.6875f, 24.0000f, 25, 26}, // 12516 + {0.369141f, 0.654297f, 0.410156f, 0.687500f, 1.8125f, -15.1875f, 24.0000f, 21, 17}, // 12517 + {0.509766f, 0.421875f, 0.558594f, 0.460938f, -0.1875f, -18.8750f, 24.0000f, 25, 20}, // 12518 + {0.589844f, 0.685547f, 0.623047f, 0.722656f, 3.4375f, -15.3750f, 24.0000f, 17, 19}, // 12519 + {0.832031f, 0.501953f, 0.871094f, 0.546875f, 1.6250f, -19.7500f, 24.0000f, 20, 23}, // 12520 + {0.771484f, 0.318359f, 0.816406f, 0.365234f, 0.6875f, -20.6250f, 24.0000f, 23, 24}, // 12521 + {0.232422f, 0.505859f, 0.267578f, 0.554688f, 3.3125f, -21.1875f, 24.0000f, 18, 25}, // 12522 + {0.892578f, 0.109375f, 0.945313f, 0.158203f, -1.1250f, -21.1250f, 24.0000f, 27, 25}, // 12523 + {0.294922f, 0.365234f, 0.337891f, 0.414063f, 2.9375f, -20.9375f, 24.0000f, 22, 25}, // 12524 + {0.408203f, 0.513672f, 0.449219f, 0.554688f, 1.5000f, -18.4375f, 24.0000f, 21, 21}, // 12525 + {0.871094f, 0.611328f, 0.908203f, 0.650391f, 2.8125f, -16.3125f, 24.0000f, 19, 20}, // 12526 + {0.703125f, 0.417969f, 0.746094f, 0.462891f, 1.2500f, -19.9375f, 24.0000f, 22, 23}, // 12527 + {0.429688f, 0.216797f, 0.478516f, 0.265625f, -0.3125f, -21.6250f, 24.0000f, 25, 25}, // 12528 + {0.560547f, 0.421875f, 0.609375f, 0.460938f, 0.0000f, -18.6875f, 24.0000f, 25, 20}, // 12529 + {0.904297f, 0.408203f, 0.947266f, 0.455078f, 1.6875f, -20.3750f, 24.0000f, 22, 24}, // 12530 + {0.437500f, 0.359375f, 0.484375f, 0.404297f, 0.8125f, -19.8750f, 24.0000f, 24, 23}, // 12531 + {0.947266f, 0.109375f, 0.996094f, 0.162109f, 1.4375f, -23.0625f, 24.0000f, 25, 27}, // 12532 + {0.117188f, 0.517578f, 0.156250f, 0.558594f, 2.0625f, -17.3750f, 24.0000f, 20, 21}, // 12533 + {0.189453f, 0.468750f, 0.230469f, 0.511719f, 1.5000f, -17.5000f, 24.0000f, 21, 22}, // 12534 + {0.052734f, 0.111328f, 0.101563f, 0.164063f, 1.3750f, -23.1875f, 24.0000f, 25, 27}, // 12535 + {0.472656f, 0.000000f, 0.525391f, 0.052734f, -0.3125f, -23.1250f, 24.0000f, 27, 27}, // 12536 + {0.716797f, 0.164063f, 0.767578f, 0.212891f, 0.0000f, -23.0000f, 24.0000f, 26, 25}, // 12537 + {0.171875f, 0.111328f, 0.220703f, 0.164063f, 1.3125f, -23.0625f, 24.0000f, 25, 27}, // 12538 + {0.568359f, 0.558594f, 0.587891f, 0.578125f, 7.1875f, -13.8750f, 24.0000f, 10, 10}, // 12539 + {0.197266f, 0.738281f, 0.246094f, 0.751953f, -0.1875f, -12.6875f, 24.0000f, 25, 7}, // 12540 + {0.410156f, 0.708984f, 0.441406f, 0.738281f, 4.0625f, -16.3750f, 24.0000f, 16, 15}, // 12541 + {0.525391f, 0.613281f, 0.562500f, 0.652344f, 4.0625f, -20.5000f, 24.0000f, 19, 20}, // 12542 +// RANGE: 0x3041 - 0x3097, start 0x11e + {0.445313f, 0.468750f, 0.486328f, 0.511719f, 1.9375f, -17.3125f, 24.0000f, 21, 22}, // 12353 + {0.769531f, 0.164063f, 0.818359f, 0.214844f, -0.1250f, -21.9375f, 24.0000f, 25, 26}, // 12354 + {0.945313f, 0.562500f, 0.986328f, 0.599609f, 2.0000f, -15.3125f, 24.0000f, 21, 19}, // 12355 + {0.048828f, 0.367188f, 0.097656f, 0.410156f, 0.0000f, -19.6875f, 24.0000f, 25, 22}, // 12356 + {0.437500f, 0.316406f, 0.470703f, 0.359375f, 3.5625f, -17.5625f, 24.0000f, 17, 22}, // 12357 + {0.197266f, 0.367188f, 0.238281f, 0.417969f, 1.6875f, -21.8750f, 24.0000f, 21, 26}, // 12358 + {0.281250f, 0.470703f, 0.322266f, 0.513672f, 1.6875f, -17.6250f, 24.0000f, 21, 22}, // 12359 + {0.767578f, 0.216797f, 0.816406f, 0.265625f, -0.0625f, -21.7500f, 24.0000f, 25, 25}, // 12360 + {0.851563f, 0.457031f, 0.894531f, 0.500000f, 1.5625f, -17.5625f, 24.0000f, 22, 22}, // 12361 + {0.000000f, 0.064453f, 0.050781f, 0.115234f, -0.2500f, -21.8750f, 24.0000f, 26, 26}, // 12362 + {0.933594f, 0.164063f, 0.984375f, 0.212891f, -0.5625f, -21.6250f, 24.0000f, 26, 25}, // 12363 + {0.414063f, 0.054688f, 0.464844f, 0.107422f, -0.5625f, -23.0000f, 24.0000f, 26, 27}, // 12364 + {0.531250f, 0.263672f, 0.578125f, 0.314453f, 0.3125f, -21.9375f, 24.0000f, 24, 26}, // 12365 + {0.466797f, 0.054688f, 0.517578f, 0.107422f, 0.3125f, -23.0000f, 24.0000f, 26, 27}, // 12366 + {0.648438f, 0.455078f, 0.683594f, 0.507813f, 2.7500f, -22.1250f, 24.0000f, 18, 27}, // 12367 + {0.250000f, 0.316406f, 0.292969f, 0.369141f, 2.7500f, -22.1250f, 24.0000f, 22, 27}, // 12368 + {0.054688f, 0.166016f, 0.103516f, 0.216797f, 0.1250f, -21.7500f, 24.0000f, 25, 26}, // 12369 + {0.519531f, 0.054688f, 0.570313f, 0.107422f, 0.0625f, -22.6250f, 24.0000f, 26, 27}, // 12370 + {0.509766f, 0.462891f, 0.550781f, 0.507813f, 1.6875f, -19.8125f, 24.0000f, 21, 23}, // 12371 + {0.914063f, 0.361328f, 0.960938f, 0.406250f, 1.6250f, -19.7500f, 24.0000f, 24, 23}, // 12372 + {0.580078f, 0.263672f, 0.626953f, 0.314453f, 0.2500f, -21.8750f, 24.0000f, 24, 26}, // 12373 + {0.572266f, 0.054688f, 0.623047f, 0.107422f, 0.1875f, -23.0625f, 24.0000f, 26, 27}, // 12374 + {0.726563f, 0.269531f, 0.767578f, 0.318359f, 3.5625f, -21.5625f, 24.0000f, 21, 25}, // 12375 + {0.949219f, 0.408203f, 0.990234f, 0.457031f, 3.5625f, -21.4375f, 24.0000f, 21, 25}, // 12376 + {0.103516f, 0.115234f, 0.152344f, 0.167969f, -0.4375f, -22.2500f, 24.0000f, 25, 27}, // 12377 + {0.253906f, 0.000000f, 0.306641f, 0.054688f, -0.2500f, -23.0000f, 24.0000f, 27, 28}, // 12378 + {0.154297f, 0.166016f, 0.205078f, 0.214844f, -0.8125f, -21.6250f, 24.0000f, 26, 25}, // 12379 + {0.625000f, 0.054688f, 0.677734f, 0.105469f, -0.8125f, -22.8125f, 24.0000f, 27, 26}, // 12380 + {0.000000f, 0.167969f, 0.048828f, 0.218750f, -0.4375f, -21.6250f, 24.0000f, 25, 26}, // 12381 + {0.679688f, 0.054688f, 0.732422f, 0.105469f, -0.4375f, -22.0000f, 24.0000f, 27, 26}, // 12382 + {0.105469f, 0.169922f, 0.154297f, 0.220703f, 0.0000f, -22.0000f, 24.0000f, 25, 26}, // 12383 + {0.734375f, 0.054688f, 0.785156f, 0.107422f, 0.0000f, -22.6875f, 24.0000f, 26, 27}, // 12384 + {0.203125f, 0.314453f, 0.248047f, 0.365234f, 0.1875f, -22.0625f, 24.0000f, 23, 26}, // 12385 + {0.787109f, 0.054688f, 0.837891f, 0.107422f, 0.1250f, -23.0625f, 24.0000f, 26, 27}, // 12386 + {0.343750f, 0.564453f, 0.386719f, 0.599609f, 1.2500f, -15.1875f, 24.0000f, 22, 18}, // 12387 + {0.099609f, 0.410156f, 0.148438f, 0.451172f, -0.6250f, -18.6875f, 24.0000f, 25, 21}, // 12388 + {0.839844f, 0.054688f, 0.892578f, 0.105469f, -0.6250f, -23.0000f, 24.0000f, 27, 26}, // 12389 + {0.677734f, 0.269531f, 0.724609f, 0.318359f, -0.1250f, -20.3750f, 24.0000f, 24, 25}, // 12390 + {0.480469f, 0.210938f, 0.531250f, 0.259766f, -0.1250f, -20.3750f, 24.0000f, 26, 25}, // 12391 + {0.339844f, 0.367188f, 0.380859f, 0.417969f, 1.4375f, -21.8125f, 24.0000f, 21, 26}, // 12392 + {0.718750f, 0.214844f, 0.765625f, 0.267578f, 1.4375f, -22.7500f, 24.0000f, 24, 27}, // 12393 + {0.273438f, 0.212891f, 0.322266f, 0.263672f, -0.2500f, -21.9375f, 24.0000f, 25, 26}, // 12394 + {0.000000f, 0.271484f, 0.046875f, 0.320313f, 0.4375f, -21.0000f, 24.0000f, 24, 25}, // 12395 + {0.625000f, 0.107422f, 0.675781f, 0.158203f, -0.3125f, -21.6250f, 24.0000f, 26, 26}, // 12396 + {0.677734f, 0.107422f, 0.728516f, 0.158203f, -1.0000f, -21.8125f, 24.0000f, 26, 26}, // 12397 + {0.099609f, 0.273438f, 0.148438f, 0.320313f, -0.5000f, -20.1250f, 24.0000f, 25, 24}, // 12398 + {0.050781f, 0.218750f, 0.099609f, 0.267578f, 0.0625f, -21.2500f, 24.0000f, 25, 25}, // 12399 + {0.839844f, 0.107422f, 0.890625f, 0.158203f, 0.0625f, -22.7500f, 24.0000f, 26, 26}, // 12400 + {0.894531f, 0.054688f, 0.945313f, 0.107422f, 0.0625f, -22.8750f, 24.0000f, 26, 27}, // 12401 + {0.376953f, 0.212891f, 0.427734f, 0.261719f, -0.8125f, -20.8750f, 24.0000f, 26, 25}, // 12402 + {0.527344f, 0.000000f, 0.580078f, 0.052734f, -0.8125f, -22.9375f, 24.0000f, 27, 27}, // 12403 + {0.248047f, 0.109375f, 0.298828f, 0.160156f, -0.8125f, -22.5625f, 24.0000f, 26, 26}, // 12404 + {0.615234f, 0.212891f, 0.666016f, 0.261719f, -1.0625f, -21.6875f, 24.0000f, 26, 25}, // 12405 + {0.582031f, 0.000000f, 0.634766f, 0.052734f, -1.0000f, -22.8125f, 24.0000f, 27, 27}, // 12406 + {0.253906f, 0.056641f, 0.306641f, 0.107422f, -1.0000f, -22.3125f, 24.0000f, 27, 26}, // 12407 + {0.099609f, 0.369141f, 0.152344f, 0.408203f, -1.2500f, -18.4375f, 24.0000f, 27, 20}, // 12408 + {0.923828f, 0.214844f, 0.976563f, 0.261719f, -1.2500f, -22.2500f, 24.0000f, 27, 24}, // 12409 + {0.923828f, 0.263672f, 0.976563f, 0.308594f, -1.2500f, -22.0625f, 24.0000f, 27, 23}, // 12410 + {0.000000f, 0.220703f, 0.048828f, 0.269531f, 0.1250f, -21.0000f, 24.0000f, 25, 25}, // 12411 + {0.947266f, 0.054688f, 0.998047f, 0.107422f, 0.1250f, -23.0625f, 24.0000f, 26, 27}, // 12412 + {0.300781f, 0.109375f, 0.351563f, 0.160156f, 0.1875f, -23.0000f, 24.0000f, 26, 26}, // 12413 + {0.867188f, 0.314453f, 0.912109f, 0.365234f, 0.7500f, -21.8750f, 24.0000f, 23, 26}, // 12414 + {0.000000f, 0.117188f, 0.052734f, 0.166016f, -0.8750f, -21.2500f, 24.0000f, 27, 25}, // 12415 + {0.820313f, 0.212891f, 0.871094f, 0.261719f, -0.1250f, -21.5625f, 24.0000f, 26, 25}, // 12416 + {0.667969f, 0.212891f, 0.716797f, 0.263672f, -0.4375f, -21.8750f, 24.0000f, 25, 26}, // 12417 + {0.818359f, 0.263672f, 0.865234f, 0.314453f, 0.1250f, -21.8125f, 24.0000f, 24, 26}, // 12418 + {0.896484f, 0.457031f, 0.939453f, 0.500000f, 1.2500f, -17.7500f, 24.0000f, 22, 22}, // 12419 + {0.353516f, 0.109375f, 0.404297f, 0.160156f, -1.0000f, -22.0000f, 24.0000f, 26, 26}, // 12420 + {0.324219f, 0.470703f, 0.365234f, 0.513672f, 2.0000f, -17.6875f, 24.0000f, 21, 22}, // 12421 + {0.873047f, 0.212891f, 0.921875f, 0.263672f, 0.1875f, -21.6875f, 24.0000f, 25, 26}, // 12422 + {0.646484f, 0.509766f, 0.685547f, 0.552734f, 2.3125f, -17.6875f, 24.0000f, 20, 22}, // 12423 + {0.150391f, 0.316406f, 0.195313f, 0.367188f, 0.5000f, -21.7500f, 24.0000f, 23, 26}, // 12424 + {0.726563f, 0.318359f, 0.769531f, 0.369141f, 1.4375f, -21.9375f, 24.0000f, 22, 26}, // 12425 + {0.035156f, 0.464844f, 0.072266f, 0.513672f, 3.0000f, -21.3750f, 24.0000f, 19, 25}, // 12426 + {0.917969f, 0.310547f, 0.964844f, 0.359375f, 0.0625f, -21.1875f, 24.0000f, 24, 25}, // 12427 + {0.064453f, 0.058594f, 0.117188f, 0.109375f, -1.0000f, -21.8125f, 24.0000f, 27, 26}, // 12428 + {0.572266f, 0.316406f, 0.617188f, 0.365234f, 0.1875f, -21.3125f, 24.0000f, 23, 25}, // 12429 + {0.601563f, 0.470703f, 0.644531f, 0.511719f, 1.1875f, -17.5000f, 24.0000f, 22, 21}, // 12430 + {0.406250f, 0.109375f, 0.457031f, 0.160156f, -1.0000f, -21.6875f, 24.0000f, 26, 26}, // 12431 + {0.101563f, 0.222656f, 0.150391f, 0.271484f, -0.3125f, -21.3750f, 24.0000f, 25, 25}, // 12432 + {0.207031f, 0.214844f, 0.257813f, 0.263672f, -0.8125f, -21.3125f, 24.0000f, 26, 25}, // 12433 + {0.480469f, 0.261719f, 0.529297f, 0.310547f, -0.3125f, -21.8125f, 24.0000f, 25, 25}, // 12434 + {0.509766f, 0.160156f, 0.562500f, 0.208984f, -0.9375f, -21.5000f, 24.0000f, 27, 25}, // 12435 + {0.564453f, 0.160156f, 0.613281f, 0.212891f, 1.3750f, -22.5625f, 24.0000f, 25, 27}, // 12436 + {0.787109f, 0.470703f, 0.830078f, 0.511719f, 1.2500f, -17.5625f, 24.0000f, 22, 21}, // 12437 + {0.117188f, 0.472656f, 0.158203f, 0.515625f, 1.8125f, -17.5000f, 24.0000f, 21, 22}, // 12438 +// RANGE: 0x3099 - 0x309f, start 0x174 + {0.968750f, 0.052734f, 0.970703f, 0.054688f, 0.0000f, 0.0000f, 0.0000f, 1, 1}, // 12441 + {0.972656f, 0.052734f, 0.974609f, 0.054688f, 0.0000f, 0.0000f, 0.0000f, 1, 1}, // 12442 + {0.080078f, 0.728516f, 0.099609f, 0.748047f, -1.0625f, -22.1875f, 24.0000f, 10, 10}, // 12443 + {0.248047f, 0.738281f, 0.267578f, 0.757813f, -1.0625f, -22.1875f, 24.0000f, 10, 10}, // 12444 + {0.132813f, 0.703125f, 0.164063f, 0.736328f, 4.8750f, -17.1875f, 24.0000f, 16, 17}, // 12445 + {0.037109f, 0.562500f, 0.074219f, 0.603516f, 4.9375f, -20.5625f, 24.0000f, 19, 21}, // 12446 }; const AtlasCharRange font_UBUNTU24_ranges[] = { - { 32, 128, 0 },}; + { 32, 128, 0 }, { 128, 129, 96 }, { 162, 255, 97 }, { 8482, 8483, 190 }, { 12448, 12543, 191 }, { 12353, 12439, 286 }, { 12441, 12447, 372 },}; const AtlasFont font_UBUNTU24 = { - -1.375000f, // padding - 36.687500f, // height - 26.937500f, // ascend + 12.437500f, // padding + 35.562500f, // height + 26.000000f, // ascend 0.750000f, // distslope font_UBUNTU24_chardata, font_UBUNTU24_ranges, - 1, + 7, "UBUNTU24", // name }; const AtlasFont *ppge_fonts[1] = { &font_UBUNTU24, }; -const AtlasImage ppge_images[6] = { - {0.458984f, 0.001953f, 0.576172f, 0.119141f, 31, 31, "I_CROSS"}, - {0.193359f, 0.001953f, 0.314453f, 0.123047f, 32, 32, "I_CIRCLE"}, - {0.685547f, 0.001953f, 0.794922f, 0.111328f, 29, 29, "I_SQUARE"}, - {0.322266f, 0.001953f, 0.451172f, 0.111328f, 34, 29, "I_TRIANGLE"}, - {0.802734f, 0.001953f, 0.861328f, 0.193359f, 16, 50, "I_BUTTON"}, - {0.001953f, 0.001953f, 0.185547f, 0.185547f, 48, 48, "I_LOGO"}, +const AtlasImage ppge_images[4] = { + {0.133789f, 0.000977f, 0.192383f, 0.059570f, 31, 31, "I_CROSS"}, + {0.000977f, 0.000977f, 0.061523f, 0.061523f, 32, 32, "I_CIRCLE"}, + {0.196289f, 0.000977f, 0.250977f, 0.055664f, 29, 29, "I_SQUARE"}, + {0.065430f, 0.000977f, 0.129883f, 0.055664f, 34, 29, "I_TRIANGLE"}, }; const Atlas ppge_atlas = { "ppge_atlas.zim", ppge_fonts, 1, - ppge_images, 6, + ppge_images, 4, }; diff --git a/Core/Util/ppge_atlas.h b/Core/Util/ppge_atlas.h index 0aa2a88fcf..feac1a6acd 100644 --- a/Core/Util/ppge_atlas.h +++ b/Core/Util/ppge_atlas.h @@ -12,9 +12,7 @@ #define I_CIRCLE 1 #define I_SQUARE 2 #define I_TRIANGLE 3 -#define I_BUTTON 4 -#define I_LOGO 5 extern const Atlas ppge_atlas; -extern const AtlasImage ppge_images[6]; +extern const AtlasImage ppge_images[4]; diff --git a/GPU/GLES/TextureCache.cpp b/GPU/GLES/TextureCache.cpp index 43eaa86519..8ac8e30b2b 100644 --- a/GPU/GLES/TextureCache.cpp +++ b/GPU/GLES/TextureCache.cpp @@ -892,7 +892,7 @@ void TextureCache::LoadTextureLevel(TexCacheEntry &entry, int level) { void *finalBuf = NULL; - // TODO: only do this once + // TODO: only do this once u32 texByteAlign = 1; // TODO: Look into using BGRA for 32-bit textures when the GL_EXT_texture_format_BGRA8888 extension is available, as it's faster than RGBA on some chips. diff --git a/android/assets/ppge_atlas.zim b/android/assets/ppge_atlas.zim index 99114d6ac2..4b9ca09cf3 100644 Binary files a/android/assets/ppge_atlas.zim and b/android/assets/ppge_atlas.zim differ diff --git a/assets/ppge_atlas.zim b/assets/ppge_atlas.zim index 99114d6ac2..4b9ca09cf3 100644 Binary files a/assets/ppge_atlas.zim and b/assets/ppge_atlas.zim differ diff --git a/ppge_atlasscript.txt b/ppge_atlasscript.txt index eb031120b7..2cfdd934d7 100644 --- a/ppge_atlasscript.txt +++ b/ppge_atlasscript.txt @@ -1,8 +1,6 @@ -256 -font UBUNTU24 source_assets/font/zrnic.ttf U 30 +512 +font UBUNTU24 C:/Windows/Fonts/KozGoPro-Medium.otf UWkh 24 image I_CROSS source_assets/image/cross.png copy image I_CIRCLE source_assets/image/circle.png copy image I_SQUARE source_assets/image/square.png copy image I_TRIANGLE source_assets/image/triangle.png copy -image I_BUTTON source_assets/image/button.png copy -image I_LOGO android/res/drawable-mdpi/ic_launcher.png copy