X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=workshop.h;h=08776dfd9dd66e65e1e93dc10d5d0096a24c37b1;hb=refs%2Fheads%2Fmenu2;hp=d4f1b6ddaee20d6275b8d95e0d57411ef05f2126;hpb=6929408e937dca64da707a2d61f8cdf6ab857e93;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/workshop.h b/workshop.h index d4f1b6d..08776df 100644 --- a/workshop.h +++ b/workshop.h @@ -1,12 +1,7 @@ -#ifndef WORKSHOP_H -#define WORKSHOP_H - -#define VG_GAME +#pragma once #include "addon_types.h" -#include "vg/vg.h" #include "vg/vg_steam_remote_storage.h" #include "skaterift.h" -#include "pointcloud.h" #include "vg/vg_steam_auth.h" #include "vg/vg_steam_ugc.h" #include "vg/vg_steam_friends.h" @@ -33,16 +28,24 @@ struct async_workshop_metadata_info{ #define WORKSHOP_VIEW_PER_PAGE 15 struct workshop_form{ + enum workshop_op { + k_workshop_op_none, + k_workshop_op_downloading_submission, + k_workshop_op_publishing_update, + k_workshop_op_loading_model + } + op; + struct { char title[80]; char description[512]; char author[32]; - struct ui_dropdown_value submission_type_selection; + i32 submission_type_selection; enum addon_type type; PublishedFileId_t file_id; /* 0 if not published yet */ - struct ui_dropdown_value visibility; + i32 visibility; int submit_title, /* set if the respective controls are touched */ submit_description, submit_file_and_image; @@ -65,6 +68,7 @@ struct workshop_form{ char addon_folder[128]; struct player_board board_model; + struct player_model player_model; /* what does the user want to do with the image preview? */ enum workshop_form_file_intent{ @@ -120,14 +124,11 @@ struct workshop_form{ published_files_list[WORKSHOP_VIEW_PER_PAGE]; int published_files_list_length; } -static workshop_form; - - - -VG_STATIC int workshop_submit_command( int argc, const char *argv[] ); -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 ); - -#endif /* WORKSHOP_H */ +extern workshop_form; + +void workshop_init(void); +int workshop_submit_command( int argc, const char *argv[] ); +void async_workshop_get_filepath( void *data, u32 len ); +void async_workshop_get_installed_files( void *data, u32 len ); +void workshop_load_metadata( const char *path,struct workshop_file_info *info ); +void workshop_form_gui( ui_context *ctx );