Skip to content

Commit 4227b45

Browse files
committed
refactor: Split veterancy effect logic
1 parent 220442d commit 4227b45

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

Generals/Code/GameEngine/Include/GameLogic/Object.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ class Object : public Thing, public Snapshot
213213

214214
void scoreTheKill( const Object *victim ); ///< I just killed this object.
215215
void onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel newLevel, Bool provideFeedback = TRUE ); ///< I just achieved this level right this moment
216+
void createVeterancyLevelFX(VeterancyLevel oldLevel, VeterancyLevel newLevel);
216217
ExperienceTracker* getExperienceTracker() {return m_experienceTracker;}
217218
const ExperienceTracker* getExperienceTracker() const {return m_experienceTracker;}
218219
VeterancyLevel getVeterancyLevel() const;

Generals/Code/GameEngine/Source/GameLogic/Object/Object.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2849,12 +2849,18 @@ void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel ne
28492849
&& outerDrawable
28502850
&& outerDrawable->isVisible();
28512851

2852+
if (doAnimation)
2853+
createVeterancyLevelFX(oldLevel, newLevel);
2854+
}
2855+
2856+
void Object::createVeterancyLevelFX(VeterancyLevel oldLevel, VeterancyLevel newLevel)
2857+
{
28522858
#if RETAIL_COMPATIBLE_CRC
28532859
if (isEffectivelyDead())
28542860
return;
28552861
#endif
28562862

2857-
if( doAnimation && TheGameLogic->getDrawIconUI() )
2863+
if (TheGameLogic->getDrawIconUI())
28582864
{
28592865
if( TheAnim2DCollection && TheGlobalData->m_levelGainAnimationName.isEmpty() == FALSE )
28602866
{
@@ -2874,7 +2880,6 @@ void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel ne
28742880
soundToPlay.setObjectID( getID() );
28752881
TheAudio->addAudioEvent( &soundToPlay );
28762882
}
2877-
28782883
}
28792884

28802885
//-------------------------------------------------------------------------------------------------

GeneralsMD/Code/GameEngine/Include/GameLogic/Object.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ class Object : public Thing, public Snapshot
229229

230230
void scoreTheKill( const Object *victim ); ///< I just killed this object.
231231
void onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel newLevel, Bool provideFeedback = TRUE ); ///< I just achieved this level right this moment
232+
void createVeterancyLevelFX(VeterancyLevel oldLevel, VeterancyLevel newLevel);
232233
ExperienceTracker* getExperienceTracker() {return m_experienceTracker;}
233234
const ExperienceTracker* getExperienceTracker() const {return m_experienceTracker;}
234235
VeterancyLevel getVeterancyLevel() const;

GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Object.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3164,12 +3164,18 @@ void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel ne
31643164
&& outerDrawable
31653165
&& outerDrawable->isVisible();
31663166

3167+
if (doAnimation)
3168+
createVeterancyLevelFX(oldLevel, newLevel);
3169+
}
3170+
3171+
void Object::createVeterancyLevelFX(VeterancyLevel oldLevel, VeterancyLevel newLevel)
3172+
{
31673173
#if RETAIL_COMPATIBLE_CRC
31683174
if (isEffectivelyDead())
31693175
return;
31703176
#endif
31713177

3172-
if( doAnimation && TheGameLogic->getDrawIconUI() )
3178+
if (TheGameLogic->getDrawIconUI())
31733179
{
31743180
if( TheAnim2DCollection && TheGlobalData->m_levelGainAnimationName.isEmpty() == FALSE )
31753181
{
@@ -3189,7 +3195,6 @@ void Object::onVeterancyLevelChanged( VeterancyLevel oldLevel, VeterancyLevel ne
31893195
soundToPlay.setObjectID( getID() );
31903196
TheAudio->addAudioEvent( &soundToPlay );
31913197
}
3192-
31933198
}
31943199

31953200
//-------------------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)