Prevent possible crash noticed during testing.
This commit is contained in:
+11
-6
@@ -1443,15 +1443,20 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
|
|||||||
tn.HoldResult.fLife = fLife;
|
tn.HoldResult.fLife = fLife;
|
||||||
tn.HoldResult.hns = hns;
|
tn.HoldResult.hns = hns;
|
||||||
// Stop the playing keysound for the hold note.
|
// Stop the playing keysound for the hold note.
|
||||||
// I think this causes crashes too. -aj (Possibly fixed. -?)
|
// I think this causes crashes too. -aj
|
||||||
|
// This can still crash. I think it expects a full game and quit before the preference works:
|
||||||
|
// otherwise, it causes problems on holds. At least, that hapened on my Mac. -wolfman2000
|
||||||
|
|
||||||
Preference<float> *pVolume = Preference<float>::GetPreferenceByName("SoundVolume");
|
Preference<float> *pVolume = Preference<float>::GetPreferenceByName("SoundVolume");
|
||||||
float fVol = pVolume->Get();
|
if (pVolume != NULL)
|
||||||
|
|
||||||
if( tn.iKeysoundIndex >= 0 && tn.iKeysoundIndex < (int) m_vKeysounds.size() )
|
|
||||||
{
|
{
|
||||||
float factor = (tn.subType == TapNote::hold_head_roll ? 2.0f * fLifeFraction : 10.0f * fLifeFraction - 8.5f);
|
float fVol = pVolume->Get();
|
||||||
m_vKeysounds[tn.iKeysoundIndex].SetProperty ("Volume", max(0.0f, min(1.0f, factor)) * fVol);
|
|
||||||
|
if( tn.iKeysoundIndex >= 0 && tn.iKeysoundIndex < (int) m_vKeysounds.size() )
|
||||||
|
{
|
||||||
|
float factor = (tn.subType == TapNote::hold_head_roll ? 2.0f * fLifeFraction : 10.0f * fLifeFraction - 8.5f);
|
||||||
|
m_vKeysounds[tn.iKeysoundIndex].SetProperty ("Volume", max(0.0f, min(1.0f, factor)) * fVol);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user