subscreens[current_screen].screen->draw(subscreens[current_screen].buf);
memcpy(buf, subscreens[current_screen].buf, 800 * 600 * 4);
subscreens[current_screen].screen->draw(subscreens[current_screen].buf);
memcpy(buf, subscreens[current_screen].buf, 800 * 600 * 4);