Fixed preferred difficulty on select music screen and fixed transforms for TurnTypes

This commit is contained in:
Chris Danford
2002-08-01 20:30:40 +00:00
parent 4c12a0921b
commit 2d4eb7baff
16 changed files with 248 additions and 211 deletions
+16
View File
@@ -25,6 +25,22 @@ BannerWithFrame::BannerWithFrame()
this->AddSubActor( &m_Banner ); this->AddSubActor( &m_Banner );
this->AddSubActor( &m_sprBannerFrame ); this->AddSubActor( &m_sprBannerFrame );
for( int p=0; p<NUM_PLAYERS; p++ )
{
float fX = (m_sprBannerFrame.GetUnzoomedWidth()/2-26) * (p==PLAYER_1 ? -1 : 1 );
float fY = m_sprBannerFrame.GetUnzoomedHeight()/2-26;
m_Icon[p].SetX( fX );
m_Icon[p].SetY( fY );
this->AddSubActor( &m_Icon[p] );
}
}
void BannerWithFrame::LoadFromSongAndNotes( Song* pSong, Notes* pNotes[NUM_PLAYERS] )
{
LoadFromSong( pSong );
for( int p=0; p<NUM_PLAYERS; p++ )
m_Icon[p].SetFromNotes( pNotes[p] ); // NULL pNotes menas icon is hidden
} }
void BannerWithFrame::LoadFromSong( Song* pSong ) void BannerWithFrame::LoadFromSong( Song* pSong )
+3
View File
@@ -13,6 +13,7 @@
#include "ActorFrame.h" #include "ActorFrame.h"
#include "Sprite.h" #include "Sprite.h"
#include "Banner.h" #include "Banner.h"
#include "DifficultyIcon.h"
class Song; class Song;
class Course; class Course;
@@ -21,6 +22,7 @@ class BannerWithFrame : public ActorFrame
public: public:
BannerWithFrame(); BannerWithFrame();
void LoadFromSongAndNotes( Song* pSong, Notes* pNotes[NUM_PLAYERS] );
void LoadFromSong( Song* pSong ); void LoadFromSong( Song* pSong );
void LoadFromGroup( CString sGroupName ); void LoadFromGroup( CString sGroupName );
void LoadFromCourse( Course* pCourse ); void LoadFromCourse( Course* pCourse );
@@ -29,4 +31,5 @@ protected:
Sprite m_sprBannerFrame; Sprite m_sprBannerFrame;
Banner m_Banner; Banner m_Banner;
DifficultyIcon m_Icon[NUM_PLAYERS];
}; };
+10 -1
View File
@@ -98,6 +98,15 @@ void Course::CreateEndlessCourseFromGroupAndDifficultyClass( CString sGroupName,
m_bRepeat = true; m_bRepeat = true;
m_bRandomize = true; m_bRandomize = true;
m_iLives = -1; m_iLives = -1;
CStringArray asPossibleBannerPaths;
GetDirListing( "Songs\\" + sGroupName + "\\banner.png", asPossibleBannerPaths, false, true );
GetDirListing( "Songs\\" + sGroupName + "\\banner.jpg", asPossibleBannerPaths, false, true );
GetDirListing( "Songs\\" + sGroupName + "\\banner.gif", asPossibleBannerPaths, false, true );
GetDirListing( "Songs\\" + sGroupName + "\\banner.bmp", asPossibleBannerPaths, false, true );
if( asPossibleBannerPaths.GetSize() > 0 )
m_sBannerPath = asPossibleBannerPaths[0];
CString sShortGroupName = SONGMAN->ShortenGroupName( sGroupName ); CString sShortGroupName = SONGMAN->ShortenGroupName( sGroupName );
m_sName = sShortGroupName + " "; m_sName = sShortGroupName + " ";
@@ -136,7 +145,7 @@ Notes* Course::GetNotesForStage( int iStage )
for( i=0; i<pSong->m_apNotes.GetSize(); i++ ) for( i=0; i<pSong->m_apNotes.GetSize(); i++ )
{ {
Notes* pNotes = pSong->m_apNotes[i]; Notes* pNotes = pSong->m_apNotes[i];
if( pNotes->m_DifficultyClass == dc ) if( pNotes->m_DifficultyClass == dc && pNotes->m_NotesType == GAMESTATE->GetCurrentStyleDef()->m_NotesType )
return pNotes; return pNotes;
} }
+4 -2
View File
@@ -197,7 +197,9 @@ void GameDef::MenuInputToGameInput( MenuInput MenuI, GameInput GameIout[4] )
for( int i=0; i<iNumSidesUsing; i++ ) for( int i=0; i<iNumSidesUsing; i++ )
{ {
for( int j=0; j<iNumButtonsUsing; j++ ) for( int j=0; j<iNumButtonsUsing; j++ )
GameIout[i*2+j].controller = controller[i]; {
GameIout[i*2+j].button = button[j]; GameIout[i*2+j].controller = controller[i];
GameIout[i*2+j].button = button[j];
}
} }
} }
+1 -2
View File
@@ -37,8 +37,6 @@ LifeMeterBattery::LifeMeterBattery()
m_soundGainLife.Load( THEME->GetPathTo(SOUND_GAMEPLAY_ONI_GAIN_LIFE) ); m_soundGainLife.Load( THEME->GetPathTo(SOUND_GAMEPLAY_ONI_GAIN_LIFE) );
m_soundLoseLife.Load( THEME->GetPathTo(SOUND_GAMEPLAY_ONI_LOSE_LIFE) ); m_soundLoseLife.Load( THEME->GetPathTo(SOUND_GAMEPLAY_ONI_LOSE_LIFE) );
Refresh();
} }
void LifeMeterBattery::Load( PlayerNumber pn ) void LifeMeterBattery::Load( PlayerNumber pn )
@@ -81,6 +79,7 @@ void LifeMeterBattery::Load( PlayerNumber pn )
m_textPercent.SetDiffuseColor( PlayerToColor(pn) ); // light blue m_textPercent.SetDiffuseColor( PlayerToColor(pn) ); // light blue
Refresh();
} }
void LifeMeterBattery::SongEnded() void LifeMeterBattery::SongEnded()
+21 -17
View File
@@ -565,30 +565,34 @@ void MusicWheel::BuildWheelItemDatas( CArray<WheelItemData, WheelItemData&> &arr
} }
break; break;
case PLAY_MODE_ONI: case PLAY_MODE_ONI:
{
CArray<Course*,Course*> apCourses;
for( int i=0; i<SONGMAN->m_aOniCourses.GetSize(); i++ )
apCourses.Add( &SONGMAN->m_aOniCourses[i] );
SortCoursePointerArrayByDifficulty( apCourses );
for( int c=0; c<apCourses.GetSize(); c++ ) // foreach course
{
Course* pCourse = apCourses[c];
arrayWheelItemDatas.Add( WheelItemData(TYPE_COURSE, NULL, "", pCourse, pCourse->GetColor()) );
}
}
break;
case PLAY_MODE_ENDLESS: case PLAY_MODE_ENDLESS:
{ {
CArray<Course*,Course*> apCourses; CArray<Course*,Course*> apCourses;
for( int i=0; i<SONGMAN->m_aEndlessCourses.GetSize(); i++ ) switch( GAMESTATE->m_PlayMode )
apCourses.Add( &SONGMAN->m_aEndlessCourses[i] ); {
case PLAY_MODE_ONI:
for( int i=0; i<SONGMAN->m_aOniCourses.GetSize(); i++ )
apCourses.Add( &SONGMAN->m_aOniCourses[i] );
SortCoursePointerArrayByDifficulty( apCourses );
break;
case PLAY_MODE_ENDLESS:
for( int i=0; i<SONGMAN->m_aEndlessCourses.GetSize(); i++ )
apCourses.Add( &SONGMAN->m_aEndlessCourses[i] );
break;
}
for( int c=0; c<apCourses.GetSize(); c++ ) // foreach course for( int c=0; c<apCourses.GetSize(); c++ ) // foreach course
{ {
Course* pCourse = apCourses[c]; Course* pCourse = apCourses[c];
arrayWheelItemDatas.Add( WheelItemData(TYPE_COURSE, NULL, "", pCourse, pCourse->GetColor()) );
// check that this course has at least one song playable in the current style
CArray<Song*,Song*> apSongs;
CArray<Notes*,Notes*> apNotes;
CStringArray asModifiers;
pCourse->GetSongAndNotesForCurrentStyle( apSongs, apNotes, asModifiers );
if( apNotes.GetSize() > 0 )
arrayWheelItemDatas.Add( WheelItemData(TYPE_COURSE, NULL, "", pCourse, pCourse->GetColor()) );
} }
} }
break; break;
+79 -108
View File
@@ -18,6 +18,7 @@
#include "PrefsManager.h" #include "PrefsManager.h"
#include "GameConstantsAndTypes.h" #include "GameConstantsAndTypes.h"
#include "RageException.h" #include "RageException.h"
#include "GameState.h"
@@ -507,93 +508,88 @@ void NoteData::RemoveHoldNotes()
void NoteData::Turn( PlayerOptions::TurnType tt ) void NoteData::Turn( PlayerOptions::TurnType tt )
{ {
// transform the NoteData int iTakeFromTrack[MAX_NOTE_TRACKS]; // New track "t" will take from old track iTakeFromTrack[t]
int oldColToNewCol[12][2]; // 0 is old Step, 1 is new Step mapping
oldColToNewCol[0][0] = 0; oldColToNewCol[0][1] = 0;
oldColToNewCol[1][0] = 1; oldColToNewCol[1][1] = 1;
oldColToNewCol[2][0] = 2; oldColToNewCol[2][1] = 2;
oldColToNewCol[3][0] = 3; oldColToNewCol[3][1] = 3;
oldColToNewCol[4][0] = 4; oldColToNewCol[4][1] = 4;
oldColToNewCol[5][0] = 5; oldColToNewCol[5][1] = 5;
oldColToNewCol[6][0] = 6; oldColToNewCol[6][1] = 6;
oldColToNewCol[7][0] = 7; oldColToNewCol[7][1] = 7;
oldColToNewCol[8][0] = 8; oldColToNewCol[8][1] = 8;
oldColToNewCol[9][0] = 9; oldColToNewCol[9][1] = 9;
oldColToNewCol[10][0]= 10; oldColToNewCol[10][1]= 10;
oldColToNewCol[11][0]= 11; oldColToNewCol[11][1]= 11;
switch( tt ) switch( tt )
{ {
case PlayerOptions::TURN_NONE: case PlayerOptions::TURN_NONE:
break; return; // nothing to do
case PlayerOptions::TURN_MIRROR: case PlayerOptions::TURN_MIRROR:
oldColToNewCol[0][1] = 3; for( int t=0; t<m_iNumTracks; t++ )
oldColToNewCol[2][1] = 2; iTakeFromTrack[t] = m_iNumTracks-t-1;
oldColToNewCol[3][1] = 1;
oldColToNewCol[5][1] = 0;
oldColToNewCol[6][1] = 7;
oldColToNewCol[8][1] = 6;
oldColToNewCol[9][1] = 5;
oldColToNewCol[11][1]= 4;
break; break;
case PlayerOptions::TURN_LEFT: case PlayerOptions::TURN_LEFT:
oldColToNewCol[0][1] = 1; case PlayerOptions::TURN_RIGHT: // HACK: TurnRight does the same thing as TurnLeft. I'll fix this later...
oldColToNewCol[2][1] = 3; // Chris: Handling each NotesType case is a terrible way to do this, but oh well...
oldColToNewCol[3][1] = 0; switch( GAMESTATE->GetCurrentStyleDef()->m_NotesType )
oldColToNewCol[5][1] = 2; {
oldColToNewCol[6][1] = 5; case NOTES_TYPE_DANCE_SINGLE:
oldColToNewCol[8][1] = 7; case NOTES_TYPE_DANCE_DOUBLE:
oldColToNewCol[9][1] = 4; case NOTES_TYPE_DANCE_COUPLE:
oldColToNewCol[11][1]= 6; iTakeFromTrack[0] = 2;
break; iTakeFromTrack[1] = 0;
case PlayerOptions::TURN_RIGHT: iTakeFromTrack[2] = 3;
oldColToNewCol[0][1] = 3; iTakeFromTrack[3] = 1;
oldColToNewCol[2][1] = 0; iTakeFromTrack[4] = 6;
oldColToNewCol[3][1] = 4; iTakeFromTrack[5] = 4;
oldColToNewCol[5][1] = 1; iTakeFromTrack[6] = 7;
oldColToNewCol[6][1] = 6; iTakeFromTrack[7] = 5;
oldColToNewCol[8][1] = 4; break;
oldColToNewCol[9][1] = 7; case NOTES_TYPE_DANCE_SOLO:
oldColToNewCol[11][1]= 5; iTakeFromTrack[0] = 5;
iTakeFromTrack[1] = 4;
iTakeFromTrack[2] = 0;
iTakeFromTrack[3] = 3;
iTakeFromTrack[4] = 1;
iTakeFromTrack[5] = 2;
break;
case NOTES_TYPE_PUMP_SINGLE:
case NOTES_TYPE_PUMP_DOUBLE:
iTakeFromTrack[0] = 1;
iTakeFromTrack[1] = 3;
iTakeFromTrack[2] = 2;
iTakeFromTrack[3] = 4;
iTakeFromTrack[4] = 0;
iTakeFromTrack[5] = 6;
iTakeFromTrack[6] = 8;
iTakeFromTrack[7] = 7;
iTakeFromTrack[8] = 9;
iTakeFromTrack[9] = 5;
break;
case NOTES_TYPE_EZ2_SINGLE:
case NOTES_TYPE_EZ2_SINGLE_HARD:
case NOTES_TYPE_EZ2_DOUBLE:
case NOTES_TYPE_EZ2_REAL:
case NOTES_TYPE_EZ2_SINGLE_VERSUS:
case NOTES_TYPE_EZ2_SINGLE_HARD_VERSUS:
case NOTES_TYPE_EZ2_REAL_VERSUS:
// identity transform. What should we do here?
iTakeFromTrack[0] = 0;
iTakeFromTrack[1] = 1;
iTakeFromTrack[2] = 2;
iTakeFromTrack[3] = 3;
iTakeFromTrack[4] = 4;
iTakeFromTrack[5] = 5;
iTakeFromTrack[6] = 6;
iTakeFromTrack[7] = 7;
iTakeFromTrack[8] = 8;
iTakeFromTrack[9] = 9;
iTakeFromTrack[10]= 10;
iTakeFromTrack[11]= 11;
break;
}
break; break;
case PlayerOptions::TURN_SHUFFLE: case PlayerOptions::TURN_SHUFFLE:
bool bAlreadyMapped[12]; CArray<int,int> aiTracksLeftToMap;
for( int i=0; i<12; i++ ) for( int t=0; t<m_iNumTracks; t++ )
bAlreadyMapped[i] = false; aiTracksLeftToMap.Add( t );
// hack: don't shuffle the Up+... NoteData for( int t=0; t<m_iNumTracks; t++ )
bAlreadyMapped[1] = true;
bAlreadyMapped[4] = true;
bAlreadyMapped[7] = true;
bAlreadyMapped[10] = true;
// shuffle left side
for( i=0; i<6; i++ )
{ {
if( i == 1 || i == 4 ) int iRandTrackIndex = rand()%aiTracksLeftToMap.GetSize();
continue; int iRandTrack = aiTracksLeftToMap[iRandTrackIndex];
aiTracksLeftToMap.RemoveAt( iRandTrackIndex );
int iMapsTo; iTakeFromTrack[t] = iRandTrack;
do {
iMapsTo = rand()%6;
} while( bAlreadyMapped[iMapsTo] );
bAlreadyMapped[iMapsTo] = true;
oldColToNewCol[i][1] = oldColToNewCol[iMapsTo][0];
}
// shuffle right side
for( i=6; i<12; i++ )
{
if( i == 7 || i == 10 )
continue;
int iMapsTo;
do {
iMapsTo = rand()%6+6;
} while( bAlreadyMapped[iMapsTo] );
bAlreadyMapped[iMapsTo] = true;
oldColToNewCol[i][1] = oldColToNewCol[iMapsTo][0];
} }
break; break;
} }
@@ -601,40 +597,15 @@ void NoteData::Turn( PlayerOptions::TurnType tt )
NoteData tempNoteData; // write into here as we tranform NoteData tempNoteData; // write into here as we tranform
tempNoteData.m_iNumTracks = m_iNumTracks; tempNoteData.m_iNumTracks = m_iNumTracks;
// transform m_TapNotes this->ConvertHoldNotesTo2sAnd3s();
for( int i=0; i<MAX_TAP_NOTE_ROWS; i++ )
{
for( int j=0; j<12; j++ )
{
int iOldCol = oldColToNewCol[j][0];
int iNewCol = oldColToNewCol[j][1];
tempNoteData.m_TapNotes[iNewCol][i] = m_TapNotes[iOldCol][i]; // transform notes
} for( int t=0; t<m_iNumTracks; t++ )
} for( int r=0; r<MAX_TAP_NOTE_ROWS; r++ )
tempNoteData.m_TapNotes[t][r] = m_TapNotes[iTakeFromTrack[t]][r];
// transform m_HoldNotes this->CopyAll( &tempNoteData ); // copy note data from newData back into this
for( i=0; i<m_iNumHoldNotes; i++ ) this->Convert2sAnd3sToHoldNotes();
{
for( int j=0; j<12; j++ )
{
HoldNote &hn = m_HoldNotes[i];
int iOldCol = oldColToNewCol[j][0];
int iNewCol = oldColToNewCol[j][1];
if( hn.m_iTrack == iOldCol )
{
HoldNote newHN = { iNewCol, hn.m_iStartIndex, hn.m_iEndIndex };
tempNoteData.AddHoldNote( newHN );
}
}
}
//
// copy note data from newData back into this
//
(*this) = tempNoteData;
} }
void NoteData::MakeLittle() void NoteData::MakeLittle()
+6 -2
View File
@@ -29,10 +29,14 @@ ScoreDisplayNormal::ScoreDisplayNormal()
Load( THEME->GetPathTo(FONT_SCORE_NUMBERS) ); Load( THEME->GetPathTo(FONT_SCORE_NUMBERS) );
TurnShadowOff(); TurnShadowOff();
m_fScore = 0;
m_fTrailingScore = 0; m_fTrailingScore = 0;
m_fScoreVelocity = 0;
SetScore( 0 ); CString s;
Update(0); for( int i=0; i<NUM_SCORE_DIGITS; i++ )
s += '0';
SetText( s );
} }
+70 -64
View File
@@ -123,10 +123,10 @@ ScreenEdit::ScreenEdit()
GAMESTATE->m_bEditing = true; GAMESTATE->m_bEditing = true;
m_fBeat = 0.0f; GAMESTATE->m_fSongBeat = 0;
GAMESTATE->m_fSongBeat = m_fBeat; m_fTrailingBeat = GAMESTATE->m_fSongBeat;
m_fMusicRate = 1; GAMESTATE->m_SongOptions.m_fMusicRate = 1;
GAMESTATE->m_PlayerOptions[PLAYER_1].m_fArrowScrollSpeed = 1; GAMESTATE->m_PlayerOptions[PLAYER_1].m_fArrowScrollSpeed = 1;
GAMESTATE->m_PlayerOptions[PLAYER_1].m_ColorType = PlayerOptions::COLOR_NOTE; GAMESTATE->m_PlayerOptions[PLAYER_1].m_ColorType = PlayerOptions::COLOR_NOTE;
@@ -208,11 +208,19 @@ void ScreenEdit::Update( float fDeltaTime )
bool bFreeze; bool bFreeze;
m_pSong->GetBeatAndBPSFromElapsedTime( fPositionSeconds, fSongBeat, fBPS, bFreeze ); m_pSong->GetBeatAndBPSFromElapsedTime( fPositionSeconds, fSongBeat, fBPS, bFreeze );
// update the global music statistics for other classes to access
GAMESTATE->m_fMusicSeconds = fPositionSeconds;
// GAMESTATE->m_fSongBeat = fSongBeat;
GAMESTATE->m_fCurBPS = fBPS;
GAMESTATE->m_bFreeze = bFreeze;
if( m_EditMode == MODE_RECORDING || m_EditMode == MODE_PLAYING ) if( m_EditMode == MODE_RECORDING || m_EditMode == MODE_PLAYING )
{ {
m_fBeat = fSongBeat; GAMESTATE->m_fSongBeat = fSongBeat;
if( m_fBeat > m_NoteFieldEdit.m_fEndMarker ) if( GAMESTATE->m_fSongBeat > m_NoteFieldEdit.m_fEndMarker )
{ {
if( m_EditMode == MODE_RECORDING ) if( m_EditMode == MODE_RECORDING )
{ {
@@ -255,12 +263,11 @@ void ScreenEdit::Update( float fDeltaTime )
// Update trailing beat // Update trailing beat
float fDelta = m_fBeat - GAMESTATE->m_fSongBeat; float fDelta = GAMESTATE->m_fSongBeat - m_fTrailingBeat;
if( fabsf(fDelta) < 0.01 ) if( fabsf(fDelta) < 0.01 )
{ {
GAMESTATE->m_fSongBeat = m_fBeat; // snap m_fTrailingBeat = GAMESTATE->m_fSongBeat; // snap
} }
else else
{ {
@@ -268,10 +275,10 @@ void ScreenEdit::Update( float fDeltaTime )
float fMoveDelta = fSign*fDeltaTime*40; float fMoveDelta = fSign*fDeltaTime*40;
if( fabsf(fMoveDelta) > fabsf(fDelta) ) if( fabsf(fMoveDelta) > fabsf(fDelta) )
fMoveDelta = fDelta; fMoveDelta = fDelta;
GAMESTATE->m_fSongBeat += fMoveDelta; m_fTrailingBeat += fMoveDelta;
if( fabsf(fDelta) > 10 ) if( fabsf(fDelta) > 10 )
GAMESTATE->m_fSongBeat += fDelta * fDeltaTime*5; m_fTrailingBeat += fDelta * fDeltaTime*5;
} }
@@ -285,7 +292,7 @@ void ScreenEdit::Update( float fDeltaTime )
m_NoteFieldEdit.Update( fDeltaTime ); m_NoteFieldEdit.Update( fDeltaTime );
int iIndexNow = BeatToNoteRowNotRounded( m_fBeat ); int iIndexNow = BeatToNoteRowNotRounded( GAMESTATE->m_fSongBeat );
CString sNoteType; CString sNoteType;
@@ -319,9 +326,9 @@ void ScreenEdit::Update( float fDeltaTime )
"MusicOffsetSeconds: %.2f\n" "MusicOffsetSeconds: %.2f\n"
"Preview start: %.2f, length = %.2f\n", "Preview start: %.2f, length = %.2f\n",
sNoteType, sNoteType,
m_fBeat, GAMESTATE->m_fSongBeat,
m_NoteFieldEdit.m_fBeginMarker, m_NoteFieldEdit.m_fEndMarker, m_NoteFieldEdit.m_fBeginMarker, m_NoteFieldEdit.m_fEndMarker,
m_fMusicRate, GAMESTATE->m_SongOptions.m_fMusicRate,
DifficultyClassToString( m_pNotes->m_DifficultyClass ), DifficultyClassToString( m_pNotes->m_DifficultyClass ),
GAMESTATE->m_pCurNotes[PLAYER_1] ? GAMESTATE->m_pCurNotes[PLAYER_1]->m_sDescription : "no description", GAMESTATE->m_pCurNotes[PLAYER_1] ? GAMESTATE->m_pCurNotes[PLAYER_1]->m_sDescription : "no description",
iNumTapNotes, iNumHoldNotes, iNumTapNotes, iNumHoldNotes,
@@ -337,7 +344,13 @@ void ScreenEdit::DrawPrimitives()
m_GranularityIndicator.Draw(); m_GranularityIndicator.Draw();
m_GrayArrowRowEdit.Draw(); m_GrayArrowRowEdit.Draw();
m_textHelp.Draw(); m_textHelp.Draw();
// HACK: Make NoteFieldEdit draw using the trailing beat
float fSongBeat = GAMESTATE->m_fSongBeat; // save song beat
GAMESTATE->m_fSongBeat = m_fTrailingBeat; // put trailing beat in effect
m_NoteFieldEdit.Draw(); m_NoteFieldEdit.Draw();
GAMESTATE->m_fSongBeat = fSongBeat; // restore real song beat
m_textInfo.Draw(); m_textInfo.Draw();
m_Fade.Draw(); m_Fade.Draw();
@@ -397,7 +410,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
break; // We only care about first presses break; // We only care about first presses
int iCol = DeviceI.button - DIK_1; int iCol = DeviceI.button - DIK_1;
const int iNoteIndex = BeatToNoteRow( m_fBeat ); const int iNoteIndex = BeatToNoteRow( GAMESTATE->m_fSongBeat );
if( iCol >= m_NoteFieldEdit.m_iNumTracks ) // this button is not in the range of columns for this StyleDef if( iCol >= m_NoteFieldEdit.m_iNumTracks ) // this button is not in the range of columns for this StyleDef
break; break;
@@ -471,8 +484,8 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
fBeatsToMove *= -1; fBeatsToMove *= -1;
} }
const int iStartIndex = BeatToNoteRow(m_fBeat); const int iStartIndex = BeatToNoteRow(GAMESTATE->m_fSongBeat);
const int iEndIndex = BeatToNoteRow(m_fBeat + fBeatsToMove); const int iEndIndex = BeatToNoteRow(GAMESTATE->m_fSongBeat + fBeatsToMove);
// check to see if they're holding a button // check to see if they're holding a button
for( int col=0; col<m_NoteFieldEdit.m_iNumTracks && col<=10; col++ ) for( int col=0; col<m_NoteFieldEdit.m_iNumTracks && col<=10; col++ )
@@ -491,18 +504,18 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
} }
} }
m_fBeat += fBeatsToMove; GAMESTATE->m_fSongBeat += fBeatsToMove;
m_fBeat = clamp( m_fBeat, 0, MAX_BEATS-1 ); GAMESTATE->m_fSongBeat = clamp( GAMESTATE->m_fSongBeat, 0, MAX_BEATS-1 );
m_fBeat = froundf( m_fBeat, NoteTypeToBeat(m_GranularityIndicator.GetSnapMode()) ); GAMESTATE->m_fSongBeat = froundf( GAMESTATE->m_fSongBeat, NoteTypeToBeat(m_GranularityIndicator.GetSnapMode()) );
m_soundChangeLine.Play(); m_soundChangeLine.Play();
} }
break; break;
case DIK_HOME: case DIK_HOME:
m_fBeat = 0; GAMESTATE->m_fSongBeat = 0;
m_soundChangeLine.Play(); m_soundChangeLine.Play();
break; break;
case DIK_END: case DIK_END:
m_fBeat = m_NoteFieldEdit.GetLastBeat(); GAMESTATE->m_fSongBeat = m_NoteFieldEdit.GetLastBeat();
m_soundChangeLine.Play(); m_soundChangeLine.Play();
break; break;
case DIK_RIGHT: case DIK_RIGHT:
@@ -514,26 +527,26 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
OnSnapModeChange(); OnSnapModeChange();
break; break;
case DIK_RETURN: case DIK_RETURN:
if( m_NoteFieldEdit.m_fEndMarker != -1 && m_fBeat > m_NoteFieldEdit.m_fEndMarker ) if( m_NoteFieldEdit.m_fEndMarker != -1 && GAMESTATE->m_fSongBeat > m_NoteFieldEdit.m_fEndMarker )
{ {
// invalid! The begin maker must be placed before the end marker // invalid! The begin maker must be placed before the end marker
m_soundInvalid.Play(); m_soundInvalid.Play();
} }
else else
{ {
m_NoteFieldEdit.m_fBeginMarker = m_fBeat; m_NoteFieldEdit.m_fBeginMarker = GAMESTATE->m_fSongBeat;
m_soundMarker.Play(); m_soundMarker.Play();
} }
break; break;
case DIK_SPACE: case DIK_SPACE:
if( m_NoteFieldEdit.m_fBeginMarker != -1 && m_fBeat < m_NoteFieldEdit.m_fBeginMarker ) if( m_NoteFieldEdit.m_fBeginMarker != -1 && GAMESTATE->m_fSongBeat < m_NoteFieldEdit.m_fBeginMarker )
{ {
// invalid! The end maker must be placed after the begin marker // invalid! The end maker must be placed after the begin marker
m_soundInvalid.Play(); m_soundInvalid.Play();
} }
else else
{ {
m_NoteFieldEdit.m_fEndMarker = m_fBeat; m_NoteFieldEdit.m_fEndMarker = GAMESTATE->m_fSongBeat;
m_soundMarker.Play(); m_soundMarker.Play();
} }
break; break;
@@ -573,8 +586,6 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
break; break;
} }
m_fBeat = m_NoteFieldEdit.m_fBeginMarker;
m_EditMode = MODE_PLAYING; m_EditMode = MODE_PLAYING;
m_Player.Load( PLAYER_1, (NoteData*)&m_NoteFieldEdit, NULL, NULL ); m_Player.Load( PLAYER_1, (NoteData*)&m_NoteFieldEdit, NULL, NULL );
@@ -582,10 +593,11 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
m_rectRecordBack.BeginTweening( 0.5f ); m_rectRecordBack.BeginTweening( 0.5f );
m_rectRecordBack.SetTweenDiffuseColor( D3DXCOLOR(0,0,0,0.5f) ); m_rectRecordBack.SetTweenDiffuseColor( D3DXCOLOR(0,0,0,0.5f) );
float fElapsedSeconds = max( 0, m_pSong->GetElapsedTimeFromBeat(m_fBeat) ); GAMESTATE->m_fSongBeat = m_NoteFieldEdit.m_fBeginMarker;
float fElapsedSeconds = max( 0, m_pSong->GetElapsedTimeFromBeat(GAMESTATE->m_fSongBeat) );
m_soundMusic.SetPositionSeconds( fElapsedSeconds ); m_soundMusic.SetPositionSeconds( fElapsedSeconds );
m_soundMusic.Play(); m_soundMusic.Play();
m_soundMusic.SetPlaybackRate( m_fMusicRate ); m_soundMusic.SetPlaybackRate( GAMESTATE->m_SongOptions.m_fMusicRate );
} }
break; break;
case DIK_R: case DIK_R:
@@ -596,8 +608,6 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
break; break;
} }
m_fBeat = m_NoteFieldEdit.m_fBeginMarker;
// initialize m_NoteFieldRecord // initialize m_NoteFieldRecord
m_NoteFieldRecord.ClearAll(); m_NoteFieldRecord.ClearAll();
m_NoteFieldRecord.m_iNumTracks = m_NoteFieldEdit.m_iNumTracks; m_NoteFieldRecord.m_iNumTracks = m_NoteFieldEdit.m_iNumTracks;
@@ -609,22 +619,23 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
m_rectRecordBack.BeginTweening( 0.5f ); m_rectRecordBack.BeginTweening( 0.5f );
m_rectRecordBack.SetTweenDiffuseColor( D3DXCOLOR(0,0,0,0.5f) ); m_rectRecordBack.SetTweenDiffuseColor( D3DXCOLOR(0,0,0,0.5f) );
float fElapsedSeconds = max( 0, m_pSong->GetElapsedTimeFromBeat(m_fBeat) ); GAMESTATE->m_fSongBeat = m_NoteFieldEdit.m_fBeginMarker;
float fElapsedSeconds = max( 0, m_pSong->GetElapsedTimeFromBeat(GAMESTATE->m_fSongBeat) );
m_soundMusic.SetPositionSeconds( fElapsedSeconds ); m_soundMusic.SetPositionSeconds( fElapsedSeconds );
m_soundMusic.Play(); m_soundMusic.Play();
m_soundMusic.SetPlaybackRate( m_fMusicRate ); m_soundMusic.SetPlaybackRate( GAMESTATE->m_SongOptions.m_fMusicRate );
} }
break; break;
case DIK_T: case DIK_T:
if( m_fMusicRate == 1.0f ) m_fMusicRate = 0.9f; if( GAMESTATE->m_SongOptions.m_fMusicRate == 1.0f ) GAMESTATE->m_SongOptions.m_fMusicRate = 0.9f;
else if( m_fMusicRate == 0.9f ) m_fMusicRate = 0.8f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 0.9f ) GAMESTATE->m_SongOptions.m_fMusicRate = 0.8f;
else if( m_fMusicRate == 0.8f ) m_fMusicRate = 0.7f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 0.8f ) GAMESTATE->m_SongOptions.m_fMusicRate = 0.7f;
else if( m_fMusicRate == 0.7f ) m_fMusicRate = 1.5f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 0.7f ) GAMESTATE->m_SongOptions.m_fMusicRate = 1.5f;
else if( m_fMusicRate == 1.5f ) m_fMusicRate = 1.4f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 1.5f ) GAMESTATE->m_SongOptions.m_fMusicRate = 1.4f;
else if( m_fMusicRate == 1.4f ) m_fMusicRate = 1.3f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 1.4f ) GAMESTATE->m_SongOptions.m_fMusicRate = 1.3f;
else if( m_fMusicRate == 1.3f ) m_fMusicRate = 1.2f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 1.3f ) GAMESTATE->m_SongOptions.m_fMusicRate = 1.2f;
else if( m_fMusicRate == 1.2f ) m_fMusicRate = 1.1f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 1.2f ) GAMESTATE->m_SongOptions.m_fMusicRate = 1.1f;
else if( m_fMusicRate == 1.1f ) m_fMusicRate = 1.0f; else if( GAMESTATE->m_SongOptions.m_fMusicRate == 1.1f ) GAMESTATE->m_SongOptions.m_fMusicRate = 1.0f;
break; break;
case DIK_INSERT: case DIK_INSERT:
case DIK_DELETE: case DIK_DELETE:
@@ -636,12 +647,12 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
switch( DeviceI.button ) switch( DeviceI.button )
{ {
case DIK_INSERT: case DIK_INSERT:
iTakeFromRow = BeatToNoteRow( m_fBeat ); iTakeFromRow = BeatToNoteRow( GAMESTATE->m_fSongBeat );
iPasteAtRow = BeatToNoteRow( m_fBeat+1 ); iPasteAtRow = BeatToNoteRow( GAMESTATE->m_fSongBeat+1 );
break; break;
case DIK_DELETE: case DIK_DELETE:
iTakeFromRow = BeatToNoteRow( m_fBeat+1 ); iTakeFromRow = BeatToNoteRow( GAMESTATE->m_fSongBeat+1 );
iPasteAtRow = BeatToNoteRow( m_fBeat ); iPasteAtRow = BeatToNoteRow( GAMESTATE->m_fSongBeat );
break; break;
} }
temp.CopyRange( &m_NoteFieldEdit, iTakeFromRow, MAX_TAP_NOTE_ROWS ); temp.CopyRange( &m_NoteFieldEdit, iTakeFromRow, MAX_TAP_NOTE_ROWS );
@@ -680,7 +691,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
{ {
int iSrcFirstRow = 0; int iSrcFirstRow = 0;
int iSrcLastRow = BeatToNoteRow( m_Clipboard.GetLastBeat() ); int iSrcLastRow = BeatToNoteRow( m_Clipboard.GetLastBeat() );
int iDestFirstRow = BeatToNoteRow( m_fBeat ); int iDestFirstRow = BeatToNoteRow( GAMESTATE->m_fSongBeat );
m_NoteFieldEdit.CopyRange( &m_Clipboard, iSrcFirstRow, iSrcLastRow, iDestFirstRow ); m_NoteFieldEdit.CopyRange( &m_Clipboard, iSrcFirstRow, iSrcLastRow, iDestFirstRow );
} }
@@ -696,7 +707,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
case DIK_F7: case DIK_F7:
case DIK_F8: case DIK_F8:
{ {
float fBPM = m_pSong->GetBPMAtBeat( m_fBeat ); float fBPM = m_pSong->GetBPMAtBeat( GAMESTATE->m_fSongBeat );
float fDeltaBPM; float fDeltaBPM;
switch( DeviceI.button ) switch( DeviceI.button )
{ {
@@ -712,13 +723,13 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
float fNewBPM = fBPM + fDeltaBPM; float fNewBPM = fBPM + fDeltaBPM;
for( int i=0; i<m_pSong->m_BPMSegments.GetSize(); i++ ) for( int i=0; i<m_pSong->m_BPMSegments.GetSize(); i++ )
if( m_pSong->m_BPMSegments[i].m_fStartBeat == m_fBeat ) if( m_pSong->m_BPMSegments[i].m_fStartBeat == GAMESTATE->m_fSongBeat )
break; break;
if( i == m_pSong->m_BPMSegments.GetSize() ) // there is no BPMSegment at the current beat if( i == m_pSong->m_BPMSegments.GetSize() ) // there is no BPMSegment at the current beat
{ {
// create a new BPMSegment // create a new BPMSegment
m_pSong->AddBPMSegment( BPMSegment(m_fBeat, fNewBPM) ); m_pSong->AddBPMSegment( BPMSegment(GAMESTATE->m_fSongBeat, fNewBPM) );
} }
else // BPMSegment being modified is m_BPMSegments[i] else // BPMSegment being modified is m_BPMSegments[i]
{ {
@@ -747,7 +758,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
for( int i=0; i<m_pSong->m_StopSegments.GetSize(); i++ ) for( int i=0; i<m_pSong->m_StopSegments.GetSize(); i++ )
{ {
if( m_pSong->m_StopSegments[i].m_fStartBeat == m_fBeat ) if( m_pSong->m_StopSegments[i].m_fStartBeat == GAMESTATE->m_fSongBeat )
break; break;
} }
@@ -755,7 +766,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
{ {
// create a new StopSegment // create a new StopSegment
if( fFreezeDelta > 0 ) if( fFreezeDelta > 0 )
m_pSong->AddStopSegment( StopSegment(m_fBeat, fFreezeDelta) ); m_pSong->AddStopSegment( StopSegment(GAMESTATE->m_fSongBeat, fFreezeDelta) );
} }
else // StopSegment being modified is m_StopSegments[i] else // StopSegment being modified is m_StopSegments[i]
{ {
@@ -848,12 +859,12 @@ void ScreenEdit::InputRecord( const DeviceInput& DeviceI, const InputEventType t
iCol = StyleI.col; iCol = StyleI.col;
int iNoteIndex; int iNoteIndex;
iNoteIndex = BeatToNoteRow( m_fBeat ); iNoteIndex = BeatToNoteRow( GAMESTATE->m_fSongBeat );
if( type == IET_FIRST_PRESS ) if( type == IET_FIRST_PRESS )
{ {
m_NoteFieldRecord.m_TapNotes[iCol][iNoteIndex] = '1'; m_NoteFieldRecord.m_TapNotes[iCol][iNoteIndex] = '1';
m_NoteFieldRecord.SnapToNearestNoteType( NOTE_12TH, NOTE_16TH, max(0,m_fBeat-1), m_fBeat+1); m_NoteFieldRecord.SnapToNearestNoteType( NOTE_12TH, NOTE_16TH, max(0,GAMESTATE->m_fSongBeat-1), GAMESTATE->m_fSongBeat+1);
m_GrayArrowRowRecord.Step( iCol ); m_GrayArrowRowRecord.Step( iCol );
} }
else else
@@ -876,7 +887,7 @@ void ScreenEdit::InputRecord( const DeviceInput& DeviceI, const InputEventType t
newHN.m_iEndIndex = iEndIndex; newHN.m_iEndIndex = iEndIndex;
m_NoteFieldRecord.AddHoldNote( newHN ); m_NoteFieldRecord.AddHoldNote( newHN );
m_NoteFieldRecord.SnapToNearestNoteType( NOTE_12TH, NOTE_16TH, max(0,m_fBeat-2), m_fBeat+2); m_NoteFieldRecord.SnapToNearestNoteType( NOTE_12TH, NOTE_16TH, max(0,GAMESTATE->m_fSongBeat-2), GAMESTATE->m_fSongBeat+2);
} }
break; break;
} }
@@ -895,16 +906,11 @@ void ScreenEdit::InputPlay( const DeviceInput& DeviceI, const InputEventType typ
m_EditMode = MODE_EDITING; m_EditMode = MODE_EDITING;
m_soundMusic.Stop(); m_soundMusic.Stop();
m_fBeat = froundf( m_fBeat, NoteTypeToBeat(m_GranularityIndicator.GetSnapMode()) ); GAMESTATE->m_fSongBeat = froundf( GAMESTATE->m_fSongBeat, NoteTypeToBeat(m_GranularityIndicator.GetSnapMode()) );
break; break;
} }
} }
float fSongBeat, fBPS;
bool bFreeze;
m_pSong->GetBeatAndBPSFromElapsedTime( m_soundMusic.GetPositionSeconds(), fSongBeat, fBPS, bFreeze );
const float fMaxBeatDifference = fBPS * PREFSMAN->m_fJudgeWindow / GAMESTATE->m_SongOptions.m_fMusicRate;
switch( StyleI.player ) switch( StyleI.player )
{ {
case PLAYER_1: case PLAYER_1:
@@ -928,7 +934,7 @@ void ScreenEdit::TransitionToEditFromRecord()
m_NoteFieldEdit.CopyRange( (NoteData*)&m_NoteFieldRecord, iNoteIndexBegin, iNoteIndexEnd ); m_NoteFieldEdit.CopyRange( (NoteData*)&m_NoteFieldRecord, iNoteIndexBegin, iNoteIndexEnd );
m_fBeat = froundf( m_fBeat, NoteTypeToBeat(m_GranularityIndicator.GetSnapMode()) ); GAMESTATE->m_fSongBeat = froundf( GAMESTATE->m_fSongBeat, NoteTypeToBeat(m_GranularityIndicator.GetSnapMode()) );
} }
@@ -952,8 +958,8 @@ void ScreenEdit::OnSnapModeChange()
m_soundChangeSnap.Play(); m_soundChangeSnap.Play();
NoteType nt = m_GranularityIndicator.GetSnapMode(); NoteType nt = m_GranularityIndicator.GetSnapMode();
int iStepIndex = BeatToNoteRow( m_fBeat ); int iStepIndex = BeatToNoteRow( GAMESTATE->m_fSongBeat );
int iElementsPerNoteType = BeatToNoteRow( NoteTypeToBeat(nt) ); int iElementsPerNoteType = BeatToNoteRow( NoteTypeToBeat(nt) );
int iStepIndexHangover = iStepIndex % iElementsPerNoteType; int iStepIndexHangover = iStepIndex % iElementsPerNoteType;
m_fBeat -= NoteRowToBeat( iStepIndexHangover ); GAMESTATE->m_fSongBeat -= NoteRowToBeat( iStepIndexHangover );
} }
+1 -3
View File
@@ -57,12 +57,10 @@ protected:
BitmapText m_textHelp; BitmapText m_textHelp;
// keep track of where we are and what we're doing // keep track of where we are and what we're doing
float m_fBeat; // make GAMESTATE->m_fSongBeat approach this float m_fTrailingBeat; // this approaches GAMESTATE->m_fSongBeat, which is the actual beat
NoteData m_Clipboard; NoteData m_Clipboard;
float m_fMusicRate;
RageSoundSample m_soundChangeLine; RageSoundSample m_soundChangeLine;
RageSoundSample m_soundChangeSnap; RageSoundSample m_soundChangeSnap;
RageSoundSample m_soundMarker; RageSoundSample m_soundMarker;
+19 -1
View File
@@ -29,6 +29,9 @@
const float BANNER_X = CENTER_X; const float BANNER_X = CENTER_X;
const float BANNER_Y = SCREEN_TOP + 100; const float BANNER_Y = SCREEN_TOP + 100;
const float STAGE_X = BANNER_X;
const float STAGE_Y = BANNER_Y-40;
const float GRADE_X[NUM_PLAYERS] = { CENTER_X-226, CENTER_X+226 }; const float GRADE_X[NUM_PLAYERS] = { CENTER_X-226, CENTER_X+226 };
const float GRADE_Y = BANNER_Y; const float GRADE_Y = BANNER_Y;
@@ -143,9 +146,17 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
switch( m_ResultMode ) switch( m_ResultMode )
{ {
case RM_ARCADE_STAGE: case RM_ARCADE_STAGE:
m_BannerWithFrame[0].LoadFromSong( GAMESTATE->m_pCurSong ); m_BannerWithFrame[0].LoadFromSongAndNotes( GAMESTATE->m_pCurSong, GAMESTATE->m_pCurNotes );
m_BannerWithFrame[0].SetXY( BANNER_X, BANNER_Y ); m_BannerWithFrame[0].SetXY( BANNER_X, BANNER_Y );
this->AddSubActor( &m_BannerWithFrame[0] ); this->AddSubActor( &m_BannerWithFrame[0] );
m_textStage.Load( THEME->GetPathTo(FONT_HEADER1) );
m_textStage.TurnShadowOff();
m_textStage.SetXY( STAGE_X, STAGE_Y );
m_textStage.SetZoom( 0.5f );
m_textStage.SetText( GAMESTATE->GetStageText() + " Stage" );
this->AddSubActor( &m_textStage );
break; break;
case RM_ARCADE_SUMMARY: case RM_ARCADE_SUMMARY:
{ {
@@ -561,6 +572,10 @@ void ScreenEvaluation::TweenOnScreen()
m_BannerWithFrame[i].SetTweenY( fOriginalY ); m_BannerWithFrame[i].SetTweenY( fOriginalY );
} }
fOriginalY = m_textStage.GetY();
m_textStage.BeginTweeningQueued( MENU_ELEMENTS_TWEEN_TIME, Actor::TWEEN_BIAS_BEGIN );
m_textStage.SetTweenY( fOriginalY );
for( i=0; i<NUM_JUDGE_LINES; i++ ) for( i=0; i<NUM_JUDGE_LINES; i++ )
{ {
if (GAMESTATE->m_CurGame != GAME_EZ2) if (GAMESTATE->m_CurGame != GAME_EZ2)
@@ -642,6 +657,9 @@ void ScreenEvaluation::TweenOffScreen()
m_BannerWithFrame[i].SetTweenZoomY( 0 ); m_BannerWithFrame[i].SetTweenZoomY( 0 );
} }
m_textStage.BeginTweeningQueued( MENU_ELEMENTS_TWEEN_TIME, Actor::TWEEN_BIAS_END );
m_textStage.SetTweenZoomY( 0 );
for( i=0; i<NUM_JUDGE_LINES; i++ ) for( i=0; i<NUM_JUDGE_LINES; i++ )
{ {
if (GAMESTATE->m_CurGame != GAME_EZ2) if (GAMESTATE->m_CurGame != GAME_EZ2)
+1
View File
@@ -47,6 +47,7 @@ protected:
MenuElements m_Menu; MenuElements m_Menu;
BannerWithFrame m_BannerWithFrame[STAGES_TO_SHOW_IN_SUMMARY]; BannerWithFrame m_BannerWithFrame[STAGES_TO_SHOW_IN_SUMMARY];
BitmapText m_textStage;
Sprite m_sprGradeFrame[NUM_PLAYERS]; Sprite m_sprGradeFrame[NUM_PLAYERS];
GradeDisplay m_Grades[NUM_PLAYERS]; GradeDisplay m_Grades[NUM_PLAYERS];
+2
View File
@@ -1198,6 +1198,8 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
this->SendScreenMessage( SM_GoToScreenAfterBack, 0 ); this->SendScreenMessage( SM_GoToScreenAfterBack, 0 );
else if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) else if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
SCREENMAN->SetNewScreen( new ScreenEvaluation(true) ); SCREENMAN->SetNewScreen( new ScreenEvaluation(true) );
else if( GAMESTATE->m_PlayMode == PLAY_MODE_ONI || GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS )
SCREENMAN->SetNewScreen( new ScreenEvaluation(false) );
else else
SCREENMAN->SetNewScreen( new ScreenGameOver ); SCREENMAN->SetNewScreen( new ScreenGameOver );
break; break;
+9 -7
View File
@@ -62,13 +62,15 @@ const CString CREDIT_LINES[] =
"PROGRAMMING:", "PROGRAMMING:",
"Chris Danford", "Chris Danford",
"Lord Frieza (Andrew Livy)", "Lord Frieza (Andrew Livy)",
"Dro Kulix", "Dro Kulix (Peter S. May)",
"Ben Nordstrom", "Bruno Figueiredo",
"Mantis (Ben Nordstrom)",
"Parasyte (Chris Gomez)", "Parasyte (Chris Gomez)",
"dirkthedaring (Michael Patterson)",
"angedelamort (Sauleil Lamarre)", "angedelamort (Sauleil Lamarre)",
"Edwin Evans", "Edwin Evans",
"Brian 'Bork' Bugh", "Brian 'Bork' Bugh",
"Jared Roberts", "nmspaz (Jared Roberts)",
"Elvis314 (Joel Maher)", "Elvis314 (Joel Maher)",
"Kefabi (Garth Smith)", "Kefabi (Garth Smith)",
"Pkillah (Playah Killah)", "Pkillah (Playah Killah)",
@@ -83,21 +85,21 @@ const CString CREDIT_LINES[] =
"", "",
"", "",
"SPECIAL THANKS TO:", "SPECIAL THANKS TO:",
"DDRLlama",
"DDRManiaX",
"SimWolf", "SimWolf",
"DJ DraftHorse", "DJ DraftHorse",
"Dance With Intensity", "Dance With Intensity",
"BeMaNiRuler",
"DDRLlama",
"DDRManiaX",
"Lagged", "Lagged",
"The Melting Pot", "The Melting Pot",
"DDRJamz Global BBS", "DDRJamz Global BBS",
"BemaniRuler",
"Brendan Walker", "Brendan Walker",
"Eric 'WaffleKing' Webster", "Eric 'WaffleKing' Webster",
"Mark 'Foobly' Verrey", "Mark 'Foobly' Verrey",
"Mandarin Blue", "Mandarin Blue",
"Anne Kiel", "Anne Kiel",
"BeMaNiFiNiNaTiC", "BeMaNiFiNiNaTiC (Jeremy)",
"Garett Sakamoto", "Garett Sakamoto",
"Illusionz - Issaquah, WA", "Illusionz - Issaquah, WA",
"Quarters - Kirkland, WA", "Quarters - Kirkland, WA",
+5 -3
View File
@@ -1,11 +1,12 @@
#include "stdafx.h" #include "stdafx.h"
/* /*
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
File: ScreenSongOptions.h Class: ScreenSongOptions
Desc: Select a song. Desc: See header.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
*/ */
@@ -21,6 +22,7 @@
#include "ScreenPlayerOptions.h" #include "ScreenPlayerOptions.h"
#include "RageLog.h" #include "RageLog.h"
#include "GameState.h" #include "GameState.h"
#include "ScreenStage.h"
enum { enum {
@@ -112,7 +114,7 @@ void ScreenSongOptions::GoToNextState()
{ {
MUSIC->Stop(); MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenGameplay ); SCREENMAN->SetNewScreen( new ScreenStage );
} }
+1 -1
View File
@@ -1,7 +1,7 @@
#pragma once #pragma once
/* /*
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
Course: SongOptions Class: SongOptions
Desc: Per-song options that are not saved between sessions. These are options Desc: Per-song options that are not saved between sessions. These are options
that should probably be disabled in a coin-operated machine. that should probably be disabled in a coin-operated machine.