(svn r6086) -Fix: InteractiveRandom was not seeded properly resulting in the dedicated server always generating the same map. Thanks to the #openttdcoop team for detecting.

This commit is contained in:
rubidium 2006-08-24 10:19:59 +00:00
parent e9443f0d7a
commit d14ac4478d
3 changed files with 4 additions and 5 deletions

3
os2.c
View File

@ -125,8 +125,7 @@ int CDECL main(int argc, char* argv[])
// change the working directory to enable doubleclicking in UIs
ChangeWorkingDirectory(argv[0]);
_random_seeds[0][1] = _random_seeds[0][0] = time(NULL);
_random_seeds[1][1] = _random_seeds[1][0] = _random_seeds[0][1] = _random_seeds[0][0] = time(NULL);
return ttd_main(argc, argv);
}

2
unix.c
View File

@ -151,7 +151,7 @@ int CDECL main(int argc, char* argv[])
ChangeWorkingDirectory(argv[0]);
#endif
_random_seeds[0][1] = _random_seeds[0][0] = time(NULL);
_random_seeds[1][1] = _random_seeds[1][0] = _random_seeds[0][1] = _random_seeds[0][0] = time(NULL);
SeedMT(_random_seeds[0][1]);
signal(SIGPIPE, SIG_IGN);

View File

@ -859,8 +859,8 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
_set_error_mode(_OUT_TO_MSGBOX); // force assertion output to messagebox
// setup random seed to something quite random
_random_seeds[0][0] = GetTickCount();
_random_seeds[0][1] = _random_seeds[0][0] * 0x1234567;
_random_seeds[1][0] = _random_seeds[0][0] = GetTickCount();
_random_seeds[1][1] = _random_seeds[0][1] = _random_seeds[0][0] * 0x1234567;
SeedMT(_random_seeds[0][0]);
argc = ParseCommandLine(GetCommandLine(), argv, lengthof(argv));