+++ /dev/null
-#ifndef WORKSHOP_H
-#define WORKSHOP_H
-
-#define VG_GAME
-#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"
-#include "steam.h"
-#include "ent_skateshop.h"
-
-struct async_workshop_filepath_info{
- PublishedFileId_t id;
- char *buf;
- u32 len;
-};
-
-struct async_workshop_installed_files_info{
- PublishedFileId_t *buffer;
- u32 *len; /* inout */
-};
-
-struct async_workshop_metadata_info{
- struct workshop_file_info *info;
- const char *path;
-};
-
-
-#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 addon_type type;
-
- PublishedFileId_t file_id; /* 0 if not published yet */
-
- struct ui_dropdown_value visibility;
- int submit_title, /* set if the respective controls are touched */
- submit_description,
- submit_file_and_image;
- }
- submission;
-
- enum workshop_form_page{
- k_workshop_form_hidden,
- k_workshop_form_open, /* open but not looking at anything */
- k_workshop_form_edit, /* editing a submission */
- k_workshop_form_cclosing,
- k_workshop_form_closing_good, /* post upload screen */
- k_workshop_form_closing_bad,
- }
- page;
-
- /* model viewer
- * -----------------------------
- */
-
- 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{
- k_workshop_form_file_intent_none, /* loading probably */
- k_workshop_form_file_intent_new, /* board_model is valid */
- k_workshop_form_file_intent_keep_old /* just browsing */
- }
- file_intent;
-
- world_instance *view_world;
- ent_swspreview *ptr_ent;
- v2f view_angles,
- view_angles_begin;
- v3f view_offset,
- view_offset_begin;
-
- float view_dist;
- int view_changed;
-
- /*
- * published UGC request
- * ------------------------------
- */
-
- struct {
- UGCQueryHandle_t handle;
- EResult result;
-
- int all_item_count,
- returned_item_count;
- }
- ugc_query;
-
- /*
- * UI information
- * ------------------------------------------
- */
-
- const char *failure_or_success_string;
- char error_msg[256];
-
- int img_w, img_h;
- u8 *img_buffer;
-
- int view_published_page_count,
- view_published_page_id;
-
- struct published_file{
- EResult result;
- int result_index;
- char title[80];
- }
- 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 */