-#ifndef WORKSHOP_H
-#define WORKSHOP_H
-
-#include "workshop_types.h"
-
-#define VG_GAME
-#include "vg/vg.h"
+#pragma once
+#include "addon_types.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"
#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;
- enum workshop_file_type type;
+ 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;
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{
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 );
-
-/* generic reciever */
-VG_STATIC void workshop_async_any_complete( void *data, u32 size )
-{
- skaterift_end_op();
-}
-
-#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(void);