5 #include "addon_types.h"
7 #include "vg/vg_steam_remote_storage.h"
9 #include "pointcloud.h"
10 #include "vg/vg_steam_auth.h"
11 #include "vg/vg_steam_ugc.h"
12 #include "vg/vg_steam_friends.h"
14 #include "ent_skateshop.h"
16 struct async_workshop_filepath_info
{
22 struct async_workshop_installed_files_info
{
23 PublishedFileId_t
*buffer
;
27 struct async_workshop_metadata_info
{
28 struct workshop_file_info
*info
;
33 #define WORKSHOP_VIEW_PER_PAGE 15
38 k_workshop_op_downloading_submission
,
39 k_workshop_op_publishing_update
,
40 k_workshop_op_loading_model
46 char description
[512];
48 struct ui_dropdown_value submission_type_selection
;
51 PublishedFileId_t file_id
; /* 0 if not published yet */
53 struct ui_dropdown_value visibility
;
54 int submit_title
, /* set if the respective controls are touched */
56 submit_file_and_image
;
60 enum workshop_form_page
{
61 k_workshop_form_hidden
,
62 k_workshop_form_open
, /* open but not looking at anything */
63 k_workshop_form_edit
, /* editing a submission */
64 k_workshop_form_cclosing
,
65 k_workshop_form_closing_good
, /* post upload screen */
66 k_workshop_form_closing_bad
,
71 * -----------------------------
74 char addon_folder
[128];
75 struct player_board board_model
;
77 /* what does the user want to do with the image preview? */
78 enum workshop_form_file_intent
{
79 k_workshop_form_file_intent_none
, /* loading probably */
80 k_workshop_form_file_intent_new
, /* board_model is valid */
81 k_workshop_form_file_intent_keep_old
/* just browsing */
85 world_instance
*view_world
;
86 ent_swspreview
*ptr_ent
;
96 * published UGC request
97 * ------------------------------
101 UGCQueryHandle_t handle
;
111 * ------------------------------------------
114 const char *failure_or_success_string
;
120 int view_published_page_count
,
121 view_published_page_id
;
123 struct published_file
{
128 published_files_list
[WORKSHOP_VIEW_PER_PAGE
];
129 int published_files_list_length
;
131 static workshop_form
;
135 VG_STATIC
int workshop_submit_command( int argc
, const char *argv
[] );
136 VG_STATIC
void async_workshop_get_filepath( void *data
, u32 len
);
137 VG_STATIC
void async_workshop_get_installed_files( void *data
, u32 len
);
138 VG_STATIC
void workshop_load_metadata( const char *path
,
139 struct workshop_file_info
*info
);
141 #endif /* WORKSHOP_H */