diff --git a/source/graphics/ParticleEmitterType.cpp b/source/graphics/ParticleEmitterType.cpp index 7a29f26c77..25c040d990 100644 --- a/source/graphics/ParticleEmitterType.cpp +++ b/source/graphics/ParticleEmitterType.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 Wildfire Games. +/* Copyright (C) 2022 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -23,7 +23,6 @@ #include "graphics/ParticleEmitter.h" #include "graphics/ParticleManager.h" #include "graphics/TextureManager.h" -#include "lib/rand.h" #include "maths/MathUtil.h" #include "ps/CLogger.h" #include "ps/Filesystem.h" diff --git a/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Map/Map.cpp b/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Map/Map.cpp index 8e8b4c6313..3ad6545143 100644 --- a/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Map/Map.cpp +++ b/source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Map/Map.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2021 Wildfire Games. +/* Copyright (C) 2022 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -27,6 +27,8 @@ #include "ScenarioEditor/Tools/Common/Tools.h" #include +#include +#include #include #include @@ -669,9 +671,12 @@ void MapSidebar::OnSimReset(wxCommandEvent& WXUNUSED(event)) void MapSidebar::OnRandomReseed(wxCommandEvent& WXUNUSED(evt)) { + std::mt19937 engine(std::time(nullptr)); + std::uniform_int_distribution distribution(0, 10000); + // Pick a shortish randomish value wxString seed; - seed << (int)floor((rand() / (float)RAND_MAX) * 10000.f); + seed << distribution(engine); wxDynamicCast(FindWindow(ID_RandomSeed), wxTextCtrl)->SetValue(seed); } diff --git a/source/tools/atlas/AtlasUI/ScenarioEditor/Tools/PlaceObject.cpp b/source/tools/atlas/AtlasUI/ScenarioEditor/Tools/PlaceObject.cpp index 69f0e36618..3aedf8b433 100644 --- a/source/tools/atlas/AtlasUI/ScenarioEditor/Tools/PlaceObject.cpp +++ b/source/tools/atlas/AtlasUI/ScenarioEditor/Tools/PlaceObject.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 Wildfire Games. +/* Copyright (C) 2022 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -24,6 +24,9 @@ #include "Common/ObjectSettings.h" #include "GameInterface/Messages.h" +#include +#include + using AtlasMessage::Position; static float g_DefaultAngle = (float)(M_PI*3.0/4.0); @@ -145,7 +148,9 @@ public: void RandomizeActorSeed() { - m_ActorSeed = (unsigned int)floor((rand() / (float)RAND_MAX) * 65535.f); + std::mt19937 engine(std::time(nullptr)); + std::uniform_int_distribution distribution(0, 65535); + m_ActorSeed = distribution(engine); } struct sWaiting : public State