fixed several bugs related to codes

This commit is contained in:
Chris Danford
2002-09-30 02:19:02 +00:00
parent 3bf1c81a48
commit ff93d0d0e3
9 changed files with 95 additions and 88 deletions
+7 -8
View File
@@ -27,7 +27,7 @@ float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat )
float fYOffset = fBeatsUntilStep * ARROW_GAP; float fYOffset = fBeatsUntilStep * ARROW_GAP;
/* With both boost and wave enabled, the effect is that the /* With both boost and wave enabled, the effect is that the
* notes "bufferr" at the bottom of the screen and shoot out * notes "buffer" at the bottom of the screen and shoot out
* at high speed. * at high speed.
* *
* With wave first, the boost appears halfway down the screen. * With wave first, the boost appears halfway down the screen.
@@ -35,10 +35,9 @@ float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat )
* *
* I'm not sure which is better. - glenn * I'm not sure which is better. - glenn
*/ */
int EffectType = GAMESTATE->m_PlayerOptions[pn].m_EffectType; if( GAMESTATE->m_PlayerOptions[pn].m_bBoost )
if ( EffectType & PlayerOptions::EFFECT_BOOST )
fYOffset *= 1.4f / ((fYOffset+SCREEN_HEIGHT/1.6f)/SCREEN_HEIGHT); fYOffset *= 1.4f / ((fYOffset+SCREEN_HEIGHT/1.6f)/SCREEN_HEIGHT);
if ( EffectType & PlayerOptions::EFFECT_WAVE ) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_WAVE] )
fYOffset += 15.0f*sinf( fYOffset/38.0f ); fYOffset += 15.0f*sinf( fYOffset/38.0f );
return fYOffset; return fYOffset;
@@ -48,11 +47,11 @@ float ArrowGetXPos( PlayerNumber pn, int iColNum, float fYPos )
{ {
float fPixelOffsetFromCenter = GAMESTATE->GetCurrentStyleDef()->m_ColumnInfo[pn][iColNum].fXOffset; float fPixelOffsetFromCenter = GAMESTATE->GetCurrentStyleDef()->m_ColumnInfo[pn][iColNum].fXOffset;
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_DRUNK ) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_DRUNK] )
fPixelOffsetFromCenter += cosf( TIMER->GetTimeSinceStart() + iColNum*0.2f + fYPos*6/SCREEN_HEIGHT) * ARROW_SIZE*0.5f; fPixelOffsetFromCenter += cosf( TIMER->GetTimeSinceStart() + iColNum*0.2f + fYPos*6/SCREEN_HEIGHT) * ARROW_SIZE*0.5f;
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_FLIP ) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_FLIP] )
fPixelOffsetFromCenter = -fPixelOffsetFromCenter; fPixelOffsetFromCenter = -fPixelOffsetFromCenter;
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_TORNADO ) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_TORNADO] )
{ {
const StyleDef* pStyleDef = GAMESTATE->GetCurrentStyleDef(); const StyleDef* pStyleDef = GAMESTATE->GetCurrentStyleDef();
float fMaxX = -100000, fMinX = +100000; float fMaxX = -100000, fMinX = +100000;
@@ -76,7 +75,7 @@ float ArrowGetRotation( PlayerNumber pn, int iColNum, float fYOffset )
{ {
float fRotation = 0; //StyleDef.m_ColumnToRotation[iColNum]; float fRotation = 0; //StyleDef.m_ColumnToRotation[iColNum];
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_DIZZY) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_DIZZY] )
fRotation += fYOffset/SCREEN_HEIGHT*6; fRotation += fYOffset/SCREEN_HEIGHT*6;
return fRotation; return fRotation;
+2 -2
View File
@@ -172,8 +172,8 @@ bool CodeDetector::DetectAndAdjustOptions( GameController controller )
case CODE_SUPER_SHUFFLE: TOGGLE( GAMESTATE->m_PlayerOptions[pn].m_TurnType, PlayerOptions::TURN_SUPER_SHUFFLE, PlayerOptions::TURN_NONE ); break; case CODE_SUPER_SHUFFLE: TOGGLE( GAMESTATE->m_PlayerOptions[pn].m_TurnType, PlayerOptions::TURN_SUPER_SHUFFLE, PlayerOptions::TURN_NONE ); break;
case CODE_LITTLE: TOGGLE( GAMESTATE->m_PlayerOptions[pn].m_bLittle, true, false ); break; case CODE_LITTLE: TOGGLE( GAMESTATE->m_PlayerOptions[pn].m_bLittle, true, false ); break;
case CODE_NEXT_SCROLL_SPEED:INCREMENT_SCROLL_SPEED( GAMESTATE->m_PlayerOptions[pn].m_fArrowScrollSpeed ); break; case CODE_NEXT_SCROLL_SPEED:INCREMENT_SCROLL_SPEED( GAMESTATE->m_PlayerOptions[pn].m_fArrowScrollSpeed ); break;
case CODE_BOOST: /* what goes here? */ break; case CODE_BOOST: GAMESTATE->m_PlayerOptions[pn].m_bBoost ^= true; break;
case CODE_NEXT_EFFECT: GAMESTATE->m_PlayerOptions[pn].m_EffectType = PlayerOptions::EffectType( (GAMESTATE->m_PlayerOptions[pn].m_EffectType+1) %NUM_EFFECT_TYPES ); break; case CODE_NEXT_EFFECT: GAMESTATE->m_PlayerOptions[pn].NextEffect(); break;
case CODE_NEXT_APPEARANCE: GAMESTATE->m_PlayerOptions[pn].m_AppearanceType = PlayerOptions::AppearanceType((GAMESTATE->m_PlayerOptions[pn].m_AppearanceType+1) %PlayerOptions::NUM_APPEARANCE_TYPES ); break; case CODE_NEXT_APPEARANCE: GAMESTATE->m_PlayerOptions[pn].m_AppearanceType = PlayerOptions::AppearanceType((GAMESTATE->m_PlayerOptions[pn].m_AppearanceType+1) %PlayerOptions::NUM_APPEARANCE_TYPES ); break;
case CODE_NEXT_TURN: GAMESTATE->m_PlayerOptions[pn].m_TurnType = PlayerOptions::TurnType( (GAMESTATE->m_PlayerOptions[pn].m_TurnType+1) %PlayerOptions::NUM_TURN_TYPES ); break; case CODE_NEXT_TURN: GAMESTATE->m_PlayerOptions[pn].m_TurnType = PlayerOptions::TurnType( (GAMESTATE->m_PlayerOptions[pn].m_TurnType+1) %PlayerOptions::NUM_TURN_TYPES ); break;
case CODE_REVERSE: TOGGLE( GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll, true, false ); break; case CODE_REVERSE: TOGGLE( GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll, true, false ); break;
+1 -1
View File
@@ -47,7 +47,7 @@ const OptionColumnEntry g_OptionColumnEntries[] =
{"4X", 0}, {"4X", 0},
{"5X", 0}, {"5X", 0},
{"8X", 0}, {"8X", 0},
{"Boost", 1}, {"Boost", 0},
{"Wave", 1}, {"Wave", 1},
{"Drunk", 1}, {"Drunk", 1},
{"Dizzy", 1}, {"Dizzy", 1},
+5 -5
View File
@@ -142,12 +142,12 @@ void Player::Load( PlayerNumber pn, NoteData* pNoteData, LifeMeter* pLM, ScoreDi
int iPixelsToDrawAfter = 384; int iPixelsToDrawAfter = 384;
// If both options are on, we *do* need to multiply it twice. // If both options are on, we *do* need to multiply it twice.
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_MINI) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_MINI] )
{ {
iPixelsToDrawBefore *= 2; iPixelsToDrawBefore *= 2;
iPixelsToDrawAfter *= 2; iPixelsToDrawAfter *= 2;
} }
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_SPACE) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_SPACE] )
{ {
iPixelsToDrawBefore *= 2; iPixelsToDrawBefore *= 2;
iPixelsToDrawAfter *= 2; iPixelsToDrawAfter *= 2;
@@ -172,7 +172,7 @@ void Player::Load( PlayerNumber pn, NoteData* pNoteData, LifeMeter* pLM, ScoreDi
m_GrayArrowRow.SetY( GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll ? SCREEN_HEIGHT - ARROWS_Y : ARROWS_Y ); m_GrayArrowRow.SetY( GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll ? SCREEN_HEIGHT - ARROWS_Y : ARROWS_Y );
m_GhostArrowRow.SetY( GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll ? SCREEN_HEIGHT - ARROWS_Y : ARROWS_Y ); m_GhostArrowRow.SetY( GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll ? SCREEN_HEIGHT - ARROWS_Y : ARROWS_Y );
if( GAMESTATE->m_PlayerOptions[pn].m_EffectType & PlayerOptions::EFFECT_MINI ) if( GAMESTATE->m_PlayerOptions[pn].m_bEffects[PlayerOptions::EFFECT_MINI] )
{ {
m_NoteField.SetZoom( 0.5f ); m_NoteField.SetZoom( 0.5f );
m_GrayArrowRow.SetZoom( 0.5f ); m_GrayArrowRow.SetZoom( 0.5f );
@@ -279,7 +279,7 @@ void Player::DrawPrimitives()
D3DXMATRIX matOldView, matOldProj; D3DXMATRIX matOldView, matOldProj;
if( GAMESTATE->m_PlayerOptions[m_PlayerNumber].m_EffectType & PlayerOptions::EFFECT_SPACE ) if( GAMESTATE->m_PlayerOptions[m_PlayerNumber].m_bEffects[PlayerOptions::EFFECT_SPACE] )
{ {
// save old view and projection // save old view and projection
DISPLAY->GetViewTransform( &matOldView ); DISPLAY->GetViewTransform( &matOldView );
@@ -313,7 +313,7 @@ void Player::DrawPrimitives()
m_NoteField.Draw(); m_NoteField.Draw();
m_GhostArrowRow.Draw(); m_GhostArrowRow.Draw();
if( GAMESTATE->m_PlayerOptions[m_PlayerNumber].m_EffectType & PlayerOptions::EFFECT_SPACE ) if( GAMESTATE->m_PlayerOptions[m_PlayerNumber].m_bEffects[PlayerOptions::EFFECT_SPACE] )
{ {
// restire old view and projection // restire old view and projection
DISPLAY->SetViewTransform( &matOldView ); DISPLAY->SetViewTransform( &matOldView );
+53 -16
View File
@@ -13,6 +13,42 @@
#include "PlayerOptions.h" #include "PlayerOptions.h"
#include "RageUtil.h" #include "RageUtil.h"
void PlayerOptions::NextEffect()
{
if( m_bEffects[NUM_EFFECT_TYPES-1] )
{
ZERO( m_bEffects );
return;
}
for( int i=0; i<NUM_EFFECT_TYPES-1; i++ )
{
if( m_bEffects[i] )
{
ZERO( m_bEffects );
m_bEffects[i+1] = true;
return;
}
}
ZERO( m_bEffects );
m_bEffects[0] = true;
}
void PlayerOptions::Init()
{
m_fArrowScrollSpeed = 1.0f;
m_bBoost = false;
ZERO( m_bEffects );
m_AppearanceType = APPEARANCE_VISIBLE;
m_TurnType = TURN_NONE;
m_bLittle = false;
m_bReverseScroll = false;
m_ColorType = COLOR_VIVID;
m_bHoldNotes = true;
m_bDark = false;
}
CString PlayerOptions::GetString() CString PlayerOptions::GetString()
{ {
@@ -26,14 +62,15 @@ CString PlayerOptions::GetString()
sReturn += s + "X, "; sReturn += s + "X, ";
} }
if( m_EffectType & EFFECT_BOOST ) sReturn += "Boost, "; if( m_bBoost ) sReturn += "Boost, ";
if( m_EffectType & EFFECT_WAVE ) sReturn += "Wave, ";
if( m_EffectType & EFFECT_DRUNK ) sReturn += "Drunk, "; if( m_bEffects[EFFECT_WAVE] ) sReturn += "Wave, ";
if( m_EffectType & EFFECT_DIZZY ) sReturn += "Dizzy, "; if( m_bEffects[EFFECT_DRUNK] ) sReturn += "Drunk, ";
if( m_EffectType & EFFECT_SPACE ) sReturn += "Space, "; if( m_bEffects[EFFECT_DIZZY] ) sReturn += "Dizzy, ";
if( m_EffectType & EFFECT_MINI ) sReturn += "Mini, "; if( m_bEffects[EFFECT_SPACE] ) sReturn += "Space, ";
if( m_EffectType & EFFECT_FLIP ) sReturn += "Flip, "; if( m_bEffects[EFFECT_MINI] ) sReturn += "Mini, ";
if( m_EffectType & EFFECT_TORNADO ) sReturn += "Tornado, "; if( m_bEffects[EFFECT_FLIP] ) sReturn += "Flip, ";
if( m_bEffects[EFFECT_TORNADO] ) sReturn += "Tornado, ";
switch( m_AppearanceType ) switch( m_AppearanceType )
{ {
@@ -103,14 +140,14 @@ void PlayerOptions::FromString( CString sOptions )
else if( sBit == "4.0x" ) m_fArrowScrollSpeed = 4.0f; else if( sBit == "4.0x" ) m_fArrowScrollSpeed = 4.0f;
else if( sBit == "5.0x" ) m_fArrowScrollSpeed = 5.0f; else if( sBit == "5.0x" ) m_fArrowScrollSpeed = 5.0f;
else if( sBit == "8.0x" ) m_fArrowScrollSpeed = 8.0f; else if( sBit == "8.0x" ) m_fArrowScrollSpeed = 8.0f;
else if( sBit == "boost" ) m_EffectType |= EFFECT_BOOST; else if( sBit == "boost" ) m_bBoost = true;
else if( sBit == "wave" ) m_EffectType |= EFFECT_WAVE; else if( sBit == "wave" ) m_bEffects[EFFECT_WAVE] = true;
else if( sBit == "drunk" ) m_EffectType |= EFFECT_DRUNK; else if( sBit == "drunk" ) m_bEffects[EFFECT_DRUNK] = true;
else if( sBit == "dizzy" ) m_EffectType |= EFFECT_DIZZY; else if( sBit == "dizzy" ) m_bEffects[EFFECT_DIZZY] = true;
else if( sBit == "space" ) m_EffectType |= EFFECT_SPACE; else if( sBit == "space" ) m_bEffects[EFFECT_SPACE] = true;
else if( sBit == "mini" ) m_EffectType |= EFFECT_MINI; else if( sBit == "mini" ) m_bEffects[EFFECT_MINI] = true;
else if( sBit == "flip" ) m_EffectType |= EFFECT_FLIP; else if( sBit == "flip" ) m_bEffects[EFFECT_FLIP] = true;
else if( sBit == "tornado" ) m_EffectType |= EFFECT_TORNADO; else if( sBit == "tornado" ) m_bEffects[EFFECT_TORNADO] = true;
else if( sBit == "hidden" ) m_AppearanceType = APPEARANCE_HIDDEN; else if( sBit == "hidden" ) m_AppearanceType = APPEARANCE_HIDDEN;
else if( sBit == "sudden" ) m_AppearanceType = APPEARANCE_SUDDEN; else if( sBit == "sudden" ) m_AppearanceType = APPEARANCE_SUDDEN;
else if( sBit == "stealth" ) m_AppearanceType = APPEARANCE_STEALTH; else if( sBit == "stealth" ) m_AppearanceType = APPEARANCE_STEALTH;
+12 -22
View File
@@ -15,18 +15,19 @@ const int NUM_EFFECT_TYPES = 9;
struct PlayerOptions struct PlayerOptions
{ {
float m_fArrowScrollSpeed; float m_fArrowScrollSpeed;
bool m_bBoost;
enum EffectType { enum EffectType {
EFFECT_NONE =0, EFFECT_WAVE,
EFFECT_BOOST =1<<0, EFFECT_DRUNK,
EFFECT_WAVE =1<<1, EFFECT_DIZZY,
EFFECT_DRUNK =1<<2, EFFECT_SPACE,
EFFECT_DIZZY =1<<3, EFFECT_MINI,
EFFECT_SPACE =1<<4, EFFECT_FLIP,
EFFECT_MINI =1<<5, EFFECT_TORNADO,
EFFECT_FLIP =1<<6, NUM_EFFECT_TYPES
EFFECT_TORNADO =1<<7
}; };
int m_EffectType; bool m_bEffects[NUM_EFFECT_TYPES];
void NextEffect();
enum AppearanceType { APPEARANCE_VISIBLE=0, APPEARANCE_HIDDEN, APPEARANCE_SUDDEN, APPEARANCE_STEALTH, APPEARANCE_BLINK, NUM_APPEARANCE_TYPES }; enum AppearanceType { APPEARANCE_VISIBLE=0, APPEARANCE_HIDDEN, APPEARANCE_SUDDEN, APPEARANCE_STEALTH, APPEARANCE_BLINK, NUM_APPEARANCE_TYPES };
AppearanceType m_AppearanceType; AppearanceType m_AppearanceType;
enum TurnType { TURN_NONE=0, TURN_MIRROR, TURN_LEFT, TURN_RIGHT, TURN_SHUFFLE, TURN_SUPER_SHUFFLE, NUM_TURN_TYPES }; enum TurnType { TURN_NONE=0, TURN_MIRROR, TURN_LEFT, TURN_RIGHT, TURN_SHUFFLE, TURN_SUPER_SHUFFLE, NUM_TURN_TYPES };
@@ -39,18 +40,7 @@ struct PlayerOptions
bool m_bDark; bool m_bDark;
PlayerOptions() { Init(); }; PlayerOptions() { Init(); };
void Init() void Init();
{
m_fArrowScrollSpeed = 1.0f;
m_EffectType = EFFECT_NONE;
m_AppearanceType = APPEARANCE_VISIBLE;
m_TurnType = TURN_NONE;
m_bLittle = false;
m_bReverseScroll = false;
m_ColorType = COLOR_VIVID;
m_bHoldNotes = true;
m_bDark = false;
};
CString GetString(); CString GetString();
void FromString( CString sOptions ); void FromString( CString sOptions );
}; };
+8 -25
View File
@@ -80,19 +80,12 @@ void ScreenPlayerOptions::ImportOptions()
else if( po.m_fArrowScrollSpeed == 8.0f ) m_iSelectedOption[p][PO_SPEED] = 8; else if( po.m_fArrowScrollSpeed == 8.0f ) m_iSelectedOption[p][PO_SPEED] = 8;
else m_iSelectedOption[p][PO_SPEED] = 2; else m_iSelectedOption[p][PO_SPEED] = 2;
m_iSelectedOption[p][PO_BOOST] = po.m_EffectType & PlayerOptions::EFFECT_BOOST; m_iSelectedOption[p][PO_BOOST] = po.m_bBoost ? 1 : 0;
switch(po.m_EffectType & ~PlayerOptions::EFFECT_BOOST) for( int i=0; i<PlayerOptions::NUM_EFFECT_TYPES; i++ )
{ {
case PlayerOptions::EFFECT_NONE: m_iSelectedOption[p][PO_EFFECT]=0; break; if( po.m_bEffects[i] )
case PlayerOptions::EFFECT_WAVE: m_iSelectedOption[p][PO_EFFECT]=1; break; m_iSelectedOption[p][PO_EFFECT] = i-1;
case PlayerOptions::EFFECT_DRUNK: m_iSelectedOption[p][PO_EFFECT]=2; break;
case PlayerOptions::EFFECT_DIZZY: m_iSelectedOption[p][PO_EFFECT]=3; break;
case PlayerOptions::EFFECT_SPACE: m_iSelectedOption[p][PO_EFFECT]=4; break;
case PlayerOptions::EFFECT_MINI: m_iSelectedOption[p][PO_EFFECT]=5; break;
case PlayerOptions::EFFECT_FLIP: m_iSelectedOption[p][PO_EFFECT]=6; break;
case PlayerOptions::EFFECT_TORNADO: m_iSelectedOption[p][PO_EFFECT]=7; break;
default: ; break;
} }
m_iSelectedOption[p][PO_APPEAR] = po.m_AppearanceType; m_iSelectedOption[p][PO_APPEAR] = po.m_AppearanceType;
@@ -124,21 +117,11 @@ void ScreenPlayerOptions::ExportOptions()
case 8: po.m_fArrowScrollSpeed = 8.0f; break; case 8: po.m_fArrowScrollSpeed = 8.0f; break;
} }
po.m_EffectType = (m_iSelectedOption[p][PO_BOOST] == 1)? po.m_bBoost = (m_iSelectedOption[p][PO_BOOST] == 1);
PlayerOptions::EFFECT_BOOST:
PlayerOptions::EFFECT_NONE;
switch(m_iSelectedOption[p][PO_EFFECT]) ZERO( po.m_bEffects );
{ if( m_iSelectedOption[p][PO_EFFECT] > 0 )
//case 0: po.m_EffectType |= PlayerOptions::EFFECT_NONE; break; po.m_bEffects[ m_iSelectedOption[p][PO_EFFECT]-1 ] = true;
case 1: po.m_EffectType |= PlayerOptions::EFFECT_WAVE; break;
case 2: po.m_EffectType |= PlayerOptions::EFFECT_DRUNK; break;
case 3: po.m_EffectType |= PlayerOptions::EFFECT_DIZZY; break;
case 4: po.m_EffectType |= PlayerOptions::EFFECT_SPACE; break;
case 5: po.m_EffectType |= PlayerOptions::EFFECT_MINI; break;
case 6: po.m_EffectType |= PlayerOptions::EFFECT_FLIP; break;
case 7: po.m_EffectType |= PlayerOptions::EFFECT_TORNADO; break;
}
po.m_AppearanceType = (PlayerOptions::AppearanceType)m_iSelectedOption[p][PO_APPEAR]; po.m_AppearanceType = (PlayerOptions::AppearanceType)m_iSelectedOption[p][PO_APPEAR];
po.m_TurnType = (PlayerOptions::TurnType)m_iSelectedOption[p][PO_TURN]; po.m_TurnType = (PlayerOptions::TurnType)m_iSelectedOption[p][PO_TURN];
+1 -2
View File
@@ -269,8 +269,7 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM )
* *
* It's simple, but it's a hack. FIXME -glenn */ * It's simple, but it's a hack. FIXME -glenn */
GAMESTATE->m_PlayerOptions[p].m_EffectType = GAMESTATE->m_PlayerOptions[p].m_bEffects[ rand()%NUM_EFFECT_TYPES ] = true;
1 << (rand()%NUM_EFFECT_TYPES) ;
if( RandomFloat(0,1)>0.9f ) if( RandomFloat(0,1)>0.9f )
GAMESTATE->m_PlayerOptions[p].m_AppearanceType = PlayerOptions::APPEARANCE_HIDDEN; GAMESTATE->m_PlayerOptions[p].m_AppearanceType = PlayerOptions::APPEARANCE_HIDDEN;
if( RandomFloat(0,1)>0.9f ) if( RandomFloat(0,1)>0.9f )
+5 -6
View File
@@ -414,7 +414,6 @@ void SongManager::GetSongsInGroup( const CString sGroupName, CArray<Song*, Song*
if( sGroupName == m_pSongs[i]->m_sGroupName ) if( sGroupName == m_pSongs[i]->m_sGroupName )
AddTo.Add( pSong ); AddTo.Add( pSong );
} }
// SortSongPointerArrayByGroup( AddTo );
} }
CString SongManager::ShortenGroupName( const CString &sOrigGroupName ) CString SongManager::ShortenGroupName( const CString &sOrigGroupName )
@@ -580,12 +579,12 @@ void SongManager::GetExtraStageInfo( bool bExtra2, CString sPreferredGroup, cons
int iSongHash = GetHashForString( pSongOut->m_sSongDir ); int iSongHash = GetHashForString( pSongOut->m_sSongDir );
switch( ((UINT)iSongHash) % 6 ) switch( ((UINT)iSongHash) % 6 )
{ {
case 0: po_out.m_EffectType = PlayerOptions::EFFECT_DIZZY; break; case 0: po_out.m_bEffects[PlayerOptions::EFFECT_DIZZY] = true; break;
case 1: po_out.m_bDark = true; break; case 1: po_out.m_bDark = true; break;
case 2: po_out.m_EffectType = PlayerOptions::EFFECT_DRUNK; break; case 2: po_out.m_bEffects[PlayerOptions::EFFECT_DRUNK] = true; break;
case 3: po_out.m_EffectType = PlayerOptions::EFFECT_MINI; break; case 3: po_out.m_bEffects[PlayerOptions::EFFECT_MINI] = true; break;
case 4: po_out.m_EffectType = PlayerOptions::EFFECT_SPACE; break; case 4: po_out.m_bEffects[PlayerOptions::EFFECT_SPACE] = true; break;
case 5: po_out.m_EffectType = PlayerOptions::EFFECT_WAVE; break; case 5: po_out.m_bEffects[PlayerOptions::EFFECT_WAVE] = true; break;
default: ASSERT(0); default: ASSERT(0);
} }
} }