16class YASIUMATH_API USquirrel13_RNG : public UObject {
22 USquirrel13_RNG(
unsigned int seed )
23 : m_seed(seed), init_seed(seed) {};
25 USquirrel13_RNG(
int position,
unsigned int seed )
26 : m_position(position), m_seed(seed), init_position(position), init_seed(seed) {};
28 USquirrel13_RNG(
int position,
unsigned int seed,
unsigned int variant )
29 : m_position(position), m_seed(seed), m_variant(variant), init_position(position), init_seed(seed) {};
36 unsigned int m_seed{1};
42 unsigned int init_position = 0;
52 UFUNCTION(BlueprintCallable, Category=
"RNG")
53 void
InitBP(
int seed,
int position = 0 );
56 uint32_t get_current_random() const;
59 uint32_t get_random();
62 UFUNCTION(BlueprintCallable, Category=
"RNG")
66 UFUNCTION(BlueprintCallable, Category=
"RNG")
72 UFUNCTION(BlueprintCallable, Category=
"RNG")
76 UFUNCTION(BlueprintCallable, Category=
"RNG")
80 UFUNCTION(BlueprintCallable, Category=
"RNG")
84 UFUNCTION(BlueprintCallable, Category=
"RNG")
88 UFUNCTION(BlueprintCallable, Category=
"RNG")
92 UFUNCTION(BlueprintCallable, Category=
"RNG")
96 UFUNCTION(BlueprintCallable, Category=
"RNG")
99 static uint32_t RNG_0(
int position,
unsigned int seed );
101 static uint32_t RNG_1(
int position,
unsigned int seed );
103 static uint32_t RNG_2(
int position,
unsigned int seed );
105 static uint32_t RNG_3(
int position,
unsigned int seed );