CommonLibSSE NG
MaterialIDs.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  enum class MATERIAL_ID : std::uint32_t
6  {
7  kNone = 0,
8  kStoneBroken = 131151687,
9  kBlockBlade1Hand = 165778930,
10  kMeat = 220124585,
11  kCarriageWheel = 322207473,
12  kMetalLight = 346811165,
13  kWoodLight = 365420259,
14  kSnow = 398949039,
15  kGravel = 428587608,
16  kChainMetal = 438912228,
17  kBottle = 493553910,
18  kWood = 500811281,
19  kAsh = 534864873,
20  kSkin = 591247106,
21  kBlockBlunt = 593401068,
22  kDLC1DeerSkin = 617099282,
23  kInsect = 668408902,
24  kBarrel = 732141076,
25  kCeramicMedium = 781661019,
26  kBasket = 790784366,
27  kIce = 873356572,
28  kGlassStairs = 880200008,
29  kStoneStairs = 899511101,
30  kWater = 1024582599,
31  kDraugrSkeleton = 1028101969,
32  kBlade1Hand = 1060167844,
33  kBook = 1264672850,
34  kCarpet = 1286705471,
35  kMetalSolid = 1288358971,
36  kAxe1Hand = 1305674443,
37  kBlockBlade2Hand = 1312943906,
38  kOrganicLarge = 1322093133,
39  kAmulet = 1440721808,
40  kWoodStairs = 1461712277,
41  kMud = 1486385281,
42  kBoulderSmall = 1550912982,
43  kSnowStairs = 1560365355,
44  kStoneHeavy = 1570821952,
45  kDragonSkeleton = 1574477864,
46  kTrap = 1591009235,
47  kBowsStaves = 1607128641,
48  kAlduin = 1730220269,
49  kBlockBowsStaves = 1763418903,
50  kWoodAsStairs = 1803571212,
51  kSteelGreatSword = 1820198263,
52  kGrass = 1848600814,
53  kBoulderLarge = 1885326971,
54  kStoneAsStairs = 1886078335,
55  kBlade2Hand = 2022742644,
56  kBottleSmall = 2025794648,
57  kBoneActor = 2058949504,
58  kSand = 2168343821,
59  kMetalHeavy = 2229413539,
60  kDLC1SabreCatPelt = 2290050264,
61  kIceForm = 2431524493,
62  kDragon = 2518321175,
63  kBlade1HandSmall = 2617944780,
64  kSkinSmall = 2632367422,
65  kPotsPans = 2742858142,
66  kSkinSkeleton = 2821299363,
67  kBlunt1Hand = 2872791301,
68  kStoneStairsBroken = 2892392795,
69  kSkinLarge = 2965929619,
70  kOrganic = 2974920155,
71  kBone = 3049421844,
72  kWoodHeavy = 3070783559,
73  kChain = 3074114406,
74  kDirt = 3106094762,
75  kGhost = 3312543676,
76  kSkinMetalLarge = 3387452107,
77  kBlockAxe = 3400476823,
78  kArmorLight = 3424720541,
79  kShieldLight = 3448167928,
80  kCoin = 3589100606,
81  kBlockBlunt2Hand = 3662306947,
82  kShieldHeavy = 3702389584,
83  kArmorHeavy = 3708432437,
84  kArrow = 3725505938,
85  kGlass = 3739830338,
86  kStone = 3741512247,
87  kWaterPuddle = 3764646153,
88  kCloth = 3839073443,
89  kSkinMetalSmall = 3855001958,
90  kWard = 3895166727,
91  kWeb = 3934839107,
92  kTrailerSteelSword = 3941234649,
93  kBlunt2Hand = 3969592277,
94  kDLC1SwingingBridge = 4239621792,
95  kBoulderMedium = 4283869410
96  };
97 
98  [[nodiscard]] std::string_view MaterialIDToString(MATERIAL_ID a_materialID) noexcept;
99 }
100 
101 namespace std
102 {
103  [[nodiscard]] inline std::string to_string(RE::MATERIAL_ID a_materialID)
104  {
105  return RE::MaterialIDToString(a_materialID).data();
106  }
107 }
108 
109 #ifdef FMT_VERSION
110 namespace fmt
111 {
112  template <>
113  struct formatter<RE::MATERIAL_ID>
114  {
115  template <class ParseContext>
116  constexpr auto parse(ParseContext& a_ctx)
117  {
118  return a_ctx.begin();
119  }
120 
121  template <class FormatContext>
122  auto format(const RE::MATERIAL_ID& a_materialID, FormatContext& a_ctx)
123  {
124  return fmt::format_to(a_ctx.out(), "{}", RE::MaterialIDToString(a_materialID));
125  }
126  };
127 }
128 #endif
129 
130 #ifdef __cpp_lib_format
131 namespace std
132 {
133  template <class CharT>
134  struct formatter<RE::MATERIAL_ID, CharT> : std::formatter<std::string_view, CharT>
135  {
136  template <class FormatContext>
137  auto format(RE::MATERIAL_ID a_materialID, FormatContext& a_ctx)
138  {
139  return formatter<std::string_view, CharT>::format(RE::MaterialIDToString(a_materialID), a_ctx);
140  }
141  };
142 }
143 #endif
Definition: AbsorbEffect.h:6
std::string_view MaterialIDToString(MATERIAL_ID a_materialID) noexcept
MATERIAL_ID
Definition: MaterialIDs.h:6
string(const CharT(&)[N]) -> string< CharT, N - 1 >
Definition: ActorValueList.h:28
std::string to_string(RE::ActorValue a_actorValue)
Definition: ActorValueList.h:29