can't remember if I posted this before or after a certain change. In short I screwed up somewhere, probably forgetting to make install between builds. Anyway, in FeLib/Source/bitmap.cpp:
void cachedfont::PrintCharacter(cblitdata B) const
{
if(B.Dest.X < 0 || B.Dest.Y < 0 || B.Dest.X + 10 >= B.Bitmap->Size.X || B.Dest.Y + 9 >= B.Bitmap->Size.Y)
{
NormalMaskedBlit(B);
return;
}
packcol16** SrcLine = &Image[B.Src.Y];
packcol16** EndLine = SrcLine + 9;
packcol16** SrcMaskLine = &MaskMap[B.Src.Y];
packcol16** DestLine = &B.Bitmap->Image[B.Dest.Y];
for(; SrcLine != EndLine; ++SrcLine, ++SrcMaskLine, ++DestLine)
{
culong* FontPtr = reinterpret_cast<culong*>(*SrcLine + B.Src.X);
culong* EndPtr = FontPtr + (20/sizeof(ulong));
culong* MaskPtr = reinterpret_cast<culong*>(*SrcMaskLine + B.Src.X);
ulong* DestPtr = reinterpret_cast<ulong*>(*DestLine + B.Dest.X);
for(; FontPtr != EndPtr; ++DestPtr, ++MaskPtr, ++FontPtr)
*DestPtr = *DestPtr & *MaskPtr | *FontPtr;
}
}
At some point I tried changing it back to 32 bit values and it didn't go too well... I'm aware that 20/8 doesn't go, but it seems to work... can't tell the difference in looks anyway.