mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-28 21:07:59 +03:00
Use std::minstd_rand and split serialization from save/load
This commit is contained in:
parent
0611a8c3a7
commit
f8f3bb2421
3 changed files with 27 additions and 41 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <chrono>
|
||||
#include <random>
|
||||
#include <sstream>
|
||||
|
||||
#include <components/debug/debuglog.hpp>
|
||||
|
||||
|
@ -14,6 +15,23 @@ namespace Misc::Rng
|
|||
return sGenerator;
|
||||
}
|
||||
|
||||
std::string serialize(const Generator& prng)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << prng;
|
||||
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
void deserialize(std::string_view data, Generator& prng)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << data;
|
||||
|
||||
ss.seekg(0);
|
||||
ss >> prng;
|
||||
}
|
||||
|
||||
unsigned int generateDefaultSeed()
|
||||
{
|
||||
auto res = static_cast<unsigned int>(std::chrono::high_resolution_clock::now().time_since_epoch().count());
|
||||
|
@ -65,4 +83,5 @@ namespace Misc::Rng
|
|||
{
|
||||
return std::uniform_real_distribution<float>(mean - deviation, mean + deviation)(prng);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue