working on perspective stuff for tilted menu items
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -424,10 +424,16 @@ AutogenIconP2X=272
|
||||
AutogenIconP2Y=248
|
||||
AutogenIconP2OnCommand=zoomy,0;linear,0.5;zoomy,1
|
||||
AutogenIconP2OffCommand=linear,0.5;zoomy,0
|
||||
ShowRadar=1
|
||||
RadarX=160
|
||||
RadarY=334
|
||||
RadarOnCommand=
|
||||
RadarOffCommand=
|
||||
ShowGraph=0
|
||||
GraphX=160
|
||||
GraphY=334
|
||||
GraphOnCommand=
|
||||
GraphOffCommand=
|
||||
SortIconX=350
|
||||
SortIconY=70
|
||||
SortIconOnCommand=zoomy,0;linear,0.5;zoomy,1
|
||||
@@ -1520,6 +1526,27 @@ Label4OffsetY=66
|
||||
Label5OffsetX=120 // chaos
|
||||
Label5OffsetY=-20
|
||||
|
||||
[GrooveGraph]
|
||||
EdgeWidth=
|
||||
BeginnerColor=
|
||||
EasyColor=
|
||||
MediumColor=
|
||||
HardColor=
|
||||
ChallengeColor=
|
||||
ShowStream=
|
||||
ShowVoltage=
|
||||
ShowAir=
|
||||
ShowFreeze=
|
||||
ShowChaos=
|
||||
StreamX=
|
||||
VoltageX=
|
||||
AirX=
|
||||
FreezeX=
|
||||
ChaosX=
|
||||
MountainsBaseY=
|
||||
MountainWidth=
|
||||
MountainHeight=
|
||||
|
||||
[OptionIcon]
|
||||
TextOffsetX=0
|
||||
TextOffsetY=0
|
||||
|
||||
@@ -30,7 +30,7 @@ const float GRAPH_EDGE_WIDTH = 2;
|
||||
#define DIFFICULTY_COLORS(dc) THEME->GetMetricC("GrooveGraph",Capitalize(DifficultyToString(dc))+"Color")
|
||||
#define SHOW_CATEGORY(cat) THEME->GetMetricB("GrooveGraph","Show"+Capitalize(CategoryToString(cat)))
|
||||
#define CATEGORY_X(cat) THEME->GetMetricF("GrooveGraph",Capitalize(CategoryToString(cat))+"X")
|
||||
#define MOUNTAINS_Y THEME->GetMetricF("GrooveGraph","MountainsY")
|
||||
#define MOUNTAINS_BASE_Y THEME->GetMetricF("GrooveGraph","MountainsBaseY")
|
||||
CachedThemeMetricF MOUNTAIN_WIDTH ("GrooveGraph","MountainWidth");
|
||||
CachedThemeMetricF MOUNTAIN_HEIGHT ("GrooveGraph","MountainHeight");
|
||||
|
||||
@@ -51,7 +51,7 @@ GrooveGraph::GrooveGraph()
|
||||
if( !SHOW_CATEGORY((RadarCategory)c) )
|
||||
continue;
|
||||
|
||||
m_Mountains[c].SetXY( CATEGORY_X((RadarCategory)c), MOUNTAINS_Y );
|
||||
m_Mountains[c].SetXY( CATEGORY_X((RadarCategory)c), MOUNTAINS_BASE_Y );
|
||||
this->AddChild( &m_Mountains[c] );
|
||||
}
|
||||
}
|
||||
@@ -126,9 +126,9 @@ void GrooveGraph::Mountain::DrawPrimitives()
|
||||
{
|
||||
float fValue = SCALE(m_fPercentTowardNew, 0.f, 1.f, m_fValuesOld[i], m_fValuesNew[i] );
|
||||
float fHeight = MOUNTAIN_HEIGHT*fValue;
|
||||
v[0].p = RageVector3( -MOUNTAIN_WIDTH/2, MOUNTAIN_HEIGHT/2, 0 );
|
||||
v[1].p = RageVector3( MOUNTAIN_WIDTH/2, MOUNTAIN_HEIGHT/2, 0 );
|
||||
v[2].p = RageVector3( 0, (MOUNTAIN_HEIGHT/2)-fHeight, 0 );
|
||||
v[0].p = RageVector3( -MOUNTAIN_WIDTH/2, 0, 0 );
|
||||
v[1].p = RageVector3( MOUNTAIN_WIDTH/2, 0, 0 );
|
||||
v[2].p = RageVector3( 0, -fHeight, 0 );
|
||||
v[0].c = v[1].c = v[2].c = g_DifficultyColorsCache[i];
|
||||
DISPLAY->DrawFan( v, 3 );
|
||||
}
|
||||
|
||||
@@ -528,6 +528,8 @@ void MusicWheel::GetItemPosition( float fPosOffsetsFromMiddle, float& fX_out, fl
|
||||
fX_out = 0;
|
||||
fY_out = -radius*sinf(fRotationX_out);
|
||||
fZ_out = -100+radius*cosf(fRotationX_out); // getting werid results with acosf()
|
||||
|
||||
fRotationX_out *= 180.f/PI; // to degrees
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -586,61 +588,71 @@ void MusicWheel::DrawPrimitives()
|
||||
{
|
||||
if( USE_3D )
|
||||
{
|
||||
DISPLAY->PushMatrix();
|
||||
DISPLAY->EnterPerspective(45, false);
|
||||
// DISPLAY->PushMatrix();
|
||||
// DISPLAY->EnterPerspective(45, false);
|
||||
|
||||
// construct view and project matrix
|
||||
RageVector3 Up( 0.0f, 1.0f, 0.0f );
|
||||
RageVector3 Eye( CENTER_X, CENTER_Y, 550 );
|
||||
RageVector3 At( CENTER_X, CENTER_Y, 0 );
|
||||
// RageVector3 Up( 0.0f, 1.0f, 0.0f );
|
||||
// RageVector3 Eye( CENTER_X, CENTER_Y, 550 );
|
||||
// RageVector3 At( CENTER_X, CENTER_Y, 0 );
|
||||
|
||||
DISPLAY->LookAt(Eye, At, Up);
|
||||
// DISPLAY->LookAt(Eye, At, Up);
|
||||
}
|
||||
|
||||
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
||||
{
|
||||
MusicWheelItem& display = m_MusicWheelItems[i];
|
||||
// draw outside->inside
|
||||
int i;
|
||||
for( i=0; i<NUM_WHEEL_ITEMS/2; i++ )
|
||||
DrawItem( i );
|
||||
for( i=NUM_WHEEL_ITEMS-1; i>=NUM_WHEEL_ITEMS/2; i-- )
|
||||
DrawItem( i );
|
||||
|
||||
switch( m_WheelState )
|
||||
{
|
||||
case STATE_SELECTING_MUSIC:
|
||||
case STATE_ROULETTE_SPINNING:
|
||||
case STATE_ROULETTE_SLOWING_DOWN:
|
||||
case STATE_RANDOM_SPINNING:
|
||||
case STATE_LOCKED:
|
||||
{
|
||||
float fThisBannerPositionOffsetFromSelection = i - NUM_WHEEL_ITEMS/2 + m_fPositionOffsetFromSelection;
|
||||
|
||||
float fX, fY, fZ, fRotationX;
|
||||
GetItemPosition( fThisBannerPositionOffsetFromSelection, fX, fY, fZ, fRotationX );
|
||||
|
||||
if( fY < -SCREEN_HEIGHT/2 || fY > SCREEN_HEIGHT/2 )
|
||||
continue; // skip
|
||||
|
||||
display.SetXY( fX, fY );
|
||||
display.SetZ( fZ );
|
||||
display.SetRotationX( fRotationX );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if( m_WheelState == STATE_LOCKED && i != NUM_WHEEL_ITEMS/2 )
|
||||
display.m_fPercentGray = 0.5f;
|
||||
else
|
||||
display.m_fPercentGray = 0;
|
||||
|
||||
display.Draw();
|
||||
}
|
||||
|
||||
ActorFrame::DrawPrimitives();
|
||||
|
||||
if( USE_3D )
|
||||
{
|
||||
DISPLAY->ExitPerspective();
|
||||
DISPLAY->PopMatrix();
|
||||
// DISPLAY->ExitPerspective();
|
||||
// DISPLAY->PopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MusicWheel::DrawItem( int i )
|
||||
{
|
||||
MusicWheelItem& display = m_MusicWheelItems[i];
|
||||
|
||||
switch( m_WheelState )
|
||||
{
|
||||
case STATE_SELECTING_MUSIC:
|
||||
case STATE_ROULETTE_SPINNING:
|
||||
case STATE_ROULETTE_SLOWING_DOWN:
|
||||
case STATE_RANDOM_SPINNING:
|
||||
case STATE_LOCKED:
|
||||
{
|
||||
float fThisBannerPositionOffsetFromSelection = i - NUM_WHEEL_ITEMS/2 + m_fPositionOffsetFromSelection;
|
||||
|
||||
float fX, fY, fZ, fRotationX;
|
||||
GetItemPosition( fThisBannerPositionOffsetFromSelection, fX, fY, fZ, fRotationX );
|
||||
|
||||
// if( fY < -SCREEN_HEIGHT/2 || fY > SCREEN_HEIGHT/2 )
|
||||
// continue; // skip
|
||||
|
||||
display.SetXY( fX, fY );
|
||||
display.SetZ( fZ );
|
||||
display.SetRotationX( fRotationX );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if( m_WheelState == STATE_LOCKED && i != NUM_WHEEL_ITEMS/2 )
|
||||
display.m_fPercentGray = 0.5f;
|
||||
else
|
||||
display.m_fPercentGray = 0;
|
||||
|
||||
display.Draw();
|
||||
}
|
||||
|
||||
|
||||
void MusicWheel::UpdateScrollbar()
|
||||
{
|
||||
int total_num_items = m_CurWheelItemData.size();
|
||||
|
||||
@@ -44,6 +44,7 @@ public:
|
||||
|
||||
virtual void Update( float fDeltaTime );
|
||||
virtual void DrawPrimitives();
|
||||
void DrawItem( int index );
|
||||
|
||||
virtual void TweenOnScreen(bool changing_sort);
|
||||
virtual void TweenOffScreen(bool changing_sort);
|
||||
|
||||
@@ -69,6 +69,7 @@ const CreditLine CREDIT_LINES[] =
|
||||
{0,"Redcrusher (Michael Curry)"},
|
||||
{0,"Steve 'healing_vision' Klise"},
|
||||
{0,"Mauro Panichella"},
|
||||
{0,"Griever (Julian)"},
|
||||
{0,""},
|
||||
{0,""},
|
||||
{0,""},
|
||||
|
||||
@@ -360,7 +360,6 @@ RageColor ThemeManager::GetMetricC( CString sClassName, CString sValueName )
|
||||
if( result != 4 )
|
||||
{
|
||||
LOG->Warn( "The color value '%s' for NoteSkin metric '%s : %s' is invalid.", GetMetricRaw(sClassName,sValueName).GetString(), sClassName.GetString(), sValueName.GetString() );
|
||||
ASSERT(0);
|
||||
}
|
||||
|
||||
return RageColor(r,g,b,a);
|
||||
|
||||
Reference in New Issue
Block a user