1 module derelict.steamworks.steamugc;
2 
3 import derelict.steamworks.enums;
4 import derelict.steamworks.types;
5 
6 enum EItemPreviewType
7 {
8 	k_EItemPreviewType_Image							= 0,	// standard image file expected (e.g. jpg, png, gif, etc.)
9 	k_EItemPreviewType_YouTubeVideo						= 1,	// video id is stored
10 	k_EItemPreviewType_Sketchfab						= 2,	// model id is stored
11 	k_EItemPreviewType_EnvironmentMap_HorizontalCross	= 3,	// standard image file expected - cube map in the layout
12 																// +---+---+-------+
13 																// |   |Up |       |
14 																// +---+---+---+---+
15 																// | L | F | R | B |
16 																// +---+---+---+---+
17 																// |   |Dn |       |
18 																// +---+---+---+---+
19 	k_EItemPreviewType_EnvironmentMap_LatLong			= 4,	// standard image file expected
20 	k_EItemPreviewType_ReservedMax						= 255,	// you can specify your own types above this value
21 }
22 
23 enum EItemStatistic
24 {
25 	k_EItemStatistic_NumSubscriptions					 = 0,
26 	k_EItemStatistic_NumFavorites						 = 1,
27 	k_EItemStatistic_NumFollowers						 = 2,
28 	k_EItemStatistic_NumUniqueSubscriptions				 = 3,
29 	k_EItemStatistic_NumUniqueFavorites					 = 4,
30 	k_EItemStatistic_NumUniqueFollowers					 = 5,
31 	k_EItemStatistic_NumUniqueWebsiteViews				 = 6,
32 	k_EItemStatistic_ReportScore						 = 7,
33 	k_EItemStatistic_NumSecondsPlayed					 = 8,
34 	k_EItemStatistic_NumPlaytimeSessions				 = 9,
35 	k_EItemStatistic_NumComments						 = 10,
36 	k_EItemStatistic_NumSecondsPlayedDuringTimePeriod	 = 11,
37 	k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod = 12,
38 }
39 
40 static immutable const(char)* STEAMUGC_INTERFACE_VERSION = "STEAMUGC_INTERFACE_VERSION010";
41 
42 //-----------------------------------------------------------------------------
43 // Purpose: The result of a call to AddDependency
44 //-----------------------------------------------------------------------------
45 struct AddUGCDependencyResult_t
46 {
47 	enum { k_iCallback = k_iClientUGCCallbacks + 12 }
48 	EResult m_eResult;
49 	PublishedFileId_t m_nPublishedFileId;
50 	PublishedFileId_t m_nChildPublishedFileId;
51 }
52 
53 //-----------------------------------------------------------------------------
54 // Purpose: The result of a call to RemoveDependency
55 //-----------------------------------------------------------------------------
56 struct RemoveUGCDependencyResult_t
57 {
58 	enum { k_iCallback = k_iClientUGCCallbacks + 13 }
59 	EResult m_eResult;
60 	PublishedFileId_t m_nPublishedFileId;
61 	PublishedFileId_t m_nChildPublishedFileId;
62 }