1111#include " peds_AnimalFixes.hh"
1212#include " peds_MainFixes.hh"
1313
14+ class PedRandomizer_PedHashes
15+ {
16+ std::string m_ForcedPedStr;
17+ std::vector<uint32_t > m_ForcedPedHashes;
18+
19+ public:
20+ /* ******************************************************/
21+ PedRandomizer_PedHashes () = default ;
22+
23+ /* ******************************************************/
24+ PedRandomizer_PedHashes (const std::string &forcedPedStr)
25+ : m_ForcedPedStr (forcedPedStr)
26+ {
27+ UpdateHashes (forcedPedStr);
28+ }
29+
30+ /* ******************************************************/
31+ void
32+ operator = (const std::string &forcedPedStr)
33+ {
34+ if (m_ForcedPedStr != forcedPedStr)
35+ {
36+ m_ForcedPedStr = forcedPedStr;
37+ UpdateHashes (forcedPedStr);
38+ }
39+ }
40+
41+ /* ******************************************************/
42+ void
43+ UpdateHashes (std::string forcedPedStr)
44+ {
45+ m_ForcedPedHashes.clear ();
46+
47+ if (forcedPedStr.size ())
48+ {
49+ while (true )
50+ {
51+ auto splitPos = forcedPedStr.find (' ,' );
52+ auto forcedPed = std::string (forcedPedStr.substr (0 , splitPos));
53+
54+ // trimming
55+ forcedPed.erase (0 , forcedPed.find_first_not_of (' ' ));
56+ if (forcedPed.find_last_not_of (' ' ) != forcedPed.npos )
57+ forcedPed.erase (forcedPed.find_last_not_of (' ' ) + 1 );
58+
59+ if (forcedPed.size ())
60+ m_ForcedPedHashes
61+ .push_back (rage::atStringHash (forcedPed));
62+
63+ if (splitPos == forcedPedStr.npos )
64+ {
65+ break ;
66+ }
67+
68+ forcedPedStr.erase (0 , splitPos + 1 );
69+ }
70+ }
71+ }
72+
73+ /* ******************************************************/
74+ std::vector<uint32_t > &
75+ Get ()
76+ {
77+ return m_ForcedPedHashes;
78+ }
79+ };
80+
1481class PedRandomizer_Components
1582{
1683public:
@@ -21,7 +88,7 @@ public:
2188 {
2289 std::string ForcedPed = " " ;
2390 std::string ForcedClipset = " " ;
24- std::vector< uint32_t > ForcedPedHashes;
91+ PedRandomizer_PedHashes ForcedPedHashes;
2592 bool EnableNSFWModels = false ;
2693 bool RandomizePlayer = true ;
2794 bool RandomizePeds = true ;
0 commit comments