From 1dd374f53f48f0cb3db5ac9c84e124aa290fa481 Mon Sep 17 00:00:00 2001 From: Andrew Livy Date: Tue, 28 Apr 2009 21:44:03 +0000 Subject: [PATCH] Include the index of which a wheel item was drawn as a parameter for additional control when scripting themes via lua. --- stepmania/src/MusicWheelItem.cpp | 6 ++++-- stepmania/src/MusicWheelItem.h | 2 +- stepmania/src/RoomWheel.cpp | 6 +++--- stepmania/src/RoomWheel.h | 2 +- stepmania/src/WheelBase.cpp | 2 +- stepmania/src/WheelItemBase.cpp | 2 +- stepmania/src/WheelItemBase.h | 2 +- 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index 95f3bb4ea1..8aab4060e4 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -153,9 +153,9 @@ MusicWheelItem::~MusicWheelItem() { } -void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int iIndex, bool bHasFocus ) +void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int iIndex, bool bHasFocus, int iDrawIndex ) { - WheelItemBase::LoadFromWheelItemData( pData, iIndex, bHasFocus ); + WheelItemBase::LoadFromWheelItemData( pData, iIndex, bHasFocus, iDrawIndex ); const MusicWheelItemData *pWID = dynamic_cast( pData ); @@ -264,6 +264,8 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int msg.SetParam( "Index", iIndex ); msg.SetParam( "HasFocus", bHasFocus ); msg.SetParam( "SongGroup", pWID->m_sText ); + msg.SetParam( "DrawIndex", iDrawIndex ); + this->HandleMessage( msg ); } } diff --git a/stepmania/src/MusicWheelItem.h b/stepmania/src/MusicWheelItem.h index da8e237e6a..85a33b8320 100644 --- a/stepmania/src/MusicWheelItem.h +++ b/stepmania/src/MusicWheelItem.h @@ -40,7 +40,7 @@ public: virtual ~MusicWheelItem(); virtual MusicWheelItem *Copy() const { return new MusicWheelItem(*this); } - virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus ); + virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus, int iDrawIndex ); virtual void HandleMessage( const Message &msg ); void RefreshGrades(); diff --git a/stepmania/src/RoomWheel.cpp b/stepmania/src/RoomWheel.cpp index 1e1f4ad105..fce0ffde19 100644 --- a/stepmania/src/RoomWheel.cpp +++ b/stepmania/src/RoomWheel.cpp @@ -174,15 +174,15 @@ bool RoomWheel::Select() return false; } -void RoomWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pWID, int iIndex, bool bHasFocus ) +void RoomWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pWID, int iIndex, bool bHasFocus, int iDrawIndex ) { - WheelItemBase::LoadFromWheelItemData( pWID, iIndex, bHasFocus ); + WheelItemBase::LoadFromWheelItemData( pWID, iIndex, bHasFocus, iDrawIndex ); m_text.SetText( pWID->m_sText ); m_text.SetDiffuseColor( pWID->m_color ); const RoomWheelItemData *tmpdata = dynamic_cast( pWID ); - WheelItemBase::LoadFromWheelItemData( pWID, iIndex, bHasFocus ); + WheelItemBase::LoadFromWheelItemData( pWID, iIndex, bHasFocus, iDrawIndex ); m_Desc.SetText( tmpdata->m_sDesc ); m_Desc.SetDiffuseColor( pWID->m_color ); } diff --git a/stepmania/src/RoomWheel.h b/stepmania/src/RoomWheel.h index c275748711..7ae41710d8 100644 --- a/stepmania/src/RoomWheel.h +++ b/stepmania/src/RoomWheel.h @@ -24,7 +24,7 @@ public: RoomWheelItem( const RoomWheelItem &cpy ); void Load( RString sType ); - virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus ); + virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus, int iDrawIndex ); virtual RoomWheelItem *Copy() const { return new RoomWheelItem(*this); } private: diff --git a/stepmania/src/WheelBase.cpp b/stepmania/src/WheelBase.cpp index 24d75208c2..ed75eb7e20 100644 --- a/stepmania/src/WheelBase.cpp +++ b/stepmania/src/WheelBase.cpp @@ -481,7 +481,7 @@ void WheelBase::RebuildWheelItems( int iDist ) wrap( iIndex, data.size() ); const WheelItemBaseData *pData = data[iIndex]; WheelItemBase *pDisplay = items[i]; - pDisplay->LoadFromWheelItemData( pData, iIndex, m_iSelection==iIndex ); + pDisplay->LoadFromWheelItemData( pData, iIndex, m_iSelection==iIndex, i ); } } diff --git a/stepmania/src/WheelItemBase.cpp b/stepmania/src/WheelItemBase.cpp index 3aae72d528..7c852adee5 100644 --- a/stepmania/src/WheelItemBase.cpp +++ b/stepmania/src/WheelItemBase.cpp @@ -32,7 +32,7 @@ void WheelItemBase::Load( RString sType ) m_colorLocked = RageColor(0,0,0,0); } -void WheelItemBase::LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus ) +void WheelItemBase::LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus, int iDrawIndex ) { ASSERT( pWID != NULL ); m_pData = pWID; diff --git a/stepmania/src/WheelItemBase.h b/stepmania/src/WheelItemBase.h index ee11804e41..7b68bd21bb 100644 --- a/stepmania/src/WheelItemBase.h +++ b/stepmania/src/WheelItemBase.h @@ -45,7 +45,7 @@ public: void DrawGrayBar( Actor& bar ); void SetExpanded( bool bExpanded ) { m_bExpanded = bExpanded; } - virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus ); + virtual void LoadFromWheelItemData( const WheelItemBaseData* pWID, int iIndex, bool bHasFocus, int iDrawIndex ); RageColor m_colorLocked;