You could do your own.
For example, if you had any shape, and a start pixel, you set your start pixel to the fill colour, then continually scan the image, spreading that pixel out until it fill the shape. Then it's a matter of finding a quick technique to fill the area.
I think that the last time I did this, I changed directions after each pass, like pass 1 would spread the fill colour up in a single line until it hits the edge of the shape. Then pass 2 would spread it down, so you have a line across the inside of the shape. Then spread left, then right. Do that repeatedly until all 4 passes finish without adding a single pixel, then you know you are done. By changing the direction of each pass, you can quickly fill in the irregular shapes.
I would suggest doing it with memblocks, as that would be pretty fast I think. But if your totally stuck, I'm sure I could make you a snippet.

Health, Ammo, and bacon and eggs!
