+/*
+ * op/subroutine: k_workshop_op_item_load
+ * -----------------------------------------------------------------------------
+ */
+
+/*
+ * Regular stuff
+ * -----------------------------------------------------------------------------
+ */
+
+static void skateshop_init_async(void *_data,u32 size){
+ glGenTextures( 1, &global_skateshop.tex_preview );
+ glBindTexture( GL_TEXTURE_2D, global_skateshop.tex_preview );
+ glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB,
+ WORKSHOP_PREVIEW_WIDTH, WORKSHOP_PREVIEW_HEIGHT,
+ 0, GL_RGB, GL_UNSIGNED_BYTE, NULL );
+
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
+ GL_LINEAR_MIPMAP_LINEAR );
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
+ glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
+
+ skaterift.rt_textures[ k_skaterift_rt_workshop_preview ] = vg.tex_missing;
+ skaterift.rt_textures[ k_skaterift_rt_server_status ] = vg.tex_missing;
+ render_server_status_gui();