File tree Expand file tree Collapse file tree 2 files changed +18
-10
lines changed
GeneralsMD/Code/GameEngine/Source/Common
Generals/Code/GameEngine/Source/Common Expand file tree Collapse file tree 2 files changed +18
-10
lines changed Original file line number Diff line number Diff line change @@ -253,13 +253,17 @@ BenchProfile *GameLODManager::newBenchProfile(void)
253253
254254LODPresetInfo *GameLODManager::newLODPreset (StaticGameLODLevel index)
255255{
256- if (m_numLevelPresets[index] < MAX_LOD_PRESETS_PER_LEVEL)
257- {
258- m_numLevelPresets[index]++;
259- return &m_lodPresets[index][m_numLevelPresets[index]-1 ];
256+ if (index >= 0 && index < STATIC_GAME_LOD_COUNT)
257+ {
258+ if (m_numLevelPresets[index] < MAX_LOD_PRESETS_PER_LEVEL)
259+ {
260+ m_numLevelPresets[index]++;
261+ return &m_lodPresets[index][m_numLevelPresets[index]-1 ];
262+ }
263+
264+ DEBUG_CRASH (( " GameLODManager::newLODPreset - Too many presets defined for '%s'\n " , TheGameLODManager->getStaticGameLODLevelName (index)));
260265 }
261266
262- DEBUG_CRASH (( " GameLODManager::newLODPreset - Too many presets defined for '%s'\n " , TheGameLODManager->getStaticGameLODLevelName (index)));
263267 return NULL ;
264268}
265269
Original file line number Diff line number Diff line change @@ -255,13 +255,17 @@ BenchProfile *GameLODManager::newBenchProfile(void)
255255
256256LODPresetInfo *GameLODManager::newLODPreset (StaticGameLODLevel index)
257257{
258- if (m_numLevelPresets[index] < MAX_LOD_PRESETS_PER_LEVEL)
259- {
260- m_numLevelPresets[index]++;
261- return &m_lodPresets[index][m_numLevelPresets[index]-1 ];
258+ if (index >= 0 && index < STATIC_GAME_LOD_COUNT)
259+ {
260+ if (m_numLevelPresets[index] < MAX_LOD_PRESETS_PER_LEVEL)
261+ {
262+ m_numLevelPresets[index]++;
263+ return &m_lodPresets[index][m_numLevelPresets[index]-1 ];
264+ }
265+
266+ DEBUG_CRASH (( " GameLODManager::newLODPreset - Too many presets defined for '%s'\n " , TheGameLODManager->getStaticGameLODLevelName (index)));
262267 }
263268
264- DEBUG_CRASH (( " GameLODManager::newLODPreset - Too many presets defined for '%s'\n " , TheGameLODManager->getStaticGameLODLevelName (index)));
265269 return NULL ;
266270}
267271
You can’t perform that action at this time.
0 commit comments