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 i32 submission_type_selection
;
51 PublishedFileId_t file_id
; /* 0 if not published yet */
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
;
76 struct player_model player_model
;
78 /* what does the user want to do with the image preview? */
79 enum workshop_form_file_intent
{
80 k_workshop_form_file_intent_none
, /* loading probably */
81 k_workshop_form_file_intent_new
, /* board_model is valid */
82 k_workshop_form_file_intent_keep_old
/* just browsing */
86 world_instance
*view_world
;
87 ent_swspreview
*ptr_ent
;
97 * published UGC request
98 * ------------------------------
102 UGCQueryHandle_t handle
;
112 * ------------------------------------------
115 const char *failure_or_success_string
;
121 int view_published_page_count
,
122 view_published_page_id
;
124 struct published_file
{
129 published_files_list
[WORKSHOP_VIEW_PER_PAGE
];
130 int published_files_list_length
;
132 static workshop_form
;
136 VG_STATIC
int workshop_submit_command( int argc
, const char *argv
[] );
137 VG_STATIC
void async_workshop_get_filepath( void *data
, u32 len
);
138 VG_STATIC
void async_workshop_get_installed_files( void *data
, u32 len
);
139 VG_STATIC
void workshop_load_metadata( const char *path
,
140 struct workshop_file_info
*info
);
142 #endif /* WORKSHOP_H */