X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=workshop.h;h=36a6aa5ad2f0b7e2ce18ab4006104242ea72e8fe;hb=b8d9653b23cc9d09608e05f08020fb923b3305ac;hp=4a0f8b27008347d74cdc574d53fb790ea23b8162;hpb=02e5027d274fc66fecca0572d0998e2c562da7a7;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/workshop.h b/workshop.h index 4a0f8b2..36a6aa5 100644 --- a/workshop.h +++ b/workshop.h @@ -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 */