WheelItemDisplay -> MusicWheelItem

clean up header dependencies in MusicWheel classes
This commit is contained in:
Chris Danford
2003-03-31 23:06:15 +00:00
parent fb8ccf786d
commit e9f44f14a7
7 changed files with 79 additions and 75 deletions
+4 -4
View File
@@ -760,7 +760,7 @@ CreditsColor=1,1,1,1
CreditsShadowLength=0
CreditsZoom=1.0
[WheelItemDisplay]
[MusicWheelItem]
IconX=-136
SongNameX=-30
SectionNameX=-30
@@ -932,9 +932,9 @@ StartDrawingAtPixels=-60
StopDrawingAtPixels=350
[BPMDisplay]
NormalColor=1.0,0.5,0.0,1 // orange
ChangeColor=0.6,0.0,0.0,1 // dark red
ExtraColor=0.6,0.0,0.0,1 // dark red
NormalColor=1.0,1.0,0.0,1 // yellow
ChangeColor=1.0,0.5,0.0,1 // orange
ExtraColor=0.7,0.0,0.0,1 // dark red
[GrayArrow]
StepZoom=0.75
+19 -17
View File
@@ -24,6 +24,8 @@
#include "GameState.h"
#include <math.h>
#include "ThemeManager.h"
#include "Song.h"
#include "Course.h"
#define NUM_WHEEL_ITEMS min( MAX_WHEEL_ITEMS, THEME->GetMetricI("MusicWheel","NumWheelItems") )
@@ -179,7 +181,7 @@ MusicWheel::MusicWheel()
if(!selected) SetOpenGroup("");
// rebuild the WheelItems that appear on screen
RebuildWheelItemDisplays();
RebuildMusicWheelItems();
}
MusicWheel::~MusicWheel()
@@ -518,7 +520,7 @@ float MusicWheel::GetBannerX( float fPosOffsetsFromMiddle )
return roundf( fX );
}
void MusicWheel::RebuildWheelItemDisplays()
void MusicWheel::RebuildMusicWheelItems()
{
// rewind to first index that will be displayed;
int iIndex = m_iSelection;
@@ -535,7 +537,7 @@ void MusicWheel::RebuildWheelItemDisplays()
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
{
WheelItemData *data = m_CurWheelItemData[iIndex];
WheelItemDisplay& display = m_WheelItemDisplays[i];
MusicWheelItem& display = m_MusicWheelItems[i];
display.LoadFromWheelItemData( data );
@@ -551,7 +553,7 @@ void MusicWheel::NotesChanged( PlayerNumber pn ) // update grade graphics and to
{
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
{
WheelItemDisplay& display = m_WheelItemDisplays[i];
MusicWheelItem& display = m_MusicWheelItems[i];
display.RefreshGrades();
}
}
@@ -562,7 +564,7 @@ void MusicWheel::DrawPrimitives()
{
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
{
WheelItemDisplay& display = m_WheelItemDisplays[i];
MusicWheelItem& display = m_MusicWheelItems[i];
switch( m_WheelState )
{
@@ -618,7 +620,7 @@ void MusicWheel::Update( float fDeltaTime )
unsigned i;
for( i=0; i<unsigned(NUM_WHEEL_ITEMS); i++ )
{
WheelItemDisplay& display = m_WheelItemDisplays[i];
MusicWheelItem& display = m_MusicWheelItems[i];
display.Update( fDeltaTime );
}
@@ -683,7 +685,7 @@ void MusicWheel::Update( float fDeltaTime )
}
SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
RebuildWheelItemDisplays();
RebuildMusicWheelItems();
TweenOnScreen(true);
m_WheelState = STATE_FLYING_ON_AFTER_NEXT_SORT;
}
@@ -850,7 +852,7 @@ void MusicWheel::ChangeMusic(int dist)
else if( m_iSelection > int(m_CurWheelItemData.size()-1) )
m_iSelection = 0;
RebuildWheelItemDisplays();
RebuildMusicWheelItems();
m_fPositionOffsetFromSelection += dist;
@@ -912,7 +914,7 @@ bool MusicWheel::Select() // return true of a playable item was chosen
return false;
}
switch( m_CurWheelItemData[m_iSelection]->m_WheelItemType )
switch( m_CurWheelItemData[m_iSelection]->m_Type )
{
case TYPE_SECTION:
{
@@ -924,7 +926,7 @@ bool MusicWheel::Select() // return true of a playable item was chosen
SetOpenGroup(m_sExpandedSectionName);
RebuildWheelItemDisplays();
RebuildMusicWheelItems();
m_soundExpand.Play();
@@ -934,7 +936,7 @@ bool MusicWheel::Select() // return true of a playable item was chosen
// find the section header and select it
for( unsigned i=0; i<m_CurWheelItemData.size(); i++ )
{
if( m_CurWheelItemData[i]->m_WheelItemType == TYPE_SECTION
if( m_CurWheelItemData[i]->m_Type == TYPE_SECTION
&& m_CurWheelItemData[i]->m_sSectionName == sThisItemSectionName )
{
m_iSelection = i;
@@ -983,7 +985,7 @@ void MusicWheel::StartRandom()
m_WheelState = STATE_RANDOM_SPINNING;
this->Select();
RebuildWheelItemDisplays();
RebuildMusicWheelItems();
}
void MusicWheel::SetOpenGroup(CString group, SongSortOrder so)
@@ -1002,8 +1004,8 @@ void MusicWheel::SetOpenGroup(CString group, SongSortOrder so)
unsigned i;
for(i = 0; i < from.size(); ++i)
{
if((from[i].m_WheelItemType == TYPE_SONG ||
from[i].m_WheelItemType == TYPE_COURSE) &&
if((from[i].m_Type == TYPE_SONG ||
from[i].m_Type == TYPE_COURSE) &&
!from[i].m_sSectionName.empty() &&
from[i].m_sSectionName != group)
continue;
@@ -1018,7 +1020,7 @@ void MusicWheel::SetOpenGroup(CString group, SongSortOrder so)
m_iSelection=i;
}
RebuildWheelItemDisplays();
RebuildMusicWheelItems();
}
bool MusicWheel::IsRouletting() const
@@ -1062,7 +1064,7 @@ void MusicWheel::TweenOnScreen(bool changing_sort)
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
{
WheelItemDisplay& display = m_WheelItemDisplays[i];
MusicWheelItem& display = m_MusicWheelItems[i];
float fThisBannerPositionOffsetFromSelection = i - NUM_WHEEL_ITEMS/2 + m_fPositionOffsetFromSelection;
float fX = GetBannerX(fThisBannerPositionOffsetFromSelection);
@@ -1105,7 +1107,7 @@ void MusicWheel::TweenOffScreen(bool changing_sort)
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
{
WheelItemDisplay& display = m_WheelItemDisplays[i];
MusicWheelItem& display = m_MusicWheelItems[i];
float fThisBannerPositionOffsetFromSelection = i - NUM_WHEEL_ITEMS/2 + m_fPositionOffsetFromSelection;
float fX = GetBannerX(fThisBannerPositionOffsetFromSelection);
+6 -10
View File
@@ -12,21 +12,17 @@
*/
#include "Sprite.h"
#include "song.h"
#include "ActorFrame.h"
#include "BitmapText.h"
#include "Quad.h"
#include "TextBanner.h"
#include "RandomSample.h"
#include "GameConstantsAndTypes.h"
#include "MusicSortDisplay.h"
#include "WheelNotifyIcon.h"
#include "Screen.h" // for ScreenMessage
#include "ScreenMessage.h"
#include "ScoreDisplayNormal.h"
#include "ScrollBar.h"
#include "Course.h"
#include "RageTimer.h"
#include "MusicWheelItem.h"
class Course;
class Song;
const int MAX_WHEEL_ITEMS = 15;
@@ -71,13 +67,13 @@ public:
float GetBannerY( float fPosOffsetsFromMiddle );
bool Select(); // return true if the selected item is a music, otherwise false
WheelItemType GetSelectedType() { return m_CurWheelItemData[m_iSelection]->m_WheelItemType; };
WheelItemType GetSelectedType() { return m_CurWheelItemData[m_iSelection]->m_Type; };
Song* GetSelectedSong() { return m_CurWheelItemData[m_iSelection]->m_pSong; };
Course* GetSelectedCourse() { return m_CurWheelItemData[m_iSelection]->m_pCourse; };
CString GetSelectedSection(){ return m_CurWheelItemData[m_iSelection]->m_sSectionName; };
bool WheelIsLocked() { return (m_WheelState == STATE_LOCKED ? true : false); }
void RebuildWheelItemDisplays();
void RebuildMusicWheelItems();
protected:
void GetSongList(vector<Song*> &arraySongs, bool bRoulette );
@@ -93,7 +89,7 @@ protected:
vector<WheelItemData> m_WheelItemDatas[NUM_SORT_ORDERS];
vector<WheelItemData *> m_CurWheelItemData;
WheelItemDisplay m_WheelItemDisplays[MAX_WHEEL_ITEMS];
MusicWheelItem m_MusicWheelItems[MAX_WHEEL_ITEMS];
int m_iSelection; // index into m_CurWheelItemData
CString m_sExpandedSectionName;
+24 -23
View File
@@ -12,7 +12,7 @@
-----------------------------------------------------------------------------
*/
#include "MusicWheel.h"
#include "MusicWheelItem.h"
#include "RageUtil.h"
#include "SongManager.h"
#include "GameManager.h"
@@ -25,25 +25,26 @@
#include <math.h>
#include "ThemeManager.h"
#include "Notes.h"
#include "Song.h"
// WheelItem stuff
#define ICON_X THEME->GetMetricF("WheelItemDisplay","IconX")
#define SONG_NAME_X THEME->GetMetricF("WheelItemDisplay","SongNameX")
#define SECTION_NAME_X THEME->GetMetricF("WheelItemDisplay","SectionNameX")
#define SECTION_ZOOM THEME->GetMetricF("WheelItemDisplay","SectionZoom")
#define ROULETTE_X THEME->GetMetricF("WheelItemDisplay","RouletteX")
#define ROULETTE_ZOOM THEME->GetMetricF("WheelItemDisplay","RouletteZoom")
#define COURSE_X THEME->GetMetricF("WheelItemDisplay","CourseX")
#define COURSE_ZOOM THEME->GetMetricF("WheelItemDisplay","CourseZoom")
#define GRADE_X( p ) THEME->GetMetricF("WheelItemDisplay",ssprintf("GradeP%dX",p+1))
#define ICON_X THEME->GetMetricF("MusicWheelItem","IconX")
#define SONG_NAME_X THEME->GetMetricF("MusicWheelItem","SongNameX")
#define SECTION_NAME_X THEME->GetMetricF("MusicWheelItem","SectionNameX")
#define SECTION_ZOOM THEME->GetMetricF("MusicWheelItem","SectionZoom")
#define ROULETTE_X THEME->GetMetricF("MusicWheelItem","RouletteX")
#define ROULETTE_ZOOM THEME->GetMetricF("MusicWheelItem","RouletteZoom")
#define COURSE_X THEME->GetMetricF("MusicWheelItem","CourseX")
#define COURSE_ZOOM THEME->GetMetricF("MusicWheelItem","CourseZoom")
#define GRADE_X( p ) THEME->GetMetricF("MusicWheelItem",ssprintf("GradeP%dX",p+1))
WheelItemData::WheelItemData( WheelItemType wit, Song* pSong, const CString &sSectionName, Course* pCourse, const RageColor color )
WheelItemData::WheelItemData( WheelItemType wit, Song* pSong, CString sSectionName, Course* pCourse, RageColor color )
{
m_WheelItemType = wit;
m_Type = wit;
m_pSong = pSong;
m_sSectionName = sSectionName;
m_pCourse = pCourse;
@@ -52,7 +53,7 @@ WheelItemData::WheelItemData( WheelItemType wit, Song* pSong, const CString &sSe
}
WheelItemDisplay::WheelItemDisplay()
MusicWheelItem::MusicWheelItem()
{
data = NULL;
@@ -96,7 +97,7 @@ WheelItemDisplay::WheelItemDisplay()
}
void WheelItemDisplay::LoadFromWheelItemData( WheelItemData* pWID )
void MusicWheelItem::LoadFromWheelItemData( WheelItemData* pWID )
{
ASSERT( pWID != NULL );
@@ -105,7 +106,7 @@ void WheelItemDisplay::LoadFromWheelItemData( WheelItemData* pWID )
data = pWID;
/*
// copy all data items
this->m_WheelItemType = pWID->m_WheelItemType;
this->m_Type = pWID->m_Type;
this->m_sSectionName = pWID->m_sSectionName;
this->m_pCourse = pWID->m_pCourse;
this->m_pSong = pWID->m_pSong;
@@ -114,14 +115,14 @@ void WheelItemDisplay::LoadFromWheelItemData( WheelItemData* pWID )
// init type specific stuff
switch( pWID->m_WheelItemType )
switch( pWID->m_Type )
{
case TYPE_SECTION:
case TYPE_COURSE:
{
CString sDisplayName;
BitmapText *bt;
if(pWID->m_WheelItemType == TYPE_SECTION)
if(pWID->m_Type == TYPE_SECTION)
{
sDisplayName = SONGMAN->ShortenGroupName(data->m_sSectionName);
bt = &m_textSectionName;
@@ -163,7 +164,7 @@ void WheelItemDisplay::LoadFromWheelItemData( WheelItemData* pWID )
}
}
void WheelItemDisplay::RefreshGrades()
void MusicWheelItem::RefreshGrades()
{
// Refresh Grades
for( int p=0; p<NUM_PLAYERS; p++ )
@@ -188,11 +189,11 @@ void WheelItemDisplay::RefreshGrades()
}
void WheelItemDisplay::Update( float fDeltaTime )
void MusicWheelItem::Update( float fDeltaTime )
{
Actor::Update( fDeltaTime );
switch( data->m_WheelItemType )
switch( data->m_Type )
{
case TYPE_SECTION:
m_sprSectionBar.Update( fDeltaTime );
@@ -221,10 +222,10 @@ void WheelItemDisplay::Update( float fDeltaTime )
}
}
void WheelItemDisplay::DrawPrimitives()
void MusicWheelItem::DrawPrimitives()
{
Sprite *bar = NULL;
switch( data->m_WheelItemType )
switch( data->m_Type )
{
case TYPE_SECTION:
case TYPE_ROULETTE:
@@ -236,7 +237,7 @@ void WheelItemDisplay::DrawPrimitives()
bar->Draw();
switch( data->m_WheelItemType )
switch( data->m_Type )
{
case TYPE_SECTION:
m_textSectionName.Draw();
+24 -19
View File
@@ -11,30 +11,20 @@
-----------------------------------------------------------------------------
*/
#include "ActorFrame.h"
#include "GradeDisplay.h"
#include "BitmapText.h"
#include "WheelNotifyIcon.h"
#include "TextBanner.h"
class Course;
class Song;
struct WheelItemData;
enum WheelItemType { TYPE_SECTION, TYPE_SONG, TYPE_ROULETTE, TYPE_RANDOM, TYPE_COURSE };
struct WheelItemData
class MusicWheelItem : public ActorFrame
{
public:
WheelItemData() {}
WheelItemData( WheelItemType wit, Song* pSong, const CString &sSectionName, Course* pCourse, const RageColor color );
WheelItemType m_WheelItemType;
CString m_sSectionName;
Course* m_pCourse;
Song* m_pSong;
RageColor m_color; // either text color or section background color
WheelNotifyIcon::Flags m_Flags;
};
class WheelItemDisplay: public ActorFrame
{
public:
WheelItemDisplay();
MusicWheelItem();
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
@@ -62,4 +52,19 @@ public:
BitmapText m_textCourse;
};
enum WheelItemType { TYPE_SECTION, TYPE_SONG, TYPE_ROULETTE, TYPE_RANDOM, TYPE_COURSE };
struct WheelItemData
{
WheelItemData() {}
WheelItemData( WheelItemType wit, Song* pSong, CString sSectionName, Course* pCourse, RageColor color );
WheelItemType m_Type;
CString m_sSectionName;
Course* m_pCourse;
Song* m_pSong;
RageColor m_color; // either text color or section background color
WheelNotifyIcon::Flags m_Flags;
};
#endif
+1 -1
View File
@@ -201,7 +201,7 @@ void ScreenSelectCourse::Input( const DeviceInput& DeviceI, InputEventType type,
{
if( type != IET_FIRST_PRESS ) return;
PREFSMAN->m_bShowTranslations ^= 1;
m_MusicWheel.RebuildWheelItemDisplays();
m_MusicWheel.RebuildMusicWheelItems();
Course* pCourse = m_MusicWheel.GetSelectedCourse();
if(pCourse)
m_CourseContentsFrame.SetFromCourse( pCourse );
+1 -1
View File
@@ -340,7 +340,7 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, InputEventType type,
{
if( type != IET_FIRST_PRESS ) return;
PREFSMAN->m_bShowTranslations ^= 1;
m_MusicWheel.RebuildWheelItemDisplays();
m_MusicWheel.RebuildMusicWheelItems();
return;
}