[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