fixed interaction between arrow brightness and boomerang
fixing more course problems
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
#COURSE:All Challenge;
|
||||
#LIVES:4;
|
||||
#SONG:*:CHALLENGE;
|
||||
#SONG:*:CHALLENGE;
|
||||
#SONG:*:CHALLENGE;
|
||||
#SONG:*:CHALLENGE;
|
||||
#SONG:*:CHALLENGE;
|
||||
@@ -0,0 +1,7 @@
|
||||
#COURSE:Stamina Tester Random;
|
||||
#LIVES:4;
|
||||
#SONG:*:9..10;
|
||||
#SONG:*:9..10;
|
||||
#SONG:*:9..10;
|
||||
#SONG:*:9..10;
|
||||
#SONG:*:9..10;
|
||||
@@ -0,0 +1,5 @@
|
||||
#COURSE:Tortise And the Hare;
|
||||
#SONG:*:TRICK:0.7xmusic;
|
||||
#SONG:*:TRICK:0.9xmusic;
|
||||
#SONG:*:TRICK:1.2xmusic;
|
||||
#SONG:*:TRICK:1.5xmusic;
|
||||
@@ -2,4 +2,4 @@
|
||||
#SONG:*:TRICK:1.5x,reverse;
|
||||
#SONG:*:TRICK:expand;
|
||||
#SONG:*:TRICK:0.25x,dark;
|
||||
#SONG:*:TRICK:sudden,boost;
|
||||
#SONG:*:TRICK:sudden,land;
|
||||
@@ -1,6 +0,0 @@
|
||||
#COURSE:Tricky Random;
|
||||
#LIVES:4;
|
||||
#SONG:*:TRICK:1.5x,reverse;
|
||||
#SONG:*:TRICK:expand;
|
||||
#SONG:*:TRICK:0.25x,dark;
|
||||
#SONG:*:TRICK:sudden,boost;
|
||||
@@ -934,12 +934,20 @@ ThreeLinesTitleY=-10
|
||||
ThreeLinesSubTitleY=0
|
||||
ThreeLinesArtistY=10
|
||||
|
||||
[CourseContentDisplay]
|
||||
[CourseEntryDisplay]
|
||||
TextBannerX=0
|
||||
TextBannerY=0
|
||||
TextBannerZoom=1.0
|
||||
NumberX=-118
|
||||
NumberY=0
|
||||
FootX=102
|
||||
FootY=8
|
||||
NumberZoom=1.0
|
||||
FootX=98
|
||||
FootY=-8
|
||||
FootZoom=1.0
|
||||
DifficultyX=120
|
||||
DifficultyY=8
|
||||
DifficultyY=-8
|
||||
DifficultyZoom=0.7
|
||||
ModifiersX=128
|
||||
ModifiersY=10
|
||||
ModifiersZoom=0.5
|
||||
ModifiersHorizAlign=2
|
||||
@@ -182,9 +182,12 @@ float ArrowGetGlow( PlayerNumber pn, float fYPos, float fPercentFadeToFail )
|
||||
return SCALE( fDistFromHalf, 0, 0.5f, 1.3f, 0 );
|
||||
}
|
||||
|
||||
float ArrowGetBrightness( PlayerNumber pn, float fYOffset )
|
||||
float ArrowGetBrightness( PlayerNumber pn, float fNoteBeat )
|
||||
{
|
||||
float fBrightness = SCALE( fYOffset, 0, -ARROW_SIZE, 1.f, 0.f );
|
||||
float fSongBeat = GAMESTATE->m_fSongBeat;
|
||||
float fBeatsUntilStep = fNoteBeat - fSongBeat;
|
||||
|
||||
float fBrightness = SCALE( fBeatsUntilStep, 0, -1, 1.f, 0.f );
|
||||
CLAMP( fBrightness, 0, 1 );
|
||||
// noisy printf( "fBrightness = %f\n", fBrightness );
|
||||
return fBrightness;
|
||||
|
||||
@@ -55,8 +55,8 @@ float ArrowGetAlpha( PlayerNumber pn, float fYPos, float fPercentFadeToFail );
|
||||
float ArrowGetGlow( PlayerNumber pn, float fYPos, float fPercentFadeToFail );
|
||||
|
||||
|
||||
// Depends on fYPos.
|
||||
float ArrowGetBrightness( PlayerNumber pn, float fYOffset );
|
||||
// Depends on fYOffset.
|
||||
float ArrowGetBrightness( PlayerNumber pn, float fNoteBeat );
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+25
-13
@@ -282,7 +282,8 @@ bool Course::HasDifficult() const
|
||||
|
||||
bool Course::IsPlayableIn( NotesType nt ) const
|
||||
{
|
||||
return true;
|
||||
// TODO: something smarter here
|
||||
return m_entries.size() > 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -296,12 +297,25 @@ void Course::GetStageInfo(
|
||||
if( bDifficult )
|
||||
ASSERT( HasDifficult() );
|
||||
|
||||
|
||||
vector<Entry> entries = m_entries;
|
||||
|
||||
if( m_bRandomize )
|
||||
random_shuffle( entries.begin(), entries.end() );
|
||||
|
||||
|
||||
// Sorting is slow, so do this outside the for loop.
|
||||
vector<Song*> vSongsByMostPlayed = SONGMAN->GetAllSongs();
|
||||
SortSongPointerArrayByMostPlayed( vSongsByMostPlayed );
|
||||
|
||||
// filter out songs that don't have both medium and hard steps
|
||||
for( int j=vSongsByMostPlayed.size()-1; j>=0; j-- )
|
||||
{
|
||||
Song* pSong = vSongsByMostPlayed[j];
|
||||
if( !pSong->GetNotes(nt, DIFFICULTY_MEDIUM) || !pSong->GetNotes(nt, DIFFICULTY_HARD) )
|
||||
vSongsByMostPlayed.erase( vSongsByMostPlayed.begin()+j );
|
||||
}
|
||||
|
||||
|
||||
for( unsigned i=0; i<entries.size(); i++ )
|
||||
{
|
||||
const Entry& e = entries[i];
|
||||
@@ -309,16 +323,6 @@ void Course::GetStageInfo(
|
||||
Song* pSong = NULL; // fill this in
|
||||
Notes* pNotes = NULL; // fill this in
|
||||
|
||||
vector<Song*> vSongsByMostPlayed = SONGMAN->GetAllSongs();
|
||||
SortSongPointerArrayByMostPlayed( vSongsByMostPlayed );
|
||||
|
||||
// filter out songs that don't have both medium and hard steps
|
||||
for( int j=vSongsByMostPlayed.size()-1; j>=0; j-- )
|
||||
{
|
||||
Song* pSong = vSongsByMostPlayed[j];
|
||||
if( !pSong->GetNotes(nt, DIFFICULTY_MEDIUM) || !pSong->GetNotes(nt, DIFFICULTY_HARD) )
|
||||
vSongsByMostPlayed.erase( vSongsByMostPlayed.begin()+j );
|
||||
}
|
||||
|
||||
switch( e.type )
|
||||
{
|
||||
@@ -336,7 +340,15 @@ void Course::GetStageInfo(
|
||||
case Entry::random_within_group:
|
||||
{
|
||||
vector<Song*> vSongs;
|
||||
SONGMAN->GetSongs( vSongs, e.group_name );
|
||||
switch( e.type )
|
||||
{
|
||||
case Entry::random:
|
||||
vSongs = SONGMAN->GetAllSongs();
|
||||
break;
|
||||
case Entry::random_within_group:
|
||||
SONGMAN->GetSongs( vSongs, e.group_name );
|
||||
break;
|
||||
}
|
||||
|
||||
if( vSongs.size() == 0 )
|
||||
break;
|
||||
|
||||
@@ -1,236 +0,0 @@
|
||||
#include "global.h"
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: CourseContentsFrame
|
||||
|
||||
Desc: See header.
|
||||
|
||||
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||
Chris Danford
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "CourseContentsFrame.h"
|
||||
#include "RageUtil.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "RageLog.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "Course.h"
|
||||
#include "SongManager.h"
|
||||
#include <math.h>
|
||||
#include "RageDisplay.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "Notes.h"
|
||||
#include "GameState.h"
|
||||
#include "StyleDef.h"
|
||||
|
||||
|
||||
#define TEXT_BANNER_X THEME->GetMetricF("CourseContentDisplay","TextBannerX")
|
||||
#define TEXT_BANNER_Y THEME->GetMetricF("CourseContentDisplay","TextBannerY")
|
||||
#define NUMBER_X THEME->GetMetricF("CourseContentDisplay","NumberX")
|
||||
#define NUMBER_Y THEME->GetMetricF("CourseContentDisplay","NumberY")
|
||||
#define FOOT_X THEME->GetMetricF("CourseContentDisplay","FootX")
|
||||
#define FOOT_Y THEME->GetMetricF("CourseContentDisplay","FootY")
|
||||
#define DIFFICULTY_X THEME->GetMetricF("CourseContentDisplay","DifficultyX")
|
||||
#define DIFFICULTY_Y THEME->GetMetricF("CourseContentDisplay","DifficultyY")
|
||||
|
||||
|
||||
CourseContentDisplay::CourseContentDisplay()
|
||||
{
|
||||
m_sprFrame.Load( THEME->GetPathTo("Graphics","select course content bar") );
|
||||
this->AddChild( &m_sprFrame );
|
||||
|
||||
m_textNumber.LoadFromFont( THEME->GetPathTo("Fonts","Header2") );
|
||||
m_textNumber.SetXY( NUMBER_X, NUMBER_Y );
|
||||
m_textNumber.TurnShadowOff();
|
||||
this->AddChild( &m_textNumber );
|
||||
|
||||
m_TextBanner.SetXY( TEXT_BANNER_X, TEXT_BANNER_Y );
|
||||
this->AddChild( &m_TextBanner );
|
||||
|
||||
m_textFoot.LoadFromTextureAndChars( THEME->GetPathTo("Graphics","select music meter 2x1"),"10" );
|
||||
m_textFoot.SetXY( FOOT_X, FOOT_Y );
|
||||
m_textFoot.TurnShadowOff();
|
||||
this->AddChild( &m_textFoot );
|
||||
|
||||
m_textDifficultyNumber.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
|
||||
m_textDifficultyNumber.SetXY( DIFFICULTY_X, DIFFICULTY_Y );
|
||||
m_textDifficultyNumber.SetZoom( 0.8f );
|
||||
m_textDifficultyNumber.TurnShadowOff();
|
||||
this->AddChild( &m_textDifficultyNumber );
|
||||
}
|
||||
|
||||
|
||||
void CourseContentDisplay::LoadFromSongAndNotes( int iNum, Song* pSong, Notes* pNotes )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
RageColor colorGroup = SONGMAN->GetSongColor( pSong );
|
||||
RageColor colorNotes = SONGMAN->GetDifficultyColor( pNotes->GetDifficulty() );
|
||||
|
||||
m_TextBanner.LoadFromSong( pSong );
|
||||
m_TextBanner.SetDiffuse( colorGroup );
|
||||
|
||||
m_textFoot.SetText( "1" );
|
||||
m_textFoot.SetDiffuse( colorNotes );
|
||||
|
||||
m_textDifficultyNumber.SetText( ssprintf("%d", pNotes->GetMeter()) );
|
||||
m_textDifficultyNumber.SetDiffuse( colorNotes );
|
||||
}
|
||||
|
||||
void CourseContentDisplay::LoadFromDifficulty( int iNum, Difficulty dc )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
RageColor colorGroup = RageColor(1,1,1,1); // TODO: What should this be?
|
||||
RageColor colorNotes = SONGMAN->GetDifficultyColor( dc );
|
||||
|
||||
m_TextBanner.LoadFromString( "??????????", "??????????", "", "", "", "" );
|
||||
m_TextBanner.SetDiffuse( colorGroup );
|
||||
|
||||
m_textFoot.SetText( "1" );
|
||||
m_textFoot.SetDiffuse( colorNotes );
|
||||
|
||||
m_textDifficultyNumber.SetText( "?" );
|
||||
m_textDifficultyNumber.SetDiffuse( colorNotes );
|
||||
}
|
||||
|
||||
void CourseContentDisplay::LoadFromMeterRange( int iNum, int iLow, int iHigh )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
RageColor colorGroup = RageColor(1,1,1,1); // TODO: What should this be?
|
||||
RageColor colorNotes = RageColor(1,1,1,1);
|
||||
|
||||
m_TextBanner.LoadFromString( "??????????", "??????????", "", "", "", "" );
|
||||
m_TextBanner.SetDiffuse( colorGroup );
|
||||
|
||||
m_textFoot.SetText( "1" );
|
||||
m_textFoot.SetDiffuse( colorNotes );
|
||||
|
||||
m_textDifficultyNumber.SetText( ssprintf("%d-%d", iLow, iHigh) );
|
||||
m_textDifficultyNumber.SetDiffuse( colorNotes );
|
||||
}
|
||||
|
||||
CourseContentsFrame::CourseContentsFrame()
|
||||
{
|
||||
m_iNumContents = 0;
|
||||
m_quad.SetDiffuse( RageColor(0,0,0,0) ); // invisible, since we want to write only to the Zbuffer
|
||||
|
||||
m_fTimeUntilScroll = 0;
|
||||
m_fItemAtTopOfList = 0;
|
||||
|
||||
/* These are all the same; grab the dimensions. */
|
||||
ContentsBarHeight = m_CourseContentDisplays[0].m_sprFrame.GetTexture()->GetSourceFrameHeight();
|
||||
ContentsBarWidth = m_CourseContentDisplays[0].m_sprFrame.GetTexture()->GetSourceFrameWidth();
|
||||
}
|
||||
|
||||
void CourseContentsFrame::TweenInAfterChangedCourse()
|
||||
{
|
||||
m_fItemAtTopOfList = 0;
|
||||
m_fTimeUntilScroll = 3;
|
||||
|
||||
for( int i=0; i<m_iNumContents; i++ )
|
||||
{
|
||||
CourseContentDisplay& display = m_CourseContentDisplays[i];
|
||||
|
||||
display.SetXY( 0, -((MAX_VISIBLE_CONTENTS-1)/2) * float(ContentsBarHeight) );
|
||||
display.StopTweening();
|
||||
display.BeginTweening( i*0.1f );
|
||||
display.SetTweenY( (-(MAX_VISIBLE_CONTENTS-1)/2 + i) * float(ContentsBarHeight) );
|
||||
}
|
||||
}
|
||||
|
||||
void CourseContentsFrame::SetFromCourse( Course* pCourse )
|
||||
{
|
||||
ASSERT( pCourse != NULL );
|
||||
|
||||
m_iNumContents = 0;
|
||||
|
||||
vector<Song*> vSongs;
|
||||
vector<Notes*> vNotes;
|
||||
vector<CString> vsModifiers;
|
||||
pCourse->GetStageInfo( vSongs, vNotes, vsModifiers, GAMESTATE->GetCurrentStyleDef()->m_NotesType, false );
|
||||
|
||||
for( int i=0; i<min((int)vSongs.size(), MAX_TOTAL_CONTENTS); i++ )
|
||||
{
|
||||
CourseContentDisplay& display = m_CourseContentDisplays[m_iNumContents];
|
||||
|
||||
if( pCourse->IsMysterySong(i) )
|
||||
{
|
||||
Difficulty dc = pCourse->GetDifficulty(i);
|
||||
int iMeterLow, iMeterHigh;
|
||||
pCourse->GetMeterRange(i, iMeterLow, iMeterHigh);
|
||||
|
||||
if( dc == DIFFICULTY_INVALID )
|
||||
display.LoadFromMeterRange( m_iNumContents+1, iMeterLow, iMeterHigh );
|
||||
else
|
||||
display.LoadFromDifficulty( m_iNumContents+1, pCourse->GetDifficulty(i) );
|
||||
}
|
||||
else
|
||||
{
|
||||
Song* pSong = vSongs[i];
|
||||
Notes* pNotes = vNotes[i];
|
||||
CString sModifiers = vsModifiers[i];
|
||||
display.LoadFromSongAndNotes( m_iNumContents+1, pSong, pNotes );
|
||||
}
|
||||
|
||||
m_iNumContents ++;
|
||||
}
|
||||
|
||||
m_fItemAtTopOfList = fmodf(m_fItemAtTopOfList, float(m_iNumContents));
|
||||
}
|
||||
|
||||
void CourseContentsFrame::Update( float fDeltaTime )
|
||||
{
|
||||
ActorFrame::Update( fDeltaTime );
|
||||
|
||||
if( m_fTimeUntilScroll > 0 && m_iNumContents > MAX_VISIBLE_CONTENTS)
|
||||
m_fTimeUntilScroll -= fDeltaTime;
|
||||
if( m_fTimeUntilScroll <= 0 ) {
|
||||
m_fItemAtTopOfList += fDeltaTime;
|
||||
m_fItemAtTopOfList = fmodf(m_fItemAtTopOfList, float(m_iNumContents));
|
||||
}
|
||||
|
||||
for( int i=0; i<m_iNumContents; i++ )
|
||||
m_CourseContentDisplays[i].Update( fDeltaTime );
|
||||
}
|
||||
|
||||
void CourseContentsFrame::DrawPrimitives()
|
||||
{
|
||||
// turn on Z buffer to clip items
|
||||
DISPLAY->EnableZBuffer();
|
||||
|
||||
// write to z buffer so that top and bottom are clipped
|
||||
m_quad.SetZ( 1 );
|
||||
|
||||
RectI rectBarSize(-ContentsBarWidth/2, -ContentsBarHeight/2,
|
||||
ContentsBarWidth/2, ContentsBarHeight/2);
|
||||
m_quad.StretchTo( rectBarSize );
|
||||
|
||||
m_quad.SetY( (-(MAX_VISIBLE_CONTENTS-1)/2 - 1) * float(ContentsBarHeight) );
|
||||
m_quad.Draw();
|
||||
|
||||
m_quad.SetY( ((MAX_VISIBLE_CONTENTS-1)/2 + 1) * float(ContentsBarHeight) );
|
||||
m_quad.Draw();
|
||||
|
||||
int iItemToDraw = (int)m_fItemAtTopOfList;
|
||||
|
||||
// HACK: Insert a little pause as a new item appears on the screen
|
||||
float fRemainder = m_fItemAtTopOfList - (int)m_fItemAtTopOfList;
|
||||
fRemainder = min( fRemainder*1.5f, 1 );
|
||||
|
||||
const float fY = (-fRemainder-(MAX_VISIBLE_CONTENTS-1)/2) * ContentsBarHeight;
|
||||
|
||||
for( int i=0; i<min(MAX_VISIBLE_CONTENTS+1, m_iNumContents); i++ )
|
||||
{
|
||||
if( m_fTimeUntilScroll <= 0 )
|
||||
m_CourseContentDisplays[iItemToDraw].SetY( fY + i*ContentsBarHeight);
|
||||
m_CourseContentDisplays[iItemToDraw].Draw();
|
||||
iItemToDraw = (iItemToDraw+1) % m_iNumContents;
|
||||
}
|
||||
|
||||
// turn off Z buffer
|
||||
DISPLAY->DisableZBuffer();
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
#include "global.h"
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: CourseContentsList
|
||||
|
||||
Desc: See header.
|
||||
|
||||
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||
Chris Danford
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "CourseContentsList.h"
|
||||
#include "RageUtil.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "RageLog.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "Course.h"
|
||||
#include "SongManager.h"
|
||||
#include <math.h>
|
||||
#include "RageDisplay.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "Notes.h"
|
||||
#include "GameState.h"
|
||||
#include "StyleDef.h"
|
||||
|
||||
|
||||
CourseContentsList::CourseContentsList()
|
||||
{
|
||||
m_iNumContents = 0;
|
||||
m_quad.SetDiffuse( RageColor(0,0,0,0) ); // invisible, since we want to write only to the Zbuffer
|
||||
|
||||
m_fTimeUntilScroll = 0;
|
||||
m_fItemAtTopOfList = 0;
|
||||
|
||||
/* These are all the same; grab the dimensions. */
|
||||
ContentsBarHeight = m_CourseContentDisplays[0].m_sprFrame.GetTexture()->GetSourceFrameHeight();
|
||||
ContentsBarWidth = m_CourseContentDisplays[0].m_sprFrame.GetTexture()->GetSourceFrameWidth();
|
||||
}
|
||||
|
||||
|
||||
void CourseContentsList::SetFromCourse( Course* pCourse )
|
||||
{
|
||||
ASSERT( pCourse != NULL );
|
||||
|
||||
m_iNumContents = 0;
|
||||
|
||||
vector<Song*> vSongs;
|
||||
vector<Notes*> vNotes;
|
||||
vector<CString> vsModifiers;
|
||||
pCourse->GetStageInfo( vSongs, vNotes, vsModifiers, GAMESTATE->GetCurrentStyleDef()->m_NotesType, false );
|
||||
|
||||
for( int i=0; i<min((int)vSongs.size(), MAX_TOTAL_CONTENTS); i++ )
|
||||
{
|
||||
CourseEntryDisplay& display = m_CourseContentDisplays[m_iNumContents];
|
||||
|
||||
if( pCourse->IsMysterySong(i) )
|
||||
{
|
||||
Difficulty dc = pCourse->GetDifficulty(i);
|
||||
int iMeterLow, iMeterHigh;
|
||||
pCourse->GetMeterRange(i, iMeterLow, iMeterHigh);
|
||||
|
||||
if( dc == DIFFICULTY_INVALID )
|
||||
display.LoadFromMeterRange( m_iNumContents+1, iMeterLow, iMeterHigh, vsModifiers[i] );
|
||||
else
|
||||
display.LoadFromDifficulty( m_iNumContents+1, dc, vsModifiers[i] );
|
||||
}
|
||||
else
|
||||
{
|
||||
Song* pSong = vSongs[i];
|
||||
Notes* pNotes = vNotes[i];
|
||||
CString sModifiers = vsModifiers[i];
|
||||
display.LoadFromSongAndNotes( m_iNumContents+1, pSong, pNotes, vsModifiers[i] );
|
||||
}
|
||||
|
||||
m_iNumContents ++;
|
||||
}
|
||||
}
|
||||
|
||||
void CourseContentsList::Update( float fDeltaTime )
|
||||
{
|
||||
ActorFrame::Update( fDeltaTime );
|
||||
|
||||
if( m_fTimeUntilScroll > 0 && m_iNumContents > MAX_VISIBLE_CONTENTS)
|
||||
m_fTimeUntilScroll -= fDeltaTime;
|
||||
if( m_fTimeUntilScroll <= 0 ) {
|
||||
m_fItemAtTopOfList += fDeltaTime;
|
||||
m_fItemAtTopOfList = fmodf(m_fItemAtTopOfList, float(m_iNumContents));
|
||||
}
|
||||
|
||||
for( int i=0; i<m_iNumContents; i++ )
|
||||
m_CourseContentDisplays[i].Update( fDeltaTime );
|
||||
}
|
||||
|
||||
void CourseContentsList::DrawPrimitives()
|
||||
{
|
||||
// turn on Z buffer to clip items
|
||||
DISPLAY->EnableZBuffer();
|
||||
|
||||
// write to z buffer so that top and bottom are clipped
|
||||
m_quad.SetZ( 1 );
|
||||
|
||||
RectI rectBarSize(-ContentsBarWidth/2, -ContentsBarHeight/2,
|
||||
ContentsBarWidth/2, ContentsBarHeight/2);
|
||||
m_quad.StretchTo( rectBarSize );
|
||||
|
||||
m_quad.SetY( (-(MAX_VISIBLE_CONTENTS-1)/2 - 1) * float(ContentsBarHeight) );
|
||||
m_quad.Draw();
|
||||
|
||||
m_quad.SetY( ((MAX_VISIBLE_CONTENTS-1)/2 + 1) * float(ContentsBarHeight) );
|
||||
m_quad.Draw();
|
||||
|
||||
int iItemToDraw = (int)m_fItemAtTopOfList;
|
||||
|
||||
// HACK: Insert a little pause as a new item appears on the screen
|
||||
float fRemainder = m_fItemAtTopOfList - (int)m_fItemAtTopOfList;
|
||||
fRemainder = min( fRemainder*1.5f, 1 );
|
||||
|
||||
const float fY = (-fRemainder-(MAX_VISIBLE_CONTENTS-1)/2) * ContentsBarHeight;
|
||||
|
||||
for( int i=0; i<min(MAX_VISIBLE_CONTENTS+1, m_iNumContents); i++ )
|
||||
{
|
||||
if( m_fTimeUntilScroll <= 0 )
|
||||
m_CourseContentDisplays[iItemToDraw].SetY( fY + i*ContentsBarHeight);
|
||||
m_CourseContentDisplays[iItemToDraw].Draw();
|
||||
iItemToDraw = (iItemToDraw+1) % m_iNumContents;
|
||||
}
|
||||
|
||||
// turn off Z buffer
|
||||
DISPLAY->DisableZBuffer();
|
||||
}
|
||||
|
||||
void CourseContentsList::TweenInAfterChangedCourse()
|
||||
{
|
||||
m_fItemAtTopOfList = 0;
|
||||
m_fTimeUntilScroll = 3;
|
||||
|
||||
for( int i=0; i<m_iNumContents; i++ )
|
||||
{
|
||||
CourseEntryDisplay& display = m_CourseContentDisplays[i];
|
||||
|
||||
display.SetXY( 0, -((MAX_VISIBLE_CONTENTS-1)/2) * float(ContentsBarHeight) );
|
||||
display.StopTweening();
|
||||
display.BeginTweening( i*0.1f );
|
||||
display.SetTweenY( (-(MAX_VISIBLE_CONTENTS-1)/2 + i) * float(ContentsBarHeight) );
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
#ifndef COURSECONTENTSFRAME_H
|
||||
#define COURSECONTENTSFRAME_H
|
||||
#ifndef CourseContentsList_H
|
||||
#define CourseContentsList_H
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: CourseContentsFrame
|
||||
Class: CourseContentsList
|
||||
|
||||
Desc: Holds course name and banner.
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "ActorFrame.h"
|
||||
#include "Sprite.h"
|
||||
#include "Quad.h"
|
||||
#include "CourseEntryDisplay.h"
|
||||
class Course;
|
||||
class Song;
|
||||
struct Notes;
|
||||
@@ -26,27 +27,11 @@ const int MAX_VISIBLE_CONTENTS = 5;
|
||||
const int MAX_TOTAL_CONTENTS = 56;
|
||||
|
||||
|
||||
class CourseContentDisplay : public ActorFrame
|
||||
|
||||
class CourseContentsList : public ActorFrame
|
||||
{
|
||||
public:
|
||||
CourseContentDisplay();
|
||||
|
||||
void LoadFromSongAndNotes( int iNum, Song* pSong, Notes* pNotes );
|
||||
void LoadFromDifficulty( int iNum, Difficulty dc );
|
||||
void LoadFromMeterRange( int iNum, int iLow, int iHigh );
|
||||
|
||||
Sprite m_sprFrame;
|
||||
BitmapText m_textNumber;
|
||||
TextBanner m_TextBanner;
|
||||
BitmapText m_textFoot;
|
||||
BitmapText m_textDifficultyNumber;
|
||||
};
|
||||
|
||||
|
||||
class CourseContentsFrame : public ActorFrame
|
||||
{
|
||||
public:
|
||||
CourseContentsFrame();
|
||||
CourseContentsList();
|
||||
|
||||
virtual void Update( float fDeltaTime );
|
||||
virtual void DrawPrimitives();
|
||||
@@ -59,7 +44,7 @@ protected:
|
||||
Quad m_quad;
|
||||
|
||||
int m_iNumContents;
|
||||
CourseContentDisplay m_CourseContentDisplays[MAX_TOTAL_CONTENTS];
|
||||
CourseEntryDisplay m_CourseContentDisplays[MAX_TOTAL_CONTENTS];
|
||||
int ContentsBarHeight, ContentsBarWidth;
|
||||
|
||||
float m_fTimeUntilScroll;
|
||||
@@ -0,0 +1,136 @@
|
||||
#include "global.h"
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: CourseEntryDisplay
|
||||
|
||||
Desc: See header.
|
||||
|
||||
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||
Chris Danford
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "CourseEntryDisplay.h"
|
||||
#include "RageUtil.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "RageLog.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "Course.h"
|
||||
#include "SongManager.h"
|
||||
#include <math.h>
|
||||
#include "RageDisplay.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "Notes.h"
|
||||
#include "GameState.h"
|
||||
#include "StyleDef.h"
|
||||
|
||||
|
||||
#define TEXT_BANNER_X THEME->GetMetricF("CourseEntryDisplay","TextBannerX")
|
||||
#define TEXT_BANNER_Y THEME->GetMetricF("CourseEntryDisplay","TextBannerY")
|
||||
#define TEXT_BANNER_ZOOM THEME->GetMetricF("CourseEntryDisplay","TextBannerZoom")
|
||||
#define NUMBER_X THEME->GetMetricF("CourseEntryDisplay","NumberX")
|
||||
#define NUMBER_Y THEME->GetMetricF("CourseEntryDisplay","NumberY")
|
||||
#define NUMBER_ZOOM THEME->GetMetricF("CourseEntryDisplay","NumberZoom")
|
||||
#define FOOT_X THEME->GetMetricF("CourseEntryDisplay","FootX")
|
||||
#define FOOT_Y THEME->GetMetricF("CourseEntryDisplay","FootY")
|
||||
#define FOOT_ZOOM THEME->GetMetricF("CourseEntryDisplay","FootZoom")
|
||||
#define DIFFICULTY_X THEME->GetMetricF("CourseEntryDisplay","DifficultyX")
|
||||
#define DIFFICULTY_Y THEME->GetMetricF("CourseEntryDisplay","DifficultyY")
|
||||
#define DIFFICULTY_ZOOM THEME->GetMetricF("CourseEntryDisplay","DifficultyZoom")
|
||||
#define MODIFIERS_X THEME->GetMetricF("CourseEntryDisplay","ModifiersX")
|
||||
#define MODIFIERS_Y THEME->GetMetricF("CourseEntryDisplay","ModifiersY")
|
||||
#define MODIFIERS_ZOOM THEME->GetMetricF("CourseEntryDisplay","ModifiersZoom")
|
||||
#define MODIFIERS_HORIZ_ALIGN THEME->GetMetricI("CourseEntryDisplay","ModifiersHorizAlign")
|
||||
|
||||
|
||||
CourseEntryDisplay::CourseEntryDisplay()
|
||||
{
|
||||
m_sprFrame.Load( THEME->GetPathTo("Graphics","select course content bar") );
|
||||
this->AddChild( &m_sprFrame );
|
||||
|
||||
m_textNumber.LoadFromFont( THEME->GetPathTo("Fonts","Header2") );
|
||||
m_textNumber.SetXY( NUMBER_X, NUMBER_Y );
|
||||
m_textNumber.TurnShadowOff();
|
||||
this->AddChild( &m_textNumber );
|
||||
|
||||
m_TextBanner.SetXY( TEXT_BANNER_X, TEXT_BANNER_Y );
|
||||
this->AddChild( &m_TextBanner );
|
||||
|
||||
m_textFoot.LoadFromTextureAndChars( THEME->GetPathTo("Graphics","select music meter 2x1"),"10" );
|
||||
m_textFoot.SetXY( FOOT_X, FOOT_Y );
|
||||
m_textFoot.TurnShadowOff();
|
||||
this->AddChild( &m_textFoot );
|
||||
|
||||
m_textDifficultyNumber.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
|
||||
m_textDifficultyNumber.SetXY( DIFFICULTY_X, DIFFICULTY_Y );
|
||||
m_textDifficultyNumber.SetZoom( DIFFICULTY_ZOOM );
|
||||
m_textDifficultyNumber.TurnShadowOff();
|
||||
this->AddChild( &m_textDifficultyNumber );
|
||||
|
||||
m_textModifiers.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
|
||||
m_textModifiers.SetXY( MODIFIERS_X, MODIFIERS_Y );
|
||||
m_textModifiers.SetZoom( MODIFIERS_ZOOM );
|
||||
m_textModifiers.SetHorizAlign( (Actor::HorizAlign)MODIFIERS_HORIZ_ALIGN );
|
||||
m_textModifiers.TurnShadowOff();
|
||||
this->AddChild( &m_textModifiers );
|
||||
}
|
||||
|
||||
|
||||
void CourseEntryDisplay::LoadFromSongAndNotes( int iNum, Song* pSong, Notes* pNotes, CString sModifiers )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
RageColor colorGroup = SONGMAN->GetSongColor( pSong );
|
||||
RageColor colorNotes = SONGMAN->GetDifficultyColor( pNotes->GetDifficulty() );
|
||||
|
||||
m_TextBanner.LoadFromSong( pSong );
|
||||
m_TextBanner.SetDiffuse( colorGroup );
|
||||
|
||||
m_textFoot.SetText( "1" );
|
||||
m_textFoot.SetDiffuse( colorNotes );
|
||||
|
||||
m_textDifficultyNumber.SetText( ssprintf("%d", pNotes->GetMeter()) );
|
||||
m_textDifficultyNumber.SetDiffuse( colorNotes );
|
||||
|
||||
m_textModifiers.SetText( sModifiers );
|
||||
}
|
||||
|
||||
void CourseEntryDisplay::LoadFromDifficulty( int iNum, Difficulty dc, CString sModifiers )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
RageColor colorGroup = RageColor(1,1,1,1); // TODO: What should this be?
|
||||
RageColor colorNotes = SONGMAN->GetDifficultyColor( dc );
|
||||
|
||||
m_TextBanner.LoadFromString( "??????????", "??????????", "", "", "", "" );
|
||||
m_TextBanner.SetDiffuse( colorGroup );
|
||||
|
||||
m_textFoot.SetText( "1" );
|
||||
m_textFoot.SetDiffuse( colorNotes );
|
||||
|
||||
m_textDifficultyNumber.SetText( "?" );
|
||||
m_textDifficultyNumber.SetDiffuse( colorNotes );
|
||||
|
||||
m_textModifiers.SetText( sModifiers );
|
||||
}
|
||||
|
||||
void CourseEntryDisplay::LoadFromMeterRange( int iNum, int iLow, int iHigh, CString sModifiers )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
RageColor colorGroup = RageColor(1,1,1,1); // TODO: What should this be?
|
||||
RageColor colorNotes = RageColor(1,1,1,1);
|
||||
|
||||
m_TextBanner.LoadFromString( "??????????", "??????????", "", "", "", "" );
|
||||
m_TextBanner.SetDiffuse( colorGroup );
|
||||
|
||||
m_textFoot.SetText( "1" );
|
||||
m_textFoot.SetDiffuse( colorNotes );
|
||||
|
||||
m_textDifficultyNumber.SetText( ssprintf(iLow==iHigh?"%d":"%d-%d", iLow, iHigh) );
|
||||
m_textDifficultyNumber.SetDiffuse( colorNotes );
|
||||
|
||||
m_textModifiers.SetText( sModifiers );
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
#ifndef CourseEntryDisplay_H
|
||||
#define CourseEntryDisplay_H
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: CourseEntryDisplay
|
||||
|
||||
Desc: Holds course name and banner.
|
||||
|
||||
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||
Chris Danford
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "FootMeter.h"
|
||||
#include "BitmapText.h"
|
||||
#include "TextBanner.h"
|
||||
#include "ActorFrame.h"
|
||||
#include "Sprite.h"
|
||||
#include "Quad.h"
|
||||
class Course;
|
||||
class Song;
|
||||
struct Notes;
|
||||
|
||||
|
||||
class CourseEntryDisplay : public ActorFrame
|
||||
{
|
||||
public:
|
||||
CourseEntryDisplay();
|
||||
|
||||
void LoadFromSongAndNotes( int iNum, Song* pSong, Notes* pNotes, CString sModifiers );
|
||||
void LoadFromDifficulty( int iNum, Difficulty dc, CString sModifiers );
|
||||
void LoadFromMeterRange( int iNum, int iLow, int iHigh, CString sModifiers );
|
||||
|
||||
Sprite m_sprFrame;
|
||||
BitmapText m_textNumber;
|
||||
TextBanner m_TextBanner;
|
||||
BitmapText m_textFoot;
|
||||
BitmapText m_textDifficultyNumber;
|
||||
BitmapText m_textModifiers;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -650,7 +650,7 @@ void NoteDisplay::DrawTap( const int iCol, const float fBeat, const bool bOnSame
|
||||
const float fXPos = ArrowGetXPos( m_PlayerNumber, iCol, fYPos );
|
||||
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, fYPos, fPercentFadeToFail );
|
||||
const float fGlow = ArrowGetGlow( m_PlayerNumber, fYPos, fPercentFadeToFail );
|
||||
const float fColorScale = ArrowGetBrightness( m_PlayerNumber, fYOffset ) * SCALE(fLife,0,1,0.2f,1);
|
||||
const float fColorScale = ArrowGetBrightness( m_PlayerNumber, fBeat ) * SCALE(fLife,0,1,0.2f,1);
|
||||
RageColor diffuse = RageColor(fColorScale,fColorScale,fColorScale,fAlpha);
|
||||
RageColor glow = RageColor(1,1,1,fGlow);
|
||||
|
||||
|
||||
@@ -522,37 +522,11 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
switch( m_ResultMode )
|
||||
{
|
||||
case RM_ARCADE_STAGE:
|
||||
switch( max_grade )
|
||||
{
|
||||
case GRADE_E: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation e") ); break;
|
||||
case GRADE_D: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation d") ); break;
|
||||
case GRADE_C: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation c") ); break;
|
||||
case GRADE_B: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation b") ); break;
|
||||
case GRADE_A: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation a") ); break;
|
||||
case GRADE_AA: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation aa") ); break;
|
||||
case GRADE_AAA: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation aaa") ); break;
|
||||
case GRADE_AAAA: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation aaaa") ); break;
|
||||
case GRADE_NO_DATA:
|
||||
default:
|
||||
ASSERT(0); // invalid grade
|
||||
}
|
||||
SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation "+GradeToString(max_grade)) );
|
||||
break;
|
||||
case RM_COURSE:
|
||||
case RM_ARCADE_SUMMARY:
|
||||
switch( max_grade )
|
||||
{
|
||||
case GRADE_E: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final e") ); break;
|
||||
case GRADE_D: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final d") ); break;
|
||||
case GRADE_C: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final c") ); break;
|
||||
case GRADE_B: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final b") ); break;
|
||||
case GRADE_A: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final a") ); break;
|
||||
case GRADE_AA: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final aa") ); break;
|
||||
case GRADE_AAA: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final aaa") ); break;
|
||||
case GRADE_AAAA: SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final aaaa") ); break;
|
||||
case GRADE_NO_DATA:
|
||||
default:
|
||||
ASSERT(0); // invalid grade
|
||||
}
|
||||
SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("evaluation final "+GradeToString(max_grade)) );
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "RageSound.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "MusicWheel.h"
|
||||
#include "CourseContentsFrame.h"
|
||||
#include "CourseContentsList.h"
|
||||
#include "MenuElements.h"
|
||||
#include "FadingBanner.h"
|
||||
|
||||
@@ -49,7 +49,7 @@ protected:
|
||||
FadingBanner m_Banner;
|
||||
BitmapText m_textNumSongs;
|
||||
BitmapText m_textTime;
|
||||
CourseContentsFrame m_CourseContentsFrame;
|
||||
CourseContentsList m_CourseContentsFrame;
|
||||
Sprite m_sprHighScoreFrame[NUM_PLAYERS];
|
||||
ScoreDisplayNormal m_HighScore[NUM_PLAYERS];
|
||||
BitmapText m_textPlayerOptions[NUM_PLAYERS];
|
||||
|
||||
@@ -635,8 +635,8 @@ void Song::GetNotes( vector<Notes*>& arrayAddTo, NotesType nt, Difficulty dc, in
|
||||
for( unsigned i=0; i<m_apNotes.size(); i++ ) // for each of the Song's Notes
|
||||
if( m_apNotes[i]->m_NotesType == nt )
|
||||
if( dc==DIFFICULTY_INVALID || dc==m_apNotes[i]->GetDifficulty() )
|
||||
if( iMeterLow==-1 || iMeterLow>=m_apNotes[i]->GetMeter() )
|
||||
if( iMeterHigh==-1 || iMeterHigh<=m_apNotes[i]->GetMeter() )
|
||||
if( iMeterLow==-1 || iMeterLow<=m_apNotes[i]->GetMeter() )
|
||||
if( iMeterHigh==-1 || iMeterHigh>=m_apNotes[i]->GetMeter() )
|
||||
if( sDescription=="" || sDescription==m_apNotes[i]->GetDescription() )
|
||||
if( bIncludeAutoGen || !m_apNotes[i]->IsAutogen() )
|
||||
arrayAddTo.push_back( m_apNotes[i] );
|
||||
|
||||
@@ -74,8 +74,7 @@ Grade StageStats::GetGrade( PlayerNumber pn )
|
||||
LOG->Trace( "fPercentDancePoints: %f", fPercentDancePoints );
|
||||
|
||||
// check for "AAAA"
|
||||
if( fPercentDancePoints == 1.00f &&
|
||||
iTapNoteScores[pn][TNS_MARVELOUS] > 0 &&
|
||||
if( iTapNoteScores[pn][TNS_MARVELOUS] > 0 &&
|
||||
iTapNoteScores[pn][TNS_PERFECT] == 0 &&
|
||||
iTapNoteScores[pn][TNS_GREAT] == 0 &&
|
||||
iTapNoteScores[pn][TNS_GOOD] == 0 &&
|
||||
|
||||
@@ -565,12 +565,13 @@ static void GameLoop()
|
||||
|
||||
TEXTUREMAN->Update( fDeltaTime );
|
||||
|
||||
/* Important: Process input before updaing game logic, or else game logic will lag for one frame */
|
||||
HandleInputEvents( fDeltaTime );
|
||||
|
||||
SCREENMAN->Update( fDeltaTime );
|
||||
SOUNDMAN->Update( fDeltaTime );
|
||||
|
||||
/* Important: Process input AFTER updaing game logic, or input will be acting on song beat from last frame */
|
||||
HandleInputEvents( fDeltaTime );
|
||||
|
||||
/*
|
||||
* Render
|
||||
*/
|
||||
|
||||
+18
-10
@@ -57,10 +57,10 @@ LINK32=link.exe
|
||||
# SUBTRACT LINK32 /verbose /pdb:none
|
||||
# Begin Special Build Tool
|
||||
IntDir=.\../Release6
|
||||
TargetDir=\temp\stepmania
|
||||
TargetDir=\stepmania\stepmania
|
||||
TargetName=StepMania
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -92,10 +92,10 @@ LINK32=link.exe
|
||||
# SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib
|
||||
# Begin Special Build Tool
|
||||
IntDir=.\../Debug6
|
||||
TargetDir=\temp\stepmania
|
||||
TargetDir=\stepmania\stepmania
|
||||
TargetName=StepMania-debug
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -791,10 +791,6 @@ SOURCE=.\StepMania.RC
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ScreenDimensions.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\global.cpp
|
||||
|
||||
!IF "$(CFG)" == "StepMania - Win32 Release"
|
||||
@@ -812,6 +808,10 @@ SOURCE=.\global.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ScreenDimensions.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdString.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -968,11 +968,19 @@ SOURCE=.\BPMDisplay.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CourseContentsFrame.cpp
|
||||
SOURCE=.\CourseContentsList.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CourseContentsFrame.h
|
||||
SOURCE=.\CourseContentsList.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CourseEntryDisplay.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\CourseEntryDisplay.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
|
||||
@@ -687,12 +687,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
<Filter
|
||||
Name="StepMania"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath=".\global.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\global.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdString.h">
|
||||
</File>
|
||||
@@ -702,6 +696,12 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
<File
|
||||
RelativePath=".\StepMania.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\global.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\global.h">
|
||||
</File>
|
||||
<Filter
|
||||
Name="arch"
|
||||
Filter="">
|
||||
@@ -962,10 +962,16 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
RelativePath="BannerWithFrame.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CourseContentsFrame.cpp">
|
||||
RelativePath="CourseContentsList.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CourseContentsFrame.h">
|
||||
RelativePath="CourseContentsList.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CourseEntryDisplay.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CourseEntryDisplay.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="CroppedSprite.cpp">
|
||||
|
||||
Reference in New Issue
Block a user