Added much more scripting and configurability to ScreenSelectDifficultyEX.. See my TODO

This commit is contained in:
Kevin Slaughter
2003-05-02 08:26:43 +00:00
parent c71d8f8c9c
commit b7d51d5b55
3 changed files with 106 additions and 44 deletions
+8 -2
View File
@@ -2,11 +2,17 @@
// Miryokuteki's Todo/Done Record //
////////////////////////////////////
// Last Updated May 1st, 2003
// Last Updated May 2nd, 2003
Todo List:
** Find a way to get the length of a movie being played, so ScreenIntroMovie does not have to have a pre-determined length (I.e: exits when the movie is finished playing)
** Adding support for "BEGINNER HELP".. The thing that has a character showing where to step during the song, only on beginner mode. IE: Replaces the BG with this dynamic image sequence, showing what arrow to hit as it comes up on screen. You can see this in the BG of a DDRExtreme song if you pick "beginner" difficulty.
Done as of 05/02/03:
** Added more scripting to SSDEX, now supporting icon bar/icons/text/pic/info scripting. Having small probs with the highlight bar for each player, scripting-wise. Will work on this later
Done as of 05/01/03:
** Re-coded my ScreenSelectDifficultyEX, to support the icon bar like the arcade does, and added scripting support and much more configuration. Will add even more later tonight.
+55 -15
View File
@@ -294,38 +294,74 @@ CursorP2OffsetXFromPicture=+40
CursorP2OffsetYFromPicture=188
DifficultyIcon1X=50
DifficultyIcon1Y=405
DifficultyIcon1COLOR=1,1,1,1 //white
DifficultyIcon1OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon1ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText1COLOR=1,1,1,1 //white
DifficultyText1OFFCommand=linear,0.3;zoomx,0
DifficultyText1ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon2X=230
DifficultyIcon2Y=405
DifficultyIcon2COLOR=1,1,1,1 //white
DifficultyIcon2OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon2ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText2COLOR=1,1,1,1 //white
DifficultyText2OFFCommand=linear,0.3;zoomx,0
DifficultyText2ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon3X=380
DifficultyIcon3Y=405
DifficultyIcon3COLOR=1,1,1,1 //white
DifficultyIcon3OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon3ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText3COLOR=1,1,1,1 //white
DifficultyText3OFFCommand=linear,0.3;zoomx,0
DifficultyText3ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon4X=540
DifficultyIcon4Y=405
DifficultyIcon4COLOR=1,1,1,1 //white
DifficultyIcon4OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon4ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText4COLOR=1,1,1,1 //white
DifficultyText4OFFCommand=linear,0.3;zoomx,0
DifficultyText4ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon5X=50
DifficultyIcon5Y=435
DifficultyIcon5COLOR=1,0,0,1 //red
DifficultyIcon5OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon5ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText5COLOR=1,0,0,1 //red
DifficultyText5OFFCommand=linear,0.3;zoomx,0
DifficultyText5ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon6X=230
DifficultyIcon6Y=435
DifficultyIcon6COLOR=1,0,0,1 //red
DifficultyIcon6OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon6ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText6COLOR=1,0,0,1 //red
DifficultyText6OFFCommand=linear,0.3;zoomx,0
DifficultyText6ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon7X=380
DifficultyIcon7Y=435
DifficultyIcon7COLOR=1,0,0,1 //red
DifficultyIcon7OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon7ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText7COLOR=1,0,0,1 //red
DifficultyText7OFFCommand=linear,0.3;zoomx,0
DifficultyText7ONCommand=linear,0.3;zoomx,0.5
DifficultyIcon8X=540
DifficultyIcon8Y=435
DifficultyIcon8COLOR=1,0,0,1 //red
DifficultyIcon8OFFCommand=linear,0.3;zoom,3;diffusealpha,0
DifficultyIcon8ONCommand=diffusealpha,0;zoom,3;sleep,0.3;linear,0.3;zoom,1;diffusealpha,1
DifficultyText8COLOR=1,0,0,1 //red
DifficultyText8OFFCommand=linear,0.3;zoomx,0
DifficultyText8ONCommand=linear,0.3;zoomx,0.5
DisabledColor=0.2,0.2,0.2,1
HelpText=Use &LEFT; &RIGHT; to select, then press START
IconBarX=320
IconBarY=420
IconBarOFFCommand=linear,0.5;diffusealpha,0
IconBarONCommand=y,420;x,-320;accelerate,0.3;x,320
InfoP1OFFCommand=sleep,0.15;linear,0.15;zoomy,0
InfoP1ONCommand=zoomy,0;linear,0.15;zoomy,1
InfoXP1=200
InfoYP1=100 //150
InfoYP1=100
InfoP2OFFCommand=sleep,0.15;linear,0.15;zoomy,0
InfoP2ONCommand=zoomy,0;linear,0.15;zoomy,1
InfoXP2=440
InfoYP2=100//150
InfoYP2=100
InitialChoice=0
LockInputSeconds=0.8
LockInputSeconds=0.4
NextScreen1=ScreenSelectGroup
NextScreen2=ScreenSelectGroup
NextScreen3=ScreenSelectGroup
@@ -338,10 +374,14 @@ NextScreenArcade=ScreenSelectGroup
NextScreenOni=ScreenInstructions
NextScreenBattle=ScreenInstructions
NextScreenRave=ScreenInstructions
PictureP1OFFCommand=linear,0.15;zoomy,0
PictureP1ONCommand=zoomy,0;sleep,0.15;linear,0.15;zoomy,1
PictureXP1=200
PictureYP1=245 //295
PictureYP1=245
PictureP2OFFCommand=linear,0.15;zoomy,0
PictureP2ONCommand=zoomy,0;sleep,0.15;linear,0.15;zoomy,1
PictureXP2=440
PictureYP2=245 //295
PictureYP2=245
SleepAfterChoiceSeconds=0.3
SleepAfterTweenOffSeconds=0.8
TimerSeconds=60
+42 -26
View File
@@ -29,15 +29,23 @@
#define ANIMATE_MODE_SWITCH_PICTURE_ON_COMMAND THEME->GetMetric("ScreenSelectDifficultyEX","AnimateModeSwitchPictureONCommand")
#define CURSOR_OFFSET_X_FROM_PICTURE( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("CursorP%dOffsetXFromPicture",p+1))
#define CURSOR_OFFSET_Y_FROM_PICTURE( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("CursorP%dOffsetYFromPicture",p+1))
#define DIFFICULTYICON_OFF_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dOFFCommand",p+1))
#define DIFFICULTYICON_ON_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dONCommand",p+1))
#define DIFFICULTYICON_X( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dX",p+1))
#define DIFFICULTYICON_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dY",p+1))
#define DIFFICULTYICON_COLOR( p ) THEME->GetMetricC("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dCOLOR",p+1))
#define DIFFICULTYTEXT_COLOR( p ) THEME->GetMetricC("ScreenSelectDifficultyEX",ssprintf("DifficultyText%dCOLOR",p+1))
#define DIFFICULTYTEXT_OFF_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("DifficultyText%dOFFCommand",p+1))
#define DIFFICULTYTEXT_ON_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("DifficultyText%dONCommand",p+1))
#define DISABLED_COLOR THEME->GetMetricC("ScreenSelectDifficultyEX","DisabledColor")
#define ICONBAR_X THEME->GetMetricF("ScreenSelectDifficultyEX","IconBarX")
#define ICONBAR_Y THEME->GetMetricF("ScreenSelectDifficultyEX","IconBarY")
#define ICONBAR_OFF_COMMAND THEME->GetMetric("ScreenSelectDifficultyEX","IconBarOFFCommand")
#define ICONBAR_ON_COMMAND THEME->GetMetric("ScreenSelectDifficultyEX","IconBarONCommand")
#define INFO_OFF_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("InfoP%dOFFCommand",p+1))
#define INFO_ON_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("InfoP%dONCommand",p+1))
#define INFO_X( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("InfoXP%d",p+1))
#define INFO_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("InfoYP%d",p+1))
#define LOCK_INPUT_SECONDS THEME->GetMetricF("ScreenSelectDifficultyEX","LockInputSeconds")
#define PICTURE_OFF_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("PictureP%dOFFCommand",p+1))
#define PICTURE_ON_COMMAND( p ) THEME->GetMetric("ScreenSelectDifficultyEX",ssprintf("PictureP%dONCommand",p+1))
#define PICTURE_X( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("PictureXP%d",p+1))
#define PICTURE_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("PictureYP%d",p+1))
#define SLEEP_AFTER_CHOICE_SECONDS THEME->GetMetricF("ScreenSelectDifficultyEX","SleepAfterChoiceSeconds")
@@ -62,7 +70,6 @@ ScreenSelectDifficultyEX::ScreenSelectDifficultyEX() : ScreenSelect( "ScreenSele
}
m_sprIconBar.Load( THEME->GetPathToG("ScreenSelectDifficultyEX icon bar.png") );
m_sprIconBar.SetXY( ICONBAR_X, ICONBAR_Y );
this->AddChild( &m_sprIconBar );
for( unsigned k=0; k < NUM_MODES || k <= 7 ; k++ )
@@ -82,8 +89,8 @@ ScreenSelectDifficultyEX::ScreenSelectDifficultyEX() : ScreenSelect( "ScreenSele
m_textDifficultyText[k].SetX( DIFFICULTYICON_X(k) + 20 );
m_textDifficultyText[k].SetY( DIFFICULTYICON_Y(k) );
m_textDifficultyText[k].SetZoom( .5 );
m_textDifficultyText[k].SetShadowLength( 1 );
m_textDifficultyText[k].SetDiffuse( DIFFICULTYICON_COLOR(k) );
m_textDifficultyText[k].SetShadowLength( 1 ); //No shadow, jus outline
m_textDifficultyText[k].SetDiffuse( DIFFICULTYTEXT_COLOR(k) );
this->AddChild( &m_textDifficultyText[k] );
}
}
@@ -95,8 +102,6 @@ ScreenSelectDifficultyEX::ScreenSelectDifficultyEX() : ScreenSelect( "ScreenSele
{
m_sprHighlight[p].SetHorizAlign( Actor::align_left );
m_sprHighlight[p].Load( (PlayerNumber)p, false );
m_sprHighlight[p].SetX( DIFFICULTYICON_X(0) );
m_sprHighlight[p].SetY( DIFFICULTYICON_Y(0) );
this->AddChild( &m_sprHighlight[p] );
this->MoveToHead( &m_sprHighlight[p] );
}
@@ -112,42 +117,36 @@ ScreenSelectDifficultyEX::ScreenSelectDifficultyEX() : ScreenSelect( "ScreenSele
CString sPictureFile = ssprintf( "ScreenSelectDifficultyEX picture %s", m_ModeChoices[0].name );
m_sprPicture[p].Load( THEME->GetPathToG(sPictureFile) );
m_sprPicture[p].SetX( PICTURE_X(p) );
m_sprPicture[p].SetY( PICTURE_Y(p) );
m_sprPicture[p].SetXY( PICTURE_X(p), PICTURE_Y(p) );
m_framePages.AddChild( &m_sprPicture[p] );
m_sprInfo[p].Load( THEME->GetPathToG(sInfoFile) );
m_sprInfo[p].SetX( INFO_X(p) );
m_sprInfo[p].SetY( INFO_Y(p) );
m_sprInfo[p].SetXY( INFO_X(p), INFO_Y(p) );
m_framePages.AddChild( &m_sprInfo[p] );
m_sprCursor[p].Load( THEME->GetPathToG( "ScreenSelectDifficultyEX cursor 2x1") );
m_sprCursor[p].SetZoom( 0 );
m_sprCursor[p].StopAnimating();
m_sprCursor[p].SetState( p );
m_sprCursor[p].SetX( fCursorX );
m_sprCursor[p].SetY( fCursorY );
m_sprCursor[p].SetXY( fCursorX, fCursorY );
m_framePages.AddChild( &m_sprCursor[p] );
m_sprOK[p].Load( THEME->GetPathToG( "ScreenSelectDifficultyEX ok 2x1") );
m_sprOK[p].SetState( p );
m_sprOK[p].StopAnimating();
m_sprOK[p].SetDiffuse( RageColor(1,1,1,1) );
m_sprOK[p].SetX( fCursorX );
m_sprOK[p].SetY( fCursorY );
m_sprOK[p].SetXY( fCursorX, fCursorY );
m_framePages.AddChild( &m_sprOK[p] );
}
this->AddChild( &m_framePages );
m_soundChange.Load( THEME->GetPathToS( "ScreenSelectDifficulty change") );
m_soundSelect.Load( THEME->GetPathToS( "Common start") );
m_soundDifficult.Load( ANNOUNCER->GetPathTo("select difficulty challenge") );
m_fLockInputTime = LOCK_INPUT_SECONDS;
TweenOnScreen();
SetAllPlayersSelection( 0, false );
}
void ScreenSelectDifficultyEX::Update( float fDelta )
@@ -354,7 +353,7 @@ void ScreenSelectDifficultyEX::SetDifficultyIconText( bool bDisplayCourseItems )
MMNAME.Replace( "rave", "Rave");
m_textDifficultyText[k].SetText( MMNAME.c_str() );
m_textDifficultyText[k].SetDiffuse( DIFFICULTYICON_COLOR(k) );
m_textDifficultyText[k].SetDiffuse( DIFFICULTYTEXT_COLOR(k) );
}
}
@@ -429,7 +428,18 @@ void ScreenSelectDifficultyEX::TweenOnScreen()
float fCursorX = GetCursorX( (PlayerNumber)p );
float fCursorY = GetCursorY( (PlayerNumber)p );
m_sprCursor[p].SetXY( fCursorX, fCursorY );
m_sprInfo[p].Command( INFO_ON_COMMAND(p) );
m_sprPicture[p].Command( PICTURE_ON_COMMAND(p) );
m_sprHighlight[p].SetXY( DIFFICULTYICON_X(1) + 30, DIFFICULTYICON_Y(1) );
m_sprHighlight[p].Command( "diffusealpha,0;linear,0.3;diffusealpha,1" );
}
m_sprIconBar.Command( ICONBAR_ON_COMMAND );
for( unsigned di=0; di < m_aModeChoices.size(); di++ )
{
m_sprDifficultyIcon[di].Command( DIFFICULTYICON_ON_COMMAND(di) );
m_textDifficultyText[di].Command( DIFFICULTYTEXT_ON_COMMAND(di) );
}
}
@@ -439,11 +449,17 @@ void ScreenSelectDifficultyEX::TweenOffScreen()
{
if( !GAMESTATE->IsPlayerEnabled((PlayerNumber)p) ) { continue; }
m_sprPicture[p].FadeOff( 0.0, "fade", 0.5f );
m_sprInfo[p].FadeOff( 0.0, "fade", 0.5f );
m_sprInfo[p].Command( INFO_OFF_COMMAND(p) );
m_sprPicture[p].Command( PICTURE_OFF_COMMAND(p) );
m_sprHighlight[p].SetXY( -600,-600 );
m_sprOK[p].Command( "linear,0.3;diffusealpha,0" );
}
m_sprCursor[p].FadeOff( 0.0, "fade", 0.5f );
m_sprOK[p].FadeOff( 0.0, "fade", 0.5f );
m_sprIconBar.Command( ICONBAR_OFF_COMMAND );
for( unsigned di=0; di < m_aModeChoices.size(); di++ )
{
m_sprDifficultyIcon[di].Command( DIFFICULTYICON_OFF_COMMAND(di) );
m_textDifficultyText[di].Command( DIFFICULTYTEXT_OFF_COMMAND(di) );
}
}