So you're basically trying to do a cross-fade between two tiles, which is basically alpha blending.
What you sound like you need is to be able to have multiple frames of animation in the alpha channel of any given tile that you want to use it with. That's pretty tricky on graphics hardware because usually the alpha has to be embedded in with the RGB data.
You could sort of do it manually whereby you draw the background layer and then you fade it out by the inverse of the alpha fade value by drawing a black rect/mask over it at the appropriate level of transparency. Then you could do the same as you said with another image somewhere else and fade it up to white a bit. But then you need to `grab` that second composite image so that you can draw it with LIGHTBLEND which will add it to the other image, producing the effect of a cross-fade. You sort of need offscreen drawing to do the second image and the grab, so you could draw it to the backbuffer, do your fade-to-white, grab it, clear the screen, draw the background layer, fade it, then draw the other image on top additively. But grabbing is not something you really want to do many times in little pieces and direct render to texture would be faster.
An alternative is to make sure your app opens in a 32-bit screen with a destination alpha channel, draw your alpha mask to the destination alpha only, draw the background object as RGB and not to the alpha channel, then set up a blend more which uses the destination alpha to determine the fade value, and then draw the second image on top as RGB using the dest alpha. But this won't work in 16-bit or even 24-bit screens, must be 32-bit and you'll have to write your own code for DirectX or OpenGL.
What you sound like you need is to be able to have multiple frames of animation in the alpha channel of any given tile that you want to use it with. That's pretty tricky on graphics hardware because usually the alpha has to be embedded in with the RGB data.
You could sort of do it manually whereby you draw the background layer and then you fade it out by the inverse of the alpha fade value by drawing a black rect/mask over it at the appropriate level of transparency. Then you could do the same as you said with another image somewhere else and fade it up to white a bit. But then you need to `grab` that second composite image so that you can draw it with LIGHTBLEND which will add it to the other image, producing the effect of a cross-fade. You sort of need offscreen drawing to do the second image and the grab, so you could draw it to the backbuffer, do your fade-to-white, grab it, clear the screen, draw the background layer, fade it, then draw the other image on top additively. But grabbing is not something you really want to do many times in little pieces and direct render to texture would be faster.
An alternative is to make sure your app opens in a 32-bit screen with a destination alpha channel, draw your alpha mask to the destination alpha only, draw the background object as RGB and not to the alpha channel, then set up a blend more which uses the destination alpha to determine the fade value, and then draw the second image on top as RGB using the dest alpha. But this won't work in 16-bit or even 24-bit screens, must be 32-bit and you'll have to write your own code for DirectX or OpenGL.