hi, no success, only square skins are saved well, here is the colouring code I used for testing:

Code:
void		TerEdit_Tx_SetColor()
{
	wait(3);
	
	int skin_int = teredit_tx_selected+1+(teredit_tx_set-1)*max_teredit_tx_items;
	
	if (skin_int > teredit_tx_count)	return;																// protection
	
	if (!ent_getskin(terrain_entity, skin_int))											
		{
			return;
		}
	
	TerEdit_Tx_Color( bmap_for_entity(terrain_entity , skin_int) , vector(teredit_tx_blue,teredit_tx_green,teredit_tx_red) );
	wait_for(TerEdit_Tx_Color);
}


void		TerEdit_Tx_Color(BMAP* bmap_pointer, COLOR* to_color)				
{
	if (bmap_pointer == NULL)
		{
			return;
		}
	
	var pixel_format  = bmap_lock(bmap_pointer,0);														// lock and get format
	if (pixel_format >= 565) 
		{
			var pixel;
			COLOR pixel_color;
			var pixel_alpha;
			int i,j;
			for(i=0;i<bmap_width(bmap_pointer);i++)
				{
					for(j=0;j<bmap_height(bmap_pointer);j++)
						{
							pixel = pixel_for_bmap( bmap_pointer , i , j );								// get pixel
							pixel_to_vec( pixel_color , pixel_alpha , pixel_format , pixel );		// get color and alpha
							pixel = pixel_for_vec( to_color , pixel_alpha , pixel_format );		// set alpha
							pixel_to_bmap( bmap_pointer , i , j , pixel );								// set pixel
						}
				}
		}	
	bmap_unlock(bmap_pointer);	
	bmap_to_mipmap(bmap_pointer);	// @@@ update mipmaps after unlocking, to avoid the original skin to appear from big distance		
	wait(1);
	
	TerEdit_Tx_UpdateSets32();      // uses bmap_blit to copy skin texture to thumbnail
	TerrHmp_Tx_UpdateMaterialSkins();    // sets material skins to entity skins due to shader requirements
	wait(1);
}



Free world editor for 3D Gamestudio: MapBuilder Editor