5 #include "addon_types.h"
7 #include "vg/vg_steam_remote_storage.h"
9 #include "vg/vg_steam_auth.h"
10 #include "vg/vg_steam_ugc.h"
11 #include "vg/vg_steam_friends.h"
13 #include "ent_skateshop.h"
15 struct async_workshop_filepath_info
{
21 struct async_workshop_installed_files_info
{
22 PublishedFileId_t
*buffer
;
26 struct async_workshop_metadata_info
{
27 struct workshop_file_info
*info
;
32 #define WORKSHOP_VIEW_PER_PAGE 15
37 k_workshop_op_downloading_submission
,
38 k_workshop_op_publishing_update
,
39 k_workshop_op_loading_model
45 char description
[512];
47 i32 submission_type_selection
;
50 PublishedFileId_t file_id
; /* 0 if not published yet */
53 int submit_title
, /* set if the respective controls are touched */
55 submit_file_and_image
;
59 enum workshop_form_page
{
60 k_workshop_form_hidden
,
61 k_workshop_form_open
, /* open but not looking at anything */
62 k_workshop_form_edit
, /* editing a submission */
63 k_workshop_form_cclosing
,
64 k_workshop_form_closing_good
, /* post upload screen */
65 k_workshop_form_closing_bad
,
70 * -----------------------------
73 char addon_folder
[128];
74 struct player_board board_model
;
75 struct player_model player_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 static int workshop_submit_command( int argc
, const char *argv
[] );
136 static void async_workshop_get_filepath( void *data
, u32 len
);
137 static void async_workshop_get_installed_files( void *data
, u32 len
);
138 static void workshop_load_metadata( const char *path
,
139 struct workshop_file_info
*info
);
141 #endif /* WORKSHOP_H */