Update to latest proto definitions from SteamDatabase/Protobufs

From commit 085746bbf6b48d1b89b7a63e7876932793f4c08f
This commit is contained in:
TBK 2025-10-18 20:00:55 +02:00 committed by Robin Appelman
commit 8ce47e5e16
127 changed files with 40662 additions and 28630 deletions

View file

@ -48,6 +48,16 @@ enum EUserReviewScore {
k_EUserReviewScore_OverwhelminglyPositive = 9;
}
enum ETrailerCategory {
k_ETrailerCategory_Invalid = 0;
k_ETrailerCategory_Gameplay = 1;
k_ETrailerCategory_Teaser = 2;
k_ETrailerCategory_Cinematic = 3;
k_ETrailerCategory_Update = 4;
k_ETrailerCategory_Accolades = 5;
k_ETrailerCategory_Interview = 6;
}
enum EStoreBrowseFilterFailure {
k_EStoreBrowseFilterFailure_None = 0;
k_EStoreBrowseFilterFailure_Redundant = 10;
@ -64,7 +74,26 @@ enum EStoreLinkType {
k_EStoreLinkType_Twitter = 3;
k_EStoreLinkType_Twitch = 4;
k_EStoreLinkType_Discord = 5;
k_EStoreLinkType_MAX = 6;
k_EStoreLinkType_QQ = 6;
k_EStoreLinkType_VK = 7;
k_EStoreLinkType_Bilibili = 8;
k_EStoreLinkType_Weibo = 9;
k_EStoreLinkType_Reddit = 10;
k_EStoreLinkType_Instagram = 11;
k_EStoreLinkType_Tumblr = 12;
k_EStoreLinkType_Tieba = 13;
k_EStoreLinkType_Tiktok = 14;
k_EStoreLinkType_Telegram = 15;
k_EStoreLinkType_LinkedIn = 16;
k_EStoreLinkType_WeChat = 17;
k_EStoreLinkType_QQLink = 18;
k_EStoreLinkType_Douyin = 19;
k_EStoreLinkType_Bluesky = 20;
k_EStoreLinkType_Mastodon = 21;
k_EStoreLinkType_Threads = 22;
k_EStoreLinkType_QQChannel = 23;
k_EStoreLinkType_RedNote = 24;
k_EStoreLinkType_MAX = 25;
}
enum EStoreCategoryType {
@ -121,6 +150,8 @@ message CStoreBrowse_GetItems_Request {
message StoreItem {
message RelatedItems {
optional uint32 parent_appid = 1;
repeated uint32 demo_appid = 2;
repeated uint32 standalone_demo_appid = 3;
}
message IncludedItems {
@ -144,6 +175,7 @@ message StoreItem {
optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1;
optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2;
optional .StoreItem.Reviews.StoreReviewSummary summary_language_specific = 3;
}
message BasicInfo {
@ -179,6 +211,8 @@ message StoreItem {
optional string library_hero_2x = 12;
optional string community_icon = 13;
optional string clan_avatar = 14;
optional string page_background_path = 15;
optional string raw_page_background = 16;
}
message ReleaseInfo {
@ -193,6 +227,7 @@ message StoreItem {
optional bool is_early_access = 10;
optional uint32 mac_release_date = 20;
optional uint32 linux_release_date = 21;
optional bool limited_launch_active = 22;
}
message Platforms {
@ -210,6 +245,7 @@ message StoreItem {
optional bool steamos_linux = 3;
optional .StoreItem.Platforms.VRSupport vr_support = 10;
optional .ESteamDeckCompatibilityCategory steam_deck_compat_category = 11 [default = k_ESteamDeckCompatibilityCategory_Unknown];
optional .ESteamOSCompatibilityCategory steam_os_compat_category = 12 [default = k_ESteamOSCompatibilityCategory_Unknown];
}
message PurchaseOption {
@ -233,24 +269,23 @@ message StoreItem {
optional string purchase_option_name = 3;
optional int64 final_price_in_cents = 5;
optional int64 original_price_in_cents = 6;
optional int64 user_final_price_in_cents = 7;
optional string formatted_final_price = 8;
optional string formatted_original_price = 9;
optional int32 discount_pct = 10;
optional int32 user_discount_pct = 11;
optional int32 bundle_discount_pct = 12;
optional bool is_free_to_keep = 13;
optional int64 price_before_bundle_discount = 14;
optional string formatted_price_before_bundle_discount = 15;
repeated .StoreItem.PurchaseOption.Discount active_discounts = 20;
repeated .StoreItem.PurchaseOption.Discount user_active_discounts = 21;
repeated .StoreItem.PurchaseOption.Discount inactive_discounts = 22;
optional bool user_can_purchase = 30;
optional bool user_can_purchase_as_gift = 31;
optional bool is_commercial_license = 40;
optional bool should_suppress_discount_pct = 41;
optional bool hide_discount_pct_for_compliance = 42 [default = false];
optional int32 included_game_count = 43;
optional int32 included_game_count = 43 [default = 1];
optional int64 lowest_recent_price_in_cents = 44;
optional bool requires_shipping = 45;
optional .StoreItem.PurchaseOption.RecurrenceInfo recurrence_info = 46;
optional uint32 free_to_keep_ends = 47;
}
message Screenshots {
@ -269,15 +304,23 @@ message StoreItem {
optional string type = 2;
}
message AdaptiveTrailer {
optional string cdn_path = 1;
optional string encoding = 2;
}
message Trailer {
optional string trailer_name = 1;
optional string trailer_url_format = 2;
optional .ETrailerCategory trailer_category = 13 [default = k_ETrailerCategory_Invalid];
repeated .StoreItem.Trailers.VideoSource trailer_480p = 3;
repeated .StoreItem.Trailers.VideoSource trailer_max = 4;
repeated .StoreItem.Trailers.VideoSource microtrailer = 5;
repeated .StoreItem.Trailers.AdaptiveTrailer adaptive_trailers = 6;
optional string screenshot_medium = 10;
optional string screenshot_full = 11;
optional int32 trailer_base_id = 12;
optional bool all_ages = 14;
}
repeated .StoreItem.Trailers.Trailer highlights = 1;
@ -301,6 +344,7 @@ message StoreItem {
message Link {
optional .EStoreLinkType link_type = 1 [default = k_EStoreLinkType_None];
optional string url = 2;
optional string text = 3;
}
optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid];
@ -328,6 +372,7 @@ message StoreItem {
optional .StoreItem.ReleaseInfo release = 31;
optional .StoreItem.Platforms platforms = 32;
optional .StoreGameRating game_rating = 33;
optional bool is_coming_soon = 34;
optional .StoreItem.PurchaseOption best_purchase_option = 40;
repeated .StoreItem.PurchaseOption purchase_options = 41;
repeated .StoreItem.PurchaseOption accessories = 42;
@ -390,11 +435,45 @@ message CStoreBrowse_GetStoreCategories_Response {
optional string image_url = 5;
optional bool show_in_search = 6;
optional bool computed = 7;
optional string edit_url = 8;
optional uint32 edit_sort_order = 9;
}
repeated .CStoreBrowse_GetStoreCategories_Response.Category categories = 1;
}
message CStoreBrowse_GetContentHubConfig_Request {
optional .StoreBrowseContext context = 1;
repeated .EContentDescriptorID excluded_content_descriptorids = 2;
}
message CStoreBrowse_GetContentHubConfig_Response {
message ContentHubConfig {
optional uint32 hubcategoryid = 1;
optional string type = 2;
optional string handle = 3;
optional string display_name = 4;
optional string url_path = 5;
}
repeated .CStoreBrowse_GetContentHubConfig_Response.ContentHubConfig hubconfigs = 1;
}
message CStoreBrowse_GetPriceStops_Request {
optional string country_code = 1;
optional string currency_code = 2;
}
message CStoreBrowse_GetPriceStops_Response {
message PriceStop {
optional string formatted_amount = 1;
optional int64 amount_in_cents = 2;
}
repeated .CStoreBrowse_GetPriceStops_Response.PriceStop price_stops = 1;
optional string currency_code = 2;
}
message CStoreBrowse_GetDLCForApps_Request {
optional .StoreBrowseContext context = 1;
optional .CStorePageFilter store_page_filter = 2;
@ -471,6 +550,8 @@ message CStoreBrowse_GetHardwareItems_Response {
service StoreBrowse {
rpc GetItems (.CStoreBrowse_GetItems_Request) returns (.CStoreBrowse_GetItems_Response);
rpc GetStoreCategories (.CStoreBrowse_GetStoreCategories_Request) returns (.CStoreBrowse_GetStoreCategories_Response);
rpc GetContentHubConfig (.CStoreBrowse_GetContentHubConfig_Request) returns (.CStoreBrowse_GetContentHubConfig_Response);
rpc GetPriceStops (.CStoreBrowse_GetPriceStops_Request) returns (.CStoreBrowse_GetPriceStops_Response);
rpc GetDLCForApps (.CStoreBrowse_GetDLCForApps_Request) returns (.CStoreBrowse_GetDLCForApps_Response);
rpc GetDLCForAppsSolr (.CStoreBrowse_GetDLCForAppsSolr_Request) returns (.CStoreBrowse_GetDLCForAppsSolr_Response);
rpc GetHardwareItems (.CStoreBrowse_GetHardwareItems_Request) returns (.CStoreBrowse_GetHardwareItems_Response);