rem: DC.data.image.scale = (scale == 256) ? 0 : scale;
add: DC.data.image.scale = (scale == GetGraphicScaleIdentity ()) ? 0 : scale;
context: TFB_DrawScreen_Image (TFB_Image *img, int x, int y, int scale, TFB_Palette *palette, SCREEN dest){	TFB_DrawCommand DC;		DC.Type = TFB_DRAWCOMMANDTYPE_IMAGE;	DC.data.image.image = img;	DC.data.image.x = x;	DC.data.image.y = y;	DC.data.image.scale = (scale == 256) ? 0 : scale;	if (palette != NULL)	{		int i, changed;		Lock_DCQ(257);		changed = 0;		for (i = 0; i < 256; i++)		{			if ((_localpal[i][0] != palette[i].r) ||			    (_localpal[i][1] != palette[i].g) ||			    (_localpal[i][2] != palette[i].b))			{				changed++;				_localpal[i][0] = palette[i].r;				_localpal[i][1] = palette[i].g;				_localpal[i][2] = palette[i].b;				TFB_DrawScreen_SetPalette (i, palette[i].r, palette[i].g, 						palette[i].b);			}		}		// if (changed) { fprintf (stderr, "Actually changing palette! "); }		DC.data.image.UsePalette = TRUE;	} 	else	{		Lock_DCQ (1);		DC.data.image.UsePalette = FALSE;	}	DC.data.image.destBuffer = dest;	TFB_EnqueueDrawCommand (&DC);	Unlock_DCQ ();}