Hey, thank you for the video!
It does remind me a lot of those old, tropical-themed SNES-Mario Kart tracks. Koopa Troopa Beach, or what was it called?
performance-wise, in this line:
switch(frm)
{
case 0:bmap_purge(source);
case 1:bmap_load(source,"...",0);
case 2:bmap_load(source,"...",0);
case 3:bmap_load(source,"...",0);
case 4:bmap_load(source,"...",0);
case 5:bmap_load(source,"...",0);
case 6:bmap_load(source,"...",0);
case 7:bmap_load(source,"...",0);
}
Do you actually reload the frame everytime you need it? In this case, I'd rather sacrifice some memory and load all frames in advance, and then just switch to the correct one (for instance, by using a BMAP*-array).