diff --git a/stepmania/Themes/default/Graphics/MusicWheelItem grades/default.lua b/stepmania/Themes/default/Graphics/MusicWheelItem grades/default.lua new file mode 100644 index 0000000000..2593c6ce0c --- /dev/null +++ b/stepmania/Themes/default/Graphics/MusicWheelItem grades/default.lua @@ -0,0 +1,51 @@ +-- This actor is duplicated. Upvalues will not be duplicated. + +local grades = { + Grade_Tier01 = 0; + Grade_Tier02 = 1; + Grade_Tier03 = 2; + Grade_Tier04 = 3; + Grade_Tier05 = 4; + Grade_Tier06 = 5; + Grade_Tier07 = 6; + Grade_Failed = 7; +}; + +local t = LoadActor( "grades" ) .. { + InitCommand=cmd(pause); + SetGradeCommand=function(self, params) + local state = grades[params.Grade] or grades.Grade_Tier07; + state = state*2; + + if params.PlayerNumber == PLAYER_2 then + state = state+1; + end + + self:setstate(state); + end; +}; + +return t; + +-- (c) 2007 Glenn Maynard +-- All rights reserved. +-- +-- Permission is hereby granted, free of charge, to any person obtaining a +-- copy of this software and associated documentation files (the +-- "Software"), to deal in the Software without restriction, including +-- without limitation the rights to use, copy, modify, merge, publish, +-- distribute, and/or sell copies of the Software, and to permit persons to +-- whom the Software is furnished to do so, provided that the above +-- copyright notice(s) and this permission notice appear in all copies of +-- the Software and that both the above copyright notice(s) and this +-- permission notice appear in supporting documentation. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +-- THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS +-- INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT +-- OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +-- OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +-- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +-- PERFORMANCE OF THIS SOFTWARE. diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index 0f02d31498..121fc7c75b 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -84,10 +84,8 @@ MusicWheelItem::MusicWheelItem( RString sType ): FOREACH_PlayerNumber( p ) { - m_pGradeDisplay[p] = new GradeDisplay; + m_pGradeDisplay[p].Load( THEME->GetPathG(sType,"grades") ); m_pGradeDisplay[p]->SetName( ssprintf("GradeP%d",int(p+1)) ); - m_pGradeDisplay[p]->Load( THEME->GetPathG(sType,"grades") ); - m_pGradeDisplay[p]->SetZoom( 1.0f ); this->AddChild( m_pGradeDisplay[p] ); LOAD_ALL_COMMANDS_AND_SET_XY( m_pGradeDisplay[p] ); } @@ -130,15 +128,13 @@ MusicWheelItem::MusicWheelItem( const MusicWheelItem &cpy ): FOREACH_PlayerNumber( p ) { - m_pGradeDisplay[p] = new GradeDisplay( *cpy.m_pGradeDisplay[p] ); + m_pGradeDisplay[p] = cpy.m_pGradeDisplay[p]; this->AddChild( m_pGradeDisplay[p] ); } } MusicWheelItem::~MusicWheelItem() { - FOREACH_PlayerNumber( p ) - delete m_pGradeDisplay[p]; } void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pWIBD, int iIndex, bool bHasFocus ) @@ -295,6 +291,7 @@ void MusicWheelItem::RefreshGrades() m_pGradeDisplay[p]->SetVisible( false ); continue; } + m_pGradeDisplay[p]->SetVisible( true ); Difficulty dc; if( GAMESTATE->m_pCurSteps[p] ) @@ -309,7 +306,10 @@ void MusicWheelItem::RefreshGrades() ps = (ProfileSlot)p; Grade g = PROFILEMAN->GetGradeForSteps( data->m_pSong, GAMESTATE->GetCurrentStyle(), ps, dc ); - m_pGradeDisplay[p]->SetGrade( p, g ); + Message msg("SetGrade"); + msg.SetParam( "PlayerNumber", p ); + msg.SetParam( "Grade", g ); + m_pGradeDisplay[p]->HandleMessage( msg ); } } diff --git a/stepmania/src/MusicWheelItem.h b/stepmania/src/MusicWheelItem.h index 28a9240dc1..da0e2667d8 100644 --- a/stepmania/src/MusicWheelItem.h +++ b/stepmania/src/MusicWheelItem.h @@ -4,7 +4,6 @@ #define MUSIC_WHEEL_ITEM_H #include "ActorFrame.h" -#include "GradeDisplay.h" #include "BitmapText.h" #include "WheelNotifyIcon.h" #include "TextBanner.h" @@ -44,7 +43,7 @@ private: BitmapText m_textRoulette; BitmapText m_textCourse; BitmapText m_textSort; - GradeDisplay *m_pGradeDisplay[NUM_PLAYERS]; + AutoActor m_pGradeDisplay[NUM_PLAYERS]; }; struct WheelItemData : public WheelItemBaseData