fastest way i can think of
Code:
BMAP *bmap_clone(BMAP* bmp){
	
	if(bmp){
		BMAP* bmpNew = malloc(sizeof(BMAP));
		memcpy(bmpNew, bmp, sizeof(BMAP));
		return(bmpNew);
	}else{
		return(NULL);
	}
}



and to prove it's working, have a bmap called "bmap_to_copy.bmp"
Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////

ENTITY* e1;

BMAP* bmp_original = "bmap_to_copy.bmp";
BMAP* bmp_clone;

PANEL* pnl_original = {
	pos_x = 0;
	flags = SHOW;
}

PANEL* pnl_clone = {
	pos_x = 64;
	flags = SHOW;
}


void bmap_cross(){
	
	BMAP* tgablitz = pnl_original.bmap;
	var format; 
	var pixel;
	format = bmap_lock(tgablitz,0);
	if (format >= 565) {
		pixel = pixel_for_vec(vector(0,0,255),100,format); // red color
		pixel_to_bmap(tgablitz,10,10,pixel);
		pixel_to_bmap(tgablitz,10,11,pixel);
		pixel_to_bmap(tgablitz,10,12,pixel);
		pixel_to_bmap(tgablitz,10,13,pixel);
		pixel_to_bmap(tgablitz,10,14,pixel);
		pixel_to_bmap(tgablitz,8,12,pixel);
		pixel_to_bmap(tgablitz,9,12,pixel);
		pixel_to_bmap(tgablitz,11,12,pixel);
		pixel_to_bmap(tgablitz,12,12,pixel);
	}
	bmap_unlock(tgablitz);
}

BMAP *bmap_clone(BMAP* bmp){
	
	BMAP* bmpNew = malloc(sizeof(BMAP));
	memcpy(bmpNew, bmp, sizeof(BMAP));
	return(bmpNew);
}

void main(){
	
	wait(1);
	
	bmp_clone = bmap_clone(bmp_original);
	
	pnl_original.bmap = bmp_original;
	pnl_clone.bmap = bmp_clone;
	
	bmap_cross();
}