-/*
- * Start a new operation and crash if we are already running one.
- */
-VG_STATIC int workshop_begin_op( enum workshop_operation op )
-{
- if( workshop.operation != k_workshop_form_op_none ){
- vg_error( "Workshop form currently executing op(%d), tried to "
- "start op(%d)\n", workshop.operation, op );
- return 0;
+
+#define WORKSHOP_VIEW_PER_PAGE 15
+
+struct workshop_form{
+ struct {
+ char title[80];
+ char description[512];
+ char author[32];
+ struct ui_dropdown_value submission_type_selection;
+ enum workshop_file_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;
+
+ /* 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 */