rem: TFB_DrawImage_FixScaling (img, scale);
add: TFB_DrawImage_FixScaling (img, scale, TFB_SCALE_NEAREST);
context: TFB_DrawCanvas_FilledImage (TFB_Image *img, int x, int y, int scale, int r, int g, int b, TFB_Canvas target){	SDL_Rect srcRect, targetRect, *pSrcRect;	SDL_Surface *surf;	int i;	SDL_Color pal[256];	if (img == 0)	{		fprintf (stderr, "ERROR: TFB_DrawCanvas_FilledImage passed null image ptr\n");		return;	}	LockMutex (img->mutex);	targetRect.x = x;	targetRect.y = y;	if (scale != 0 && scale != GSCALE_IDENTITY)	{		TFB_DrawImage_FixScaling (img, scale);		surf = img->ScaledImg;		srcRect.x = 0;		srcRect.y = 0;		srcRect.w = img->extent.width;		srcRect.h = img->extent.height;		pSrcRect = &srcRect;	}	else	{		surf = img->NormalImg;		pSrcRect = NULL;	}					for (i = 0; i < 256; i++)	{		pal[i].r = r;		pal[i].g = g;		pal[i].b = b;	}	SDL_SetColors (surf, pal, 0, 256);	SDL_BlitSurface(surf, pSrcRect, (NativeCanvas) target, &targetRect);	UnlockMutex (img->mutex);}