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 // // Miryokuteki's Todo/Done Record //
//////////////////////////////////// ////////////////////////////////////
// Last Updated May 1st, 2003 // Last Updated May 2nd, 2003
Todo List: 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) ** 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: 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. ** 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 CursorP2OffsetYFromPicture=188
DifficultyIcon1X=50 DifficultyIcon1X=50
DifficultyIcon1Y=405 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 DifficultyIcon2X=230
DifficultyIcon2Y=405 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 DifficultyIcon3X=380
DifficultyIcon3Y=405 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 DifficultyIcon4X=540
DifficultyIcon4Y=405 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 DifficultyIcon5X=50
DifficultyIcon5Y=435 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 DifficultyIcon6X=230
DifficultyIcon6Y=435 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 DifficultyIcon7X=380
DifficultyIcon7Y=435 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 DifficultyIcon8X=540
DifficultyIcon8Y=435 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 DisabledColor=0.2,0.2,0.2,1
HelpText=Use &LEFT; &RIGHT; to select, then press START HelpText=Use &LEFT; &RIGHT; to select, then press START
IconBarX=320 IconBarOFFCommand=linear,0.5;diffusealpha,0
IconBarY=420 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 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 InfoXP2=440
InfoYP2=100//150 InfoYP2=100
InitialChoice=0 InitialChoice=0
LockInputSeconds=0.8 LockInputSeconds=0.4
NextScreen1=ScreenSelectGroup NextScreen1=ScreenSelectGroup
NextScreen2=ScreenSelectGroup NextScreen2=ScreenSelectGroup
NextScreen3=ScreenSelectGroup NextScreen3=ScreenSelectGroup
@@ -338,10 +374,14 @@ NextScreenArcade=ScreenSelectGroup
NextScreenOni=ScreenInstructions NextScreenOni=ScreenInstructions
NextScreenBattle=ScreenInstructions NextScreenBattle=ScreenInstructions
NextScreenRave=ScreenInstructions NextScreenRave=ScreenInstructions
PictureP1OFFCommand=linear,0.15;zoomy,0
PictureP1ONCommand=zoomy,0;sleep,0.15;linear,0.15;zoomy,1
PictureXP1=200 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 PictureXP2=440
PictureYP2=245 //295 PictureYP2=245
SleepAfterChoiceSeconds=0.3 SleepAfterChoiceSeconds=0.3
SleepAfterTweenOffSeconds=0.8 SleepAfterTweenOffSeconds=0.8
TimerSeconds=60 TimerSeconds=60
+42 -26
View File
@@ -29,15 +29,23 @@
#define ANIMATE_MODE_SWITCH_PICTURE_ON_COMMAND THEME->GetMetric("ScreenSelectDifficultyEX","AnimateModeSwitchPictureONCommand") #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_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 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_X( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dX",p+1))
#define DIFFICULTYICON_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("DifficultyIcon%dY",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 DISABLED_COLOR THEME->GetMetricC("ScreenSelectDifficultyEX","DisabledColor")
#define ICONBAR_X THEME->GetMetricF("ScreenSelectDifficultyEX","IconBarX") #define ICONBAR_OFF_COMMAND THEME->GetMetric("ScreenSelectDifficultyEX","IconBarOFFCommand")
#define ICONBAR_Y THEME->GetMetricF("ScreenSelectDifficultyEX","IconBarY") #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_X( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("InfoXP%d",p+1))
#define INFO_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("InfoYP%d",p+1)) #define INFO_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("InfoYP%d",p+1))
#define LOCK_INPUT_SECONDS THEME->GetMetricF("ScreenSelectDifficultyEX","LockInputSeconds") #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_X( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("PictureXP%d",p+1))
#define PICTURE_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("PictureYP%d",p+1)) #define PICTURE_Y( p ) THEME->GetMetricF("ScreenSelectDifficultyEX",ssprintf("PictureYP%d",p+1))
#define SLEEP_AFTER_CHOICE_SECONDS THEME->GetMetricF("ScreenSelectDifficultyEX","SleepAfterChoiceSeconds") #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.Load( THEME->GetPathToG("ScreenSelectDifficultyEX icon bar.png") );
m_sprIconBar.SetXY( ICONBAR_X, ICONBAR_Y );
this->AddChild( &m_sprIconBar ); this->AddChild( &m_sprIconBar );
for( unsigned k=0; k < NUM_MODES || k <= 7 ; k++ ) 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].SetX( DIFFICULTYICON_X(k) + 20 );
m_textDifficultyText[k].SetY( DIFFICULTYICON_Y(k) ); m_textDifficultyText[k].SetY( DIFFICULTYICON_Y(k) );
m_textDifficultyText[k].SetZoom( .5 ); m_textDifficultyText[k].SetZoom( .5 );
m_textDifficultyText[k].SetShadowLength( 1 ); m_textDifficultyText[k].SetShadowLength( 1 ); //No shadow, jus outline
m_textDifficultyText[k].SetDiffuse( DIFFICULTYICON_COLOR(k) ); m_textDifficultyText[k].SetDiffuse( DIFFICULTYTEXT_COLOR(k) );
this->AddChild( &m_textDifficultyText[k] ); this->AddChild( &m_textDifficultyText[k] );
} }
} }
@@ -95,8 +102,6 @@ ScreenSelectDifficultyEX::ScreenSelectDifficultyEX() : ScreenSelect( "ScreenSele
{ {
m_sprHighlight[p].SetHorizAlign( Actor::align_left ); m_sprHighlight[p].SetHorizAlign( Actor::align_left );
m_sprHighlight[p].Load( (PlayerNumber)p, false ); 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->AddChild( &m_sprHighlight[p] );
this->MoveToHead( &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 ); CString sPictureFile = ssprintf( "ScreenSelectDifficultyEX picture %s", m_ModeChoices[0].name );
m_sprPicture[p].Load( THEME->GetPathToG(sPictureFile) ); m_sprPicture[p].Load( THEME->GetPathToG(sPictureFile) );
m_sprPicture[p].SetX( PICTURE_X(p) ); m_sprPicture[p].SetXY( PICTURE_X(p), PICTURE_Y(p) );
m_sprPicture[p].SetY( PICTURE_Y(p) );
m_framePages.AddChild( &m_sprPicture[p] ); m_framePages.AddChild( &m_sprPicture[p] );
m_sprInfo[p].Load( THEME->GetPathToG(sInfoFile) ); m_sprInfo[p].Load( THEME->GetPathToG(sInfoFile) );
m_sprInfo[p].SetX( INFO_X(p) ); m_sprInfo[p].SetXY( INFO_X(p), INFO_Y(p) );
m_sprInfo[p].SetY( INFO_Y(p) );
m_framePages.AddChild( &m_sprInfo[p] ); m_framePages.AddChild( &m_sprInfo[p] );
m_sprCursor[p].Load( THEME->GetPathToG( "ScreenSelectDifficultyEX cursor 2x1") ); m_sprCursor[p].Load( THEME->GetPathToG( "ScreenSelectDifficultyEX cursor 2x1") );
m_sprCursor[p].SetZoom( 0 ); m_sprCursor[p].SetZoom( 0 );
m_sprCursor[p].StopAnimating(); m_sprCursor[p].StopAnimating();
m_sprCursor[p].SetState( p ); m_sprCursor[p].SetState( p );
m_sprCursor[p].SetX( fCursorX ); m_sprCursor[p].SetXY( fCursorX, fCursorY );
m_sprCursor[p].SetY( fCursorY );
m_framePages.AddChild( &m_sprCursor[p] ); m_framePages.AddChild( &m_sprCursor[p] );
m_sprOK[p].Load( THEME->GetPathToG( "ScreenSelectDifficultyEX ok 2x1") ); m_sprOK[p].Load( THEME->GetPathToG( "ScreenSelectDifficultyEX ok 2x1") );
m_sprOK[p].SetState( p ); m_sprOK[p].SetState( p );
m_sprOK[p].StopAnimating(); m_sprOK[p].StopAnimating();
m_sprOK[p].SetDiffuse( RageColor(1,1,1,1) ); m_sprOK[p].SetDiffuse( RageColor(1,1,1,1) );
m_sprOK[p].SetX( fCursorX ); m_sprOK[p].SetXY( fCursorX, fCursorY );
m_sprOK[p].SetY( fCursorY );
m_framePages.AddChild( &m_sprOK[p] ); m_framePages.AddChild( &m_sprOK[p] );
} }
this->AddChild( &m_framePages ); this->AddChild( &m_framePages );
m_soundChange.Load( THEME->GetPathToS( "ScreenSelectDifficulty change") ); m_soundChange.Load( THEME->GetPathToS( "ScreenSelectDifficulty change") );
m_soundSelect.Load( THEME->GetPathToS( "Common start") ); m_soundSelect.Load( THEME->GetPathToS( "Common start") );
m_soundDifficult.Load( ANNOUNCER->GetPathTo("select difficulty challenge") ); m_soundDifficult.Load( ANNOUNCER->GetPathTo("select difficulty challenge") );
m_fLockInputTime = LOCK_INPUT_SECONDS; m_fLockInputTime = LOCK_INPUT_SECONDS;
TweenOnScreen(); TweenOnScreen();
SetAllPlayersSelection( 0, false );
} }
void ScreenSelectDifficultyEX::Update( float fDelta ) void ScreenSelectDifficultyEX::Update( float fDelta )
@@ -354,7 +353,7 @@ void ScreenSelectDifficultyEX::SetDifficultyIconText( bool bDisplayCourseItems )
MMNAME.Replace( "rave", "Rave"); MMNAME.Replace( "rave", "Rave");
m_textDifficultyText[k].SetText( MMNAME.c_str() ); 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 fCursorX = GetCursorX( (PlayerNumber)p );
float fCursorY = GetCursorY( (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; } if( !GAMESTATE->IsPlayerEnabled((PlayerNumber)p) ) { continue; }
m_sprPicture[p].FadeOff( 0.0, "fade", 0.5f ); m_sprInfo[p].Command( INFO_OFF_COMMAND(p) );
m_sprInfo[p].FadeOff( 0.0, "fade", 0.5f ); 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_sprIconBar.Command( ICONBAR_OFF_COMMAND );
m_sprOK[p].FadeOff( 0.0, "fade", 0.5f ); 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) );
} }
} }