11
11
#include " peds_AnimalFixes.hh"
12
12
#include " peds_MainFixes.hh"
13
13
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
+ const std::vector<uint32_t > &
75
+ Get () const
76
+ {
77
+ return m_ForcedPedHashes;
78
+ }
79
+ };
80
+
14
81
class PedRandomizer_Components
15
82
{
16
83
public:
@@ -21,7 +88,7 @@ public:
21
88
{
22
89
std::string ForcedPed = " " ;
23
90
std::string ForcedClipset = " " ;
24
- std::vector< uint32_t > ForcedPedHashes;
91
+ PedRandomizer_PedHashes ForcedPedHashes;
25
92
bool EnableNSFWModels = false ;
26
93
bool RandomizePlayer = true ;
27
94
bool RandomizePeds = true ;
0 commit comments