save location & map, lighting qol
[carveJwlIkooP6JGAAIwe30JlM.git] / workshop.c
index d0a3883d1793732253b41d4e551fe94b8e4ea043..d9d576d8e47632b53ea17c7f0d916e24c8499b7f 100644 (file)
@@ -33,7 +33,6 @@ static struct ui_dropdown_opt workshop_form_type_opts[] = {
  */
 VG_STATIC void workshop_quit_form(void)
 {
-   skaterift_begin_op( k_async_op_none );  /* safeguard */
    player_board_unload( &workshop_form.board_model );
    workshop_form.file_intent = k_workshop_form_file_intent_none;
 
@@ -46,7 +45,6 @@ VG_STATIC void workshop_quit_form(void)
    }
 
    workshop_form.page = k_workshop_form_hidden;
-   skaterift_end_op();
 }
 
 /*
@@ -150,8 +148,6 @@ VG_STATIC void on_workshop_update_result( void *data, void *user )
 
       vg_error( "Error with the submitted file (%d)\n", result->m_eResult );
    }
-
-   skaterift_end_op();
 }
 
 /*
@@ -245,7 +241,6 @@ VG_STATIC void on_workshop_createitem( void *data, void *user )
 
       workshop_form.page = k_workshop_form_closing_bad;
       workshop_form.failure_or_success_string = errstr;
-      skaterift_end_op();
    }
 }
 
@@ -312,7 +307,6 @@ VG_STATIC void _workshop_form_submit_thread( void *data )
 
    if( !vg_strgood(&folder) ){
       vg_error( "addon folder path too long\n" );
-      vg_async_call( workshop_async_any_complete, NULL, 0 );
       return;
    }
 
@@ -344,7 +338,6 @@ VG_STATIC void _workshop_form_submit_thread( void *data )
    vg_dir dir;
    if( !vg_dir_open( &dir, folder.buffer ) ){
       vg_error( "could not open addon folder '%s'\n", folder.buffer );
-      vg_async_call( workshop_async_any_complete, NULL, 0 );
       return;
    }
 
@@ -372,7 +365,6 @@ VG_STATIC void _workshop_form_submit_thread( void *data )
    vg_strcat( &descriptor_file, "/addon.inf" );
    if( !vg_strgood(&descriptor_file) ){
       vg_error( "Addon info path too long\n" );
-      vg_async_call( workshop_async_any_complete, NULL, 0 );
       return;
    }
    
@@ -380,7 +372,6 @@ VG_STATIC void _workshop_form_submit_thread( void *data )
    if( !fp ){
       vg_error( "Could not open addon info file '%s'\n", 
                 descriptor_file.buffer );
-      vg_async_call( workshop_async_any_complete, NULL, 0 );
       return;
    }
    fwrite( descriptor_buf, descriptor.cur, 1, fp );
@@ -393,7 +384,6 @@ VG_STATIC void _workshop_form_submit_thread( void *data )
 
    if( !vg_strgood(&preview) ){
       vg_error( "preview image path too long\n" );
-      vg_async_call( workshop_async_any_complete, NULL, 0 );
       return;
    }
 
@@ -434,8 +424,6 @@ VG_STATIC void workshop_op_submit(void)
       }
    }
 
-   skaterift_begin_op( k_workshop_form_op_publishing_update );
-
    player_board_unload( &workshop_form.board_model );
    workshop_form.file_intent = k_workshop_form_file_intent_none;
 
@@ -459,15 +447,12 @@ VG_STATIC void workshop_form_loadmodel_async_complete( void *payload, u32 size )
    workshop_form.file_intent = k_workshop_form_file_intent_new;
    
    vg_success( "workshop async load complete\n" );
-   skaterift_end_op();
 }
 
 /*
  * Reciever for failure to load
  */
-VG_STATIC void workshop_form_loadmodel_async_error( void *payload, u32 size )
-{
-   skaterift_end_op();
+VG_STATIC void workshop_form_loadmodel_async_error( void *payload, u32 size ){
 }
 
 /*
@@ -533,8 +518,7 @@ VG_STATIC void _workshop_form_load_thread( void *data )
 /*
  * Entry point for load model operation
  */
-VG_STATIC void workshop_op_load_model(void)
-{
+VG_STATIC void workshop_op_load_model(void){
    if( workshop_form.submission.type == k_addon_type_world ){
       vg_warn( "WORLD LOAD INFO Currently unsupported\n" );
       return;
@@ -552,7 +536,6 @@ VG_STATIC void workshop_op_load_model(void)
       return;
    }
 
-   skaterift_begin_op( k_workshop_form_op_loading_model );
    vg_loader_start( _workshop_form_load_thread, NULL );
 }
 
@@ -583,8 +566,6 @@ VG_STATIC void workshop_form_async_imageload( void *data, u32 len )
                 stbi_failure_reason() );
       ui_start_modal( workshop_form.error_msg, UI_MODAL_BAD );
    }
-   
-   skaterift_end_op();
 }
 
 /*
@@ -658,7 +639,6 @@ VG_STATIC void workshop_op_download_and_view_submission( int result_index )
                                              result_index,
                                              &details ) )
    {
-      skaterift_begin_op( k_workshop_form_op_downloading_submission );
       workshop_reset_submission_data();
       workshop_form.submission.submit_description = 0;
       workshop_form.submission.submit_file_and_image = 0;
@@ -775,7 +755,6 @@ VG_STATIC void workshop_op_download_and_view_submission( int result_index )
    }
    else{
       vg_error( "GetQueryUGCResult: Index out of range\n" );
-      skaterift_end_op();
    }
 }
 
@@ -1428,7 +1407,7 @@ VG_STATIC void workshop_form_gui(void)
    ui_rect quit_button;
    ui_split( title, k_ui_axis_v, title[2]-title[3], 2, title, quit_button );
 
-   if( skaterift.async_op == k_async_op_none ){
+   if( vg_loader_availible() ){
       if( ui_button_text( quit_button, "X", 1 ) ){
          workshop_quit_form();
          return;
@@ -1441,11 +1420,11 @@ VG_STATIC void workshop_form_gui(void)
     * escapes here and we show them a basic string
     */
 
-   if( skaterift.async_op != k_async_op_none ){
+   if( !vg_loader_availible() ){
       const char *op_string = "The programmer has not bothered to describe "
                               "the current operation that is running.";
 
-      switch( skaterift.async_op ){
+      switch( skaterift.op ){
          case k_workshop_form_op_loading_model:
             op_string = "Operation in progress: Loading model file.";
          break;