st
[carveJwlIkooP6JGAAIwe30JlM.git] / workshop.h
index 4a0f8b27008347d74cdc574d53fb790ea23b8162..36a6aa5ad2f0b7e2ce18ab4006104242ea72e8fe 100644 (file)
@@ -1,28 +1,13 @@
 #ifndef WORKSHOP_H
 #define WORKSHOP_H
 
+#include "workshop_types.h"
+
 #define VG_GAME
 #include "vg/vg.h"
 #include "vg/vg_steam_remote_storage.h"
-
-struct workshop{
-   enum workshop_operation{
-      k_workshop_form_op_none,
-      k_workshop_form_op_loading_model,
-      k_workshop_form_op_downloading_submission,
-      k_workshop_form_op_publishing_update,
-      k_workshop_op_item_scan,
-      k_workshop_op_item_load
-   }
-   operation;
-}
-static workshop;
-
-struct workshop_file_info{
-   u64 author;
-   char author_name[32];
-   char title[64];
-};
+#include "skaterift.h"
+#include "pointcloud.h"
 
 struct async_workshop_filepath_info{
    PublishedFileId_t id;
@@ -40,41 +25,15 @@ struct async_workshop_metadata_info{
    const char *path;
 };
 
-VG_STATIC void workshop_file_info_clear( struct workshop_file_info *info )
-{
-   info->author = 0ul;
-   info->author_name[0] = '\0';
-   info->title[0] = '\0';
-}
-
 VG_STATIC void async_workshop_get_filepath( void *data, u32 len );
 VG_STATIC void async_workshop_get_installed_files( void *data, u32 len );
 VG_STATIC void workshop_load_metadata( const char *path,
                                        struct workshop_file_info *info );
 
-/*
- * Start a new operation and crash if we are already running one.
- */
-VG_STATIC int workshop_begin_op( enum workshop_operation op )
-{
-   if( workshop.operation != k_workshop_form_op_none ){
-      vg_error( "Workshop form currently executing op(%d), tried to "
-                "start op(%d)\n", workshop.operation, op );
-      return 0;
-   }
-   
-   workshop.operation = op;
-   vg_info( "Starting op( %d )\n", op );
-   return 1;
-}
-
-/*
- * Finished operation, otheres can now run
- */
-VG_STATIC void workshop_end_op(void)
+/* generic reciever */
+VG_STATIC void workshop_async_any_complete( void *data, u32 size )
 {
-   vg_info( "Finishing op( %d )\n", workshop.operation );
-   workshop.operation = k_workshop_form_op_none;
+   skaterift_end_op();
 }
 
 #endif /* WORKSHOP_H */