I see. I have a function called
update_view_stages() where I simply set or remove views from the render chain based on two if/ else cases (manually, pre-defined views) which gets called when a graphics option gets changed.
Then I have a while loop which sets and updates some effects based on variables and it recreates bitmaps automatically like this:
if(old_size_x != screen_size.x || old_size_y != screen_size.y)
{
old_size_x = screen_size.x;
old_size_y = screen_size.y;
if(bmp_refraction) ptr_remove(bmp_refraction);
bmp_refraction = bmap_createblack(screen_size.x, screen_size.y, 24);
...
}
There are certainly better ways to do this but as I don't have that many graphics options and because I use global bitmap pointers this works just fine for me.