Optimizing draw loop with SDL2_gfx polygons

This code looks not optimal. Can be many improvment.
For example call current_tile->get_waterx() only once. Also precalculate values for current_tile->get_waterx()[N] + curx.
If your video card too slow, probably enable software renderer with flag SDL_RENDERER_SOFTWARE.