[Scummvm-cvs-logs] SF.net SVN: scummvm: [24820] scummvm/trunk/backends/platform/ds/arm9/source /blitters.cpp

Tramboi at users.sourceforge.net Tramboi at users.sourceforge.net
Sat Dec 9 14:42:24 CET 2006


Revision: 24820
          http://scummvm.svn.sourceforge.net/scummvm/?rev=24820&view=rev
Author:   Tramboi
Date:     2006-12-09 05:42:00 -0800 (Sat, 09 Dec 2006)

Log Message:
-----------
NDS : Scaler cleaning

Modified Paths:
--------------
    scummvm/trunk/backends/platform/ds/arm9/source/blitters.cpp

Modified: scummvm/trunk/backends/platform/ds/arm9/source/blitters.cpp
===================================================================
--- scummvm/trunk/backends/platform/ds/arm9/source/blitters.cpp	2006-12-09 13:27:20 UTC (rev 24819)
+++ scummvm/trunk/backends/platform/ds/arm9/source/blitters.cpp	2006-12-09 13:42:00 UTC (rev 24820)
@@ -135,7 +135,7 @@
 }
 
 static bool isDivBy5Ready = false;
-static u32  DIV_BY_5[512];
+static u32  DIV_BY_5[160];
 
 void ComputeDivBy5TableIFN()
 {
@@ -143,7 +143,7 @@
         return;
     isDivBy5Ready = true;
 
-    for(int i=0; i<512; ++i)
+    for(int i=0; i<160; ++i)
     {
         DIV_BY_5[i] = (2*i+5)/10;
     }        
@@ -270,14 +270,6 @@
     ((u32*)dest)[1] = d32;
 }
 
-inline u32 Convert555To8888(u16 pixel)
-{
-    u32 result = pixel & 0x1F;
-    result |= ((pixel >> 5) & 0x1F) << 8;
-    result |= ((pixel >> 10) & 0x1F) << 16;
-    return result;    
-}
-
 // Can't work in place
 void Rescale_320xPAL8Scanline_To_256x1555Scanline(u16* dest, const u8* src, const u32* palette)
 {
@@ -316,9 +308,18 @@
 void Rescale_320x256xPAL8_To_256x256x1555(u16* dest, const u8* src, const u16* palette, int destStride, int srcStride)
 {
 	u32* fastRam = (u32 *) (0x37F8000 + 16384);
+    
+    // Palette lookup -> 0_888
     for(size_t i=0; i<256; ++i)
-        fastRam[i] = Convert555To8888(palette[i]);        
+    {
+        u32 col = palette[i];
+        u32 result = col & 0x0000001F;
+        result |= (col << 3) & 0x00001F00;
+        result |= (col << 6) & 0x001F0000;
 
+        fastRam[i] = result;
+    }
+
 	for(size_t i=0; i<200; ++i)
 	{
 		Rescale_320xPAL8Scanline_To_256x1555Scanline(dest + i*destStride, src + i *srcStride, fastRam);			


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list