From d7f0bbb5052f071c10b88f9d7bef070292687960 Mon Sep 17 00:00:00 2001 From: dborth Date: Fri, 12 Feb 2010 07:40:37 +0000 Subject: [PATCH] optimization --- src/platform/wii/Metaphrasis.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/platform/wii/Metaphrasis.cpp b/src/platform/wii/Metaphrasis.cpp index a023b09..0ead124 100644 --- a/src/platform/wii/Metaphrasis.cpp +++ b/src/platform/wii/Metaphrasis.cpp @@ -274,9 +274,14 @@ uint32_t* Metaphrasis::convertBufferToRGBA8(uint32_t* rgbaBuffer, uint16_t buffe */ uint16_t Metaphrasis::convertRGBAToRGB565(uint32_t rgba) { - uint8_t r = (((rgba >> 24) & 0xff) * 31) / 255; - uint8_t g = (((rgba >> 16) & 0xff) * 63) / 255; - uint8_t b = (((rgba >> 8) & 0xff) * 31) / 255; + uint32_t rA = ((rgba >> 24) & 0xff); + uint32_t gA = ((rgba >> 16) & 0xff); + uint32_t bA = ((rgba >> 8) & 0xff); + + uint32_t r = ((rA<<5) - rA) / 255; + uint32_t g = ((gA<<6) - gA) / 255; + uint32_t b = ((bA<<5) - bA) / 255; + return (((r << 6) | g ) << 5 ) | b; }