Modifier -> Modifiers
This commit is contained in:
@@ -45,7 +45,7 @@ void ActiveAttackList::Refresh()
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
PlayerOptions po;
|
PlayerOptions po;
|
||||||
po.FromString( attack.sModifier, true );
|
po.FromString( attack.sModifiers, true );
|
||||||
po.GetThemedMods( vsThemedMods );
|
po.GetThemedMods( vsThemedMods );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ bool Attack::operator== ( const Attack &rhs ) const
|
|||||||
EQUAL(level) &&
|
EQUAL(level) &&
|
||||||
EQUAL(fStartSecond) &&
|
EQUAL(fStartSecond) &&
|
||||||
EQUAL(fSecsRemaining) &&
|
EQUAL(fSecsRemaining) &&
|
||||||
EQUAL(sModifier) &&
|
EQUAL(sModifiers) &&
|
||||||
EQUAL(bOn) &&
|
EQUAL(bOn) &&
|
||||||
EQUAL(bGlobal);
|
EQUAL(bGlobal);
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ bool Attack::operator== ( const Attack &rhs ) const
|
|||||||
bool Attack::ContainsTransformOrTurn() const
|
bool Attack::ContainsTransformOrTurn() const
|
||||||
{
|
{
|
||||||
PlayerOptions po;
|
PlayerOptions po;
|
||||||
po.FromString( sModifier );
|
po.FromString( sModifiers );
|
||||||
return po.ContainsTransformOrTurn();
|
return po.ContainsTransformOrTurn();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ Attack Attack::FromGlobalCourseModifier( const CString &sModifiers )
|
|||||||
a.fStartSecond = 0;
|
a.fStartSecond = 0;
|
||||||
a.fSecsRemaining = 10000; /* whole song */
|
a.fSecsRemaining = 10000; /* whole song */
|
||||||
a.level = ATTACK_LEVEL_1;
|
a.level = ATTACK_LEVEL_1;
|
||||||
a.sModifier = sModifiers;
|
a.sModifiers = sModifiers;
|
||||||
a.bGlobal = true;
|
a.bGlobal = true;
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ struct Attack
|
|||||||
AttackLevel level;
|
AttackLevel level;
|
||||||
float fStartSecond; // -1 = now
|
float fStartSecond; // -1 = now
|
||||||
float fSecsRemaining;
|
float fSecsRemaining;
|
||||||
CString sModifier;
|
CString sModifiers;
|
||||||
bool bOn; // set and used by GAMESTATE
|
bool bOn; // set and used by GAMESTATE
|
||||||
bool bGlobal; // true for song-wide course mods
|
bool bGlobal; // true for song-wide course mods
|
||||||
bool bShowInAttackList;
|
bool bShowInAttackList;
|
||||||
@@ -21,7 +21,7 @@ struct Attack
|
|||||||
level = ATTACK_LEVEL_1;
|
level = ATTACK_LEVEL_1;
|
||||||
fStartSecond = -1;
|
fStartSecond = -1;
|
||||||
fSecsRemaining = 0;
|
fSecsRemaining = 0;
|
||||||
sModifier = CString();
|
sModifiers = CString();
|
||||||
bOn = false;
|
bOn = false;
|
||||||
bGlobal = false;
|
bGlobal = false;
|
||||||
bShowInAttackList = true;
|
bShowInAttackList = true;
|
||||||
@@ -31,7 +31,7 @@ struct Attack
|
|||||||
AttackLevel level_,
|
AttackLevel level_,
|
||||||
float fStartSecond_,
|
float fStartSecond_,
|
||||||
float fSecsRemaining_,
|
float fSecsRemaining_,
|
||||||
CString sModifier_,
|
CString sModifiers_,
|
||||||
bool bOn_,
|
bool bOn_,
|
||||||
bool bGlobal_,
|
bool bGlobal_,
|
||||||
bool bShowInAttackList_ = true )
|
bool bShowInAttackList_ = true )
|
||||||
@@ -39,14 +39,14 @@ struct Attack
|
|||||||
level = level_;
|
level = level_;
|
||||||
fStartSecond = fStartSecond_;
|
fStartSecond = fStartSecond_;
|
||||||
fSecsRemaining = fSecsRemaining_;
|
fSecsRemaining = fSecsRemaining_;
|
||||||
sModifier = sModifier_;
|
sModifiers = sModifiers_;
|
||||||
bOn = bOn_;
|
bOn = bOn_;
|
||||||
bGlobal = bGlobal_;
|
bGlobal = bGlobal_;
|
||||||
bShowInAttackList = bShowInAttackList_;
|
bShowInAttackList = bShowInAttackList_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetAttackBeats( const Song *song, const PlayerState* pPlayerState, float &fStartBeat, float &fEndBeat ) const;
|
void GetAttackBeats( const Song *song, const PlayerState* pPlayerState, float &fStartBeat, float &fEndBeat ) const;
|
||||||
bool IsBlank() const { return sModifier.empty(); }
|
bool IsBlank() const { return sModifiers.empty(); }
|
||||||
bool operator== ( const Attack &rhs ) const;
|
bool operator== ( const Attack &rhs ) const;
|
||||||
bool ContainsTransformOrTurn() const;
|
bool ContainsTransformOrTurn() const;
|
||||||
static Attack FromGlobalCourseModifier( const CString &sModifiers );
|
static Attack FromGlobalCourseModifier( const CString &sModifiers );
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ void AttackDisplay::Update( float fDelta )
|
|||||||
if( attack.IsBlank() )
|
if( attack.IsBlank() )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SetAttack( attack.sModifier );
|
SetAttack( attack.sModifiers );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ void Course::LoadFromCRSFile( CString sPath )
|
|||||||
end = strtof( sBits[1], NULL );
|
end = strtof( sBits[1], NULL );
|
||||||
else if( !sBits[0].CompareNoCase("MODS") )
|
else if( !sBits[0].CompareNoCase("MODS") )
|
||||||
{
|
{
|
||||||
attack.sModifier = sBits[1];
|
attack.sModifiers = sBits[1];
|
||||||
if( end != -9999 )
|
if( end != -9999 )
|
||||||
{
|
{
|
||||||
ASSERT_M( end >= attack.fStartSecond, ssprintf("Attack ends before it starts. end %f, start %f", end, attack.fStartSecond) );
|
ASSERT_M( end >= attack.fStartSecond, ssprintf("Attack ends before it starts. end %f, start %f", end, attack.fStartSecond) );
|
||||||
@@ -185,7 +185,7 @@ void Course::LoadFromCRSFile( CString sPath )
|
|||||||
|
|
||||||
// warn on invalid so we catch bogus mods on load
|
// warn on invalid so we catch bogus mods on load
|
||||||
PlayerOptions po;
|
PlayerOptions po;
|
||||||
po.FromString( attack.sModifier, true );
|
po.FromString( attack.sModifiers, true );
|
||||||
|
|
||||||
attacks.push_back( attack );
|
attacks.push_back( attack );
|
||||||
}
|
}
|
||||||
@@ -449,7 +449,7 @@ void Course::Save( CString sPath, bool bSavingCache )
|
|||||||
CString line;
|
CString line;
|
||||||
const Attack &a = entry.attacks[j];
|
const Attack &a = entry.attacks[j];
|
||||||
line += ssprintf( " TIME=%.2f:LEN=%.2f:MODS=%s",
|
line += ssprintf( " TIME=%.2f:LEN=%.2f:MODS=%s",
|
||||||
a.fStartSecond, a.fSecsRemaining, a.sModifier.c_str() );
|
a.fStartSecond, a.fSecsRemaining, a.sModifiers.c_str() );
|
||||||
|
|
||||||
if( j+1 < entry.attacks.size() )
|
if( j+1 < entry.attacks.size() )
|
||||||
line += ":";
|
line += ":";
|
||||||
|
|||||||
@@ -1122,7 +1122,7 @@ void GameState::GetAllUsedNoteSkins( vector<CString> &out ) const
|
|||||||
{
|
{
|
||||||
const Attack &mod = a[j];
|
const Attack &mod = a[j];
|
||||||
PlayerOptions po;
|
PlayerOptions po;
|
||||||
po.FromString( mod.sModifier );
|
po.FromString( mod.sModifiers );
|
||||||
out.push_back( po.m_sNoteSkin );
|
out.push_back( po.m_sNoteSkin );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1183,7 +1183,7 @@ void GameState::SetNoteSkinForBeatRange( PlayerState* pPlayerState, const CStrin
|
|||||||
* is set. This is also called by GameState::Update when activating a queued attack. */
|
* is set. This is also called by GameState::Update when activating a queued attack. */
|
||||||
void GameState::LaunchAttack( PlayerNumber target, const Attack& a )
|
void GameState::LaunchAttack( PlayerNumber target, const Attack& a )
|
||||||
{
|
{
|
||||||
LOG->Trace( "Launch attack '%s' against P%d at %f", a.sModifier.c_str(), target+1, a.fStartSecond );
|
LOG->Trace( "Launch attack '%s' against P%d at %f", a.sModifiers.c_str(), target+1, a.fStartSecond );
|
||||||
|
|
||||||
Attack attack = a;
|
Attack attack = a;
|
||||||
|
|
||||||
@@ -1224,7 +1224,7 @@ void GameState::RemoveAllInventory()
|
|||||||
for( int s=0; s<NUM_INVENTORY_SLOTS; s++ )
|
for( int s=0; s<NUM_INVENTORY_SLOTS; s++ )
|
||||||
{
|
{
|
||||||
m_pPlayerState[p]->m_Inventory[s].fSecsRemaining = 0;
|
m_pPlayerState[p]->m_Inventory[s].fSecsRemaining = 0;
|
||||||
m_pPlayerState[p]->m_Inventory[s].sModifier = "";
|
m_pPlayerState[p]->m_Inventory[s].sModifiers = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1237,7 +1237,7 @@ void GameState::RebuildPlayerOptionsFromActiveAttacks( PlayerNumber pn )
|
|||||||
{
|
{
|
||||||
if( !m_pPlayerState[pn]->m_ActiveAttacks[s].bOn )
|
if( !m_pPlayerState[pn]->m_ActiveAttacks[s].bOn )
|
||||||
continue; /* hasn't started yet */
|
continue; /* hasn't started yet */
|
||||||
po.FromString( m_pPlayerState[pn]->m_ActiveAttacks[s].sModifier );
|
po.FromString( m_pPlayerState[pn]->m_ActiveAttacks[s].sModifiers );
|
||||||
}
|
}
|
||||||
m_pPlayerState[pn]->m_PlayerOptions = po;
|
m_pPlayerState[pn]->m_PlayerOptions = po;
|
||||||
|
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ void Inventory::AwardItem( int iItemIndex )
|
|||||||
if( iOpenSlot != -1 )
|
if( iOpenSlot != -1 )
|
||||||
{
|
{
|
||||||
Attack a;
|
Attack a;
|
||||||
a.sModifier = g_Items[iItemIndex].sModifier;
|
a.sModifiers = g_Items[iItemIndex].sModifier;
|
||||||
a.fSecsRemaining = ITEM_DURATION_SECONDS;
|
a.fSecsRemaining = ITEM_DURATION_SECONDS;
|
||||||
a.level = g_Items[iItemIndex].level;
|
a.level = g_Items[iItemIndex].level;
|
||||||
pInventory[iOpenSlot] = a;
|
pInventory[iOpenSlot] = a;
|
||||||
|
|||||||
@@ -1745,7 +1745,7 @@ void NoteDataUtil::TransformNoteData( NoteData &nd, const AttackArray &aa, Steps
|
|||||||
FOREACH_CONST( Attack, aa, a )
|
FOREACH_CONST( Attack, aa, a )
|
||||||
{
|
{
|
||||||
PlayerOptions po;
|
PlayerOptions po;
|
||||||
po.FromString( a->sModifier );
|
po.FromString( a->sModifiers );
|
||||||
if( po.ContainsTransformOrTurn() )
|
if( po.ContainsTransformOrTurn() )
|
||||||
{
|
{
|
||||||
float fStartBeat, fEndBeat;
|
float fStartBeat, fEndBeat;
|
||||||
|
|||||||
@@ -566,13 +566,13 @@ void Player::ApplyWaitingTransforms()
|
|||||||
/* Should this default to "" always? need it blank so we know if mod.sModifier
|
/* Should this default to "" always? need it blank so we know if mod.sModifier
|
||||||
* changes the note skin. */
|
* changes the note skin. */
|
||||||
po.m_sNoteSkin = "";
|
po.m_sNoteSkin = "";
|
||||||
po.FromString( mod.sModifier );
|
po.FromString( mod.sModifiers );
|
||||||
|
|
||||||
float fStartBeat, fEndBeat;
|
float fStartBeat, fEndBeat;
|
||||||
mod.GetAttackBeats( GAMESTATE->m_pCurSong, m_pPlayerState, fStartBeat, fEndBeat );
|
mod.GetAttackBeats( GAMESTATE->m_pCurSong, m_pPlayerState, fStartBeat, fEndBeat );
|
||||||
fEndBeat = min( fEndBeat, m_NoteData.GetLastBeat() );
|
fEndBeat = min( fEndBeat, m_NoteData.GetLastBeat() );
|
||||||
|
|
||||||
LOG->Trace( "Applying transform '%s' from %f to %f to '%s'", mod.sModifier.c_str(), fStartBeat, fEndBeat,
|
LOG->Trace( "Applying transform '%s' from %f to %f to '%s'", mod.sModifiers.c_str(), fStartBeat, fEndBeat,
|
||||||
GAMESTATE->m_pCurSong->GetTranslitMainTitle().c_str() );
|
GAMESTATE->m_pCurSong->GetTranslitMainTitle().c_str() );
|
||||||
if( po.m_sNoteSkin != "" )
|
if( po.m_sNoteSkin != "" )
|
||||||
GAMESTATE->SetNoteSkinForBeatRange( m_pPlayerState, po.m_sNoteSkin, fStartBeat, fEndBeat );
|
GAMESTATE->SetNoteSkinForBeatRange( m_pPlayerState, po.m_sNoteSkin, fStartBeat, fEndBeat );
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ void ScoreDisplayBattle::Update( float fDelta )
|
|||||||
for( int s=0; s<NUM_INVENTORY_SLOTS; s++ )
|
for( int s=0; s<NUM_INVENTORY_SLOTS; s++ )
|
||||||
{
|
{
|
||||||
const Attack& attack = m_pPlayerState->m_Inventory[s];
|
const Attack& attack = m_pPlayerState->m_Inventory[s];
|
||||||
CString sNewModifier = attack.sModifier;
|
CString sNewModifier = attack.sModifiers;
|
||||||
|
|
||||||
if( sNewModifier != m_iLastSeenInventory[s] )
|
if( sNewModifier != m_iLastSeenInventory[s] )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ void ScoreKeeperRave::LaunchAttack( AttackLevel al )
|
|||||||
Attack a;
|
Attack a;
|
||||||
a.level = al;
|
a.level = al;
|
||||||
a.fSecsRemaining = ATTACK_DURATION_SECONDS;
|
a.fSecsRemaining = ATTACK_DURATION_SECONDS;
|
||||||
a.sModifier = sAttackToGive;
|
a.sModifiers = sAttackToGive;
|
||||||
|
|
||||||
// remove current attack (if any)
|
// remove current attack (if any)
|
||||||
GAMESTATE->RemoveActiveAttacksForPlayer( pnToAttack );
|
GAMESTATE->RemoveActiveAttacksForPlayer( pnToAttack );
|
||||||
|
|||||||
@@ -817,7 +817,7 @@ void ScreenGameplay::SetupSong( int iSongIndex )
|
|||||||
a.fStartSecond = -1; // now
|
a.fStartSecond = -1; // now
|
||||||
|
|
||||||
GAMESTATE->LaunchAttack( p, a );
|
GAMESTATE->LaunchAttack( p, a );
|
||||||
GAMESTATE->m_SongOptions.FromString( a.sModifier );
|
GAMESTATE->m_SongOptions.FromString( a.sModifiers );
|
||||||
}
|
}
|
||||||
|
|
||||||
// UGLY: Force updating the BeatToNoteSkin mapping and cache NoteSkins now, or else
|
// UGLY: Force updating the BeatToNoteSkin mapping and cache NoteSkins now, or else
|
||||||
|
|||||||
Reference in New Issue
Block a user