Skip to content

Commit 88d7df3

Browse files
authored
tweak(random): Replace InitGameLogicRandom with InitRandom for consistent client and audio seeds (#2339)
1 parent 8cce6f6 commit 88d7df3

12 files changed

Lines changed: 12 additions & 44 deletions

File tree

Core/GameEngine/Include/Common/RandomValue.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232

3333
extern void InitRandom();
3434
extern void InitRandom( UnsignedInt seed );
35-
extern void InitGameLogicRandom( UnsignedInt seed ); ///< Set the GameLogic seed to a known value at game start
3635
extern UnsignedInt GetGameLogicRandomSeed(); ///< Get the seed (used for replays)
3736
extern UnsignedInt GetGameLogicRandomSeedCRC();///< Get the seed (used for CRCs)
3837

Core/GameEngine/Source/Common/RandomValue.cpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -177,21 +177,6 @@ DEBUG_LOG(( "InitRandom %08lx",seed));
177177
#endif
178178
}
179179

180-
void InitGameLogicRandom( UnsignedInt seed )
181-
{
182-
#ifdef DETERMINISTIC
183-
// needs to be the same every time
184-
seedRandom(0, theGameLogicSeed);
185-
theGameLogicBaseSeed = 0;
186-
#else
187-
seedRandom(seed, theGameLogicSeed);
188-
theGameLogicBaseSeed = seed;
189-
#endif
190-
#ifdef DEBUG_RANDOM_LOGIC
191-
DEBUG_LOG(( "InitRandom Logic %08lx",seed));
192-
#endif
193-
}
194-
195180
//
196181
// Integer random value
197182
//

Core/GameEngine/Source/GameNetwork/GameSpy/StagingRoomGameInfo.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -852,9 +852,9 @@ void GameSpyStagingRoom::launchGame()
852852

853853
TheWritableGlobalData->m_useFpsLimit = false;
854854

855-
// Set the random seed
856-
InitGameLogicRandom( getSeed() );
857-
DEBUG_LOG(("InitGameLogicRandom( %d )", getSeed()));
855+
// Set the seeds
856+
InitRandom( getSeed() );
857+
DEBUG_LOG(("InitRandom( %d )", getSeed()));
858858

859859
// mark us as "Loading" in the buddy list
860860
BuddyRequest req;

Core/GameEngine/Source/GameNetwork/LANAPICallbacks.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,9 +256,9 @@ void LANAPI::OnGameStart()
256256

257257
TheWritableGlobalData->m_useFpsLimit = false;
258258

259-
// Set the random seed
260-
InitGameLogicRandom( m_currentGame->getSeed() );
261-
DEBUG_LOG(("InitGameLogicRandom( %d )", m_currentGame->getSeed()));
259+
// Set the seeds
260+
InitRandom( m_currentGame->getSeed() );
261+
DEBUG_LOG(("InitRandom( %d )", m_currentGame->getSeed()));
262262
}
263263
}
264264

Generals/Code/GameEngine/Source/Common/Recorder.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1300,7 +1300,6 @@ Bool RecorderClass::playbackFile(AsciiString filename)
13001300
if( maxFPS != 0 )
13011301
msg->appendIntegerArgument(maxFPS);
13021302
TheCommandList->appendMessage( msg );
1303-
//InitGameLogicRandom( m_gameInfo.getSeed());
13041303
InitRandom( m_gameInfo.getSeed() );
13051304
}
13061305

Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/MapSelectMenu.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,7 @@ static void doGameStart()
7777
msg->appendIntegerArgument(s_AIDiff);
7878
msg->appendIntegerArgument(0);
7979

80-
/// @todo: when Campaign & skirmish are separated, make campaign have fixed seed and skirmish random.
8180
InitRandom(0);
82-
/*
83-
if (TheGlobalData->m_fixedSeed >= 0)
84-
InitGameLogicRandom(TheGlobalData->m_fixedSeed);
85-
else
86-
InitGameLogicRandom(GameClientRandomValue(0, INT_MAX - 1));
87-
*/
8881

8982
isShuttingDown = true;
9083
}

Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/SkirmishGameOptionsMenu.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ void reallyDoStart()
430430

431431
if (isSkirmish)
432432
{
433-
InitGameLogicRandom(TheSkirmishGameInfo->getSeed());
433+
InitRandom(TheSkirmishGameInfo->getSeed());
434434

435435
GameMessage *msg = TheMessageStream->appendMessage( GameMessage::MSG_NEW_GAME );
436436
msg->appendIntegerArgument(GAME_SKIRMISH);
@@ -440,7 +440,7 @@ void reallyDoStart()
440440
}
441441
else
442442
{
443-
InitGameLogicRandom(0);
443+
InitRandom(0);
444444

445445
GameMessage *msg = TheMessageStream->appendMessage( GameMessage::MSG_NEW_GAME );
446446
msg->appendIntegerArgument(GAME_SINGLE_PLAYER);

Generals/Code/GameEngine/Source/GameClient/GUI/Shell/Shell.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ void Shell::showShellMap(Bool useShellMap )
535535
TheGameLogic->exitGame();
536536

537537
TheWritableGlobalData->m_pendingFile = TheGlobalData->m_shellMapName;
538-
InitGameLogicRandom(0);
538+
InitRandom(0);
539539
GameMessage *msg = TheMessageStream->appendMessage( GameMessage::MSG_NEW_GAME );
540540
msg->appendIntegerArgument(GAME_SHELL);
541541
m_shellMapOn = TRUE;

GeneralsMD/Code/GameEngine/Source/Common/Recorder.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1303,7 +1303,6 @@ Bool RecorderClass::playbackFile(AsciiString filename)
13031303
if( maxFPS != 0 )
13041304
msg->appendIntegerArgument(maxFPS);
13051305
TheCommandList->appendMessage( msg );
1306-
//InitGameLogicRandom( m_gameInfo.getSeed());
13071306
InitRandom( m_gameInfo.getSeed() );
13081307
}
13091308

GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/MapSelectMenu.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,7 @@ static void doGameStart()
7777
msg->appendIntegerArgument(s_AIDiff);
7878
msg->appendIntegerArgument(0);
7979

80-
/// @todo: when Campaign & skirmish are separated, make campaign have fixed seed and skirmish random.
8180
InitRandom(0);
82-
/*
83-
if (TheGlobalData->m_fixedSeed >= 0)
84-
InitGameLogicRandom(TheGlobalData->m_fixedSeed);
85-
else
86-
InitGameLogicRandom(GameClientRandomValue(0, INT_MAX - 1));
87-
*/
8881

8982
isShuttingDown = true;
9083
}

0 commit comments

Comments
 (0)