menu polish sound / interactions
[carveJwlIkooP6JGAAIwe30JlM.git] / workshop.h
index d4f1b6ddaee20d6275b8d95e0d57411ef05f2126..be9e3a5207728c7a7490d8fda4a0e96aa00e2e9c 100644 (file)
@@ -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(void);