X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=workshop.c;h=341d44a3f0d64bcd5b4e839b22f5e60c17ec1120;hb=2f44245bafbb83a2172e544a7a2965ae837186ed;hp=b0c8da6e1e19de2b14808b57fc2ca5e1c5eabafe;hpb=3e59ac7081ea3005060b56449bc77c8f73cdc6b6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/workshop.c b/workshop.c index b0c8da6..341d44a 100644 --- a/workshop.c +++ b/workshop.c @@ -15,18 +15,18 @@ #include "steam.h" #include "highscores.h" -static struct ui_dropdown_opt workshop_form_visibility_opts[] = { - { "Public", k_ERemoteStoragePublishedFileVisibilityPublic }, - { "Unlisted", k_ERemoteStoragePublishedFileVisibilityUnlisted }, - { "Friends Only", k_ERemoteStoragePublishedFileVisibilityFriendsOnly }, - { "Private", k_ERemoteStoragePublishedFileVisibilityPrivate }, +static struct ui_enum_opt workshop_form_visibility_opts[] = { + { k_ERemoteStoragePublishedFileVisibilityPublic, "Public" }, + { k_ERemoteStoragePublishedFileVisibilityUnlisted, "Unlisted" }, + { k_ERemoteStoragePublishedFileVisibilityFriendsOnly, "Friends Only" }, + { k_ERemoteStoragePublishedFileVisibilityPrivate, "Private" }, }; -static struct ui_dropdown_opt workshop_form_type_opts[] = { - { "None", k_addon_type_none }, - { "Board", k_addon_type_board }, - { "World", k_addon_type_world }, - { "Player", k_addon_type_player }, +static struct ui_enum_opt workshop_form_type_opts[] = { + { k_addon_type_none, "None" }, + { k_addon_type_board, "Board" }, + { k_addon_type_world, "World" }, + { k_addon_type_player, "Player" }, }; /* @@ -57,14 +57,12 @@ VG_STATIC void workshop_reset_submission_data(void) workshop_form.submission.description[0] = '\0'; workshop_form.submission.title[0] = '\0'; workshop_form.submission.author[0] = '\0'; - workshop_form.submission.submission_type_selection.value = + workshop_form.submission.submission_type_selection = k_addon_type_none; - workshop_form.submission.submission_type_selection.index = 0; workshop_form.submission.type = k_addon_type_none; - workshop_form.submission.visibility.value = + workshop_form.submission.visibility = k_ERemoteStoragePublishedFileVisibilityPublic; - workshop_form.submission.visibility.index = 0; workshop_form.addon_folder[0] = '\0'; player_board_unload( &workshop_form.board_model ); @@ -156,7 +154,7 @@ VG_STATIC const char *workshop_filetype_folder(void){ enum addon_type type = workshop_form.submission.type; if ( type == k_addon_type_board ) return "boards/"; else if( type == k_addon_type_player ) return "playermodels/"; - else if( type == k_addon_type_world ) return "worlds/"; + else if( type == k_addon_type_world ) return "maps/"; return "unknown_addon_type/"; } @@ -210,7 +208,7 @@ VG_STATIC void workshop_form_upload_submission( PublishedFileId_t file_id, vg_info( "Setting visibility\n" ); SteamAPI_ISteamUGC_SetItemVisibility( hSteamUGC, handle, - workshop_form.submission.visibility.value ); + workshop_form.submission.visibility ); vg_info( "Submitting updates\n" ); vg_steam_async_call *call = vg_alloc_async_steam_api_call(); @@ -672,11 +670,9 @@ VG_STATIC void workshop_op_download_and_view_submission( int result_index ) workshop_form.submission.file_id = details.m_nPublishedFileId; workshop_form.file_intent = k_workshop_form_file_intent_keep_old; workshop_form.page = k_workshop_form_edit; - workshop_form.submission.visibility.value = details.m_eVisibility; + workshop_form.submission.visibility = details.m_eVisibility; workshop_form.submission.type = k_addon_type_none; - workshop_form.submission.submission_type_selection.index = 0; - workshop_form.submission.submission_type_selection.value = - k_addon_type_none; + workshop_form.submission.submission_type_selection = k_addon_type_none; if( have_meta ){ u32 len = strlen(metadata_str); @@ -691,7 +687,7 @@ VG_STATIC void workshop_op_download_and_view_submission( int result_index ) if( vg_msg_seekframe( &workshop, "workshop", k_vg_msg_first )){ u32 type = vg_msg_seekkvu32( &workshop, "type", k_vg_msg_first ); workshop_form.submission.type = type; - workshop_form.submission.submission_type_selection.value = type; + workshop_form.submission.submission_type_selection = type; const char *kv_folder = vg_msg_seekkvstr( &workshop, "folder", k_vg_msg_first ); @@ -706,21 +702,6 @@ VG_STATIC void workshop_op_download_and_view_submission( int result_index ) vg_error( "No metadata was returned with this item.\n" ); } - /* TODO.... */ - for( i32 i=0; ititle, 1 ) ){ + if( ui_button_text( item, pfile->title, 1 ) == 1 ){ if( pfile->result == k_EResultOK ){ vg_info( "Select index: %d\n", pfile->result_index ); workshop_op_download_and_view_submission( pfile->result_index ); @@ -1442,7 +1421,7 @@ VG_STATIC void workshop_form_gui(void) ui_split( title, k_ui_axis_v, title[2]-title[3], 2, title, quit_button ); if( vg_loader_availible() ){ - if( ui_button_text( quit_button, "X", 1 ) ){ + if( ui_button_text( quit_button, "X", 1 ) == 1 ){ workshop_quit_form(); return; } @@ -1533,7 +1512,7 @@ VG_STATIC void workshop_form_gui(void) ui_rect_center( submission_row, submission_center ); ui_rect_pad( submission_center, (ui_px[2]){8,8} ); - if( ui_button_text( submission_center, "OK", 1 ) ){ + if( ui_button_text( submission_center, "OK", 1 ) == 1 ){ workshop_form.page = k_workshop_form_open; } }