|
OpenTTD Source 20251117-master-g7398d2e290
|
Implementation of the pseudo random generator. More...
#include "../stdafx.h"#include "random_func.hpp"#include "bitmath_func.hpp"#include "../debug.h"#include "../safeguards.h"Go to the source code of this file.
Functions | |
| void | SetRandomSeed (uint32_t seed) |
| (Re)set the state of the random number generators. | |
| void | RandomBytesWithFallback (std::span< uint8_t > buf) |
| Fill the given buffer with random bytes. | |
Variables | |
| Randomizer | _random |
| Random used in the game state calculations. | |
| Randomizer | _interactive_random |
| Random used everywhere else, where it does not (directly) influence the game state. | |
Implementation of the pseudo random generator.
Definition in file random_func.cpp.
| void RandomBytesWithFallback | ( | std::span< uint8_t > | buf | ) |
Fill the given buffer with random bytes.
This function will attempt to use a cryptographically-strong random generator, but will fall back to a weaker random generator if none is available.
In the end, the buffer will always be filled with some form of random bytes when this function returns.
| buf | The buffer to fill with random bytes. |
Definition at line 95 of file random_func.cpp.
References Debug.
Referenced by X25519SecretKey::CreateRandom(), X25519Nonce::CreateRandom(), GenerateUid(), and X25519AuthenticationHandler::SendResponse().
| void SetRandomSeed | ( | uint32_t | seed | ) |
(Re)set the state of the random number generators.
| seed | the new state |
Definition at line 66 of file random_func.cpp.
References _interactive_random, _random, and Randomizer::SetSeed().
Referenced by StartupOneEngine().
| Randomizer _interactive_random |
Random used everywhere else, where it does not (directly) influence the game state.
Definition at line 37 of file random_func.cpp.
Referenced by SelectCompanyManagerFaceWindow::OnClick(), RestoreRandomSeeds(), SaveRandomSeeds(), and SetRandomSeed().
| Randomizer _random |
Random used in the game state calculations.
Definition at line 37 of file random_func.cpp.
Referenced by _GenerateWorld(), AfterLoadGame(), DoStartupNewCompany(), ClientNetworkGameSocketHandler::GameLoop(), GenerateTowns(), RestoreRandomSeeds(), SaveRandomSeeds(), and SetRandomSeed().