/**/if(i==0)ddraw_init();// init this on thread#0 since it will be compiling shaders, and shaders need to be compiled from the very same thread than glfwMakeContextCurrent() was set up
elseif(i==1)sprite_init();
elseif(i==2)profiler_init();
elseif(i==3)storage_mount("save/"),storage_read(),touch_init();// for ems
}
// window_swap();
}
staticvoidv4k_post_init(floatrefresh_rate){
// cook cleanup
cook_stop();
vfs_reload();
// init subsystems that depend on cooked assets now
inti;
#pragma omp parallel for
for(i=0;i<=3;++i){
if(i==0)scene_init();// init these on thread #0, since both will be compiling shaders, and shaders need to be compiled from the very same thread than glfwMakeContextCurrent() was set up
if(i==0)ui_init();// init these on thread #0, since both will be compiling shaders, and shaders need to be compiled from the very same thread than glfwMakeContextCurrent() was set up
if(i==0)window_icon(va("%s.png",app_name()));// init on thread #0, because of glfw
if(i==0)input_init();// init on thread #0, because of glfw