Thrown together Initial working implementation of pack.ini

# Conflicts:
#	src/MusicWheel.cpp
This commit is contained in:
Crash Cringle
2025-03-03 23:25:32 -08:00
committed by teejusb
parent 239d38d5aa
commit 5e6f3378a8
9 changed files with 280 additions and 32 deletions
+24 -4
View File
@@ -34,10 +34,10 @@ static const char *MusicWheelItemTypeNames[] = {
XToString( MusicWheelItemType );
MusicWheelItemData::MusicWheelItemData( WheelItemDataType type, Song* pSong,
RString sSectionName, Course* pCourse,
RString sSectionName, Course* pCourse, Pack* pPack,
RageColor color, int iSectionCount ):
WheelItemBaseData(type, sSectionName, color),
m_pCourse(pCourse), m_pSong(pSong), m_Flags(WheelNotifyIcon::Flags()),
m_pCourse(pCourse), m_pSong(pSong), m_pPack(pPack), m_Flags(WheelNotifyIcon::Flags()),
m_iSectionCount(iSectionCount), m_sLabel(""), m_pAction() {}
MusicWheelItem::MusicWheelItem( RString sType ):
@@ -209,6 +209,7 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int
{
DEFAULT_FAIL( pWID->m_Type );
case WheelItemDataType_Song:
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - Song" );
type = MusicWheelItemType_Song;
m_TextBanner.SetFromSong( pWID->m_pSong );
@@ -222,15 +223,33 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int
break;
case WheelItemDataType_Section:
{
sDisplayName = SONGMAN->ShortenGroupName(pWID->m_sText);
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - Section" );
if ( pWID->m_pPack == nullptr ) {
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - Section with no pack" );
sDisplayName = SONGMAN->ShortenGroupName(pWID->m_sText);
}
else {
if ( pWID->m_pPack->m_sDisplayTitle == "" ) {
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - Section with no display title" );
}
// Log everything about the wheel
LOG->Trace( "Pack Display Title: %s", pWID->m_pPack->m_sDisplayTitle.c_str() );
LOG->Trace( "Pack Sort Title: %s", pWID->m_pPack->m_sSortTitle.c_str() );
LOG->Trace( "Pack Group Name: %s", pWID->m_pPack->m_sGroupName.c_str() );
LOG->Trace( "Pack Has PackIni: %s", pWID->m_pPack->m_bHasPackIni ? "true" : "false" );
sDisplayName = SONGMAN->ShortenGroupName(pWID->m_pPack->m_sDisplayTitle);
LOG->Trace( "Pack Display Title Shortened: %s", sDisplayName.c_str() );
}
if( GAMESTATE->sExpandedSectionName == pWID->m_sText )
type = MusicWheelItemType_SectionExpanded;
else
type = MusicWheelItemType_SectionCollapsed;
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - SectionDone1: %s", sDisplayName.c_str() );
m_pTextSectionCount->SetText( ssprintf("%d",pWID->m_iSectionCount) );
m_pTextSectionCount->SetVisible( true );
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - SectionDone: %s", sDisplayName.c_str() );
}
break;
case WheelItemDataType_Course:
@@ -241,6 +260,7 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int
m_WheelNotifyIcon.SetVisible( true );
break;
case WheelItemDataType_Sort:
LOG->Trace( "MusicWheelItem::LoadFromWheelItemData() - Sort" );
sDisplayName = pWID->m_sLabel;
// hack to get mode items working. -freem
if( pWID->m_pAction->m_pm != PlayMode_Invalid )