Isn't there this while(engine_frame()) construct for overcoming the need of wait()?
That should skip one frame yeah. But you need a static bool to toggle it or otherwise you generate an infinite loop (Only if your func gets called in engine_frame of course )