Remove unused headers

Reorganize portions of code for easier reuse
This commit is contained in:
Josh Allen
2005-04-24 05:52:35 +00:00
parent 12caf40f7f
commit 2369bd337c
2 changed files with 65 additions and 72 deletions
+55 -56
View File
@@ -1,7 +1,6 @@
#include "global.h"
#include "WheelBase.h"
#include "RageUtil.h"
#include "SongManager.h"
#include "GameManager.h"
#include "PrefsManager.h"
#include "ScreenManager.h" // for sending SM_PlayMusicSample
@@ -10,23 +9,13 @@
#include "GameState.h"
#include "RageMath.h"
#include "ThemeManager.h"
#include "song.h"
#include "Course.h"
#include "RageDisplay.h"
#include "RageTextureManager.h"
#include "Banner.h"
#include "Steps.h"
#include "UnlockManager.h"
#include "GameCommand.h"
#include "ActorUtil.h"
#include "SongUtil.h"
#include "CourseUtil.h"
#include "Foreach.h"
#include "Style.h"
#include "ThemeMetric.h"
#include "PlayerState.h"
#include "ScreenDimensions.h"
#include "RageUtil.h"
#define NUM_WHEEL_ITEMS ((int)ceil(NUM_WHEEL_ITEMS_TO_DRAW+2))
@@ -56,37 +45,10 @@ WheelBase::~WheelBase()
void WheelBase::Load( CString sType )
{
m_isEmpty = true;
LOG->Trace( "MusicWheel::Load('%s')", sType.c_str() );
LOG->Trace( "WheelBase::Load('%s')", sType.c_str() );
SWITCH_SECONDS .Load(sType,"SwitchSeconds");
ROULETTE_SWITCH_SECONDS .Load(sType,"RouletteSwitchSeconds");
ROULETTE_SLOW_DOWN_SWITCHES .Load(sType,"RouletteSlowDownSwitches");
LOCKED_INITIAL_VELOCITY .Load(sType,"LockedInitialVelocity");
SCROLL_BAR_X .Load(sType,"ScrollBarX");
SCROLL_BAR_HEIGHT .Load(sType,"ScrollBarHeight");
ITEM_CURVE_X .Load(sType,"ItemCurveX");
USE_LINEAR_WHEEL .Load(sType,"NoCurving");
ITEM_SPACING_Y .Load(sType,"ItemSpacingY");
WHEEL_3D_RADIUS .Load(sType,"Wheel3DRadius");
CIRCLE_PERCENT .Load(sType,"CirclePercent");
NUM_SECTION_COLORS .Load(sType,"NumSectionColors");
SONG_REAL_EXTRA_COLOR .Load(sType,"SongRealExtraColor");
SORT_MENU_COLOR .Load(sType,"SortMenuColor");
SHOW_ROULETTE .Load(sType,"ShowRoulette");
SHOW_RANDOM .Load(sType,"ShowRandom");
SHOW_PORTAL .Load(sType,"ShowPortal");
USE_3D .Load(sType,"Use3D");
NUM_WHEEL_ITEMS_TO_DRAW .Load(sType,"NumWheelItems");
MOST_PLAYED_SONGS_TO_SHOW .Load(sType,"MostPlayedSongsToShow");
MODE_MENU_CHOICE_NAMES .Load(sType,"ModeMenuChoiceNames");
vector<CString> vsModeChoiceNames;
split( MODE_MENU_CHOICE_NAMES, ",", vsModeChoiceNames );
CHOICE .Load(sType,CHOICE_NAME,vsModeChoiceNames);
WHEEL_ITEM_ON_DELAY_CENTER .Load(sType,"WheelItemOnDelayCenter");
WHEEL_ITEM_ON_DELAY_OFFSET .Load(sType,"WheelItemOnDelayOffset");
WHEEL_ITEM_OFF_DELAY_CENTER .Load(sType,"WheelItemOffDelayCenter");
WHEEL_ITEM_OFF_DELAY_OFFSET .Load(sType,"WheelItemOffDelayOffset");
LoadFromMetrics( sType );
LoadVariables();
// SECTION_COLORS .Load(sType,SECTION_COLORS_NAME,NUM_SECTION_COLORS);
FOREACH( WheelItemBase*, m_WheelBaseItems, i )
@@ -97,7 +59,32 @@ void WheelBase::Load( CString sType )
m_WheelBaseItems.push_back( new WheelItemBase );
}
m_LastSelection = NULL;
m_WheelState = STATE_SELECTING_GENERIC;
BuildWheelItemsData(m_WheelBaseItemsData);
RebuildWheelItems();
}
void WheelBase::LoadFromMetrics( CString sType ) {
SWITCH_SECONDS .Load(sType,"SwitchSeconds");
LOCKED_INITIAL_VELOCITY .Load(sType,"LockedInitialVelocity");
SCROLL_BAR_X .Load(sType,"ScrollBarX");
SCROLL_BAR_HEIGHT .Load(sType,"ScrollBarHeight");
ITEM_CURVE_X .Load(sType,"ItemCurveX");
USE_LINEAR_WHEEL .Load(sType,"NoCurving");
ITEM_SPACING_Y .Load(sType,"ItemSpacingY");
WHEEL_3D_RADIUS .Load(sType,"Wheel3DRadius");
CIRCLE_PERCENT .Load(sType,"CirclePercent");
USE_3D .Load(sType,"Use3D");
NUM_WHEEL_ITEMS_TO_DRAW .Load(sType,"NumWheelItems");
WHEEL_ITEM_ON_DELAY_CENTER .Load(sType,"WheelItemOnDelayCenter");
WHEEL_ITEM_ON_DELAY_OFFSET .Load(sType,"WheelItemOnDelayOffset");
WHEEL_ITEM_OFF_DELAY_CENTER .Load(sType,"WheelItemOffDelayCenter");
WHEEL_ITEM_OFF_DELAY_OFFSET .Load(sType,"WheelItemOffDelayOffset");
m_soundChangeMusic.Load( THEME->GetPathS(sType,"change"), true );
m_soundLocked.Load( THEME->GetPathS(sType,"locked"), true );
m_sprHighlight.Load( THEME->GetPathG(sType,"highlight") );
m_sprHighlight->SetName( "Highlight" );
@@ -107,21 +94,16 @@ void WheelBase::Load( CString sType )
m_ScrollBar.SetX( SCROLL_BAR_X );
m_ScrollBar.SetBarHeight( SCROLL_BAR_HEIGHT );
this->AddChild( &m_ScrollBar );
}
m_soundChangeMusic.Load( THEME->GetPathS(sType,"change"), true );
m_soundLocked.Load( THEME->GetPathS(sType,"locked"), true );
void WheelBase::LoadVariables() {
m_isEmpty = true;
m_LastSelection = NULL;
m_iSelection = 0;
m_WheelState = STATE_SELECTING_GENERIC;
m_fTimeLeftInState = 0;
m_fPositionOffsetFromSelection = 0;
m_iSwitchesLeftInSpinDown = 0;
m_Moving = 0;
BuildWheelItemsData(m_WheelBaseItemsData);
RebuildWheelItems();
}
void WheelBase::GetItemPosition( float fPosOffsetsFromMiddle, float& fX_out, float& fY_out, float& fZ_out, float& fRotationX_out )
@@ -267,7 +249,9 @@ void WheelBase::Update( float fDeltaTime )
{
m_WheelBaseItems[i]->Update( fDeltaTime );
}
/*
//Moved to CommonUpdateProcedure, seems to work fine
//Revert if it happens to break something
UpdateScrollbar();
if( m_Moving )
@@ -275,7 +259,7 @@ void WheelBase::Update( float fDeltaTime )
m_TimeBeforeMovingBegins -= fDeltaTime;
m_TimeBeforeMovingBegins = max(m_TimeBeforeMovingBegins, 0);
}
*/
// update wheel state
m_fTimeLeftInState -= fDeltaTime;
if( m_fTimeLeftInState <= 0 ) // time to go to a new state
@@ -312,6 +296,21 @@ void WheelBase::Update( float fDeltaTime )
}
}
CommonUpdateProcedure(fDeltaTime);
}
void WheelBase::CommonUpdateProcedure(float fDeltaTime) {
//This bit of code now happens after it's normal execution, but it seems to work fine.
UpdateScrollbar();
if( m_Moving )
{
m_TimeBeforeMovingBegins -= fDeltaTime;
m_TimeBeforeMovingBegins = max(m_TimeBeforeMovingBegins, 0);
}
//The following code is just fine here.
if( m_WheelState == STATE_LOCKED )
{
/* Do this in at most .1 sec chunks, so we don't get weird if we
@@ -402,7 +401,7 @@ bool WheelBase::Select() // return true if this selection ends the screen
case TYPE_GENERIC:
m_LastSelection = m_WheelBaseItemsData[m_iSelection];
return false;
case TYPE_GROUP:
case TYPE_SECTION:
{
CString sThisItemSectionName = m_WheelBaseItemsData[m_iSelection]->m_sText;
if( m_sExpandedSectionName == sThisItemSectionName ) // already expanded
@@ -558,7 +557,7 @@ void WheelBase::Move(int n)
/* Make sure the user always gets an SM_SongChanged when
* Moving() is 0, so the final banner, etc. always gets set. */
SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
// SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
}
m_TimeBeforeMovingBegins = 1/4.0f;
@@ -600,7 +599,7 @@ void WheelBase::ChangeMusic(int dist)
m_fPositionOffsetFromSelection += dist;
SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
// SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
/* If we're moving automatically, don't play this; it'll be called in Update. */
if(!IsMoving())
+10 -16
View File
@@ -6,17 +6,14 @@
#include "AutoActor.h"
#include "ActorFrame.h"
#include "RageSound.h"
#include "RandomSample.h"
#include "GameConstantsAndTypes.h"
#include "MusicSortDisplay.h"
#include "ScreenMessage.h"
#include "ScoreDisplayNormal.h"
#include "ScrollBar.h"
#include "RageTimer.h"
#include "WheelItemBase.h"
#include "ThemeMetric.h"
AutoScreenMessage( SM_SongChanged ); // TODO: Replace this with a Message and MESSAGEMAN
//AutoScreenMessage( SM_SongChanged ); // TODO: Replace this with a Message and MESSAGEMAN
//struct CompareSongPointerArrayBySectionName;
@@ -37,7 +34,7 @@ public:
virtual void TweenOffScreen() { TweenOffScreen(false); }
void Move(int n);
void ChangeMusic(int dist); /* +1 or -1 */
virtual void ChangeMusic(int dist); /* +1 or -1 */
/* Return true if we're moving fast automatically. */
int IsMoving() const;
@@ -56,6 +53,10 @@ public:
WheelItemBaseData* LastSelected();
protected:
virtual void LoadFromMetrics( CString sType );
void LoadVariables();
void CommonUpdateProcedure(float fDeltaTime);
virtual void BuildWheelItemsData( vector<WheelItemBaseData *> &arrayWheelItemDatas );
// bool SelectModeMenuItem();
int FirstVisibleIndex();
@@ -81,11 +82,15 @@ protected:
float m_SpinSpeed;
enum WheelState {
STATE_SELECTING_GENERIC,
STATE_SELECTING_MUSIC,
STATE_FLYING_OFF_BEFORE_NEXT_SORT,
STATE_FLYING_ON_AFTER_NEXT_SORT,
STATE_TWEENING_ON_SCREEN,
STATE_TWEENING_OFF_SCREEN,
STATE_WAITING_OFF_SCREEN,
STATE_ROULETTE_SPINNING,
STATE_ROULETTE_SLOWING_DOWN,
STATE_RANDOM_SPINNING,
STATE_LOCKED,
};
WheelState m_WheelState;
@@ -100,8 +105,6 @@ protected:
void UpdateScrollbar();
ThemeMetric<float> SWITCH_SECONDS;
ThemeMetric<float> ROULETTE_SWITCH_SECONDS;
ThemeMetric<int> ROULETTE_SLOW_DOWN_SWITCHES;
ThemeMetric<float> LOCKED_INITIAL_VELOCITY;
ThemeMetric<float> SCROLL_BAR_X;
ThemeMetric<int> SCROLL_BAR_HEIGHT;
@@ -110,17 +113,8 @@ protected:
ThemeMetric<float> ITEM_SPACING_Y;
ThemeMetric<float> WHEEL_3D_RADIUS;
ThemeMetric<float> CIRCLE_PERCENT;
ThemeMetric<int> NUM_SECTION_COLORS;
ThemeMetric<RageColor> SONG_REAL_EXTRA_COLOR;
ThemeMetric<RageColor> SORT_MENU_COLOR;
ThemeMetric<bool> SHOW_ROULETTE;
ThemeMetric<bool> SHOW_RANDOM;
ThemeMetric<bool> SHOW_PORTAL;
ThemeMetric<bool> USE_3D;
ThemeMetric<float> NUM_WHEEL_ITEMS_TO_DRAW;
ThemeMetric<int> MOST_PLAYED_SONGS_TO_SHOW;
ThemeMetric<CString> MODE_MENU_CHOICE_NAMES;
ThemeMetricMap<CString> CHOICE;
ThemeMetric<float> WHEEL_ITEM_ON_DELAY_CENTER;
ThemeMetric<float> WHEEL_ITEM_ON_DELAY_OFFSET;
ThemeMetric<float> WHEEL_ITEM_OFF_DELAY_CENTER;