From 2308f9501e1a11cff574fb1083c43c1e76102b8f Mon Sep 17 00:00:00 2001 From: Jose_Varela Date: Sun, 29 Jul 2018 16:02:05 -0500 Subject: [PATCH 1/4] Broader Dancing Character Control for themers This is to allow themers to have more control in regards to the Dancing 3D Characters seen in Gameplay. A lot of it was hardcoded. --- src/DancingCharacters.cpp | 862 ++++++++++++++++++++------------------ 1 file changed, 445 insertions(+), 417 deletions(-) diff --git a/src/DancingCharacters.cpp b/src/DancingCharacters.cpp index 9c4c9bb4fe..73f2b8ad34 100644 --- a/src/DancingCharacters.cpp +++ b/src/DancingCharacters.cpp @@ -1,417 +1,445 @@ -#include "global.h" -#include "DancingCharacters.h" -#include "GameConstantsAndTypes.h" -#include "RageDisplay.h" -#include "RageUtil.h" -#include "RageMath.h" -#include "GameState.h" -#include "Song.h" -#include "Character.h" -#include "StatsManager.h" -#include "PrefsManager.h" -#include "Model.h" - -int Neg1OrPos1(); - -#define DC_X( choice ) THEME->GetMetricF("DancingCharacters",ssprintf("2DCharacterXP%d",choice+1)) -#define DC_Y( choice ) THEME->GetMetricF("DancingCharacters",ssprintf("2DCharacterYP%d",choice+1)) - -/* - * TODO: - * - Metrics/Lua for lighting and camera sweeping. - * - Ability to load secondary elements i.e. stages. - * - Remove support for 2D characters (Lua can do it). - * - Cleanup! - * - * -- Colby - */ -const float CAMERA_REST_DISTANCE = 32.f; -const float CAMERA_REST_LOOK_AT_HEIGHT = -11.f; - -const float CAMERA_SWEEP_DISTANCE = 28.f; -const float CAMERA_SWEEP_DISTANCE_VARIANCE = 4.f; -const float CAMERA_SWEEP_HEIGHT_VARIANCE = 7.f; -const float CAMERA_SWEEP_PAN_Y_RANGE_DEGREES = 45.f; -const float CAMERA_SWEEP_PAN_Y_VARIANCE_DEGREES = 60.f; -const float CAMERA_SWEEP_LOOK_AT_HEIGHT = -11.f; - -const float CAMERA_STILL_DISTANCE = 26.f; -const float CAMERA_STILL_DISTANCE_VARIANCE = 3.f; -const float CAMERA_STILL_PAN_Y_RANGE_DEGREES = 120.f; -const float CAMERA_STILL_HEIGHT_VARIANCE = 5.f; -const float CAMERA_STILL_LOOK_AT_HEIGHT = -10.f; - -const float MODEL_X_ONE_PLAYER = 0; -const float MODEL_X_TWO_PLAYERS[NUM_PLAYERS] = { +8, -8 }; -const float MODEL_ROTATIONY_TWO_PLAYERS[NUM_PLAYERS] = { -90, 90 }; - -DancingCharacters::DancingCharacters(): m_bDrawDangerLight(false), - m_CameraDistance(0), m_CameraPanYStart(0), m_CameraPanYEnd(0), - m_fLookAtHeight(0), m_fCameraHeightStart(0), m_fCameraHeightEnd(0), - m_fThisCameraStartBeat(0), m_fThisCameraEndBeat(0) -{ - FOREACH_PlayerNumber( p ) - { - m_pCharacter[p] = new Model; - m_2DIdleTimer[p].SetZero(); - m_i2DAnimState[p] = AS2D_IDLE; // start on idle state - if( !GAMESTATE->IsPlayerEnabled(p) ) - continue; - - Character* pChar = GAMESTATE->m_pCurCharacters[p]; - if( !pChar ) - continue; - - // load in any potential 2D stuff - RString sCharacterDirectory = pChar->m_sCharDir; - RString sCurrentAnim; - sCurrentAnim = sCharacterDirectory + "2DIdle"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgIdle[p].Load( sCurrentAnim ); - m_bgIdle[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DMiss"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgMiss[p].Load( sCurrentAnim ); - m_bgMiss[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DGood"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgGood[p].Load( sCurrentAnim ); - m_bgGood[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DGreat"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgGreat[p].Load( sCurrentAnim ); - m_bgGreat[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DFever"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgFever[p].Load( sCurrentAnim ); - m_bgFever[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DFail"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgFail[p].Load( sCurrentAnim ); - m_bgFail[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DWin"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgWin[p].Load( sCurrentAnim ); - m_bgWin[p]->SetXY(DC_X(p),DC_Y(p)); - } - - sCurrentAnim = sCharacterDirectory + "2DWinFever"; - if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists - { - m_bgWinFever[p].Load( sCurrentAnim ); - m_bgWinFever[p]->SetXY(DC_X(p),DC_Y(p)); - } - - if( pChar->GetModelPath().empty() ) - continue; - - if( GAMESTATE->GetNumPlayersEnabled()==2 ) - m_pCharacter[p]->SetX( MODEL_X_TWO_PLAYERS[p] ); - else - m_pCharacter[p]->SetX( MODEL_X_ONE_PLAYER ); - - switch( GAMESTATE->m_PlayMode ) - { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - m_pCharacter[p]->SetRotationY( MODEL_ROTATIONY_TWO_PLAYERS[p] ); - default: - break; - } - - m_pCharacter[p]->LoadMilkshapeAscii( pChar->GetModelPath() ); - m_pCharacter[p]->LoadMilkshapeAsciiBones( "rest", pChar->GetRestAnimationPath() ); - m_pCharacter[p]->LoadMilkshapeAsciiBones( "warmup", pChar->GetWarmUpAnimationPath() ); - m_pCharacter[p]->LoadMilkshapeAsciiBones( "dance", pChar->GetDanceAnimationPath() ); - m_pCharacter[p]->SetCullMode( CULL_NONE ); // many of the models floating around have the vertex order flipped - - m_pCharacter[p]->RunCommands( pChar->m_cmdInit ); - } -} - -DancingCharacters::~DancingCharacters() -{ - FOREACH_PlayerNumber( p ) - delete m_pCharacter[p]; -} - -void DancingCharacters::LoadNextSong() -{ - // initial camera sweep is still - m_CameraDistance = CAMERA_REST_DISTANCE; - m_CameraPanYStart = 0; - m_CameraPanYEnd = 0; - m_fCameraHeightStart = CAMERA_REST_LOOK_AT_HEIGHT; - m_fCameraHeightEnd = CAMERA_REST_LOOK_AT_HEIGHT; - m_fLookAtHeight = CAMERA_REST_LOOK_AT_HEIGHT; - m_fThisCameraStartBeat = 0; - m_fThisCameraEndBeat = 0; - - ASSERT( GAMESTATE->m_pCurSong != NULL ); - m_fThisCameraEndBeat = GAMESTATE->m_pCurSong->GetFirstBeat(); - - FOREACH_PlayerNumber( p ) - if( GAMESTATE->IsPlayerEnabled(p) ) - m_pCharacter[p]->PlayAnimation( "rest" ); -} - -int Neg1OrPos1() { return RandomInt( 2 ) ? -1 : +1; } - -void DancingCharacters::Update( float fDelta ) -{ - if( GAMESTATE->m_Position.m_bFreeze || GAMESTATE->m_Position.m_bDelay ) - { - // spin the camera Matrix-style - m_CameraPanYStart += fDelta*40; - m_CameraPanYEnd += fDelta*40; - } - else - { - // make the characters move - float fBPM = GAMESTATE->m_Position.m_fCurBPS*60; - float fUpdateScale = SCALE( fBPM, 60.f, 300.f, 0.75f, 1.5f ); - CLAMP( fUpdateScale, 0.75f, 1.5f ); - - /* It's OK for the animation to go slower than natural when we're - * at a very low music rate. */ - fUpdateScale *= GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate; - - FOREACH_PlayerNumber( p ) - { - if( GAMESTATE->IsPlayerEnabled(p) ) - m_pCharacter[p]->Update( fDelta*fUpdateScale ); - } - } - - static bool bWasGameplayStarting = false; - bool bGameplayStarting = GAMESTATE->m_bGameplayLeadIn; - if( !bWasGameplayStarting && bGameplayStarting ) - { - FOREACH_PlayerNumber( p ) - if( GAMESTATE->IsPlayerEnabled(p) ) - m_pCharacter[p]->PlayAnimation( "warmup" ); - } - bWasGameplayStarting = bGameplayStarting; - - static float fLastBeat = GAMESTATE->m_Position.m_fSongBeat; - float firstBeat = GAMESTATE->m_pCurSong->GetFirstBeat(); - float fThisBeat = GAMESTATE->m_Position.m_fSongBeat; - if( fLastBeat < firstBeat && fThisBeat >= firstBeat ) - { - FOREACH_PlayerNumber( p ) - m_pCharacter[p]->PlayAnimation( "dance" ); - } - fLastBeat = fThisBeat; - - // time for a new sweep? - if( GAMESTATE->m_Position.m_fSongBeat > m_fThisCameraEndBeat ) - { - if( RandomInt(6) >= 4 ) - { - // sweeping camera - m_CameraDistance = CAMERA_SWEEP_DISTANCE + RandomInt(-1,1) * CAMERA_SWEEP_DISTANCE_VARIANCE; - m_CameraPanYStart = m_CameraPanYEnd = RandomInt(-1,1) * CAMERA_SWEEP_PAN_Y_RANGE_DEGREES; - m_fCameraHeightStart = m_fCameraHeightEnd = CAMERA_STILL_LOOK_AT_HEIGHT; - - m_CameraPanYEnd += RandomInt(-1,1) * CAMERA_SWEEP_PAN_Y_VARIANCE_DEGREES; - m_fCameraHeightStart = m_fCameraHeightEnd = m_fCameraHeightStart + RandomInt(-1,1) * CAMERA_SWEEP_HEIGHT_VARIANCE; - - float fCameraHeightVariance = RandomInt(-1,1) * CAMERA_SWEEP_HEIGHT_VARIANCE; - m_fCameraHeightStart -= fCameraHeightVariance; - m_fCameraHeightEnd += fCameraHeightVariance; - - m_fLookAtHeight = CAMERA_SWEEP_LOOK_AT_HEIGHT; - } - else - { - // still camera - m_CameraDistance = CAMERA_STILL_DISTANCE + RandomInt(-1,1) * CAMERA_STILL_DISTANCE_VARIANCE; - m_CameraPanYStart = m_CameraPanYEnd = Neg1OrPos1() * CAMERA_STILL_PAN_Y_RANGE_DEGREES; - m_fCameraHeightStart = m_fCameraHeightEnd = CAMERA_SWEEP_LOOK_AT_HEIGHT + Neg1OrPos1() * CAMERA_STILL_HEIGHT_VARIANCE; - - m_fLookAtHeight = CAMERA_STILL_LOOK_AT_HEIGHT; - } - - int iCurBeat = (int)GAMESTATE->m_Position.m_fSongBeat; - iCurBeat -= iCurBeat%8; - - m_fThisCameraStartBeat = (float) iCurBeat; - m_fThisCameraEndBeat = float(iCurBeat + 8); - } - /* - // is there any of this still around? This block of code is _ugly_. -Colby - // update any 2D stuff - FOREACH_PlayerNumber( p ) - { - if( m_bgIdle[p].IsLoaded() ) - { - if( m_bgIdle[p].IsLoaded() && m_i2DAnimState[p] == AS2D_IDLE ) - m_bgIdle[p]->Update( fDelta ); - if( m_bgMiss[p].IsLoaded() && m_i2DAnimState[p] == AS2D_MISS ) - m_bgMiss[p]->Update( fDelta ); - if( m_bgGood[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GOOD ) - m_bgGood[p]->Update( fDelta ); - if( m_bgGreat[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GREAT ) - m_bgGreat[p]->Update( fDelta ); - if( m_bgFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FEVER ) - m_bgFever[p]->Update( fDelta ); - if( m_bgFail[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FAIL ) - m_bgFail[p]->Update( fDelta ); - if( m_bgWin[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WIN ) - m_bgWin[p]->Update( fDelta ); - if( m_bgWinFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WINFEVER ) - m_bgWinFever[p]->Update(fDelta); - - if(m_i2DAnimState[p] != AS2D_IDLE) // if we're not in idle state, start a timer to return us to idle - { - // never return to idle state if we have failed / passed (i.e. completed) the song - if(m_i2DAnimState[p] != AS2D_WINFEVER && m_i2DAnimState[p] != AS2D_FAIL && m_i2DAnimState[p] != AS2D_WIN) - { - if(m_2DIdleTimer[p].IsZero()) - m_2DIdleTimer[p].Touch(); - if(!m_2DIdleTimer[p].IsZero() && m_2DIdleTimer[p].Ago() > 1.0f) - { - m_2DIdleTimer[p].SetZero(); - m_i2DAnimState[p] = AS2D_IDLE; - } - } - } - } - } - */ -} - -void DancingCharacters::Change2DAnimState( PlayerNumber pn, int iState ) -{ - ASSERT( pn < NUM_PLAYERS ); - ASSERT( iState < AS2D_MAXSTATES ); - - m_i2DAnimState[pn] = iState; -} - -void DancingCharacters::DrawPrimitives() -{ - DISPLAY->CameraPushMatrix(); - - float fPercentIntoSweep; - if(m_fThisCameraStartBeat == m_fThisCameraEndBeat) - fPercentIntoSweep = 0; - else - fPercentIntoSweep = SCALE(GAMESTATE->m_Position.m_fSongBeat, m_fThisCameraStartBeat, m_fThisCameraEndBeat, 0.f, 1.f ); - float fCameraPanY = SCALE( fPercentIntoSweep, 0.f, 1.f, m_CameraPanYStart, m_CameraPanYEnd ); - float fCameraHeight = SCALE( fPercentIntoSweep, 0.f, 1.f, m_fCameraHeightStart, m_fCameraHeightEnd ); - - RageVector3 m_CameraPoint( 0, fCameraHeight, -m_CameraDistance ); - RageMatrix CameraRot; - RageMatrixRotationY( &CameraRot, fCameraPanY ); - RageVec3TransformCoord( &m_CameraPoint, &m_CameraPoint, &CameraRot ); - - RageVector3 m_LookAt( 0, m_fLookAtHeight, 0 ); - - DISPLAY->LoadLookAt( 45, - m_CameraPoint, - m_LookAt, - RageVector3(0,1,0) ); - - FOREACH_EnabledPlayer( p ) - { - bool bFailed = STATSMAN->m_CurStageStats.m_player[p].m_bFailed; - bool bDanger = m_bDrawDangerLight; - - DISPLAY->SetLighting( true ); - - RageColor ambient = bFailed ? RageColor(0.2f,0.1f,0.1f,1) : (bDanger ? RageColor(0.4f,0.1f,0.1f,1) : RageColor(0.4f,0.4f,0.4f,1)); - RageColor diffuse = bFailed ? RageColor(0.4f,0.1f,0.1f,1) : (bDanger ? RageColor(0.8f,0.1f,0.1f,1) : RageColor(1,0.95f,0.925f,1)); - RageColor specular = RageColor(0.8f,0.8f,0.8f,1); - DISPLAY->SetLightDirectional( - 0, - ambient, - diffuse, - specular, - RageVector3(-3, -7.5f, +9) ); - - if( PREFSMAN->m_bCelShadeModels ) - { - m_pCharacter[p]->DrawCelShaded(); - - DISPLAY->SetLightOff( 0 ); - DISPLAY->SetLighting( false ); - continue; - } - - m_pCharacter[p]->Draw(); - - DISPLAY->SetLightOff( 0 ); - DISPLAY->SetLighting( false ); - } - - DISPLAY->CameraPopMatrix(); - - /* - // Ugly! -Colby - // now draw any potential 2D stuff - FOREACH_PlayerNumber( p ) - { - if(m_bgIdle[p].IsLoaded() && m_i2DAnimState[p] == AS2D_IDLE) - m_bgIdle[p]->Draw(); - if(m_bgMiss[p].IsLoaded() && m_i2DAnimState[p] == AS2D_MISS) - m_bgMiss[p]->Draw(); - if(m_bgGood[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GOOD) - m_bgGood[p]->Draw(); - if(m_bgGreat[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GREAT) - m_bgGreat[p]->Draw(); - if(m_bgFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FEVER) - m_bgFever[p]->Draw(); - if(m_bgWinFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WINFEVER) - m_bgWinFever[p]->Draw(); - if(m_bgWin[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WIN) - m_bgWin[p]->Draw(); - if(m_bgFail[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FAIL) - m_bgFail[p]->Draw(); - } - */ -} - -/* - * (c) 2003-2004 Chris Danford - * 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. - */ +#include "global.h" +#include "DancingCharacters.h" +#include "GameConstantsAndTypes.h" +#include "RageDisplay.h" +#include "RageUtil.h" +#include "RageMath.h" +#include "GameState.h" +#include "Song.h" +#include "Character.h" +#include "StatsManager.h" +#include "PrefsManager.h" +#include "Model.h" + +int Neg1OrPos1(); + +#define DC_X( choice ) THEME->GetMetricF("DancingCharacters",ssprintf("2DCharacterXP%d",choice+1)) +#define DC_Y( choice ) THEME->GetMetricF("DancingCharacters",ssprintf("2DCharacterYP%d",choice+1)) + +/* + * TODO: + * - Metrics/Lua for lighting and camera sweeping. + * - Ability to load secondary elements i.e. stages. + * - Remove support for 2D characters (Lua can do it). + * - Cleanup! + * + * -- Colby + */ + +#define CAMERA_REST_DISTANCE THEME->GetMetricF("DancingCamera","RestDistance") +#define CAMERA_REST_LOOK_AT_HEIGHT THEME->GetMetricF("DancingCamera","RestHeight") +#define CAMERA_SWEEP_DISTANCE THEME->GetMetricF("DancingCamera","SweepDistance") +#define CAMERA_SWEEP_DISTANCE_VARIANCE THEME->GetMetricF("DancingCamera","SweepDistanceVariable") +#define CAMERA_SWEEP_HEIGHT_VARIANCE THEME->GetMetricF("DancingCamera","SweepHeightVariable") +#define CAMERA_SWEEP_PAN_Y_RANGE_DEGREES THEME->GetMetricF("DancingCamera","SweepPanYRangeDegrees") +#define CAMERA_SWEEP_PAN_Y_VARIANCE_DEGREES THEME->GetMetricF("DancingCamera","SweepPanYVarianceDegrees") +#define CAMERA_SWEEP_LOOK_AT_HEIGHT THEME->GetMetricF("DancingCamera","SweepHeight") +#define CAMERA_STILL_DISTANCE THEME->GetMetricF("DancingCamera","StillDistance") +#define CAMERA_STILL_DISTANCE_VARIANCE THEME->GetMetricF("DancingCamera","StillDistanceVariance") +#define CAMERA_STILL_PAN_Y_RANGE_DEGREES THEME->GetMetricF("DancingCamera","StillPanYRangeDegrees") +#define CAMERA_STILL_HEIGHT_VARIANCE THEME->GetMetricF("DancingCamera","StillHeightVariance") +#define CAMERA_STILL_LOOK_AT_HEIGHT THEME->GetMetricF("DancingCamera","StillHeight") + +// This is to setup the lighting color. +const ThemeMetric LIGHT_AMBIENT_COLOR ( "DancingCamera", "AmbientColor" ); +const ThemeMetric LIGHT_DIFFUSE_COLOR ( "DancingCamera", "DiffuseColor" ); + +// This is for Danger and Failed colors. +const ThemeMetric LIGHT_ADANGER_COLOR ( "DancingCamera", "AmbientDangerColor" ); +const ThemeMetric LIGHT_AFAILED_COLOR ( "DancingCamera", "AmbientFailedColor" ); +const ThemeMetric LIGHT_DDANGER_COLOR ( "DancingCamera", "DiffuseDangerColor" ); +const ThemeMetric LIGHT_DFAILED_COLOR ( "DancingCamera", "DiffuseFailedColor" ); + +// This is to make positioning of said light. +#define LIGHTING_X THEME->GetMetricF("DancingCamera","LightX") +#define LIGHTING_Y THEME->GetMetricF("DancingCamera","LightY") +#define LIGHTING_Z THEME->GetMetricF("DancingCamera","LightZ") + +// Position of the model in X (one player) +#define MODEL_X_ONE_PLAYER THEME->GetMetricF("DancingCharacters","OnePlayerModelX") +// Model spacing during Versus or Battle modes. +#define MODEL_X_VERSUS THEME->GetMetricF("DancingCharacters","TwoPlayersModelX") + +// As the name implies, this sets the ammount of beats that the camera will +// stay in its current state until transitioning to the next camera tween. +#define AMM_BEATS_TIL_NEXTCAMERA THEME->GetMetricF("DancingCamera","BeatsUntilNextCamPos") +#define CAM_FOV THEME->GetMetricF("DancingCamera","CameraFOV") + +// Since we only have two players, set those without changing the table too much. +int VersusSpacing = (int)MODEL_X_VERSUS; +const float MODEL_X_TWO_PLAYERS[NUM_PLAYERS] = { VersusSpacing, -VersusSpacing }; + +const float MODEL_ROTATIONY_TWO_PLAYERS[NUM_PLAYERS] = { -90, 90 }; + +DancingCharacters::DancingCharacters(): m_bDrawDangerLight(false), + m_CameraDistance(0), m_CameraPanYStart(0), m_CameraPanYEnd(0), + m_fLookAtHeight(0), m_fCameraHeightStart(0), m_fCameraHeightEnd(0), + m_fThisCameraStartBeat(0), m_fThisCameraEndBeat(0) +{ + FOREACH_PlayerNumber( p ) + { + m_pCharacter[p] = new Model; + m_2DIdleTimer[p].SetZero(); + m_i2DAnimState[p] = AS2D_IDLE; // start on idle state + if( !GAMESTATE->IsPlayerEnabled(p) ) + continue; + + Character* pChar = GAMESTATE->m_pCurCharacters[p]; + if( !pChar ) + continue; + + // load in any potential 2D stuff + RString sCharacterDirectory = pChar->m_sCharDir; + RString sCurrentAnim; + sCurrentAnim = sCharacterDirectory + "2DIdle"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgIdle[p].Load( sCurrentAnim ); + m_bgIdle[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DMiss"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgMiss[p].Load( sCurrentAnim ); + m_bgMiss[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DGood"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgGood[p].Load( sCurrentAnim ); + m_bgGood[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DGreat"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgGreat[p].Load( sCurrentAnim ); + m_bgGreat[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DFever"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgFever[p].Load( sCurrentAnim ); + m_bgFever[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DFail"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgFail[p].Load( sCurrentAnim ); + m_bgFail[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DWin"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgWin[p].Load( sCurrentAnim ); + m_bgWin[p]->SetXY(DC_X(p),DC_Y(p)); + } + + sCurrentAnim = sCharacterDirectory + "2DWinFever"; + if( DoesFileExist(sCurrentAnim + "/BGAnimation.ini") ) // check 2D Idle BGAnim exists + { + m_bgWinFever[p].Load( sCurrentAnim ); + m_bgWinFever[p]->SetXY(DC_X(p),DC_Y(p)); + } + + if( pChar->GetModelPath().empty() ) + continue; + + if( GAMESTATE->GetNumPlayersEnabled()==2 ) + m_pCharacter[p]->SetX( MODEL_X_TWO_PLAYERS[p] ); + else + m_pCharacter[p]->SetX( MODEL_X_ONE_PLAYER ); + + switch( GAMESTATE->m_PlayMode ) + { + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + m_pCharacter[p]->SetRotationY( MODEL_ROTATIONY_TWO_PLAYERS[p] ); + default: + break; + } + + m_pCharacter[p]->LoadMilkshapeAscii( pChar->GetModelPath() ); + m_pCharacter[p]->LoadMilkshapeAsciiBones( "rest", pChar->GetRestAnimationPath() ); + m_pCharacter[p]->LoadMilkshapeAsciiBones( "warmup", pChar->GetWarmUpAnimationPath() ); + m_pCharacter[p]->LoadMilkshapeAsciiBones( "dance", pChar->GetDanceAnimationPath() ); + m_pCharacter[p]->SetCullMode( CULL_NONE ); // many of the models floating around have the vertex order flipped + + m_pCharacter[p]->RunCommands( pChar->m_cmdInit ); + } +} + +DancingCharacters::~DancingCharacters() +{ + FOREACH_PlayerNumber( p ) + delete m_pCharacter[p]; +} + +void DancingCharacters::LoadNextSong() +{ + // initial camera sweep is still + m_CameraDistance = CAMERA_REST_DISTANCE; + m_CameraPanYStart = 0; + m_CameraPanYEnd = 0; + m_fCameraHeightStart = CAMERA_REST_LOOK_AT_HEIGHT; + m_fCameraHeightEnd = CAMERA_REST_LOOK_AT_HEIGHT; + m_fLookAtHeight = CAMERA_REST_LOOK_AT_HEIGHT; + m_fThisCameraStartBeat = 0; + m_fThisCameraEndBeat = 0; + + ASSERT( GAMESTATE->m_pCurSong != NULL ); + m_fThisCameraEndBeat = GAMESTATE->m_pCurSong->GetFirstBeat(); + + FOREACH_PlayerNumber( p ) + if( GAMESTATE->IsPlayerEnabled(p) ) + m_pCharacter[p]->PlayAnimation( "rest" ); +} + +int Neg1OrPos1() { return RandomInt( 2 ) ? -1 : +1; } + +void DancingCharacters::Update( float fDelta ) +{ + if( GAMESTATE->m_Position.m_bFreeze || GAMESTATE->m_Position.m_bDelay ) + { + // spin the camera Matrix-style + m_CameraPanYStart += fDelta*40; + m_CameraPanYEnd += fDelta*40; + } + else + { + // make the characters move + float fBPM = GAMESTATE->m_Position.m_fCurBPS*60; + float fUpdateScale = SCALE( fBPM, 60.f, 300.f, 0.75f, 1.5f ); + CLAMP( fUpdateScale, 0.75f, 1.5f ); + + /* It's OK for the animation to go slower than natural when we're + * at a very low music rate. */ + fUpdateScale *= GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate; + + FOREACH_PlayerNumber( p ) + { + if( GAMESTATE->IsPlayerEnabled(p) ) + m_pCharacter[p]->Update( fDelta*fUpdateScale ); + } + } + + static bool bWasGameplayStarting = false; + bool bGameplayStarting = GAMESTATE->m_bGameplayLeadIn; + if( !bWasGameplayStarting && bGameplayStarting ) + { + FOREACH_PlayerNumber( p ) + if( GAMESTATE->IsPlayerEnabled(p) ) + m_pCharacter[p]->PlayAnimation( "warmup" ); + } + bWasGameplayStarting = bGameplayStarting; + + static float fLastBeat = GAMESTATE->m_Position.m_fSongBeat; + float firstBeat = GAMESTATE->m_pCurSong->GetFirstBeat(); + float fThisBeat = GAMESTATE->m_Position.m_fSongBeat; + if( fLastBeat < firstBeat && fThisBeat >= firstBeat ) + { + FOREACH_PlayerNumber( p ) + m_pCharacter[p]->PlayAnimation( "dance" ); + } + fLastBeat = fThisBeat; + + // time for a new sweep? + if (GAMESTATE->m_Position.m_fSongBeat > m_fThisCameraEndBeat) + { + if (RandomInt(6) >= 4) + { + // sweeping camera + m_CameraDistance = CAMERA_SWEEP_DISTANCE + RandomInt(-1, 1) * CAMERA_SWEEP_DISTANCE_VARIANCE; + m_CameraPanYStart = m_CameraPanYEnd = RandomInt(-1, 1) * CAMERA_SWEEP_PAN_Y_RANGE_DEGREES; + m_fCameraHeightStart = m_fCameraHeightEnd = CAMERA_STILL_LOOK_AT_HEIGHT; + + m_CameraPanYEnd += RandomInt(-1, 1) * CAMERA_SWEEP_PAN_Y_VARIANCE_DEGREES; + m_fCameraHeightStart = m_fCameraHeightEnd = m_fCameraHeightStart + RandomInt(-1, 1) * CAMERA_SWEEP_HEIGHT_VARIANCE; + + float fCameraHeightVariance = RandomInt(-1, 1) * CAMERA_SWEEP_HEIGHT_VARIANCE; + m_fCameraHeightStart -= fCameraHeightVariance; + m_fCameraHeightEnd += fCameraHeightVariance; + + m_fLookAtHeight = CAMERA_SWEEP_LOOK_AT_HEIGHT; + } + else + { + // still camera + m_CameraDistance = CAMERA_STILL_DISTANCE + RandomInt(-1, 1) * CAMERA_STILL_DISTANCE_VARIANCE; + m_CameraPanYStart = m_CameraPanYEnd = Neg1OrPos1() * CAMERA_STILL_PAN_Y_RANGE_DEGREES; + m_fCameraHeightStart = m_fCameraHeightEnd = CAMERA_SWEEP_LOOK_AT_HEIGHT + Neg1OrPos1() * CAMERA_STILL_HEIGHT_VARIANCE; + + m_fLookAtHeight = CAMERA_STILL_LOOK_AT_HEIGHT; + } + + int iCurBeat = (int)GAMESTATE->m_Position.m_fSongBeat; + // Need to convert it to a int, otherwise it complains. + int NewBeatToSet = (int)AMM_BEATS_TIL_NEXTCAMERA; + iCurBeat -= iCurBeat % NewBeatToSet; + + m_fThisCameraStartBeat = (float)iCurBeat; + m_fThisCameraEndBeat = float(iCurBeat + AMM_BEATS_TIL_NEXTCAMERA); + } + /* + // is there any of this still around? This block of code is _ugly_. -Colby + // update any 2D stuff + FOREACH_PlayerNumber( p ) + { + if( m_bgIdle[p].IsLoaded() ) + { + if( m_bgIdle[p].IsLoaded() && m_i2DAnimState[p] == AS2D_IDLE ) + m_bgIdle[p]->Update( fDelta ); + if( m_bgMiss[p].IsLoaded() && m_i2DAnimState[p] == AS2D_MISS ) + m_bgMiss[p]->Update( fDelta ); + if( m_bgGood[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GOOD ) + m_bgGood[p]->Update( fDelta ); + if( m_bgGreat[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GREAT ) + m_bgGreat[p]->Update( fDelta ); + if( m_bgFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FEVER ) + m_bgFever[p]->Update( fDelta ); + if( m_bgFail[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FAIL ) + m_bgFail[p]->Update( fDelta ); + if( m_bgWin[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WIN ) + m_bgWin[p]->Update( fDelta ); + if( m_bgWinFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WINFEVER ) + m_bgWinFever[p]->Update(fDelta); + + if(m_i2DAnimState[p] != AS2D_IDLE) // if we're not in idle state, start a timer to return us to idle + { + // never return to idle state if we have failed / passed (i.e. completed) the song + if(m_i2DAnimState[p] != AS2D_WINFEVER && m_i2DAnimState[p] != AS2D_FAIL && m_i2DAnimState[p] != AS2D_WIN) + { + if(m_2DIdleTimer[p].IsZero()) + m_2DIdleTimer[p].Touch(); + if(!m_2DIdleTimer[p].IsZero() && m_2DIdleTimer[p].Ago() > 1.0f) + { + m_2DIdleTimer[p].SetZero(); + m_i2DAnimState[p] = AS2D_IDLE; + } + } + } + } + } + */ +} + +void DancingCharacters::Change2DAnimState( PlayerNumber pn, int iState ) +{ + ASSERT( pn < NUM_PLAYERS ); + ASSERT( iState < AS2D_MAXSTATES ); + + m_i2DAnimState[pn] = iState; +} + +void DancingCharacters::DrawPrimitives() +{ + DISPLAY->CameraPushMatrix(); + + float fPercentIntoSweep; + if(m_fThisCameraStartBeat == m_fThisCameraEndBeat) + fPercentIntoSweep = 0; + else + fPercentIntoSweep = SCALE(GAMESTATE->m_Position.m_fSongBeat, m_fThisCameraStartBeat, m_fThisCameraEndBeat, 0.f, 1.f ); + float fCameraPanY = SCALE( fPercentIntoSweep, 0.f, 1.f, m_CameraPanYStart, m_CameraPanYEnd ); + float fCameraHeight = SCALE( fPercentIntoSweep, 0.f, 1.f, m_fCameraHeightStart, m_fCameraHeightEnd ); + + RageVector3 m_CameraPoint( 0, fCameraHeight, -m_CameraDistance ); + RageMatrix CameraRot; + RageMatrixRotationY( &CameraRot, fCameraPanY ); + RageVec3TransformCoord( &m_CameraPoint, &m_CameraPoint, &CameraRot ); + + RageVector3 m_LookAt( 0, m_fLookAtHeight, 0 ); + + DISPLAY->LoadLookAt( CAM_FOV, + m_CameraPoint, + m_LookAt, + RageVector3(0,1,0) ); + + FOREACH_EnabledPlayer( p ) + { + bool bFailed = STATSMAN->m_CurStageStats.m_player[p].m_bFailed; + bool bDanger = m_bDrawDangerLight; + + DISPLAY->SetLighting( true ); + + RageColor ambient = bFailed ? (RageColor)LIGHT_ADANGER_COLOR : (bDanger ? (RageColor)LIGHT_ADANGER_COLOR : (RageColor)LIGHT_AMBIENT_COLOR); + RageColor diffuse = bFailed ? (RageColor)LIGHT_DDANGER_COLOR : (bDanger ? (RageColor)LIGHT_DDANGER_COLOR : (RageColor)LIGHT_DIFFUSE_COLOR); + RageColor specular = (RageColor)LIGHT_AMBIENT_COLOR; + DISPLAY->SetLightDirectional( + 0, + ambient, + diffuse, + specular, + RageVector3(LIGHTING_X, LIGHTING_Y, LIGHTING_Z) ); + + if( PREFSMAN->m_bCelShadeModels ) + { + m_pCharacter[p]->DrawCelShaded(); + + DISPLAY->SetLightOff( 0 ); + DISPLAY->SetLighting( false ); + continue; + } + + m_pCharacter[p]->Draw(); + + DISPLAY->SetLightOff( 0 ); + DISPLAY->SetLighting( false ); + } + + DISPLAY->CameraPopMatrix(); + + /* + // Ugly! -Colby + // now draw any potential 2D stuff + FOREACH_PlayerNumber( p ) + { + if(m_bgIdle[p].IsLoaded() && m_i2DAnimState[p] == AS2D_IDLE) + m_bgIdle[p]->Draw(); + if(m_bgMiss[p].IsLoaded() && m_i2DAnimState[p] == AS2D_MISS) + m_bgMiss[p]->Draw(); + if(m_bgGood[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GOOD) + m_bgGood[p]->Draw(); + if(m_bgGreat[p].IsLoaded() && m_i2DAnimState[p] == AS2D_GREAT) + m_bgGreat[p]->Draw(); + if(m_bgFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FEVER) + m_bgFever[p]->Draw(); + if(m_bgWinFever[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WINFEVER) + m_bgWinFever[p]->Draw(); + if(m_bgWin[p].IsLoaded() && m_i2DAnimState[p] == AS2D_WIN) + m_bgWin[p]->Draw(); + if(m_bgFail[p].IsLoaded() && m_i2DAnimState[p] == AS2D_FAIL) + m_bgFail[p]->Draw(); + } + */ +} + +/* + * (c) 2003-2004 Chris Danford + * 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. + */ From d13204fd817b16e6b9ae7b794630cebc8365eda3 Mon Sep 17 00:00:00 2001 From: Jose_Varela Date: Sun, 29 Jul 2018 16:02:56 -0500 Subject: [PATCH 2/4] Add commands from the Src modification --- Themes/_fallback/metrics.ini | 9752 +++++++++++++++++----------------- 1 file changed, 4903 insertions(+), 4849 deletions(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 3dadda9847..5eb31ad37b 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1,4849 +1,4903 @@ -# This probably is hard to understand from the way it was made in the first -# place, so instead just pay attention to each group, which has tons of notes. - -# 01 # Global -# 02 # Managers -# 03 # Singletons -# 04 # Global Screen -# 05 # Base Screens -# 06 # Derivative Screens -# 07 # Etc - -# 01 # -[Global] -# This basically means that all other themes get information from this theme. -IsBaseTheme=1 - -[Common] -# How big the design of the theme is. for example, if a theme was designed for -# 1080p, it would be shrunken for 640x480, as well as that, if it was designed -# for 480p, it would be enlarged for bigger screens! -ScreenWidth=1 -ScreenHeight=480 - -# Allows you to pick all available game modes for your gametype: for example, -# inserting enough coins for 1p would let you choose between solo, single -# and double before each game -AutoSetStyle=false - -# Default modifiers and noteskin. -DefaultModifiers="1x" -DefaultNoteSkinName="default" - -# Difficulties to show. Useful for custom games where you want to hide these. -DifficultiesToShow="beginner,easy,medium,hard,challenge" -# Same as above, but for courses. -CourseDifficultiesToShow="easy,medium,hard" -# Things to hide. -# StepsType_lights_cabinet will only be shown in lights mode. And we want it to -# be shown in lights mode! So don't hide it here. -StepsTypesToHide="" - -# Score placeholder for ScreenHighScores -NoScoreName="STEP" - -# The number of entries before "Various" is shown on the BPMDisplay, etc. -MaxCourseEntriesBeforeShowVarious=10 - -# The screen that appears when pressing the operator button. -OperatorMenuScreen="ScreenOptionsService" - -# The first screen in the attract cycle. -FirstAttractScreen="ScreenDemonstration" - -# First screen that pops up when you start the game. ScreenInit in particular -# shows the theme information before going to the title screen. -InitialScreen="ScreenInit" - -# Music selection screen used after downloading files. -SelectMusicScreen="ScreenSelectMusic" - -# Screens that show over everything else. -# Only mess with this if you know what you're doing. -OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay,ScreenInstallOverlay" - -# Used in PlayerStageStats for formatting scores. -PercentScoreDecimalPlaces=2 - -# We want to define which Images to cache. -# Predefined Images include: Banner,Background,CDTitle,Jacket,CDImage,Disc -# Is Case Sensitive -ImageCache="Banner" - -# 02 # - -[LightsManager] -# Mostly useless since it doesn't work, as well as that barely anyone has -# lights to play around with. -GameButtonsToShow="" -# these metrics don't exist yet, but are planned: -LightEffectRiseSeconds=0.075 -LightEffectFallOffSeconds=0.35 -LightEffectPulseTime=0.100 - -[ProfileManager] -# I wouldn't change these either. -FixedProfiles=false -NumFixedProfiles=1 - -[SongManager] -# SSC: Determine what the ES/OMES Modifiers are -ExtraStagePlayerModifiers="default,2x,reverse" -ExtraStageStageModifiers="failimmediatecontinue,norecover" -OMESPlayerModifiers="default,2x,reverse" -OMESStageModifiers="failimmediate,suddendeath" - -# How many different colors you can have in the MusicWheel -NumSongGroupColors=1 -NumCourseGroupColors=1 -# Legacy metric: how difficult a song has to be for it to glow. -ExtraColorMeter=GetExtraColorThreshold() -ExtraColor=color("#ff0000") -- red -# The maximum difficulty the second extra stage can be. -ExtraStage2DifficultyMax=8 -# Allow special colors for unlocks and 'preffered' sort -UseUnlockColor=false -UsePreferredSortColor=false -# Unlocks go at the end so they're easy to find. -MoveUnlocksToBottomOfPreferredSort=false -# Lots of themes want more than one group color, so let them have this. -SongGroupColor1=color("#00aeef") -- blue -SongGroupColor2=color("#00aeef") -- blue -SongGroupColor3=color("#00aeef") -- blue -SongGroupColor4=color("#00aeef") -- blue -SongGroupColor5=color("#00aeef") -- blue -SongGroupColor6=color("#00aeef") -- blue -SongGroupColor7=color("#00aeef") -- blue -SongGroupColor8=color("#00aeef") -- blue -SongGroupColor9=color("#00aeef") -- blue -SongGroupColor10=color("#00aeef") -- blue -SongGroupColor11=color("#00aeef") -- blue -SongGroupColor12=color("#00aeef") -- blue -SongGroupColor13=color("#00aeef") -- blue -SongGroupColor14=color("#00aeef") -- blue -SongGroupColor15=color("#00aeef") -- blue -SongGroupColor16=color("#00aeef") -- blue -SongGroupColor17=color("#00aeef") -- blue -SongGroupColor18=color("#00aeef") -- blue -SongGroupColor19=color("#00aeef") -- blue -SongGroupColor20=color("#00aeef") -- blue -SongGroupColor21=color("#00aeef") -- blue -SongGroupColor22=color("#00aeef") -- blue -SongGroupColor23=color("#00aeef") -- blue -SongGroupColor24=color("#00aeef") -- blue -SongGroupColor25=color("#00aeef") -- blue -# Lots of themes want more than one course color, too -CourseGroupColor1=color("1,1,1,1") -- white -CourseGroupColor2=color("1,1,1,1") -- white -CourseGroupColor3=color("1,1,1,1") -- white -CourseGroupColor4=color("1,1,1,1") -- white -CourseGroupColor5=color("1,1,1,1") -- white -CourseGroupColor6=color("1,1,1,1") -- white -CourseGroupColor7=color("1,1,1,1") -- white -CourseGroupColor8=color("1,1,1,1") -- white -CourseGroupColor9=color("1,1,1,1") -- white -CourseGroupColor10=color("1,1,1,1") -- white -NumProfileSongGroupColors=2 -ProfileSongGroupColor1=PlayerColor(PLAYER_1) -ProfileSongGroupColor2=PlayerColor(PLAYER_2) -UnlockColor=color("1,0.5,0,1") - -[UnlockManager] -# Unlock harder/different steps based on passing easier steps. -AutoLockChallengeSteps=false -AutoLockEditSteps=false -# determine if songs loaded via AdditionalSongs should be locked. -SongsNotAdditional=true - -UnlockNames="" -# useful commands: -# require,(UnlockRequirement),(value); -# where (UnlockRequirement) is one of the UnlockRequirement enum values. - -# song,(Song Name); -# sets a Song to be unlocked - -# course,(Course Name); -# sets a Course to be unlocked - -# roulette; -# Song shows up in roulette (useful with Song only) - -# mod,(modifier); -# sets a modifier to be unlocked. - -# code,(code); -# assigns a code to the unlock - -# examples: -# 1) The song "Pledge" requires 500 AP. -# Unlock1Command=song,"Pledge";require,"UnlockRequirement_ArcadePoints",500 - -# 2) The song "ABC" can be unlocked via roulette; pick an arbitrary code -# to use to store the unlock. -# Unlock2Command=song,"ABC";code,"59183751";roulette - -# 03 # - -[ArrowEffects] -# Complicated stuff you probably shouldn't ever mess with or else you'll -# destroy mods completely! It's unknown why these were made into metrics. -FrameWidthEffectsPixelsPerSecond=400 -FrameWidthEffectsMinMultiplier=0.5 -FrameWidthEffectsMaxMultiplier=1.2 -FrameWidthLockEffectsToOverlapping=false -FrameWidthLockEffectsTweenPixels=25 -ArrowSpacing=64 -BlinkModFrequency=0.3333 -BoostModMinClamp=-400 -BoostModMaxClamp=400 -BrakeModMinClamp=-400 -BrakeModMaxClamp=400 -WaveModMagnitude=20 -WaveModHeight=38 -BoomerangPeakPercentage=0.75 -ExpandMultiplierFrequency=3 -ExpandMultiplierScaleFromLow=-1 -ExpandMultiplierScaleFromHigh=1 -ExpandMultiplierScaleToLow=0.75 -ExpandMultiplierScaleToHigh=1.75 -ExpandSpeedScaleFromLow=0 -ExpandSpeedScaleFromHigh=1 -ExpandSpeedScaleToLow=1 -# No need for the high here: that is already calculated in code. -TipsyTimerFrequency=1.2 -TipsyColumnFrequency=1.8 -TipsyArrowMagnitude=0.4 -TipsyOffsetTimerFrequency=1.2 -TipsyOffsetColumnFrequency=2 -TipsyOffsetArrowMagnitude=0.4 -TornadoXPositionScaleToLow=-1 -TornadoXPositionScaleToHigh=1 -TornadoXOffsetFrequency=6 -TornadoXOffsetScaleFromLow=-1 -TornadoXOffsetScaleFromHigh=1 -TornadoYPositionScaleToLow=-1 -TornadoYPositionScaleToHigh=1 -TornadoYOffsetFrequency=6 -TornadoYOffsetScaleFromLow=-1 -TornadoYOffsetScaleFromHigh=1 -TornadoZPositionScaleToLow=-1 -TornadoZPositionScaleToHigh=1 -TornadoZOffsetFrequency=6 -TornadoZOffsetScaleFromLow=-1 -TornadoZOffsetScaleFromHigh=1 -DrunkColumnFrequency=0.2 -DrunkOffsetFrequency=10 -DrunkArrowMagnitude=0.5 -DrunkZColumnFrequency=0.2 -DrunkZOffsetFrequency=10 -DrunkZArrowMagnitude=0.5 -BeatOffsetHeight=15 -BeatPIHeight=2 -BeatYOffsetHeight=15 -BeatYPIHeight=2 -BeatZOffsetHeight=15 -BeatZPIHeight=2 -MiniPercentBase=0.5 -MiniPercentGate=1 -TinyPercentBase=0.5 -TinyPercentGate=1 -QuantizeArrowYPosition=false - -[Background] -# Background stuff. again, its usually a better idea to leave this alone -# unless you truly need to change it, in which case you'd know what it does. -ShowDancingCharacters=true -UseStaticBackground=true -# clamps the output of the background -ClampOutputPercent=0.0 -# -LeftEdge=SCREEN_LEFT -RightEdge=SCREEN_RIGHT -TopEdge=SCREEN_TOP -BottomEdge=SCREEN_BOTTOM -RandomBGStartBeat=-1000 -RandomBGChangeMeasures=4 -RandomBGChangesWhenBPMChangesAtMeasureStart=true -RandomBGEndsAtLastBeat=true - -[Banner] -# Scroll stuff when you roll over it, DDR Extreme style. -ScrollRandom=false -ScrollRoulette=false -ScrollMode=false -ScrollSortOrder=false -# Control how fast the banner scrolls. Higher numbers mean slower. -ScrollSpeedDivisor=2 - -[BeginnerHelper] -HelperX=0 -HelperY=SCREEN_CENTER_Y-80 - -# All X,Y coordinates are relative to the HelperX,Y -Player1X=-(SCREEN_CENTER_X/2) -PlayerP1OnCommand=halign,0;rotationx,40;zoom,20 -Player2X=(SCREEN_CENTER_X/2) -PlayerP2OnCommand=halign,1;rotationx,40;zoom,20 - -ShowDancePad=false -# "Pad should always be 3 units bigger in zoom than the dancer." -DancePadOnCommand=halign,0;rotationx,36;zoom,23 - -[BitmapText] -# The colors in the 'roulette' text. you can have a lot! -NumRainbowColors=7 -RainbowColor1=color("1.0,0.0,0.4,1") -- red -RainbowColor2=color("0.8,0.2,0.6,1") -- pink -RainbowColor3=color("0.4,0.3,0.5,1") -- purple -RainbowColor4=color("0.2,0.6,1.0,1") -- sky blue -RainbowColor5=color("0.2,0.8,0.8,1") -- sea green -RainbowColor6=color("0.2,0.8,0.4,1") -- green -RainbowColor7=color("1.0,0.8,0.2,1") -- orange - -[BPMDisplay] -# Various commands for the BPMDisplay, ranging from no bpm, a non changing bpm, -# a bpm that changes, one that is 'random' ( boss songs ) and when a song is -# an es/omes! -SetNoBpmCommand=diffusetopedge,color("#777777");diffusebottomedge,color("#666666") -SetNormalCommand=diffusetopedge,color("#fbfb57");diffusebottomedge,color("#fb9c57") -SetChangeCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757") -SetRandomCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757") -SetExtraCommand=diffusetopedge,color("#fb5757");diffusebottomedge,color("#9c4242") -# Determines if it shows both bpms ( 000-100 ) or cycles between the min and max. -Cycle=true -# Text when there is no BPM -NoBpmText="000" -# How fast it cycles, smaller is faster -RandomCycleSpeed=0.1 -CourseCycleSpeed=0.2 -# Seperator between both bpms ( 100-200 ). -Separator="-" -# ??? when it cycles. -ShowQMarksInRandomCycle=true -QuestionMarksText="???" -RandomText="!!!" -# xxx: localize me -aj -VariousText="000" -FormatString="%03.0f" - -[CodeDetector] -# Codes on the MusicWheel that change stuff! -# For Future Reference: -# @ = Holding -# - = In Conjuction With / Then -# ~ = Released -# + = At The Same Time -PrevSteps1=GetCodeForGame("PrevSteps1") -PrevSteps2=GetCodeForGame("PrevSteps2") -NextSteps1=GetCodeForGame("NextSteps1") -NextSteps2=GetCodeForGame("NextSteps2") -NextSort1=GetCodeForGame("NextSort1") -NextSort2=GetCodeForGame("NextSort2") -NextSort3=GetCodeForGame("NextSort3") -NextSort4=GetCodeForGame("NextSort4") -ModeMenu1=GetCodeForGame("ModeMenu1") -ModeMenu2=GetCodeForGame("ModeMenu2") -Mirror=GetCodeForGame("Mirror") -Left=GetCodeForGame("Left") -Right=GetCodeForGame("Right") -Shuffle=GetCodeForGame("Shuffle") -SuperShuffle=GetCodeForGame("SuperShuffle") -NextTransform=GetCodeForGame("NextTransform") -NextScrollSpeed=GetCodeForGame("NextScrollSpeed") -PreviousScrollSpeed=GetCodeForGame("PreviousScrollSpeed") -NextAccel=GetCodeForGame("NextAccel") -NextEffect=GetCodeForGame("NextEffect") -NextAppearance=GetCodeForGame("NextAppearance") -NextTurn=GetCodeForGame("NextTurn") -Reverse=GetCodeForGame("Reverse") -HoldNotes=GetCodeForGame("HoldNotes") -Mines=GetCodeForGame("Mines") -Dark=GetCodeForGame("Dark") -CancelAll=GetCodeForGame("CancelAll") -NextGroup=GetCodeForGame("NextGroup") -PrevGroup=GetCodeForGame("PrevGroup") -CloseCurrentFolder=GetCodeForGame("CloseCurrentFolder") -Hidden=GetCodeForGame("Hidden") -RandomVanish=GetCodeForGame("RandomVanish") -SaveScreenshot1=GetCodeForGame("SaveScreenshot1") -SaveScreenshot2=GetCodeForGame("SaveScreenshot2") -# on the player options menu. -CancelAllPlayerOptions=GetCodeForGame("CancelAllPlayerOptions") -# unused codes: -Backwards="" -# deprecated codes: -NextTheme="" -NextTheme2="" -NextAnnouncer="" -NextAnnouncer2="" -BackInEventMode="" -# NextTheme="Left,Left,Left,Right,Right,Right,Left,Right" -# NextTheme2="MenuLeft,MenuLeft,MenuLeft,MenuRight,MenuRight,MenuRight,MenuLeft,MenuRight" -# NextAnnouncer="Left,Left,Right,Right,Left,Left,Right,Right" -# NextAnnouncer2="MenuLeft,MenuLeft,MenuRight,MenuRight,MenuLeft,MenuLeft,MenuRight,MenuRight" - -[CodeDetectorOnline] -Fallback="CodeDetector" -PrevSteps1="MenuUp,MenuUp" -PrevSteps2="" -NextSteps1="MenuDown,MenuDown" -NextSteps2="" -NextSort3="" -NextSort4="" -ModeMenu1="" -Mirror="" -Left="" -Right="" -Shuffle="" -SuperShuffle="" -NextScrollSpeed="" -PreviousScrollSpeed="" -NextAccel="" -NextEffect="" -NextAppearance="" -Reverse="" -HoldNotes="" -CancelAll="" - -[CombinedLifeMeterTug] -# We don't use it. -MeterWidth=0.0 -#-----# -SeparatorOnCommand= -SeparatorOffCommand= -#-----# -FrameOnCommand= -FrameOffCommand= - -[Combo] -# System Direction -ShowComboAt=HitCombo() -ShowMissesAt=MissCombo() -# Shrink and Grow the combo, DDR Style -NumberMinZoom=0.8 -NumberMaxZoom=1 -NumberMaxZoomAt=100 -# -LabelMinZoom=0.75*0.75 -LabelMaxZoom=0.75*0.75 -# Things the combo does when you bang on it, and what the text does -PulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.125*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end -PulseLabelCommand=%function(self,param) self:stoptweening(); self:zoom(param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); end -NumberOnCommand=y,240-216-1.5;shadowlength,1;halign,1;valign,1;skewx,-0.125; -LabelOnCommand=x,6;y,22.5;shadowlength,1;zoom,0.75;diffusebottomedge,color("0.75,0.75,0.75,1");halign,0;valign,1 - -[HoldJudgment] -# System Direction -HoldJudgmentMissedHoldCommand= -HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 - -[HelpDisplay] -# The help display on the menus, and what it does. -# How fast it changes between texts (seconds) -TipShowTime=4 -# How long each switch takes (seconds) -TipSwitchTime=2 -# The Command when its made -TipOnCommand=shadowlength,0;diffuseblink - -[Judgment] -# New # -JudgmentOnCommand= - -# Things the judgment does when you bang on it. -JudgmentW1Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") -JudgmentW2Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -JudgmentW3Command=shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; -JudgmentW4Command=shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; -JudgmentW5Command=shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,4,8,8;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -JudgmentMissCommand=shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 - -[Protiming] -# Protiming isn't implemented yet. -ProtimingOnCommand=y,24 -ProtimingW1Command= -ProtimingW2Command= -ProtimingW3Command= -ProtimingW4Command= -ProtimingW5Command= -ProtimingMissCommand= - -[Course] -# The course colors change depending on what course sort order is being used. -# SortPreferredColor is used with preferred course sort. - -# [Song sort] number of songs in course -# 1-3 songs: SortLevel5Color -# 4-6 songs: SortLevel4Color -# 7+ songs : SortLevel2Color - -# [Meter sort] -# if all songs are fixed, return SortLevel1Color. -# meter 1-4: SortLevel5Color -# meter 5-6: SortLevel4Color -# meter 7-9: SortLevel3Color -# meter 10+: SortLevel2Color -# [Meter sum sort] is about the same, except the values are -# 1-19, 20-29, 30-39, and 40+. - -# [Rank sort] -# Ranking 1: SortLevel5Color -# Ranking 2: SortLevel3Color -# Ranking 3: SortLevel1Color -# Others : SortLevel4Color - -SortPreferredColor=color("1,1,1,1") -- Preferred is both for when courses are in preferred sort, or are autogen -SortLevel1Color=color("1,0,0,1") -SortLevel2Color=color("1,1,0,1") -SortLevel3Color=color("1,0.5,0,1") -SortLevel4Color=color("1,1,0,1") -SortLevel5Color=color("0,1,0,1") - -[CustomDifficulty] -# Custom system that lets you rename certain classes of difficulties to -# something else. Mostly for custom games and game emulation, PIU for example. - -#Names="PumpHard,PumpFreestyle,PumpNightmare" -Names="PumpHard,PumpFreestyle,PumpNightmare,PumpHalfDoubleMedium" -# Dance Couple Beginner -DanceCoupleBeginnerStepsType="StepsType_Dance_Couple" -DanceCoupleBeginnerDifficulty="Difficulty_Beginner" -DanceCoupleBeginnerCourseType=nil -DanceCoupleBeginnerString="Beginner" -# Dance Couple Easy -DanceCoupleEasyStepsType="StepsType_Dance_Couple" -DanceCoupleEasyDifficulty="Difficulty_Easy" -DanceCoupleEasyCourseType=nil -DanceCoupleEasyString="Easy" -# Dance Couple Medium -DanceCoupleMediumStepsType="StepsType_Dance_Couple" -DanceCoupleMediumDifficulty="Difficulty_Medium" -DanceCoupleMediumCourseType=nil -DanceCoupleMediumString="Medium" -# Dance Couple Hard -DanceCoupleHardStepsType="StepsType_Dance_Couple" -DanceCoupleHardDifficulty="Difficulty_Hard" -DanceCoupleHardCourseType=nil -DanceCoupleHardString="Hard" -# Dance Couple Expert -DanceCoupleExpertStepsType="StepsType_Dance_Couple" -DanceCoupleExpertDifficulty="Difficulty_Expert" -DanceCoupleExpertCourseType=nil -DanceCoupleExpertString="Expert" -# Pump Single Hard (Crazy) -PumpHardStepsType="StepsType_Pump_Single" -PumpHardDifficulty="Difficulty_Hard" -PumpHardCourseType=nil -PumpHardString="Crazy" -# Pump Double Medium (Freestyle) -PumpFreestyleStepsType="StepsType_Pump_Double" -PumpFreestyleDifficulty="Difficulty_Medium" -PumpFreestyleCourseType=nil -PumpFreestyleString="Freestyle" -# Pump Double Hard (Nightmare) -PumpNightmareStepsType="StepsType_Pump_Double" -PumpNightmareDifficulty="Difficulty_Hard" -PumpNightmareCourseType=nil -PumpNightmareString="Nightmare" -# Pump Half-Double Medium -PumpHalfDoubleMediumStepsType="StepsType_Pump_Halfdouble" -PumpHalfDoubleMediumDifficulty="Difficulty_Medium" -PumpHalfDoubleMediumCourseType=nil -PumpHalfDoubleMediumString="HalfDouble" -# -# Difficulty_Beginner-StepsType_Pump_Single=Easy -# Difficulty_Easy-StepsType_Pump_Single=Normal -# Difficulty_Medium-StepsType_Pump_Single=Hard -# Difficulty_Hard-StepsType_Pump_Single=Crazy -# Difficulty_Medium-StepsType_Pump_Halfdouble=Half-Double -# Difficulty_Medium-StepsType_Pump_Double=Freestyle -# Difficulty_Hard-StepsType_Pump_Double=Nightmare -# Difficulty_Edit-StepsType_Pump_Single=Edit -# Difficulty_Edit-StepsType_Pump_Halfdouble=Edit -# Difficulty_Edit-StepsType_Pump_Double=Edit -# Course=Progressive -[DifficultyList] -# A list that shows difficulties in a song. -CapitalizeDifficultyNames=false -# How far away and how many items there are -ItemsSpacingY=40 -NumShownItems=5 -# -MoveCommand=decelerate,0.3 - -[FadingBanner] -# The banner on MusicWheel. -BannerOnCommand= -# When it loads -BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 -# When it loads into clarity -BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 -# ResetFade is played in BeforeChange. It happens after the FadeFromCached/FadeOff command. -BannerResetFadeCommand=diffusealpha,1 - -BannerRouletteCommand= -BannerRandomCommand= - -[Gameplay] -# System Direction -ComboIsPerRow=ComboPerRow() -MissComboIsPerRow=true -MinScoreToContinueCombo=ComboContinue() -MinScoreToMaintainCombo=ComboMaintain() -MaxScoreToIncrementMissCombo='TapNoteScore_Miss' -MineHitIncrementsMissCombo=false -AvoidMineIncrementsCombo=false -UseInternalScoring=true -# When you hit it, you know. -ToastyTriggersAt=250 -ToastyMinTNS='TapNoteScore_W2' - -[GameState] -# Default song and sort. these don't really matter -DefaultSong="" -DefaultSort="Group" -# How good of a grade you have to get to get an ES/OMES. Locked to an 'AA' -GradeTierForExtra1="Grade_Tier03" -GradeTierForExtra2="Grade_Tier03" -# and how difficult that song you go thas to be -MinDifficultyForExtra="Difficulty_Hard" -# System Direction -AreStagePlayerModsForced=AreStagePlayerModsForced -AreStageSongModsForced=AreStageSongModsForced -# Let players join while you play if they put in some coins -AllowLateJoin=true -# Various feats that you can earn -ProfileRecordFeats=true -CategoryRecordFeats=true -# Disallow bad names -UseNameBlacklist=false -# Alow OMES -AllowExtra2=true -# Don't let the player change difficulties on an ES/OMES -LockExtraStageSelection=true -# Normally, in event mode, the premium value is ignored. Set this metric to -# true to re-gain that behavior. -DisablePremiumInEventMode=false -# Let edit steps be allowed for earning extra stages. -EditAllowedForExtra=false - -[GrooveRadar] -# Polar graph that shows difficulty stuff in depth -# how thick the line is -EdgeWidth=2 -# How visible the middle is -CenterAlpha=0.25 -# what to do with each player's part of the graph -RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1) -RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2) - -[HighScore] -# Default highscore name for no entries ( like how street fighter has ' CAP ' ) -EmptyName="SSC!" - -[Inventory] -# Defines the probability of using items (1/ItemUseRateSeconds). -ItemUseRateSeconds=0.0 - -[LifeMeterBar] -# The default life bar you see in gameplay - -# Percentage in which the game starts yelling at you to stop sucking -DangerThreshold=0.2 -# And how much it starts up at. -InitialValue=0.5 -# And how much it takes to get ravin' -HotValue=1.0 -# And how much there is to fill up ( only for debug ) -LifeMultiplier=1.0 -# How good you gotta hit it to keep it alive. ( W3 is 'Great' ); -MinStayAlive="TapNoteScore_W3" -# If the life difficulty should be changed on extra stages -ForceLifeDifficultyOnExtraStage=true -# And what it should be changed to. Has no effect if the above is false. -ExtraStageLifeDifficulty=1.0 - -# How much it changes -LifePercentChangeW1=0.008 -LifePercentChangeW2=0.008 -LifePercentChangeW3=0.004 -LifePercentChangeW4=0.000 -LifePercentChangeW5=-0.040 -LifePercentChangeMiss=-0.080 -LifePercentChangeHitMine=-0.160 -LifePercentChangeHeld=IsGame("pump") and 0.000 or 0.008 -LifePercentChangeLetGo=IsGame("pump") and 0.000 or -0.080 -LifePercentChangeMissedHold=0.000 -LifePercentChangeCheckpointMiss=-0.080 -LifePercentChangeCheckpointHit=0.008 - -# And various positionings -UnderX=0 -UnderY=0 -DangerX=0 -DangerY=0 -StreamX=0 -StreamY=0 -OverX=0 -OverY=0 - -[LifeMeterBattery] -# The bar that shows up in Oni mode. -# any score below this one will cause you to lose a life. -MinScoreToKeepLife='TapNoteScore_W3' -# Defines the maximum number of lives in the meter. (0 means no limit) -MaxLives=0 -# how many lives you'll lose upon doing so. -SubtractLives=1 -# how many lives you'll lose hitting a mine -MinesSubtractLives=1 -# how many lives a successful hold will net you. -HeldAddLives=0 -# how many lives an unsuccessful hold will cost you. -LetGoSubtractLives=1 -# this function returns how many lives to add when a song ends in course mode. -CourseSongRewardLives=function(life_meter, pn) if GAMESTATE:GetCurrentSteps(pn):GetMeter() >= 8 then return 2 end return 1 end - -# How many lives trigger the "Danger" state. -DangerThreshold=1 -# How long it flashes when you lose a life. -BatteryBlinkTime=1.2 -# Where the batteries are -BatteryP1X=-92 -BatteryP1Y=2 -BatteryP2X=92 -BatteryP2Y=2 -# Where your life count is -NumLivesFormat="x%d" -NumLivesP1X=-92 -NumLivesP1Y=0 -NumLivesP1GainLifeCommand= -NumLivesP1LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1 -NumLivesP2X=92 -NumLivesP2Y=0 -NumLivesP2GainLifeCommand= -NumLivesP2LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1 - -[LifeMeterBattery Percent] -# The percentage on the bar. I wouldn't even bother changing this, because I -# havent and I *made* this theme :\ -Format=FormatPercentScore -PercentUseRemainder=false -ApplyScoreDisplayOptions=true -DancePointsDigits=5 -# -Format=FormatPercentScore -# -RemainderFormat= -# -PercentFormat="%2d" -PercentP1X=0 -PercentP1Y=0 -PercentP1OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1) -PercentP1OffCommand= -PercentP2X=0 -PercentP2Y=0 -PercentP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -PercentP2OffCommand= -# -DancePointsP1X=0 -DancePointsP1Y=0 -DancePointsP1OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1) -DancePointsP1OffCommand= -DancePointsP2X=0 -DancePointsP2Y=0 -DancePointsP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -DancePointsP2OffCommand= - -[LifeMeterTime] -# The Lifemeter that shows up when you're playing survival. - -# When it starts telling you to stop sucking. -DangerThreshold=0.3 -# How good it's filled up when you start -InitialValue=0.5 -MeterWidth=0.0 -MeterHeight=0.0 -# How little there is to fill? -MinLifeTime=15 - -[LyricDisplay] -LyricFrontChangedCommand=LyricCommand,"Front" -LyricBackChangedCommand=LyricCommand,"Back" - -InLength=0 -OutLength=0 - -[NotesWriterSM] -DescriptionUsesCreditField=false - -[OptionRow] -ShowModIcons=false -ShowUnderlines=true -ShowBpmInSpeedTitle=false -ModIconP1X=SCREEN_CENTER_X-280 -ModIconP2X=SCREEN_CENTER_X+280 -ModIconOnCommand=x,-30 -FrameX=SCREEN_CENTER_X-222 -FrameY=0 -FrameOnCommand= -TitleX=SCREEN_CENTER_X-222 -TitleY=0 -TitleOnCommand=shadowlength,0;uppercase,true;wrapwidthpixels,SCREEN_WIDTH*0.2;zoom,0.6 -TitleGainFocusCommand=diffuse,color("1,1,1,1");strokecolor,color("0,0,0,1") -TitleLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,1") -ItemsStartX=SCREEN_CENTER_X-140 -ItemsEndX=SCREEN_CENTER_X+280 -ItemsGapX=14 -ItemsMinBaseZoom=0.65 -ItemsLongRowP1X=SCREEN_CENTER_X-60 -ItemsLongRowP2X=SCREEN_CENTER_X+100 -ItemsLongRowSharedX=SCREEN_CENTER_X -ItemOnCommand=shadowlength,0;zoom,0.5 -ItemGainFocusCommand= -ItemLoseFocusCommand= -TweenSeconds=0.2 -ModIconMetricsGroup="ModIcon" -ColorSelected=color("1,1,1,1") -ColorNotSelected=color("0.5,0.5,0.5,1") -ColorDisabled=color("0.25,0.25,0.25,1") - -[OptionRowService] -Fallback="OptionRow" -# Service Titles are all that are shown. -ShowUnderlines=false -ShowCursors=false -# -TitleX=SCREEN_CENTER_X -TitleY= -TitleOnCommand=shadowlength,0;uppercase,true;maxwidth,600;zoom,0.75 -TitleGainFocusCommand=diffuse,color("1,1,1,1");strokecolor,color("0,0,0,1") -TitleLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,1") - -[OptionRowExit] -Fallback="OptionRow" -FrameOnCommand=visible,false -TitleOnCommand=visible,false - -[OptionsCursor] -LeftX= -LeftY= -LeftOnCommand=halign,1; -MiddleX= -MiddleY= -MiddleOnCommand= -RightX= -RightY= -RightOnCommand=halign,0; -CanGoLeftX= -CanGoLeftY= -CanGoLeftOnCommand=halign,1; -CanGoRightX= -CanGoRightY= -CanGoRightOnCommand=halign,0; - -[OptionsCursorP1] -Fallback="OptionsCursor" -LeftX=-2 -MiddleX=-2 -RightX=-2 -LeftY=-2 -MiddleY=-2 -RightY=-2 - -[OptionsCursorP2] -Fallback="OptionsCursor" -LeftX=2 -MiddleX=2 -RightX=2 -LeftY=2 -MiddleY=2 -RightY=2 - -[OptionsUnderline] -Fallback="OptionsCursor" - -[OptionsUnderlineP1] -Fallback="OptionsUnderline" -LeftX=-4 -MiddleX=-4 -RightX=-4 -LeftY=10 -MiddleY=10 -RightY=10 - -[OptionsUnderlineP2] -Fallback="OptionsUnderline" -LeftX=4 -MiddleX=4 -RightX=4 -LeftY=12 -MiddleY=12 -RightY=12 - -[MenuTimer] -WarningStart=10 -WarningBeepStart=10 -# I don't like it -# -- Midiman -# MaxStallSeconds=7.5 -MaxStallSeconds=0 -# -HurryUpTransition=5.5 -Text1OnCommand=stopeffect;stoptweening;shadowlength,0; -Text1FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.floor(fSeconds); return ""..digit end -Text2OnCommand=stopeffect;stoptweening;shadowlength,0;visible,false -Text2FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.mod(fSeconds,10); return ""..digit end -# -FrameX=0 -FrameY=0 -FrameOnCommand= -# -Warning10Command= -Warning9Command= -Warning8Command= -Warning7Command= -Warning6Command= -Warning5Command= -Warning4Command= -Warning3Command= -Warning2Command= -Warning1Command= -Warning0Command= - -[MenuTimerNoSound] -Fallback="MenuTimer" -# -WarningBeepStart=0 - -[MusicList] -SpacingX=0 -SpacingY=0 -StartY=0 -StartX=0 -# -CropWidth=0 -NumRows=0 -NumColumns=0 - -[MusicWheel] -FadeSeconds=1 -SwitchSeconds=0.10 -RandomPicksLockedSongs=true -UseSectionsWithPreferredGroup=false -OnlyShowActiveSection=false -HideActiveSectionTitle=true -RemindWheelPositions=false -# -RouletteSwitchSeconds=0.05 -RouletteSlowDownSwitches=5 -LockedInitialVelocity=15 - -ScrollBarHeight=300 -ScrollBarOnCommand=visible,false -# -ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*38 ); end -NumWheelItems=11 -MusicWheelSortOnCommand= -MusicWheelSortOffCommand= -MusicWheelItemSortOnCommand= -MusicWheelItemSortOffCommand= -HighlightOnCommand= -HighlightOffCommand= -HighlightSortOnCommand= -HighlightSortOffCommand= -WheelItemLockedColor=color("0,0,0,0.5") -# -NumSectionColors=1 -SectionColor1=color("1,1,1,1") -# -SongRealExtraColor=color("1,0,0,1") -SortMenuColor=color("1,1,1,1") -# -RouletteColor=color("1,0,0,1") -RandomColor=color("1,0,0,1") -PortalColor=color("1,0,0,1") -EmptyColor=color("1,0,0,1") - -SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Artist", "SortOrder_Genre" } -# SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Popularity", "SortOrder_Artist", "SortOrder_Genre" } - -ShowRoulette=true -ShowRandom=false -ShowPortal=false - -ShowSectionsInBPMSort=true -SortBPMDivision=20 -ShowSectionsInLengthSort=true -SortLengthDivision=5 - -MostPlayedSongsToShow=30 -RecentSongsToShow=30 - -UseEasyMarkerFlag=false - -ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent" -# ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,NormalMode,BattleMode" -ChoicePreferred="sort,Preferred" -ChoiceGroup="sort,Group" -ChoiceTitle="sort,Title" -ChoiceBpm="sort,BPM" -ChoicePopularity="sort,Popularity" -ChoiceTopGrades="sort,TopGrades" -ChoiceArtist="sort,Artist" -ChoiceGenre="sort,Genre" -ChoiceEasyMeter="sort,EasyMeter" -ChoiceMediumMeter="sort,MediumMeter" -ChoiceHardMeter="sort,HardMeter" -ChoiceChallengeMeter="sort,ChallengeMeter" -ChoiceDoubleEasyMeter="sort,DoubleEasyMeter" -ChoiceDoubleMediumMeter="sort,DoubleMediumMeter" -ChoiceDoubleHardMeter="sort,DoubleHardMeter" -ChoiceDoubleChallengeMeter="sort,DoubleChallengeMeter" -ChoiceLength="sort,Length" -ChoiceRecent="sort,Recent" -ChoiceNormalMode="playmode,regular" -ChoiceBattleMode="playmode,battle" - -CustomWheelItemNames="" - -[CourseWheel] -Fallback="MusicWheel" -# -ModeMenuChoiceNames="AllCourses,Nonstop,Oni,Endless,Survival" -# xxx: force nonstop on all courses? sounds lame but meh -ChoiceAllCourses="sort,AllCourses;playmode,nonstop;mod,bar" -ChoiceNonstop="sort,Nonstop;playmode,nonstop;mod,bar" -ChoiceOni="sort,Oni;playmode,oni;mod,battery" -ChoiceEndless="sort,Endless;playmode,endless;mod,bar" -ChoiceSurvival="sort,Oni;playmode,oni;mod,lifetime" - -[OnlineMusicWheel] -Fallback="MusicWheel" -# roulette + online causes a sorting issue that should be hammered out first. -aj -ShowRoulette=false -ShowRandom=false -ShowPortal=false - -[MusicWheelItem] -WheelNotifyIconX=106 -WheelNotifyIconY=0 -WheelNotifyIconOnCommand=visible,false -# -SongNameX=0 -SongNameY=0 -SongNameOnCommand= -# -CourseX=0 -CourseY=0 -CourseOnCommand= -# -SectionExpandedX=0 -SectionExpandedY=0 -SectionExpandedOnCommand= -# -SectionCollapsedX=0 -SectionCollapsedY=0 -SectionCollapsedOnCommand= -SectionCountX=0 -SectionCountY=0 -SectionCountOnCommand= -# -RouletteX=0 -RouletteY=0 -RouletteOnCommand= -# -RandomX=0 -RandomY=0 -RandomOnCommand= -# -PortalX=0 -PortalY=0 -PortalOnCommand= -# -SortX=0 -SortY=0 -SortOnCommand= -# -ModeX=0 -ModeY=0 -ModeOnCommand= -# -CustomX=0 -CustomY=0 -CustomOnCommand= -# -GradeP1X=0 -GradeP1Y=0 -GradeP2X=0 -GradeP2Y=0 -GradesShowMachine=true - -[NoteField] -ShowBoard=false -ShowBeatBars=false -# -FadeBeforeTargetsPercent=0 -FadeFailTime=1.5 -# -BarMeasureAlpha=1 -Bar4thAlpha=1 -Bar8thAlpha=1 -Bar16thAlpha=1 -# -RoutineNoteSkinP1=RoutineSkinP1() -RoutineNoteSkinP2=RoutineSkinP2() -# -AreaHighlightColor=color("1,0,0,0.3") -BPMColor=color("1,0,0,1") -StopColor=color("0.8,0.8,0,1") -DelayColor=color("0,0.8,0.8,1") -WarpColor=color("1,0,0.5,1") -TimeSignatureColor=color("1,0.55,0,1") -TickcountColor=color("0,1,0,1") -ComboColor=color("0.55,1,0,1") -LabelColor=color("1,0,0,1") -SpeedColor=color("0.5,1,1,1") -ScrollColor=color("0.3,0.8,1,1") -FakeColor=color("1,1,0.5,1") -# -BPMIsLeftSide=true -StopIsLeftSide=true -DelayIsLeftSide=true -WarpIsLeftSide=false -TimeSignatureIsLeftSide=true -TickcountIsLeftSide=false -ComboIsLeftSide=false -LabelIsLeftSide=false -SpeedIsLeftSide=false -ScrollIsLeftSide=true -FakeIsLeftSide=true -# -BPMOffsetX=60 -StopOffsetX=50 -DelayOffsetX=120 -WarpOffsetX=90 -TimeSignatureOffsetX=30 -TickcountOffsetX=50 -ComboOffsetX=70 -LabelOffsetX=130 -SpeedOffsetX=30 -ScrollOffsetX=100 -FakeOffsetX=90 - -[PlayerStageStats] -# Original CVS Grading -GradePercentTier01=1.000000 -GradePercentTier02=1.000000 -GradePercentTier03=0.930000 -GradePercentTier04=0.800000 -GradePercentTier05=0.650000 -GradePercentTier06=0.450000 -GradePercentTier07=-99999.000000 -GradeTier01IsAllW2s=false -GradeTier02IsAllW2s=true -GradeTier02IsFullCombo=false -NumGradeTiersUsed=7 - -[Player] -ReceptorArrowsYStandard=-144 -ReceptorArrowsYReverse=144 -ReceptorNoSinkScoreCutoff=4 -JudgmentTransformCommand=%JudgmentTransformCommand -JudgmentOnCommand= -ComboTransformCommand=%ComboTransformCommand -AttackDisplayXOffsetOneSideP1=0 -AttackDisplayXOffsetOneSideP2=0 -AttackDisplayXOffsetBothSides=0 -AttackDisplayY=-70 -AttackDisplayYReverse=70 -# HACK: These shouldn't go to the render pipe at all if IsGame("pump") -HoldJudgmentYStandard=IsGame("pump") and -99999 or -90 -HoldJudgmentYReverse=IsGame("pump") and -99999 or 90 -BrightGhostComboThreshold=100 -DrawDistanceBeforeTargetsPixels=SCREEN_HEIGHT -DrawDistanceAfterTargetsPixels=-128 -TapJudgmentsUnderField=false -HoldJudgmentsUnderField=false -ComboUnderField=false -PenalizeTapScoreNone=false -JudgeHoldNotesOnSameRowTogether=false -CheckpointsTapsSeparateJudgment=not IsGame("pump") -; someone misunderstood me :x -Daisu -CheckpointsFlashOnHold=IsGame("pump") -ImmediateHoldLetGo=not IsGame("pump") -ComboBreakOnImmediateHoldLetGo=false -RequireStepOnHoldHeads=not IsGame("pump") -RequireStepOnMines=false -InitialHoldLife=IsGame("pump") and 0.05 or 1 -MaxHoldLife=1 -RollBodyIncrementsCombo=false -ScoreMissedHoldsAndRolls=not IsGame("pump") and not IsGame("dance") -PercentUntilColorCombo=0.25 -ComboStoppedAt=50 -AttackRunTimeRandom=6 -AttackRunTimeMine=7 -BattleRaveMirror=true -MModHighCap=600 - -[PlayerOptions] -RandomSpeedChance=0.2 -RandomReverseChance=0.2 -RandomDarkChance=0.1 -RandomAccelChance=0.333 -RandomEffectChance=0.667 -RandomHiddenChance=0.05 -RandomSuddenChance=0.1 - -[PlayerShared] -Fallback="Player" -#ComboXOffsetOneSideP1=-120 -#ComboXOffsetOneSideP2=120 -ComboXOffsetOneSideP1=0 -ComboXOffsetOneSideP2=0 -JudgmentTransformCommand=%JudgmentTransformSharedCommand - -[Profile] -ShowCoinData=true -UnlockAuthString="" -CustomLoadFunction=LoadProfileCustom -CustomSaveFunction=SaveProfileCustom - -[RadarValues] -WriteComplexValues=true -WriteSimpleValues=true - -[RollingNumbers] -TextFormat="%09.0f" -ApproachSeconds=0.2 -Commify=true -LeadingZeroMultiplyColor=color("#777777FF") - -[RollingNumbersEvaluation] -Fallback="RollingNumbers" -ApproachSeconds=1 - -[RollingNumbersJudgment] -Fallback="RollingNumbers" -TextFormat="%04.0f" -ApproachSeconds=1 -Commify=false - -[RollingNumbersMaxCombo] -Fallback="RollingNumbersJudgment" - -[ScoreDisplayNormal] -FrameX= -FrameY= -FrameOnCommand= -FrameOffCommand= -TextX= -TextY= -TextOnCommand= -TextOffCommand= - -[ScoreDisplayOni] - -[ScoreDisplayLifeTime] -FrameX= -FrameY= -FrameOnCommand= -FrameOffCommand= -# -TextX= -TextY= -TextOnCommand= -TextOffCommand= -# -TimeRemainingX= -TimeRemainingY= -TimeRemainingOnCommand= -TimeRemainingOffCommand= -# -DeltaSecondsOnCommand= -DeltaSecondsNoneCommand= -DeltaSecondsHitMineCommand= -DeltaSecondsAvoidMineCommand= -DeltaSecondsCheckpointMissCommand= -DeltaSecondsCheckpointHitCommand= -DeltaSecondsMissCommand= -DeltaSecondsW5Command= -DeltaSecondsW4Command= -DeltaSecondsW3Command= -DeltaSecondsW2Command= -DeltaSecondsW1Command= -DeltaSecondsLetGoCommand= -DeltaSecondsHeldCommand= -DeltaSecondsMissedHoldCommand= -DeltaSecondsGainLifeCommand= - -[ScoreDisplayPercentage Percent] -PercentFormat="%2d" -PercentP1X=0 -PercentP1Y=0 -PercentP1OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) -PercentP1OffCommand= -PercentP2X=0 -PercentP2Y=0 -PercentP2OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) -PercentP2OffCommand= -PercentUseRemainder=false -ApplyScoreDisplayOptions=true -Format=FormatPercentScore -PercentDecimalPlaces=2 -PercentTotalSize=5 -RemainderFormat= - -DancePointsDigits=5 -DancePointsP1X=0 -DancePointsP1Y=0 -DancePointsP1OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) -DancePointsP1OffCommand= -DancePointsP2X=0 -DancePointsP2Y=0 -DancePointsP2OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) -DancePointsP2OffCommand= - -# are these even used? -f -PercentP3X=0 -PercentP3Y=0 -PercentP3OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) -PercentP3OffCommand= -PercentP4X=0 -PercentP4Y=0 -PercentP4OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) -PercentP4OffCommand= -PercentP5X=0 -PercentP5Y=0 -PercentP5OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) -PercentP5OffCommand= -PercentP6X=0 -PercentP6Y=0 -PercentP6OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) -PercentP6OffCommand= -PercentP7X=0 -PercentP7Y=0 -PercentP7OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) -PercentP7OffCommand= -PercentP8X=0 -PercentP8Y=0 -PercentP8OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) -PercentP8OffCommand= - -[ScoreDisplayRave] -MeterP1X= -MeterP1Y= -MeterP1OnCommand= -MeterP1OffCommand= -MeterP2X= -MeterP2Y= -MeterP2OnCommand=zoomx,-1 -MeterP2OffCommand= - -LevelP1X= -LevelP1Y= -LevelP1OnCommand= -LevelP1OffCommand= -LevelP2X= -LevelP2Y= -LevelP2OnCommand= -LevelP2OffCommand= - -FrameBaseP1X= -FrameBaseP1Y= -FrameBaseP1OnCommand= -FrameBaseP1OffCommand= -FrameBaseP2X= -FrameBaseP2Y= -FrameBaseP2OnCommand= -FrameBaseP2OffCommand= - -FrameOverP1X= -FrameOverP1Y= -FrameOverP1OnCommand= -FrameOverP1OffCommand= -FrameOverP2X= -FrameOverP2Y= -FrameOverP2OnCommand= -FrameOverP2OffCommand= - -[ScoreKeeperNormal] -PercentScoreWeightCheckpointHit=3 -PercentScoreWeightCheckpointMiss=0 -PercentScoreWeightHeld=IsGame("pump") and 0 or 3 -PercentScoreWeightHitMine=-2 -PercentScoreWeightMissedHold=0 -PercentScoreWeightLetGo=0 -PercentScoreWeightMiss=0 -PercentScoreWeightW1=3 -PercentScoreWeightW2=2 -PercentScoreWeightW3=1 -PercentScoreWeightW4=0 -PercentScoreWeightW5=0 -GradeWeightCheckpointHit=2 -GradeWeightCheckpointMiss=-8 -GradeWeightHeld=IsGame("pump") and 0 or 6 -GradeWeightHitMine=-8 -GradeWeightMissedHold=0 -GradeWeightLetGo=0 -GradeWeightMiss=-8 -GradeWeightW1=2 -GradeWeightW2=2 -GradeWeightW3=1 -GradeWeightW4=0 -GradeWeightW5=-4 - -[ScoreKeeperRave] -AttackDurationSeconds=3.0 - -[ScreenEvaluation Percent] -PercentFormat="%2d" -PercentP1X=0 -PercentP1Y=0 -PercentP1OnCommand=horizalign,right;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 -PercentP1OffCommand= -PercentP2X=0 -PercentP2Y=0 -PercentP2OnCommand=horizalign,right;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 -PercentP2OffCommand= -RemainderFormat=".%02d%%" -PercentRemainderP1X=0 -PercentRemainderP1Y=0 -PercentRemainderP1OnCommand=horizalign,left;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 -PercentRemainderP1OffCommand= -PercentRemainderP2X=0 -PercentRemainderP2Y=0 -PercentRemainderP2OnCommand=horizalign,left;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 -PercentRemainderP2OffCommand= -DancePointsP1X=-26 -DancePointsP1Y=-32 -DancePointsP1OnCommand=glowshift;effectperiod,2;shadowlength,0 -DancePointsP1OffCommand=sleep,0.8;accelerate,0.3 -DancePointsP2X=-26 -DancePointsP2Y=-32 -DancePointsP2OnCommand=glowshift;effectperiod,2;shadowlength,0 -DancePointsP2OffCommand=sleep,0.8;accelerate,0.3 -DancePointsDigits=1 -PercentUseRemainder=true -ApplyScoreDisplayOptions=false -FormatPercentScore=FormatPercentScore -Format=FormatPercentScore - -[SoundEffectControl] -LockToHold=false - -[SoundEffectControl_Off] -Fallback="SoundEffectControl" -SoundProperty="" -PropertyMin=1.0 -PropertyCenter=1.0 -PropertyMax=1.0 - -[SoundEffectControl_Speed] -Fallback="SoundEffectControl" -SoundProperty="Speed" -PropertyMin=4/8 -PropertyCenter=1.0 -PropertyMax=16/8 - -[SoundEffectControl_Pitch] -Fallback="SoundEffectControl" -SoundProperty="Pitch" -PropertyMin=7/8 -PropertyCenter=1.0 -PropertyMax=9/8 - -[StepsDisplayListRow] -FrameX=0 -FrameY=0 -FrameOnCommand= -FrameOffCommand= -FrameSetCommand= -# -ShowTicks=false -NumTicks=0 -MaxTicks=0 -TicksSetCommand= -# -ShowMeter=false -ZeroMeterString="0" -MeterFormatString="%i" -MeterX=0 -MeterY=0 -MeterOnCommand= -MeterOffCommand= -MeterSetCommand= -# -ShowDescription=false -DescriptionX=0 -DescriptionY=0 -DescriptionOnCommand= -DescriptionOffCommand= -DescriptionSetCommand= -# -ShowCredit=false -CreditX=0 -CreditY=0 -CreditOnCommand= -CreditOffCommand= -CreditSetCommand= -# -ShowAutogen=false -AutogenSetCommand= -# -ShowStepsType=false -StepsTypeSetCommand= - -[StreamDisplay] -; a simple bar life meter: -; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end -PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - local zoomed_width=28; \ - local zoomed_height=8; \ - local spacing_x=11.3; \ - self:zoomtoheight(zoomed_height); \ - self:x((itemIndex-(numItems/2))*spacing_x); \ - local zoomed_width=0; \ - if (itemIndex % 2) == 0 then \ - self:zoomtowidth(24); \ - self:rotationz(90); \ - else \ - self:zoomtowidth(31); \ - self:rotationz(-58); \ - end; \ -end -TextureCoordScaleX=10 -NumPills=20 -AlwaysBounceNormalBar=false -VelocityMultiplier=4 -VelocityMin=-.06 -VelocityMax=.02 -SpringMultiplier=2.0 -ViscosityMultiplier=0.2 - -[TextBanner] -TitleOnCommand= -SubtitleOnCommand= -ArtistOnCommand=visible,false -ArtistPrependString="/" -AfterSetCommand=%TextBannerAfterSet - -[TextBannerHighScores] -Fallback="TextBanner" - - -[WheelNotifyIcon] -ShowTraining=false -BlinkPlayersBest=true -NumIconsToShow=2 - -# 04 # - -[Screen] -ScreenInitCommand= -ScreenOnCommand= -AllowOperatorMenuButton=true -# This metric is only for people who know what they are doing. If you set this -# to false, you are expected to know how to cancel screens in Lua. -# (that's SCREENMAN:GetTopScreen():Cancel(), for people who aren't AJ ;) ) -HandleBackButton=true -RepeatRate=-1 -RepeatDelay=-1 -PrepareScreens= -PersistScreens= -GroupedScreens= -CodeNames="" -CancelCancelCommand= -LightsMode="LightsMode_MenuStartAndDirections" -ShowCreditDisplay=false - -[ScreenInitialScreenIsInvalid] -Class="ScreenWithMenuElements" -Fallback="ScreenWithMenuElements" - -[ScreenDebugOverlay] -Class="ScreenDebugOverlay" -Fallback="Screen" - -BackgroundColor=color("0,0,0,0.5") - -LineOnColor=color("1,1,1,1") -LineOffColor=color("0.6,0.6,0.6,1") -LineStartY=SCREEN_TOP+50 -LineSpacing=16 -LineButtonX=SCREEN_CENTER_X-50 -LineFunctionX=SCREEN_CENTER_X-30 - -ButtonTextOnCommand=NoStroke;zoom,0.8 -ButtonTextToggledCommand=accelerate,0.025;glow,color("1,0,0,1");sleep,0.125;decelerate,0.2;glow,color("1,0,0,0"); -FunctionTextOnCommand=NoStroke;zoom,0.8 - -PageStartX=SCREEN_CENTER_X-100 -PageSpacingX=120 -PageTextOnCommand=NoStroke;zoom,0.75 -PageTextGainFocusCommand=diffuse,color("1,1,1,1") -PageTextLoseFocusCommand=diffuse,color("0.6,0.6,0.6,1") - -DebugMenuHeaderX=SCREEN_LEFT+80 -DebugMenuHeaderY=SCREEN_TOP+18 -DebugMenuHeaderOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5") -DebugMenuHeaderOffCommand= - -HeaderTextX=SCREEN_LEFT+80 -HeaderTextY=SCREEN_TOP+18 -HeaderTextOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5") -HeaderTextOffCommand= -# - -[ScreenSystemLayer] -Class="ScreenSystemLayer" -Fallback="Screen" -# -ShowCreditDisplay=true -CreditsJoinOnly=false -# -CreditsP1X=SCREEN_LEFT+10 -CreditsP1Y=SCREEN_BOTTOM-10 -CreditsP1RefreshCreditTextMessageCommand=queuecommand,"UpdateText"; -CreditsP1CoinInsertedMessageCommand=queuecommand,"UpdateText"; -CreditsP1CoinInsertedMessageCommand=queuecommand,"UpdateText"; -CreditsP1PlayerJoinedMessageCommand=queuecommand,"UpdateText"; -CreditsP1ScreenChangedMessageCommand=queuecommand,"UpdateVisible";queuecommand,"On" -CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1; -CreditsP1OffCommand= -# -CreditsP2X=SCREEN_RIGHT-10 -CreditsP2Y=SCREEN_BOTTOM-10 -CreditsP2RefreshCreditTextMessageCommand=queuecommand,"UpdateText"; -CreditsP2CoinInsertedMessageCommand=queuecommand,"UpdateText"; -CreditsP2PlayerJoinedMessageCommand=queuecommand,"UpdateText"; -CreditsP2ScreenChangedMessageCommand=queuecommand,"UpdateVisible";queuecommand,"On" -CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1; -CreditsP2OffCommand= - -[ScreenInstallOverlay] -Class="ScreenInstallOverlay" -Fallback="Screen" - -StatusX=SCREEN_LEFT+40 -StatusY=SCREEN_BOTTOM-32 -StatusOnCommand=align,0,1 - -[ScreenSyncOverlay] -Class="ScreenSyncOverlay" -Fallback="Screen" -StatusOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+150;shadowlength,2;strokecolor,color("#000000"); -AdjustmentsOnCommand=x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y; -# - -[ScreenStatsOverlay] -Class="ScreenStatsOverlay" -Fallback="Screen" -StatsX=SCREEN_RIGHT-8 -StatsY=SCREEN_TOP+10 -StatsOnCommand=halign,1;valign,0;shadowlength,1;zoom,0.5 -ShowSkips=true -SkipX=SCREEN_RIGHT-100 -SkipY=SCREEN_BOTTOM-100 -SkipOnCommand=zoom,0.5 -SkipWidth=190 -SkipSpacingY=14 -# - -[ScreenWithMenuElements] -Class="ScreenWithMenuElements" -Fallback="Screen" -# -TimerSeconds=-1 -# -FirstUpdateCommand= -PlayMusic=true -MusicAlignBeat=true -DelayMusicSeconds=0 -StopMusicOnBack=false -WaitForChildrenBeforeTweeningOut=false -CancelTransitionsOut=false -# -ShowCreditDisplay=true -AllowDisabledPlayerInput=false -MemoryCardIcons=false -# -MemoryCardDisplayP1X= -MemoryCardDisplayP1Y= -MemoryCardDisplayP1OnCommand= -MemoryCardDisplayP1OffCommand= -MemoryCardDisplayP2X= -MemoryCardDisplayP2Y= -MemoryCardDisplayP2OnCommand= -MemoryCardDisplayP2OffCommand= -# -TimerStealth=false -ForceTimer=false -TimerMetricsGroup="MenuTimer" -TimerX= -TimerY= -TimerOnCommand= -TimerOffCommand= - -[ScreenSetBGFit] -Class="ScreenWithMenuElements" -Fallback="ScreenWithMenuElements" -NextScreen="ScreenOptionsDisplaySub" -RepeatRate=10 -RepeatDelay=.25 - -[ScreenOverscanConfig] -Class="ScreenWithMenuElements" -Fallback="ScreenWithMenuElements" -NextScreen="ScreenOptionsDisplaySub" -PrevScreen="ScreenOptionsDisplaySub" -RepeatRate=10 -RepeatDelay=.25 - -[ScreenWithMenuElementsBlank] -Fallback="ScreenWithMenuElements" -UpdateOnMessage="" -ShowHelp=false - -[ScreenSelectMaster] -Class="ScreenSelectMaster" -Fallback="ScreenWithMenuElements" -# -DoSwitchAnyways=false -WrapCursor=false -AllowRepeatingInput=true -PreSwitchPageSeconds=0 -PostSwitchPageSeconds=0 -ScrollerSecondsPerItem=0 -ScrollerNumItemsToDraw=16 -ScrollerTransform=function(self,offset,itemIndex,numItems) end -ScrollerSubdivisions=1 -OverrideSleepAfterTweenOffSeconds=false -SleepAfterTweenOffSeconds=0 -NumCodes=0 -OptionOrderUp= -OptionOrderDown= -OptionOrderLeft= -OptionOrderRight= -OptionOrderAuto= -# -ShowIcon=false -ShowCursor=false -ShowScroller=false -WrapScroller=false -LoopScroller=false -# -ScrollerX=SCREEN_CENTER_X -ScrollerY=SCREEN_CENTER_Y -PerChoiceIconElement=true -PerChoiceScrollElement=true -# All on page 1 by default. -NumChoicesOnPage1=1024 -SharedSelection=true -UseIconMetrics=false -CursorP1OffsetXFromIcon=0 -CursorP1OffsetYFromIcon=0 -CursorP2OffsetXFromIcon=0 -CursorP2OffsetYFromIcon=0 -DisabledColor=color("#606060") -DoublePressToSelect=false - -# Blank defaults for a few options. -IconChoice1SwitchToPage1Command= -IconChoice1SwitchToPage2Command= -IconChoice1OnCommand= -IconChoice1OffCommand= -IconChoice1OffFocusedCommand= -IconChoice1OffUnfocusedCommand= - -IconChoice2SwitchToPage1Command= -IconChoice2SwitchToPage2Command= -IconChoice2OnCommand= -IconChoice2OffCommand= -IconChoice2OffFocusedCommand= -IconChoice2OffUnfocusedCommand= - -IconChoice3SwitchToPage1Command= -IconChoice3SwitchToPage2Command= -IconChoice3OnCommand= -IconChoice3OffCommand= -IconChoice3OffFocusedCommand= -IconChoice3OffUnfocusedCommand= - -IconChoice4SwitchToPage1Command= -IconChoice4SwitchToPage2Command= -IconChoice4OnCommand= -IconChoice4OffCommand= -IconChoice4OffFocusedCommand= -IconChoice4OffUnfocusedCommand= - -ExplanationPage1X=0 -ExplanationPage1Y=0 -ExplanationPage1SwitchToPage1Command= -ExplanationPage1SwitchToPage2Command= -ExplanationPage1OnCommand=visible,false -ExplanationPage1OffCommand= -ExplanationPage2X=0 -ExplanationPage2Y=0 -ExplanationPage2SwitchToPage1Command= -ExplanationPage2SwitchToPage2Command= -ExplanationPage2OnCommand=visible,false -ExplanationPage2OffCommand= - -MorePage1X=0 -MorePage1Y=0 -MorePage1SwitchToPage1Command= -MorePage1SwitchToPage2Command= -MorePage1OnCommand=visible,false -MorePage1OffCommand= -MorePage2X=0 -MorePage2Y=0 -MorePage2SwitchToPage1Command= -MorePage2SwitchToPage2Command= -MorePage2OnCommand=visible,false -MorePage2OffCommand= -IdleCommentSeconds=0 -IdleTimeoutSeconds=0 -UpdateOnMessage="" - -[ScreenSelectMasterBlank] -Fallback="ScreenSelectMaster" - -[ScreenTextEntry] -Class="ScreenTextEntry" -Fallback="ScreenWithMenuElements" -PrevScreen= -HelpText= -TimerSeconds=-1 -ShowStyleIcon=false -RowStartX=SCREEN_LEFT+100 -RowStartY=SCREEN_CENTER_Y-30 -RowEndX=SCREEN_RIGHT-100 -RowEndY=SCREEN_BOTTOM-96 -QuestionX=SCREEN_CENTER_X -QuestionY=SCREEN_CENTER_Y-40 -QuestionOnCommand=wrapwidthpixels,600 -QuestionOffCommand= -AnswerX=SCREEN_CENTER_X -AnswerY=SCREEN_CENTER_Y+20 -AnswerOnCommand=zoom,1.5;shadowlength,0 -AnswerOffCommand= -CursorOnCommand= -CursorOffCommand= -KeysInitCommand=zoom,0.8;shadowlength,0 - -[ScreenInit] -Class="ScreenAttract" -Fallback="ScreenAttract" -# -PrevScreen="ScreenInit" -NextScreen=Branch.AfterInit() -StartScreen=Branch.TitleMenu() -# -ForceTimer=true -TimerSeconds=5 -# -PlayMusic=false -# -TimerMetricsGroup="MenuTimerNoSound" -TimerOnCommand=visible,false - -[ScreenTitleMenu] -Class="ScreenTitleMenu" -Fallback="ScreenSelectMaster" -# -PrevScreen="ScreenInit" -NextScreen="ScreenInit" -# -ScreenBeginCommand= -StopMusicOnBack=true -# -CoinModeChangeScreen=Branch.TitleMenu() -# -ScreenOnCommand=lockinput,0 -LightsMode="LightsMode_Joining" -TimerSeconds=-1 -# -SharedSelection=true -AllowDisabledPlayerInput=true -OverrideSleepAfterTweenOffSeconds=false -DoSwitchAnyways=false -# -SleepAfterTweenOffSeconds=0 -# -UpdateOnMessage="" -# -NumChoicesOnPage1=100 -DefaultChoice="GameStart" -ChoiceNames="GameStart,Options,Edit,Jukebox,GameSelect,Exit" -ChoiceGameStart="applydefaultoptions;text,Game Start;screen,"..Branch.AfterTitleMenu() -#ChoiceQuickPlay="applydefaultoptions;text,Quick Play;" -ChoiceOptions="screen,ScreenOptionsService;text,Options" -ChoiceEdit="text,Edit/Share;screen,"..Branch.OptionsEdit() -ChoiceExit="screen,ScreenExit;text,Exit" -# Aliases for the future. -ChoiceContinue="screen,ScreenContinue;text,Continue?" -ChoiceOnline="screen,ScreenNetworkOptions;text,Play Online" -ChoiceGameSelect="screen,ScreenSelectGame;text,Select Game" -ChoiceJukebox="screen,ScreenJukeboxMenu;text,Jukebox" -ChoiceReportBug="urlnoexit,https://github.com/stepmania/stepmania/issues;text,Report Bug" -ChoiceIRC="urlnoexit,http://chat.mibbit.com/?server=chat.freenode.net&channel=%23stepmania-devs&nick=StepMania_player;text,Chat on IRC" -ChoiceSandbox="screen,ScreenTest;text,Sandbox" -# -AllowRepeatingInput=true -ShowCursor=false -WrapCursor=true -WrapScroller=false -LoopScroller=false -ScrollerSubdivisions=1 -ShowIcon=false -UseIconMetrics=false -ShowScroller=true -PerChoiceScrollElement=false -PerChoiceIconElement=false -ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(32*(itemIndex-(numItems-1)/2)); end -ScrollerSecondsPerItem=0 -ScrollerNumItemsToDraw=20 -ScrollerX=SCREEN_CENTER_X -ScrollerY=SCREEN_CENTER_Y -ScrollerOnCommand= -ScrollerOffCommand= -IdleCommentSeconds=-1 -IdleTimeoutSeconds=-1 -IdleTimeoutScreen=Branch.AfterInit() -DoublePressToSelect=false -OptionOrderUp="" -OptionOrderDown="" -OptionOrderLeft="" -OptionOrderRight="" -OptionOrderAuto="" -# -PreSwitchPageSeconds= -PostSwitchPageSeconds= -# -CursorP1OffsetXFromIcon=0 -CursorP1OffsetYFromIcon=0 -CursorP2OffsetXFromIcon=0 -CursorP2OffsetYFromIcon=0 -# -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-80 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,8,0;zoom,0;bounceend,0.35;zoom,1 -LogoOffCommand= - -[ScreenCaution] -Fallback="ScreenSplash" -PrepareScreen="" -NextScreen=Branch.StartGame() -PrevScreen=Branch.TitleMenu() -TimerSeconds=10 -TimerStealth=true -ForceTimer=true -AllowStartToSkip=true - -[ScreenProfileLoad] -Class="ScreenProfileLoad" -Fallback="ScreenWithMenuElementsBlank" -NextScreen=Branch.AfterProfileLoad() -PrevScreen=Branch.TitleMenu() -TimerSeconds=-1 -# -LoadEdits=true - -[ScreenSelectProfile] -Fallback="ScreenWithMenuElements" -Class="ScreenSelectProfile" -# -ScreenOnCommand=%function(self) self:lockinput(1); end; -# -NextScreen=Branch.AfterSelectProfile() -PrevScreen=Branch.TitleMenu() -StartScreen=Branch.AfterSelectProfile() -# -TimerSeconds=30 -# -CodeNames=SelectProfileKeys() -CodeUp="+MenuUp" -CodeUp2="+Up" -CodeDown="+MenuDown" -CodeDown2="+Down" -CodeStart="+Start" -CodeBack="Back" -CodeCenter="Center" -CodeDownLeft="DownLeft" -CodeDownRight="DownRight" - -[ScreenSelectStyle] -# (formerly known as ScreenSelectPlayMode before sm-ssc v1.0 beta 3) -Class="ScreenSelectMaster" -Fallback="ScreenSelectMaster" -NextScreen=Branch.AfterSelectStyle() -PrevScreen=Branch.TitleMenu() -TimerSeconds=30 -# -DefaultChoice="Single" -# Giant metric list left in for backwards compatibility. -# A much better way to handle this is: -# ChoiceNames="lua,ScreenSelectStyleChoices()" -# That will list all the styles for the current game without needing a huge -# list of metrics. _fallback still uses the old method to avoid the -# possibility of breaking themes. -Kyz -ChoiceNames=GameCompatibleModes() -# -OptionOrderAuto="1:2,2:1" -# dance, pump, and likely others -ChoiceSingle="name,Single;style,single;text,Single;screen,"..Branch.AfterSelectStyle() -ChoiceDouble="name,Double;style,double;text,Double;screen,"..Branch.AfterSelectStyle() -ChoiceSolo="name,Solo;style,solo;text,Solo;screen,"..Branch.AfterSelectStyle() -ChoiceVersus="name,Versus;style,versus;text,Versus;screen,"..Branch.AfterSelectStyle() -ChoiceCouple="name,Couple;style,couple;text,Couple;screen,"..Branch.AfterSelectStyle() -ChoiceRoutine="name,Routine;style,routine;text,Routine;screen,"..Branch.AfterSelectStyle() -# pump -ChoiceHalfDouble="name,HalfDouble;style,halfdouble;text,HalfDouble;screen,"..Branch.AfterSelectStyle() -# beat -Choice5Keys="name,5Keys;style,single5;text,5Keys;screen,"..Branch.AfterSelectStyle() -Choice7Keys="name,7Keys;style,single7;text,7Keys;screen,"..Branch.AfterSelectStyle() -ChoiceVersus5="name,Versus5;style,versus5;text,Versus5;screen,"..Branch.AfterSelectStyle() -ChoiceVersus7="name,Versus7;style,versus7;text,Versus7;screen,"..Branch.AfterSelectStyle() -Choice10Keys="name,10Keys;style,double5;text,10Keys;screen,"..Branch.AfterSelectStyle() -Choice14Keys="name,14Keys;style,double7;text,14Keys;screen,"..Branch.AfterSelectStyle() -# kb7 -ChoiceKB7="name,kb7;style,single;screen,"..Branch.AfterSelectStyle() -# techno -ChoiceSingle4="name,Single4;style,single4;screen,"..Branch.AfterSelectStyle() -ChoiceSingle5="name,Single5;style,single5;screen,"..Branch.AfterSelectStyle() -ChoiceSingle8="name,Single8;style,single8;screen,"..Branch.AfterSelectStyle() -ChoiceVersus4="name,Versus4;style,versus4;screen,"..Branch.AfterSelectStyle() -ChoiceVersus5="name,Versus5;style,versus5;screen,"..Branch.AfterSelectStyle() -ChoiceVersus8="name,Versus8;style,versus8;screen,"..Branch.AfterSelectStyle() -ChoiceDouble4="name,Double4;style,double4;screen,"..Branch.AfterSelectStyle() -ChoiceDouble5="name,Double5;style,double5;screen,"..Branch.AfterSelectStyle() -ChoiceDouble8="name,Double8;style,double8;screen,"..Branch.AfterSelectStyle() -# -PerChoiceScrollElement=false -PerChoiceIconElement=false -# -ShowScroller=true -WrapScroller=true -ShowIcon=false -# - -[ScreenSelectPlayMode] -# (formerly known as ScreenSelectPlayStyle before sm-ssc v1.0 beta 3) -Class="ScreenSelectMaster" -Fallback="ScreenSelectMaster" -NextScreen=Branch.GetGameInformationScreen -PrevScreen=Branch.TitleMenu() -TimerSeconds=30 -# -DefaultChoice="Normal" -ChoiceNames="Normal,Rave,Nonstop,Oni,Endless" -# -PerChoiceScrollElement=false -PerChoiceIconElement=false -# -ShowScroller=true -WrapScroller=true -ShowIcon=false -# -ChoiceEasy="applydefaultoptions;name,Easy;text,Easy;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal" -ChoiceNormal="applydefaultoptions;name,Normal;text,Normal;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal" -ChoiceHard="applydefaultoptions;name,Hard;text,Hard;playmode,regular;difficulty,hard;screen,ScreenSelectMusic;setenv,sMode,Normal" -ChoiceRave="applydefaultoptions;name,Rave;text,Rave;playmode,rave;screen,ScreenSelectMusic;setenv,sMode,Rave" -ChoiceNonstop="applydefaultoptions;name,Nonstop;text,Extended;playmode,nonstop;screen,ScreenSelectCourse;setenv,sMode,Nonstop" -ChoiceOni="applydefaultoptions;name,Oni;text,Oni;playmode,oni;screen,ScreenSelectCourse;setenv,sMode,Oni" -ChoiceEndless="applydefaultoptions;name,Endless;text,Endless;playmode,endless;screen,ScreenSelectCourse;setenv,sMode,Endless" - -[ScreenSelectCharacter] -Class="ScreenSelectCharacter" -Fallback="ScreenWithMenuElements" -WaitForChildrenBeforeTweeningOut=true -TitleP1OnCommand=x,140;y,80;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 -TitleP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 -TitleP2OnCommand=x,500;y,80;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 -TitleP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 -CardP1OnCommand=x,140;y,180;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 -CardP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 -CardP2OnCommand=x,500;y,180;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 -CardP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 -CardArrowsP1OnCommand=x,140;y,180;diffusealpha,0;linear,0.3;diffusealpha,1 -CardArrowsP1OffCommand=linear,0.3;diffusealpha,0 -CardArrowsP2OnCommand=x,500;y,180;diffusealpha,0;linear,0.3;diffusealpha,1 -CardArrowsP2OffCommand=linear,0.3;diffusealpha,0 -ExplanationOnCommand=x,SCREEN_CENTER_X;y,140;diffusealpha,0;linear,0.3;diffusealpha,1 -ExplanationOffCommand=linear,0.3;diffusealpha,0 -AttackFrameP1OnCommand=x,140;y,380;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 -AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 -AttackFrameP2OnCommand=x,500;y,380;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 -AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 -AttackIconWidth=40 -AttackIconHeight=40 -AttackIconsP1StartX=SCREEN_CENTER_X-192 -AttackIconsP1StartY=SCREEN_CENTER_Y+116 -AttackIconsP2StartX=SCREEN_CENTER_X+168 -AttackIconsP2StartY=SCREEN_CENTER_Y+116 -AttackIconsSpacingX=42 -AttackIconsSpacingY=32 -AttackIconsP1OnCommand=addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 -AttackIconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 -AttackIconsP2OnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 -AttackIconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 -IconWidth=40 -IconHeight=40 -IconsP1OnCommand=addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 -IconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 -IconsP2OnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 -IconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 -SleepAfterTweenOffSeconds=0.8 -TimerSeconds=40 -ShowStyleIcon=true -PrevScreen=ScreenTitleBranch() -NextScreen=SongSelectionScreen() - -[ScreenGameInformation] -Class="ScreenSelectMaster" -Fallback="ScreenSelectMaster" -NextScreen=GAMESTATE:IsCourseMode() and "ScreenSelectCourse" or "ScreenSelectMusic" -PrevScreen=Branch.TitleMenu() -TimerSeconds=15 -# -DefaultChoice="Delay" -ChoiceNames="Delay" -# -ChoiceDelay="screen,ScreenSelectMusic" -# -ShowScroller=false -ShowIcon=false -# - -[ScreenSelectMusic] -Class="ScreenSelectMusic" -Fallback="ScreenWithMenuElements" -NextScreen=Branch.PlayerOptions() -PrevScreen=Branch.TitleMenu() -# -MusicWheelType="MusicWheel" -Codes="" -# -TimerSeconds=120 -DoRouletteOnMenuTimer=true -RouletteTimerSeconds=15 -IdleCommentSeconds=20 -HardCommentMeter=10 -# -DefaultSort=GAMESTATE:IsCourseMode() and "Group" or "AllCourses" -# -SampleMusicPreviewMode='SampleMusicPreviewMode_Normal' -SampleMusicLoops=true -SampleMusicFallbackFadeInSeconds=0 -SampleMusicFadeOutSeconds=1.5 -# -UseOptionsList=false -OptionsListTimeout=0.25 -# -UsePlayerSelectMenu=false -SelectMenuScreenName="ScreenPlayerOptions" -OptionsMenuAvailable=AllowOptionsMenu() -SelectMenuAvailable=false -ModeMenuAvailable=true -# -ShowOptionsMessageSeconds=1.5 -PlaySoundOnEnteringOptionsMenu=true -# -ScreenModsCommand=setupmusicstagemods -# -PreviousSongButton="MenuLeft" -NextSongButton="MenuRight" -# -ChangeStepsWithGameButtons=false -PreviousDifficultyButton="MenuUp" -NextDifficultyButton="MenuDown" -# -ChangeGroupsWithGameButtons=false -PreviousGroupButton="MenuUp" -NextGroupButton="MenuDown" -# -TwoPartSelection=TwoPartSelection() -TwoPartConfirmsOnly=false -TwoPartTimerSeconds=30 -# -SampleMusicDelay=0.25 -SampleMusicDelayInit=0 -AlignMusicBeat=false -SelectMenuChangesDifficulty=true -WrapChangeSteps=false -# -MusicWheelX=SCREEN_CENTER_X+160 -MusicWheelY=SCREEN_CENTER_Y -MusicWheelOnCommand= -MusicWheelOffCommand= -# -BannerX=SCREEN_CENTER_X-160 -BannerY=SCREEN_TOP+160-36 -BannerOnCommand=scaletoclipped,256,80 -BannerOffCommand= -# -CDTitleX=SCREEN_CENTER_X-160+90 -CDTitleY=SCREEN_TOP+160+(36/2)+8 -CDTitleFrontCommand= -CDTitleBackCommand= -CDTitleOnCommand=visible,false -CDTitleOffCommand= -# -NullScoreString=string.format("% 9i",0) -# -ScoreFrameP1X= -ScoreFrameP1Y= -ScoreFrameP1OnCommand=visible,false -ScoreFrameP1OffCommand= -ScoreP1X= -ScoreP1Y= -ScoreP1OnCommand=visible,false -ScoreP1OffCommand= -# -ScoreP2X= -ScoreP2Y= -ScoreP2OnCommand=visible,false -ScoreP2OffCommand= -ScoreFrameP2X= -ScoreFrameP2Y= -ScoreFrameP2OnCommand=visible,false -ScoreFrameP2OffCommand= -# -ScoreP1SortChangeCommand=stoptweening; -ScoreP2SortChangeCommand=stoptweening; -ScoreFrameP1SortChangeCommand=stoptweening; -ScoreFrameP2SortChangeCommand=stoptweening; - -[ScreenSelectCourse] -Class="ScreenSelectMusic" -Fallback="ScreenSelectMusic" -# -DefaultSort="Nonstop" -ScreenModsCommand=setupcoursestagemods -# -MusicWheelType="CourseWheel" -Codes="CourseCodeDetector" - -[CourseCodeDetector] -Fallback="CodeDetector" -NextSort1= -NextSort2= -NextSort3= -NextSort4= - -[StepsDisplay] -FrameX=0 -FrameY=0 -FrameOnCommand= -FrameLoadCommand=%function(self,param) local bFlip = param.PlayerState and param.PlayerState:GetPlayerNumber() ~= PLAYER_1; self:zoomx(bFlip and -1 or 1); end -FrameSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) end end -NumTicks=10 -MaxTicks=14 -TicksX=0 -TicksY=0 -TicksOnCommand=shadowlength,0; -TicksSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) if param.Meter > 9 then self:glowshift() else self:stopeffect() end end end -ShowTicks=false -ShowMeter=true -MeterFormatString="%i" -ZeroMeterString="?" -MeterX=30 -MeterY=0 -MeterOnCommand=shadowlength,0 -MeterSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); end end -ShowDescription=true -DescriptionX=-10 -DescriptionY=0 -DescriptionOnCommand=shadowlength,0;uppercase,true; -DescriptionSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); end end -ShowCredit=false -CreditX=0 -CreditY=0 -CreditOnCommand= -CreditSetCommand= -ShowAutogen=true -AutogenX=40 -AutogenY=0 -AutogenOnCommand= -AutogenSetCommand= -ShowStepsType=false -StepsTypeX=0 -StepsTypeY=0 -StepsTypeOnCommand= - -[StepsDisplayGameplay] -Fallback="StepsDisplay" - -[ScreenStageInformation] -Class="ScreenSplash" -Fallback="ScreenSplash" -NextScreen=Branch.GameplayScreen() -PrevScreen=Branch.BackOutOfStageInformation() -PrepareScreen="ScreenGameplay" -# -ForceTimer=true -TimerStealth=true -TimerMetricsGroup="MenuTimerNoSound" -WaitForChildrenBeforeTweeningOut=true -TimerSeconds=1 -# -ScreenBeginCommand= - -[ScreenOptions] -Fallback="ScreenWithMenuElements" - -NavigationMode=OptionsNavigationMode() -InputMode="individual" -ForceAllPlayers=false -# -RepeatRate=12 -RepeatDelay=0.25 -# -OptionRowNormalMetricsGroup="OptionRow" -OptionRowExitMetricsGroup="OptionRowExit" -# -NumRowsShown=8 -RowInitCommand= -RowOnCommand= -RowOffCommand= -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-146+36*offsetFromCenter) end -# -ShowExplanations=true -ExplanationP1X=SCREEN_CENTER_X-256-20 -ExplanationP1Y=SCREEN_CENTER_Y+174 -ExplanationP1OnCommand=shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,0;cropright,1;linear,0.5;cropright,0 -ExplanationP1OffCommand= -ExplanationP2X=SCREEN_CENTER_X+256+20 -ExplanationP2Y=SCREEN_CENTER_Y+174 -ExplanationP2OnCommand=shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,1;cropright,1;linear,0.5;cropright,0 -ExplanationP2OffCommand= -ExplanationTogetherX=SCREEN_CENTER_X -ExplanationTogetherY=SCREEN_CENTER_Y+184 -ExplanationTogetherOnCommand=stoptweening;shadowlength,0;zoom,0.75;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0 -ExplanationTogetherOffCommand=stoptweening -# -DisqualifyP1X= -DisqualifyP1Y= -DisqualifyP1OnCommand=visible,false -DisqualifyP1OffCommand= -DisqualifyP2X= -DisqualifyP2Y= -DisqualifyP2OnCommand=visible,false -DisqualifyP2OffCommand= -# -PageX=SCREEN_CENTER_X -PageY=SCREEN_CENTER_Y -PageOnCommand= -ContainerOnCommand= -ContainerOffCommand= -# -CursorOnCommand= -CursorTweenSeconds=0.3 -# -LineHighlightX=SCREEN_CENTER_X -LineHighlightP1OnCommand= -LineHighlightP1ChangeCommand= -LineHighlightP1ChangeToExitCommand= -LineHighlightP2OnCommand= -LineHighlightP2ChangeCommand= -LineHighlightP2ChangeToExitCommand= -# -ShowScrollBar=false -ScrollBarHeight=0 -ScrollBarTime=0 -# -ShowExitRow=true -SeparateExitRow=true -SeparateExitRowY=SCREEN_CENTER_Y+140 -# -MoreX= -MoreY= -MoreOnCommand=visible,false -MoreExitSelectedP1Command= -MoreExitSelectedP2Command= -MoreExitUnselectedP1Command= -MoreExitUnselectedP2Command= -# -AllowRepeatingChangeValueInput=true -WrapValueInRow=true - -[ScreenOptionsMaster] -Fallback="ScreenOptions" -Class="ScreenOptionsMaster" - -NoteSkinSortOrder="" -StepsUseChartName=false -StepsRowLayoutType="ShowAllInRow" - -# ExitItem is an exit row with the "Exit" text as a menu item; ExitTitle -# uses the menu title. -ExitItem="1;together;SelectNone;showoneinrow" -ExitItemDefault="" -ExitItem,1="screen," .. Screen.Metric("NextScreen") .. ";name,ExitItem" -ExitTitle="1;together;SelectNone;showoneinrow" -ExitTitleDefault="" -ExitTitle,1="screen," .. Screen.Metric("NextScreen") .. ";name,ExitTitle" - -# Player options -## legacy speed row -Speed="12;" -SpeedDefault="mod,1x,no randomspeed" -Speed,1="mod,0.25x;name,x0.25" -Speed,2="mod,0.50x;name,x0.50" -Speed,3="mod,0.75x;name,x0.75" -Speed,4="mod,1x;name,x1" -Speed,5="mod,1.5x;name,x1.5" -Speed,6="mod,2x;name,x1.75" -Speed,7="mod,3x;name,x2" -Speed,8="mod,4x;name,x2.25" -Speed,9="mod,8x;name,x2.5" -Speed,10="mod,C150;name,C150" -Speed,11="mod,C300;name,C300" -Speed,12="mod,1x,200% randomspeed;name,Random" - -Accel="5;selectmultiple" -AccelDefault="mod,no boost,no brake,no wave,no expand,no boomerang" -Accel,1="mod,boost;name,Boost" -Accel,2="mod,brake;name,Brake" -Accel,3="mod,wave;name,Wave" -Accel,4="mod,expand;name,Expand" -Accel,5="mod,boomerang;name,Boomerang" - -# Accel="6" -# AccelDefault="mod,no boost,no brake,no wave,no expand,no boomerang" -# Accel,1="name,Off" -# Accel,2="mod,boost;name,Boost" -# Accel,3="mod,brake;name,Brake" -# Accel,4="mod,wave;name,Wave" -# Accel,5="mod,expand;name,Expand" -# Accel,6="mod,boomerang;name,Boomerang" - -Effect="15;selectmultiple" -EffectDefault="mod,no drunk,no dizzy,,no twirl,no roll,no confusion,no mini,no tiny,no flip,no invert,no tornado,no tipsy,no bumpy,no beat,no xmode" -Effect,1="mod,drunk;name,Drunk" -Effect,2="mod,dizzy;name,Dizzy" -Effect,3="mod,twirl;name,Twirl" -Effect,4="mod,roll;name,Roll" -Effect,5="mod,confusion;name,Confusion" -Effect,6="mod,mini;name,Mini" -Effect,7="mod,tiny;name,Tiny" -Effect,8="mod,-100% mini;name,Big" -Effect,9="mod,flip;name,Flip" -Effect,10="mod,invert;name,Invert" -Effect,11="mod,tornado;name,Tornado" -Effect,12="mod,tipsy;name,Tipsy" -Effect,13="mod,bumpy;name,Bumpy" -Effect,14="mod,beat;name,Beat" -Effect,15="mod,45% xmode;name,XMode" - -EffectsReceptor="6;selectmultiple" -EffectsReceptorDefault="mod,no confusion,no invert,no flip,no mini,no xmode" -EffectsReceptor,1="mod,confusion;name,Confusion" -EffectsReceptor,2="mod,invert;name,Invert" -EffectsReceptor,3="mod,Flip;name,Flip" -EffectsReceptor,4="mod,mini;name,Mini" -EffectsReceptor,5="mod,-35% mini;name,Big" -EffectsReceptor,6="mod,45% xmode;name,XMode" - -EffectsArrow="8;selectmultiple" -EffectsArrowDefault="mod,no drunk,no dizzy,no twirl,no roll,no beat,no tipsy,no tornado,no bumpy" -EffectsArrow,1="mod,drunk;name,Drunk" -EffectsArrow,2="mod,dizzy;name,Dizzy" -EffectsArrow,3="mod,twirl;name,Twirl" -EffectsArrow,4="mod,roll;name,Roll" -EffectsArrow,5="mod,beat;name,Beat" -EffectsArrow,6="mod,tipsy;name,Tipsy" -EffectsArrow,7="mod,50% tornado;name,Tornado" -EffectsArrow,8="mod,bumpy;name,Bumpy" - -# Effect="9" -# EffectDefault="mod,no drunk,no dizzy,no confusion,no mini,no flip,no tornado,no tipsy" -# Effect,1="name,Off" -# Effect,2="mod,drunk;name,Drunk" -# Effect,3="mod,dizzy;name,Dizzy" -# Effect,4="mod,confusion;name,Confusion" -# Effect,5="mod,mini;name,Mini" -# Effect,6="mod,-100% mini;name,Big" -# Effect,7="mod,flip;name,Flip" -# Effect,8="mod,tornado;name,Tornado" -# Effect,9="mod,tipsy;name,Tipsy" - -# XXX: what of hiddenoffset and suddenoffset? -Appearance="4;selectmultiple" -AppearanceDefault="mod,no hidden,no sudden,no stealth,no blink,no randomvanish" -Appearance,1="mod,hidden;name,Hidden" -Appearance,2="mod,sudden;name,Sudden" -Appearance,3="mod,stealth;name,Stealth" -Appearance,4="mod,blink;name,Blink" - -# Appearance="6" -# AppearanceDefault="mod,no hidden,no sudden,no stealth,no blink,no randomvanish" -# Appearance,1="name,Visible" -# Appearance,2="mod,hidden;name,Hidden" -# Appearance,3="mod,sudden;name,Sudden" -# Appearance,4="mod,stealth;name,Stealth" -# Appearance,5="mod,blink;name,Blink" -# Appearance,6="mod,randomvanish;name,R.Vanish" - -Turn="7;selectmultiple" -TurnDefault="mod,no turn" -Turn,1="mod,mirror;name,Mirror" -Turn,2="mod,backwards;name,Backwards" -Turn,3="mod,left;name,Left" -Turn,4="mod,right;name,Right" -Turn,5="mod,shuffle;name,Shuffle" -Turn,6="mod,supershuffle;name,SuperShuffle" -Turn,7="mod,softshuffle;name,SoftShuffle" - -# Turn="6" -# TurnDefault="mod,no turn" -# Turn,1="name,Off" -# Turn,2="mod,mirror;name,Mirror" -# Turn,3="mod,left;name,Left" -# Turn,4="mod,right;name,Right" -# Turn,5="mod,shuffle;name,Shuffle" -# Turn,6="mod,supershuffle;name,SuperShuffle" - -Insert="7;selectmultiple" -InsertDefault="mod,no wide,no big,no quick,no skippy,no echo,no stomp,no bmrize" -Insert,1="mod,wide;name,Wide" -Insert,2="mod,big;name,Big" -Insert,3="mod,quick;name,Quick" -Insert,4="mod,bmrize;name,BMRize" -Insert,5="mod,skippy;name,Skippy" -Insert,6="mod,echo;name,Echo" -Insert,7="mod,stomp;name,Stomp" - -RemoveCombinations="4;selectmultiple" -RemoveCombinationsDefault="mod,no little,no nojumps,no nohands,no noquads" -RemoveCombinations,1="mod,little;name,Little" -RemoveCombinations,2="mod,nojumps;name,NoJumps" -RemoveCombinations,3="mod,nohands;name,NoHands" -RemoveCombinations,4="mod,noquads;name,NoQuads" - -RemoveFeatures="4;selectmultiple" -RemoveFeaturesDefault="mod,no nostretch,no norolls,no nolifts,no nofakes" -RemoveFeatures,1="mod,nostretch;name,NoStretch" -RemoveFeatures,2="mod,norolls;name,NoRolls" -RemoveFeatures,3="mod,nolifts;name,NoLifts" -RemoveFeatures,4="mod,nofakes;name,NoFakes" - -# Insert="8" -# InsertDefault="mod,no little,no wide,no big,no quick,no skippy,no echo,no stomp" -# Insert,1="name,Off" -# Insert,2="mod,little;name,Little" -# Insert,3="mod,wide;name,Wide" -# Insert,4="mod,big;name,Big" -# Insert,5="mod,quick;name,Quick" -# Insert,6="mod,skippy;name,Skippy" -# Insert,7="mod,echo;name,Echo" -# Insert,8="mod,stomp;name,Stomp" - -Scroll="5;selectmultiple" -ScrollDefault="mod,no reverse,no split,no alternate,no cross,no centered" -Scroll,1="mod,reverse;name,Reverse" -Scroll,2="mod,split;name,Split" -Scroll,3="mod,alternate;name,Alternate" -Scroll,4="mod,cross;name,Cross" -Scroll,5="mod,centered;name,Centered" - -# Scroll="5" -# ScrollDefault="mod,no reverse,no split,no alternate,no cross" -# Scroll,1="name,Standard" -# Scroll,2="mod,reverse;name,Reverse" -# Scroll,3="mod,split;name,Split" -# Scroll,4="mod,alternate;name,Alternate" -# Scroll,5="mod,cross;name,Cross" - -Holds="4;selectmultiple" -HoldsDefault="mod,no noholds,no planted,no twister,no holdrolls" -Holds,1="mod,noholds;name,NoHolds" -Holds,2="mod,planted;name,Planted" -Holds,3="mod,twister;name,Twister" -Holds,4="mod,holdrolls;name,HoldsToRolls" - -# Holds="7" -# HoldsDefault="mod,no noholds,no planted,no twister,no nojumps,no nohands, no holdstorolls" -# Holds,1="mod,noholds;name,Off" -# Holds,2="name,On" -# Holds,3="mod,planted;name,Planted" -# Holds,4="mod,twister;name,Twister" -# Holds,5="mod,holdstorolls;name,HoldsToRolls" -# Holds,6="mod,nojumps;name,NoJumps" -# Holds,7="mod,nohands;name,NoHands" - -Mines="4" -MinesDefault="mod,no nomines,no mines,no attackmines" -Mines,1="mod,nomines;name,Off" -Mines,2="name,On" -Mines,3="mod,mines;name,Add" -Mines,4="mod,attackmines;name,AttackMines" - -Attacks="3" -AttacksDefault="mod,no randomattacks, no noattacks" -Attacks,1="name,On" -Attacks,2="mod,randomattacks;name,RandomAttacks" -Attacks,3="mod,noattacks;name,Off" - -PlayerAutoPlay="2" -PlayerAutoPlayDefault="mod,no playerautoplay" -PlayerAutoPlay,1="name,Off" -PlayerAutoPlay,2="mod,playerautoplay;name,On" - -Hide="3;selectmultiple" -HideDefault="mod,no dark,no blind,no cover" -Hide,1="mod,dark;name,Dark" -Hide,2="mod,blind;name,Blind" -Hide,3="mod,80% cover;name,Cover" - -# Hide="3" -# HideDefault="mod,no dark,no blind" -# Hide,1="name,Off" -# Hide,2="mod,dark;name,Dark" -# Hide,3="mod,blind;name,Blind" - -Persp="5" -PerspDefault="mod,overhead" -Persp,1="mod,incoming;name,Incoming" -Persp,2="mod,overhead;name,Overhead" -Persp,3="mod,space;name,Space" -Persp,4="mod,hallway;name,Hallway" -Persp,5="mod,distant;name,Distant" - -# Song options -# LifeType="3" -LifeType=(GAMESTATE:IsCourseMode() and 3 or 2)..";together" -LifeTypeDefault="" -LifeType,1="mod,bar;name,Bar" -LifeType,2="mod,battery;name,Battery" -LifeType,3="mod,lifetime;name,LifeTime" -# -BarDrain="3;together" -BarDrainDefault="" -BarDrain,1="mod,normal-drain;name,Normal" -BarDrain,2="mod,norecover;name,NoRecover" -BarDrain,3="mod,suddendeath;name,SuddenDeath" -# -BatLives="10;together" -BatLivesDefault="" -BatLives,1="mod,1 life;name,1" -BatLives,2="mod,2 lives;name,2" -BatLives,3="mod,3 lives;name,3" -BatLives,4="mod,4 lives;name,4" -BatLives,5="mod,5 lives;name,5" -BatLives,6="mod,6 lives;name,6" -BatLives,7="mod,7 lives;name,7" -BatLives,8="mod,8 lives;name,8" -BatLives,9="mod,9 lives;name,9" -BatLives,10="mod,10 lives;name,10" -# -Fail="4;together" -FailDefault="mod,faildefault" -Fail,1="mod,failimmediate;name,Immediate" -Fail,2="mod,failimmediatecontinue;name,ImmediateContinue" -Fail,3="mod,failatend;name,FailAtEnd" -Fail,4="mod,failoff;name,Off" -# -Assist="4;together" -AssistDefault="" -Assist,1="mod,no clap,no metronome;name,Off" -Assist,2="mod,clap,no metronome;name,Clap" -Assist,3="mod,no clap,metronome;name,Metronome" -Assist,4="mod,clap,metronome;name,Both" -# -Rate="21;together" -RateDefault="mod,1.0xmusic;mod,no haste" -Rate,1="mod,0.25xmusic;name,0.25x" -Rate,2="mod,0.50xmusic;name,0.5x" -Rate,3="mod,0.75xmusic;name,0.75x" -Rate,4="mod,0.8xmusic;name,0.8x" -Rate,5="mod,0.9xmusic;name,0.9x" -Rate,6="mod,1.0xmusic;name,1.0x" -Rate,7="mod,haste;name,Haste" -Rate,8="mod,1.1xmusic;name,1.1x" -Rate,9="mod,1.2xmusic;name,1.2x" -Rate,10="mod,1.25xmusic;name,1.25x" -Rate,11="mod,1.3xmusic;name,1.3x" -Rate,12="mod,1.333xmusic;name,1.333x" -Rate,13="mod,1.4xmusic;name,1.4x" -Rate,14="mod,1.5xmusic;name,1.5x" -Rate,15="mod,1.6xmusic;name,1.6x" -Rate,16="mod,1.667xmusic;name,1.667x" -Rate,17="mod,1.7xmusic;name,1.7x" -Rate,18="mod,1.75xmusic;name,1.75x" -Rate,19="mod,1.8xmusic;name,1.8x" -Rate,20="mod,1.9xmusic;name,1.9x" -Rate,21="mod,2.0xmusic;name,2.0x" -# -AutoAdjust="4;together" -AutoAdjustDefault="" -AutoAdjust,1="mod,no autosync;name,Off" -AutoAdjust,2="mod,autosyncsong;name,Sync Song" -AutoAdjust,3="mod,autosyncmachine;name,Sync Machine" -AutoAdjust,4="mod,autosynctempo;name,Sync Tempo" -# -SoundEffect="3;together" -SoundEffectDefault="" -SoundEffect,1="mod,no effect;name,Off" -SoundEffect,2="mod,EffectSpeed;name,EffectSpeed" -SoundEffect,3="mod,EffectPitch;name,EffectPitch" -# -Background="3;together" -BackgroundDefault="" -Background,1="mod,no effect;name,Default" -Background,2="mod,staticbg;name,StaticBG" -Background,3="mod,randombg;name,RandomBG" -# -SaveScores="2;together" -SaveScoresDefault="" -SaveScores,1="mod,no savescore;name,Off" -SaveScores,2="mod,savescore;name,On" -# -SaveReplays="2;together" -SaveReplaysDefault="" -SaveReplays,1="mod,no savereplay;name,Off" -SaveReplays,2="mod,savereplay;name,On" - -#ScreenJukeboxMenu -RandomModifiers="2;together" -RandomModifiersDefault="mod,clear" -RandomModifiers,1="name,Off" -RandomModifiers,2="mod,random;name,Random" - -# ScreenOptionsEditMode -Edit Steps="1;together;SelectNone" -Edit StepsDefault="" -Edit Steps,1="screen,ScreenOptionsManageEditSteps;name,Transfer To USB Drive" -# -Transfer To USB Drive="1;together;SelectNone" -Transfer To USB DriveDefault="" -Transfer To USB Drive,1="screen,ScreenOptionsManageEditSteps;name,Transfer To USB Drive" -# -Transfer From USB Drive="1;together;SelectNone" -Transfer From USB DriveDefault="" -Transfer From USB Drive,1="screen,ScreenOptionsManageEditSteps;name,Transfer From USB Drive" - -[ScreenOptionsSimple] -Fallback="ScreenOptionsMaster" -NavigationMode="menu" -InputMode="together" -ForceAllPlayers=true - -NumRowsShown=11 -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-154+28*offsetFromCenter) end -ShowExitRow=true -SeparateExitRow=false -SeparateExitRowY=SCREEN_CENTER_Y+180 - -ExplanationTogetherX=SCREEN_CENTER_X -ExplanationTogetherY=SCREEN_CENTER_Y+174 -ExplanationTogetherOnCommand=stoptweening;zoom,0.75;shadowlength,0;wrapwidthpixels,600/0.75;cropright,1;linear,0.5;cropright,0 -ExplanationTogetherOffCommand=stoptweening - -[ScreenOptionsSimpleService] -Fallback="ScreenOptionsSimple" - -OptionRowNormalMetricsGroup="OptionRowService" - -LineHighlightP1OnCommand=visible,false -LineHighlightP1ChangeCommand= -LineHighlightP1ChangeToExitCommand= - -LineHighlightP2OnCommand=visible,false -LineHighlightP2ChangeCommand= -LineHighlightP2ChangeToExitCommand= - -CursorOnCommand=visible,false - -[ScreenOptionsService] -AllowOperatorMenuButton=false -Class="ScreenOptionsMaster" -Fallback="ScreenOptionsSimpleService" -# -NextScreen=Branch.AfterInit() -PrevScreen=Branch.AfterInit() - -LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Profiles,Network,Advanced,Reload,Credits" - -LineSync="gamecommand;screen,ScreenGameplaySyncMachine;name,Calibrate Machine Sync" -LineGameType="gamecommand;screen,ScreenSelectGame;name,Select Game" -LineKeyConfig="gamecommand;screen,ScreenMapControllers;name,Key Joy Mappings" -LineTestInput="gamecommand;screen,ScreenTestInput;name,Test Input" -LineInput="gamecommand;screen,ScreenOptionsInput;name,Input Options" -LineReload="gamecommand;screen,ScreenReloadSongs;name,Reload Songs" -LineArcade="gamecommand;screen,ScreenOptionsArcade;name,Arcade Options" -LineAppearance="gamecommand;screen,ScreenAppearanceOptions;name,Appearance Options" -LineBGFit="gamecommand;screen,ScreenSetBGFit;name,Set BG Fit Mode" -LineOverscan="gamecommand;screen,ScreenOverscanConfig;name,Overscan Correction" -LineGraphicSound="gamecommand;screen,ScreenOptionsGraphicsSound;name,Graphics/Sound Options" -LineProfiles="gamecommand;screen,ScreenOptionsManageProfiles;name,Profiles" -LineNetwork="gamecommand;screen,ScreenNetworkOptions;name,Network Options" -LineUI="gamecommand;screen,ScreenOptionsUI;name,UI Options" -LineAdvanced="gamecommand;screen,ScreenOptionsAdvanced;name,Advanced Options" -LineMoreOptions="gamecommand;screen,ScreenOptionsExtended;name,More Options" -LineCredits="gamecommand;screen,ScreenCredits;name,StepMania Credits" -LineSoundGraphics="gamecommand;screen,ScreenOptionsDisplaySub;name,Display Options" -LineInputOptions="gamecommand;screen,ScreenOptionsInputSub;name,InputOptions" - -# Old -#LineNames="SystemDirection,KeyConfig,GameType,6,8,Reload,Credits,MoreOptions" -# LineNames="SystemDirection,1,2,Sync,13,3,10,11,4,12,6,5,Theme,8,9" - -# for ScreenOptionsExtended: -#LineSystemDirection="gamecommand;screen,ScreenOptionsSystemDirection;name,System Direction" -#Line2="gamecommand;screen,ScreenTestInput;name,Test Input" -#Line3="gamecommand;screen,ScreenAppearanceOptions;name,Appearance Options" -#Line4="gamecommand;screen,ScreenOptionsGraphicsSound;name,Graphics/Sound Options" -#Line5="gamecommand;screen,ScreenOptionsAdvanced;name,Advanced Options" -#Line6="gamecommand;screen,ScreenNetworkOptions;name,Network Options" -#Line8="gamecommand;screen,ScreenOptionsManageProfiles;name,Profiles" -#Line10="gamecommand;screen,ScreenOptionsUI;name,UI Options" -#Line11="gamecommand;screen,ScreenOptionsInput;name,Input Options" -#Line12="gamecommand;screen,ScreenOptionsArcade;name,Arcade Options" -#LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" -#LineMoreOptions="gamecommand;screen,ScreenOptionsExtended;name,More Options" -#LineCredits="gamecommand;screen,ScreenCredits;name,StepMania Credits" - -[ScreenOptionsInputSub] -Fallback="ScreenOptionsService" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="TestInput,Input,Sync" -LineTestInput="gamecommand;screen,ScreenTestInput;name,Test Input" -LineInput="gamecommand;screen,ScreenOptionsInput;name,Input Options" -LineSync="gamecommand;screen,ScreenGameplaySyncMachine;name,Calibrate Machine Sync" - - - - - -[ScreenOptionsDisplaySub] -Fallback="ScreenOptionsService" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="BGFit,Appearance,UI,Overscan" -LineAppearance="gamecommand;screen,ScreenAppearanceOptions;name,Appearance Options" -LineBGFit="gamecommand;screen,ScreenSetBGFit;name,Set BG Fit Mode" -LineOverscan="gamecommand;screen,ScreenOverscanConfig;name,Overscan Correction" -LineUI="gamecommand;screen,ScreenOptionsUI;name,UI Options" - - - -[ScreenOptionsExtended] -Fallback="ScreenOptionsService" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -# -LineNames="TestInput,Sync,Appearance,UI,Input,GraphicSound,Arcade,Advanced" -LineUI="gamecommand;screen,ScreenOptionsUI;name,UI Options" - - -[ScreenOptionsServiceChild] -Fallback="ScreenOptionsMaster" -PrevScreen="ScreenOptionsService" -NextScreen="ScreenOptionsService" -TimerSeconds=-1 -TimerOnCommand=visible,false -AllowOperatorMenuButton=false -# -ForceAllPlayers=true -LightsMode="LightsMode_MenuStartAndDirections" -NavigationMode="normal" -InputMode="together" -# -ShowStyleIcon=false -HelpText=Screen.String("HelpTextOptionsAndBack") -# -LineHighlightP1OnCommand=visible,false -LineHighlightP1ChangeCommand= -LineHighlightP1ChangeToExitCommand= -# -LineHighlightP2OnCommand=visible,false -LineHighlightP2ChangeCommand= -LineHighlightP2ChangeToExitCommand= -# -ExplanationTogetherX=SCREEN_CENTER_X -ExplanationTogetherY=SCREEN_CENTER_Y+174 -ExplanationTogetherOnCommand=stoptweening;zoom,0.625;shadowlength,0;wrapwidthpixels,600/0.665;cropright,1;linear,0.5;cropright,0 -ExplanationTogetherOffCommand=stoptweening - -[ScreenOptionsServiceExtendedChild] -Fallback="ScreenOptionsServiceChild" - -[ScreenMiniMenu] -Class="ScreenMiniMenu" -Fallback="ScreenOptions" -PrevScreen= -TimerSeconds=-1 -AllowRepeatingChangeValueInput=true -# -ShowHelp=false -ShowExplanations=false -ShowExitRow=false -ShowStyleIcon=false -# -HeaderX=SCREEN_CENTER_X -HeaderY=SCREEN_TOP+40 -HeaderOnCommand= -HeaderOffCommand= -# -OptionRowNormalMetricsGroup="OptionRowMiniMenu" -NumRowsShown=30 -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local indexOffset = itemIndex-(numItems-1)/2; self:y( SCREEN_CENTER_Y + indexOffset * 20 ); end -ColorDisabled=color("0.8,0.8,0.8,0.975") -# -ContainerOnCommand= -ContainerOffCommand= -CursorOnCommand=visible,false - -[OptionRowMiniMenu] -Fallback="OptionRow" -IconsP1X=SCREEN_CENTER_X-280 -IconsP2X=SCREEN_CENTER_X+280 -IconsOnCommand=x,-30 -FrameX=SCREEN_CENTER_X-232 -TitleX=SCREEN_CENTER_X-150 -TitleOnCommand=halign,0;shadowlength,2; -ItemsStartX=SCREEN_CENTER_X-150 -ItemsEndX=SCREEN_CENTER_X+280 -ItemsGapX=14 -ItemsLongRowP1X=SCREEN_CENTER_X-60 -ItemsLongRowP2X=SCREEN_CENTER_X+100 -ItemsLongRowSharedX=SCREEN_CENTER_X+150 -ItemOnCommand= -ColorSelected=color("0.5,1,0.5,1") -ColorNotSelected=color("1,1,1,1") -ColorDisabled=color("0.65,0,0,1") -TweenSeconds=0 - -[ScreenMiniMenuContext] -Fallback="ScreenMiniMenu" -NumRowsShown=10 -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(24*(offsetFromCenter-(numItems-1)/2)) end -LineHighlightX=0 -ShowHelp=false -OptionRowNormalMetricsGroup="OptionRowMiniMenuContext" - -[OptionRowMiniMenuContext] -Fallback="OptionRowMiniMenu" -TitleX=-54 - -[ScreenMapControllers] -Class="ScreenMapControllers" -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -HelpText=Screen.String("HelpTextMapControllers") -# -# This locks the input when the screen starts. -LockInputSecs=2.5 -# The warning cannot be dismissed until this time expires. -# This is additional time after LockInputSecs expires before the warning -# will be sent the TweenOff command. -AutoDismissWarningSecs=2.5 -# This is the number of lines that are visible on screen. Set this if you -# have a footer that covers up the bottom area of the screen. The purpose -# is to have the settings visible on screen even when the player's cursor is -# on the exit choice. -LinesVisible=16 -# This sets how long the NoSetListPrompt will show before being sent TweenOff. -AutoDismissNoSetListPromptSecs=5 -# The time to auto dismiss the sanity warning if the current mapping is not sane. -AutoDismissSanitySecs=5 -# -# The position of the Devices list and its On/Off commands. -DevicesX=SCREEN_CENTER_X -DevicesY=SCREEN_TOP+4 -DevicesOnCommand=vertalign,top;maxheight,92;zoom,0.75;draworder,5;strokecolor,color("0,0,0,1") -DevicesOffCommand= -# -# The ListHeader parts are the row that the player's cursor starts on with -# the names of the columns. -ListHeaderP1S1Command=x,SCREEN_CENTER_X-270 -ListHeaderP1S2Command=x,SCREEN_CENTER_X-195 -ListHeaderP1S3Command=x,SCREEN_CENTER_X-120 -ListHeaderP2S1Command=x,SCREEN_CENTER_X+120 -ListHeaderP2S2Command=x,SCREEN_CENTER_X+195 -ListHeaderP2S3Command=x,SCREEN_CENTER_X+270 -# ListHeaderCenterOnCommand is for the center element of the ListHeader. -ListHeaderCenterOnCommand=x,SCREEN_CENTER_X;y,-6;zoom,0.7;shadowlength,1;ztest,true -# These commands are shared by all the ListHeader parts. -ListHeaderOnCommand=diffuse,color("#808080");shadowlength,0;max_dimension_use_zoom,true;zoom,0.75;maxwidth,130; -ListHeaderGainFocusCommand=diffuse,color("#808080");diffuseshift;effectcolor2,color("#808080");effectcolor1,color("#FFFFFF") -ListHeaderLoseFocusCommand=diffuse,color("#808080");stopeffect -# -# You want to leave the list of buttons to map so that all buttons for the -# current game type will be mappable. -ButtonsToMap="" -# -# The positions of the elements showing what is mapped. -MappedToP1S1Command=x,SCREEN_CENTER_X-270 -MappedToP1S2Command=x,SCREEN_CENTER_X-195 -MappedToP1S3Command=x,SCREEN_CENTER_X-120 -MappedToP2S1Command=x,SCREEN_CENTER_X+120 -MappedToP2S2Command=x,SCREEN_CENTER_X+195 -MappedToP2S3Command=x,SCREEN_CENTER_X+270 -# These commands are shared between all the elements. -MappedToOnCommand=diffuse,color("#808080");shadowlength,0;zoom,0.75;max_dimension_use_zoom,true;maxwidth,130 -# WaitingCommand is executed when the player hits enter to set a key. -MappedToWaitingCommand=diffuse,color("#FF8080");pulse;effectperiod,0.5;effectmagnitude,0.8,1.3,0 -# MappedInputCommand is executed after the player maps the key. -MappedToMappedInputCommand=diffuse,color("#808080");diffuseshift;effectcolor2,color("#808080");effectcolor1,color("#FFFFFF") -MappedToGainFocusCommand=diffuse,color("#808080");diffuseshift;effectcolor2,color("#808080");effectcolor1,color("#FFFFFF") -MappedToLoseFocusCommand=diffuse,color("#808080");stopeffect -# GainMarkCommand is executed when the player adds the element to the set list. -MappedToGainMarkCommand=textglowmode,'TextGlowMode_Inner';glow,color("#FF00007f") -# LoseMarkCommand is executed when the player removes the element from the set list. -MappedToLoseMarkCommand=textglowmode,'TextGlowMode_Inner';glow,color("#FF000000") -# -# The LineScroller is an ActorScroller that controls the positioning of the -# rows. -LineScrollerOnCommand=%function(self) self:draworder(-1); self:y(64) self:setsecondsperitem(0.1) self:SetTransformFromHeight(24) end -LineScrollerOffCommand= -LineHideCommand=visible,false -LineOnCommand=%function(self) self:y(0); self:visible(true); local LeftToRight = math.mod(self.ItemIndex, 2) == 0 and 1 or -1; self:addx(-SCREEN_WIDTH * LeftToRight); end -LineOffCommand=%function(self) local LeftToRight = math.mod(self.ItemIndex, 2) == 0 and 1 or -1; self:stoptweening() self:accelerate(0.3); self:addx(SCREEN_WIDTH * LeftToRight); self:queuecommand('Hide') end -# -# The "P1 slots" and "P2 slots" labels. Use the entries in en.ini to change text. -LabelP1OnCommand=x,SCREEN_CENTER_X*0.4;zoom,0.7;shadowlength,1 -LabelP1OffCommand=linear,0.5;diffusealpha,0 -LabelP2OnCommand=x,SCREEN_CENTER_X*1.6;zoom,0.7;shadowlength,1 -LabelP2OffCommand=linear,0.5;diffusealpha,0 -# The primary effect of keys on this row. -PrimaryOnCommand=x,SCREEN_CENTER_X;y,-6;zoom,0.7;shadowlength,1;ztest,true -# The secondary effect of keys on this row. -SecondaryOnCommand=x,SCREEN_CENTER_X;y,6;zoom,0.5;shadowlength,1;ztest,true - -[ScreenTestInput] -Class="ScreenTestInput" -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsInputSub" -PrevScreen="ScreenOptionsInputSub" - -[ScreenOptionsSystemDirection] -Fallback="ScreenOptionsServiceChild" -PrevScreen="ScreenOptionsService" -NextScreen="ScreenOptionsService" -LineNames="1,2,3,4,5,FNR,6,7,8,9,FA,10,11,12,13,14,15,16,17,18,19,20,21,22" -Line1="conf,Windowed" -Line2="conf,DisplayResolution" -Line3="conf,DisplayAspectRatio" -Line4="conf,HighResolutionTextures" -Line5="conf,Vsync" -LineFNR="conf,FastNoteRendering" -Line6="conf,SoundVolume" -Line7="conf,TimingWindowScale" -Line8="conf,LifeDifficulty" -Line9="conf,AllowW1" -LineFA="conf,DefaultFailType" -Line10="conf,AutogenSteps" -Line11="conf,ShowBanners" -Line12="conf,ShowCaution" -Line13="conf,ShowInstructions" -Line14="conf,ShowDanger" -Line15="conf,ShowSongOptions" -Line16="conf,EasterEggs" -Line17="conf,Theme" -Line18="conf,DefaultNoteskin" -Line19="conf,PercentageScoring" -Line20="conf,BGBrightness" -Line21="conf,Center1Player" -Line22="conf,EventMode" - -[ScreenOptionsGraphicsSound] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="1,2,3,RefreshRate,FSType,4,5,6,7,8,9,10,11,13,FNR,14,17,18,19,20" -Line1="lua,ConfDisplayMode()" -Line2="lua,ConfAspectRatio()" -Line3="lua,ConfDisplayResolution()" -LineRefreshRate="lua,ConfRefreshRate()" -LineFSType="lua,ConfFullscreenType()" -Line4="conf,DisplayColorDepth" -Line5="conf,HighResolutionTextures" -Line6="conf,MaxTextureResolution" -Line7="conf,TextureColorDepth" -Line8="conf,MovieColorDepth" -Line9="conf,SmoothLines" -Line10="conf,CelShadeModels" -Line11="conf,DelayedTextureDelete" -# RefreshRate ConfOption no longer used -Line12="conf,RefreshRate" -Line13="conf,Vsync" -LineFNR="conf,FastNoteRendering" -Line14="conf,ShowStats" -Line15="conf,ShowBanners" -Line16="conf,AttractSoundFrequency" -Line17="conf,SoundVolume" -Line18="conf,EnableAttackSounds" -Line19="conf,EnableMineHitSound" -Line20="conf,VisualDelaySeconds" - -[ScreenOptionsAdvanced] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="3,4,8,SI,SM,HN,11,13,14,15,16,28,29,30,31,32,ECPT" -#LineScore="lua,UserPrefScoringMode()" -Line3="conf,TimingWindowScale" -Line4="conf,LifeDifficulty" -Line8="conf,DefaultFailType" -LineSI="lua,SpeedModIncSize()" -LineSM="lua,SpeedModIncLarge()" -LineHN="conf,MinTNSToHideNotes" -Line11="conf,AllowW1" -Line13="conf,HiddenSongs" -Line14="conf,EasterEggs" -Line15="conf,AllowExtraStage" -Line16="conf,UseUnlockSystem" -Line28="conf,AutogenSteps" -Line29="conf,AutogenGroupCourses" -Line30="conf,FastLoad" -Line31="conf,FastLoadAdditionalSongs" -Line32="conf,AllowSongDeletion" -LineECPT="conf,EditClearPromptThreshold" - -# unused options -#Line2="conf,ScoringType" -#Line5="conf,ProgressiveLifebar" -#Line6="conf,ProgressiveStageLifebar" -#Line7="conf,ProgressiveNonstopLifebar" -#Line8="conf,DefaultFailType" -#Line24="conf,AutoPlay" -#Line31="conf,OnlyPreferredDifficulties" - -[ScreenAppearanceOptions] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsDisplaySub" -PrevScreen="ScreenOptionsDisplaySub" -LineNames="1,2,3,4,5,14,15,SB,17,18,19" -Line1="conf,Language" -Line2="conf,Announcer" -Line3="conf,Theme" -Line4="conf,DefaultNoteSkin" -Line5="conf,PercentageScoring" -Line14="conf,RandomBackgroundMode" -Line15="conf,BGBrightness" -LineSB="conf,BackgroundFitMode" -Line17="conf,ShowDancingCharacters" -Line18="conf,ShowBeginnerHelper" -Line19="conf,NumBackgrounds" - -[ScreenOptionsUI] -# user interface options that aren't related to themes, etc. -# (some don't get used/modified too often) -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsDisplaySub" -PrevScreen="ScreenOptionsDisplaySub" -LineNames="1,4,6,7,8,9,10,11,12,14" -Line1="conf,Center1Player" -Line4="conf,MenuTimer" -Line6="conf,MusicWheelUsesSections" -Line7="conf,ShowBanners" -Line8="conf,ShowCaution" -Line9="conf,ShowDanger" -Line10="conf,ShowInstructions" -Line11="conf,ShowLyrics" -Line12="conf,ShowNativeLanguage" -Line14="conf,ShowSongOptions" - -# unused options -#Line2="conf,CourseSortOrder" -#Line5="conf,MoveRandomToEnd" - -[ScreenOptionsInput] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -LineNames="1,2,3,AH,4,5,6,7,8" -Line1="conf,AutoMapOnJoyChange" -Line2="conf,OnlyDedicatedMenuButtons" -Line3="conf,DelayedBack" -LineAH="conf,AllowHoldForOptions" -Line4="conf,ArcadeOptionsNavigation" -Line5="conf,ThreeKeyNavigation" -Line6="conf,MusicWheelSwitchSpeed" -Line7="conf,InputDebounceTime" -Line8="conf,AxisFix" - -[ScreenOptionsArcade] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsService" -PrevScreen="ScreenOptionsService" -# stuff tied to arcade features -LineNames="1,2,3,4,5,6,7,8,AMT,9,HHLP,10,11,12,13,14" -Line1="conf,GetRankingName" -Line2="conf,CoinMode" -Line3="conf,SongsPerPlay" -Line4="conf,CoinsPerCredit" -Line5="conf,Premium" -Line6="conf,EventMode" -Line7="conf,AllowMultipleHighScoreWithSameName" -Line8="conf,ComboContinuesBetweenSongs" -LineAMT="conf,AllowMultipleToasties" -Line9="conf,Disqualification" -LineHHLP="conf,HarshHotLifePenalty" -Line10="conf,FailOffForFirstStageEasy" -Line11="conf,FailOffInBeginner" -Line12="conf,LockCourseDifficulties" -Line13="conf,MaxHighScoresPerListForMachine" -Line14="conf,MaxHighScoresPerListForPlayer" - -[ScreenOptionsTheme] -Fallback="ScreenOptionsServiceChild" - -[ScreenSelectGame] -Fallback="ScreenOptionsServiceChild" -PrevScreen="ScreenOptionsService" -NextScreen=Branch.TitleMenu() -LineNames="1" -Line1="conf,Game" - -[ScreenNetworkOptions] -Class="ScreenNetworkOptions" -Fallback="ScreenOptionsServiceChild" -NextScreen=Branch.Network() -PrevScreen=Branch.Network() - -[ScreenOptionsManageProfiles] -Class="ScreenOptionsManageProfiles" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsService" -NextScreen="ScreenOptionsService" -PrepareScreens="ScreenMiniMenuContext" -GroupedScreens="ScreenMiniMenuContext" -PersistScreens="ScreenMiniMenuContext" - -TimerSeconds=-1 - -[ScreenOptionsEditProfile] -Class="ScreenOptionsEditProfile" -PageOnCommand=visible,false - -[ScreenOptionsCustomizeProfile] -Class="ScreenWithMenuElements" -Fallback="ScreenWithMenuElements" -PrevScreen="ScreenOptionsManageProfiles" -NextScreen="ScreenOptionsManageProfiles" -PlayMusic=false -ShowHeader=false -ShowFooter=false -ShowCreditDisplay=false -TimerSeconds=-1 -TimerOnCommand=visible,false - -[ScreenReloadSongs] -Class="ScreenReloadSongs" -Fallback="Screen" -NextScreen=Branch.TitleMenu() - -[ScreenPlayerOptions] -Fallback="ScreenOptions" -Class="ScreenPlayerOptions" -# -PrevScreen=Branch.BackOutOfPlayerOptions() -NextScreen=Branch.SongOptions() -# -PlayMusic=false -# -TimerSeconds=30 -# -LineNames="1,2,3A,3B,4,5,6,R1,R2,7,8,9,10,11,12,13,14,16,17" -Line1="lua,ArbitrarySpeedMods()" -# Line1="list,Speed" -Line2="list,Accel" -Line3A="list,EffectsReceptor" -Line3B="list,EffectsArrow" -# -Line4="list,Appearance" -Line5="list,Turn" -Line6="list,Insert" -LineR="list,Remove" -LineR1="list,RemoveCombinations" -LineR2="list,RemoveFeatures" -Line7="list,Scroll" -Line8="list,NoteSkins" -Line9="list,Holds" -Line10="list,Mines" -Line11="list,Attacks" -Line12="list,PlayerAutoPlay" -Line13="list,Hide" -Line14="list,Persp" -Line16="list,Steps" -Line17="list,Characters" -# - -[ScreenPlayerOptionsRestricted] -Fallback="ScreenPlayerOptions" -NextScreen="ScreenStageInformation" -LineNames="1,8,16,17" -Line16="list,StepsLocked" -Line17="list,Characters" - -[ScreenSongOptions] -Fallback="ScreenOptions" -Class="ScreenSongOptions" -PrevScreen="ScreenPlayerOptions" -NextScreen="ScreenStageInformation" -TimerSeconds=30 -PlayMusic=false -StopMusicOnBack=false -# -LineNames="1,2,3,4,5,6,7,8,9,10" -#,11 - -Line1="list,LifeType" -Line2="list,BarDrain" -Line3="list,BatLives" -Line5="list,Assist" -Line6="list,Rate" -Line7="list,SoundEffect" -Line8="list,AutoAdjust" -Line9="list,Background" -Line10="list,SaveScores" -Line11="list,SaveReplays" -Line4="list,Fail" - -[ScreenSplash] -Class="ScreenSplash" -Fallback="ScreenWithMenuElementsBlank" -MinimumScreenPrepareDelaySeconds=0 -AllowStartToSkip=false -PrepareScreen= - -# 05 # A - -[ScreenExit] -# Midiman: -# Fun fact, if you don't enable this screen, Force Crashing will hang -# StepMania, and leave it there to eat up time. -Class="ScreenExit" -Fallback="ScreenWithMenuElements" -AllowOperatorMenuButton=false - -[ScreenAttract] -Class="ScreenAttract" -Fallback="ScreenWithMenuElementsBlank" -StartScreen=Branch.TitleMenu() -CancelScreen=Branch.TitleMenu() -# -LightsMode="LightsMode_Attract" -PlayMusic=false -# -ResetGameState=true -BackGoesToStartScreen=true -AttractVolume=true -# -TimerMetricsGroup="MenuTimerNoSound" - -[ScreenRanking] -Class="ScreenRanking" -Fallback="ScreenAttract" -TimerSeconds=-1 -# -ResetGameState=true -StepsTypesToHide="dance-couple,dance-solo,dance-routine,pump-halfdouble,pump-couple" -PageFadeSeconds=1.0 -CoursesToShow=GetCoursesToShowRanking() -SecondsPerPage=5 -# -RankingType="RankingType_Category" -# -RowSpacingX=0 -RowSpacingY=60 -ColSpacingX=0 -ColSpacingY=0 -# -StepsTypeColor1=color("1.0,1.0,1.0,1.0") -StepsTypeColor2=color("1.0,1.0,1.0,1.0") -StepsTypeColor3=color("1.0,1.0,1.0,1.0") -StepsTypeColor4=color("1.0,1.0,1.0,1.0") -StepsTypeColor5=color("1.0,1.0,1.0,1.0") -# -SongScoreSecondsPerRow=0.4 -ShowSurvivalTime=false -# -BannerOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-196;diffusealpha,1;scaletoclipped,220,58;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH -BannerOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 -CategoryOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-208;diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH -CategoryOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 -CourseTitleOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-208;diffusealpha,1;maxwidth,230;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH -CourseTitleOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 -StepsTypeOnCommand=x,SCREEN_CENTER_X+200;y,SCREEN_CENTER_Y-180;diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH -StepsTypeOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 -# -BulletStartX=SCREEN_CENTER_X-220 -BulletStartY=SCREEN_CENTER_Y-100 -Bullet1OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH -Bullet2OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH -Bullet3OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH -Bullet4OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH -Bullet5OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH -Bullet1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 -Bullet2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 -Bullet3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 -Bullet4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 -Bullet5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 -# -NameStartX=SCREEN_CENTER_X-140 -NameStartY=SCREEN_CENTER_Y-100 -Name1OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH -Name2OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH -Name3OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH -Name4OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH -Name5OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH -Name1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 -Name2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 -Name3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 -Name4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 -Name5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 -# -ScoreStartX=SCREEN_CENTER_X+200 -ScoreStartY=SCREEN_CENTER_Y-100 -Score1OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH -Score2OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH -Score3OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH -Score4OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH -Score5OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH -Score1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 -Score2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 -Score3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 -Score4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 -Score5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 -# -PointsStartX=SCREEN_CENTER_X+60 -PointsStartY=SCREEN_CENTER_Y-100 -Points1OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH -Points2OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH -Points3OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH -Points4OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH -Points5OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH -Points1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 -Points2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 -Points3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 -Points4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 -Points5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 -# -TimeStartX=SCREEN_CENTER_X+240 -TimeStartY=SCREEN_CENTER_Y-100 -Time1OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH -Time2OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH -Time3OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH -Time4OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH -Time5OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH -Time1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 -Time2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 -Time3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 -Time4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 -Time5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 -# -DifficultyStartX=SCREEN_CENTER_X-154 -DifficultyY=SCREEN_CENTER_Y-209 -DifficultyBeginnerOnCommand= -DifficultyEasyOnCommand= -DifficultyMediumOnCommand= -DifficultyHardOnCommand= -DifficultyChallengeOnCommand= -DifficultyBeginnerOffCommand= -DifficultyEasyOffCommand= -DifficultyMediumOffCommand= -DifficultyHardOffCommand= -DifficultyChallengeOffCommand= -# -TitleOnCommand=x,-210;ztest,1;diffuse,0,0,0,1;maxwidth,160 -TitleOffCommand= -FrameOnCommand=ztest,1 -FrameOffCommand= -ScoreOffsetStartX=-154 -ScoreOffsetY=0 -ScoreOnCommand=zoom,0.7;ztest,1 -ScoreOffCommand= -# 05 # B - -# 05 # C -[ScreenGameplay] -Fallback="ScreenWithMenuElementsBlank" -Class="ScreenGameplayNormal" -NextScreen=Branch.AfterGameplay() -PrevScreen=Branch.BackOutOfStageInformation() -TimerSeconds=-1 -# -ShowLifeMeterForDisabledPlayers=false -StopCourseEarly=false -ShowEvaluationOnFail=true -ShowScoreInRave=false -UnpauseWithStart=true -InitialBackgroundBrightness=1.0 -SecondsBetweenComments=10.0 -ScoreKeeperClass=ScoreKeeperClass() -ForceImmediateFailForBattery=true -TickEarlySeconds=0 -LightsMode="LightsMode_Gameplay" -SurvivalModOverride=true -# -PlayerType="Player" -# useful in some obscure situations where the theme resolution has been increased. -PlayerInitCommand=y,SCREEN_CENTER_Y;zoom,(THEME:GetMetric("Common","ScreenHeight")/480) -StartGivesUp=true -BackGivesUp=false -GiveUpSeconds=2.5 -# rage -AllowCenter1Player=true -# -FailOnMissCombo=FailCombo() -GivingUpGoesToPrevScreen=false -GivingUpGoesToNextScreen=false -SelectSkipsSong=true -# -MinSecondsToStep=6.0 -MinSecondsToMusic=2.0 -MinSecondsToStepNextSong=2.0 -MusicFadeOutSeconds=0.5 -OutTransitionLength=5 -CourseTransitionLength=0.5 -BeginFailedDelay=1.0 -# New way to control where the notefields are on gameplay. -# The MarginFunction will be passed GAMESTATE:EnabledPlayers() and the -# current styletype. The function must return three values: -# Left margin width, center margin width, right margin width. -# The engine will then position the notefields and adjust their size to fit -# in the space not occupied by the margins. If there is only one player and -# that player would normally be centered (OnePlayerTwoSides or -# TwoPlayersSharedSides, or the Center1Player preference), then the center -# margin value will be ignored. -# Mods applied to the player may still move the notefield into the margin, -# this is just for controlling its initial position and size. -# The purpose of this is to allow the engine more flexibility in styles, -# for example, one player playing dance-solo while the other plays -# dance-single. -MarginFunction=GameplayMargins -# These X values for each player and styletype are deprecated in favor of -# writing a MarginFunction that returns the margin sizes you prefer. -# The MarginFunction supplied by _fallback will use these metrics for -# backwards compatibility. -PlayerP1OnePlayerOneSideX=math.floor(scale((0.85/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) -PlayerP2OnePlayerOneSideX=math.floor(scale((2.15/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) -PlayerP1TwoPlayersTwoSidesX=math.floor(scale((0.85/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) -PlayerP2TwoPlayersTwoSidesX=math.floor(scale((2.15/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) -PlayerP1OnePlayerTwoSidesX=SCREEN_CENTER_X -PlayerP2OnePlayerTwoSidesX=SCREEN_CENTER_X -PlayerP1TwoPlayersSharedSidesX=SCREEN_CENTER_X -PlayerP2TwoPlayersSharedSidesX=SCREEN_CENTER_X -# -LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X+0;y,SCREEN_CENTER_Y+160 -LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X+0;y,SCREEN_CENTER_Y-140 -# This is used if one player is in reverse and the other isn't. -LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X+0;y,SCREEN_CENTER_Y-205 -LyricDisplayDefaultColor=color("0,1,0,1"); -# -OniGameOverP1X= -OniGameOverP1Y= -OniGameOverP1OnCommand= -OniGameOverP1OffCommand= -# -OniGameOverP2X= -OniGameOverP2Y= -OniGameOverP2OnCommand= -OniGameOverP2OffCommand= -# -ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ActiveAttackListP1Y= -ActiveAttackListP1OnCommand=visible,false -ActiveAttackListP1OffCommand= -ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ActiveAttackListP2Y= -ActiveAttackListP2OnCommand=visible,false -ActiveAttackListP2OffCommand= -# -CombinedLifeX=SCREEN_CENTER_X -CombinedLifeY=SCREEN_CENTER_Y -CombinedLifeOnCommand=visible,false -CombinedLifeOffCommand= -# -LifeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -LifeP1Y=SCREEN_TOP+24 -LifeP1OnCommand= -LifeP1OffCommand= -LifeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -LifeP2Y=SCREEN_TOP+24 -LifeP2OnCommand= -LifeP2OffCommand= -# -ScoreP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -ScoreP1Y=SCREEN_BOTTOM-28 -ScoreP1OnCommand= -ScoreP1OffCommand= -ScoreP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -ScoreP2Y=SCREEN_BOTTOM-28 -ScoreP2OnCommand= -ScoreP2OffCommand= -# -SecondaryScoreP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -SecondaryScoreP1Y=SCREEN_BOTTOM-56 -SecondaryScoreP1OnCommand= -SecondaryScoreP1OffCommand= -SecondaryScoreP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -SecondaryScoreP2Y=SCREEN_BOTTOM-56 -SecondaryScoreP2OnCommand= -SecondaryScoreP2OffCommand= -# -StepsDescriptionP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDescriptionP1Y=SCREEN_CENTER_Y-24 -StepsDescriptionP1OnCommand=visible,false -StepsDescriptionP1OffCommand= -StepsDescriptionP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDescriptionP2Y=SCREEN_CENTER_Y-24 -StepsDescriptionP2OnCommand=visible,false -StepsDescriptionP2OffCommand= -# -PlayerOptionsP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -PlayerOptionsP1Y=SCREEN_CENTER_Y+24 -PlayerOptionsP1OnCommand=visible,false -PlayerOptionsP1OffCommand= -PlayerOptionsP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -PlayerOptionsP2Y=SCREEN_CENTER_Y+24 -PlayerOptionsP2OnCommand=visible,false -PlayerOptionsP2OffCommand= -# -StepsDisplayP1X=SCREEN_CENTER_X-160 -StepsDisplayP1Y=SCREEN_BOTTOM-60 -StepsDisplayP1OnCommand=visible,false -StepsDisplayP1OffCommand= -# -StepsDisplayP2X=SCREEN_CENTER_X+160 -StepsDisplayP2Y=SCREEN_BOTTOM-60 -StepsDisplayP2OnCommand=visible,false -StepsDisplayP2OffCommand= -# -SongOptionsX=SCREEN_CENTER_X -SongOptionsY=SCREEN_BOTTOM-32 -SongOptionsOnCommand=visible,false -SongOptionsOffCommand= -# -DebugX=SCREEN_CENTER_X -DebugY=SCREEN_BOTTOM-116 -DebugOnCommand=zoom,0.75 -DebugStartOnCommand=stoptweening;diffusealpha,0;linear,1/8;diffusealpha,1 -DebugBackOnCommand=stoptweening;diffusealpha,0;linear,1/8;diffusealpha,1 -DebugTweenOffCommand=stoptweening;linear,1/8;diffusealpha,0 -# -SongNumberFormat="%d" -SongNumberP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60 -SongNumberP1Y=SCREEN_TOP+24+7 -SongNumberP1OnCommand=visible,false -SongNumberP1OffCommand= -SongNumberP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60 -SongNumberP2Y=SCREEN_TOP+24+7 -SongNumberP2OnCommand=visible,false -SongNumberP2OffCommand= - -SurviveTimeX=SCREEN_CENTER_X -SurviveTimeY=SCREEN_CENTER_Y+120 -SurviveTimeOnCommand= - -# online scoreboard -# P1 is used when the only player is P2 -ScoreboardC1P1X=SCREEN_CENTER_X*0.25 -ScoreboardC1P1Y=SCREEN_CENTER_Y*0.45 -ScoreboardC1P1OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 -ScoreboardC2P1X=SCREEN_CENTER_X*0.5 -ScoreboardC2P1Y=SCREEN_CENTER_Y*0.45 -ScoreboardC2P1OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 -ScoreboardC3P1X=SCREEN_CENTER_X*0.75 -ScoreboardC3P1Y=SCREEN_CENTER_Y*0.45 -ScoreboardC3P1OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 -# P2 is used when the only player is P1 -ScoreboardC1P2X=SCREEN_CENTER_X*1.25 -ScoreboardC1P2Y=SCREEN_CENTER_Y*0.45 -ScoreboardC1P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 -ScoreboardC2P2X=SCREEN_CENTER_X*1.5 -ScoreboardC2P2Y=SCREEN_CENTER_Y*0.45 -ScoreboardC2P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 -ScoreboardC3P2X=SCREEN_CENTER_X*1.75 -ScoreboardC3P2Y=SCREEN_CENTER_Y*0.45 -ScoreboardC3P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 - -[ScreenGameplayEditCourse] -Class="ScreenGameplayNormal" -Fallback="ScreenGameplay" -PrevScreen="ScreenOptionsCourseOverview" -NextScreen="ScreenOptionsCourseOverview" - -[ScreenGameplayShared] -Class="ScreenGameplayShared" -Fallback="ScreenGameplay" -PlayerType="PlayerShared" - -[ScreenHeartEntry] -Class="ScreenWithMenuElements" -Fallback="ScreenWithMenuElements" -PrevScreen=Branch.AfterHeartEntry() -NextScreen=Branch.AfterHeartEntry() -HeartEntryEnabled=false -PlayMusic=false -ShowHeader=false -ShowFooter=false -ShowCreditDisplay=false -TimerSeconds=-1 -TimerOnCommand=visible,false - -[ScreenEvaluation] -Class="ScreenEvaluation" -Fallback="ScreenWithMenuElements" -NextScreen=Branch.AfterEvaluation() -PrevScreen=Branch.AfterEvaluation() -TimerSeconds=20 -LightsMode="LightsMode_MenuStartOnly" -# -Summary=false -CheckpointsWithJudgments=EvalUsesCheckpointsWithJudgments() -# -PlayerOptionsSeparator="," -PlayerOptionsHideFailType=false -MaxComboNumDigits=4 -# -ShowBannerArea=true -RollingNumbersClass="RollingNumbersJudgment" -RollingNumbersMaxComboClass="RollingNumbersMaxCombo" -# -ShowSharedJudgmentLineLabels=false -ShowJudgmentLineW1=false -ShowJudgmentLineW2=false -ShowJudgmentLineW3=false -ShowJudgmentLineW4=false -ShowJudgmentLineW5=false -ShowJudgmentLineHeld=false -ShowJudgmentLineMiss=false -ShowJudgmentLineMaxCombo=false -ShowPeakComboAward=false -ShowTimingDifficulty=false -ShowStageDisplay=false -ShowStageFrame=false -ShowGraphDisplay=false -ShowComboGraph=false -ShowStepsDisplay=false -ShowGradeArea=false -ShowPointsArea=false -ShowDetailArea=false -ShowBonusArea=false -ShowSurvivedArea=false -ShowWinArea=false -ShowScoreArea=false -ShowTimeArea=false -ShowItsARecord=false -ShowStageAward=false -# -FailedSoundTime=0 -PassedSoundTime=0 -CheerDelaySeconds=2.5 -# -BannerWidth=256 -BannerHeight=80 -# -LargeBannerX= -LargeBannerY= -LargeBannerOnCommand=visible,false -LargeBannerOffCommand= -LargeBannerFrameX= -LargeBannerFrameY= -LargeBannerFrameOnCommand=visible,false -LargeBannerFrameOffCommand= -# -PlayerOptionsP1X= -PlayerOptionsP1Y= -PlayerOptionsP1OnCommand=visible,false -PlayerOptionsP1OffCommand= -PlayerOptionsP2X= -PlayerOptionsP2Y= -PlayerOptionsP2OnCommand=visible,false -PlayerOptionsP2OffCommand= -# -SongOptionsX= -SongOptionsY= -SongOptionsOnCommand=visible,false -SongOptionsOffCommand= -# -DisqualifiedP1X= -DisqualifiedP1Y= -DisqualifiedP1OnCommand=visible,false -DisqualifiedP1OffCommand= -DisqualifiedP2X= -DisqualifiedP2Y= -DisqualifiedP2OnCommand=visible,false -DisqualifiedP2OffCommand= -# -SmallBanner1X=SCREEN_CENTER_X -SmallBanner1Y=SCREEN_TOP-128 -SmallBanner1OnCommand=visible,false -SmallBanner1OffCommand= -SmallBanner2X=SCREEN_CENTER_X -SmallBanner2Y=SCREEN_TOP-128 -SmallBanner2OnCommand=visible,false -SmallBanner2OffCommand= -SmallBanner3X=SCREEN_CENTER_X -SmallBanner3Y=SCREEN_TOP-128 -SmallBanner3OnCommand=visible,false -SmallBanner3OffCommand= -SmallBanner4X=SCREEN_CENTER_X -SmallBanner4Y=SCREEN_TOP-128 -SmallBanner4OnCommand=visible,false -SmallBanner4OffCommand= -SmallBanner5X=SCREEN_CENTER_X -SmallBanner5Y=SCREEN_TOP-128 -SmallBanner5OnCommand=visible,false -SmallBanner5OffCommand= -SmallBanner6X=SCREEN_CENTER_X -SmallBanner6Y=SCREEN_TOP-128 -SmallBanner6OnCommand=visible,false -SmallBanner6OffCommand= -# -DetailLineFormat="%3d/%3d" -# - -[ScreenEvaluationNormal] -Fallback="ScreenEvaluation" -# -NextScreen=Branch.AfterEvaluation() -PrevScreen=Branch.AfterEvaluation() - -[ScreenEvaluationSummary] -Fallback="ScreenEvaluation" -NextScreen=Branch.AfterSummary() -Summary=true - -[ScreenNameEntry] -# !!! # -Class="ScreenNameEntry" -Fallback="ScreenWithMenuElementsBlank" -# -TimerX=SCREEN_CENTER_X+0 -TimerY=SCREEN_CENTER_Y-210 -# -CategoryY=SCREEN_CENTER_Y+190 -CategoryZoom=0.7 -# -CharsZoomSmall=1.0 -CharsZoomLarge=1.5 -CharsSpacingY=40 -CharsChoices=" ABCDEFGHIJKLMNOPQRSTUVWXYZ" -ScrollingCharsCommand=diffuse,0.6,0.8,0.8,1 -SelectedCharsCommand=diffuse,0.8,1,1,1 -# -ReceptorArrowsY=SCREEN_CENTER_Y-140 -NumCharsToDrawBehind=2 -NumCharsToDrawTotal=10 -FakeBeatsPerSec=2.5 -ForceTimer=true -TimerSeconds=24 -TimerStealth=false -ShowStyleIcon=false -MaxRankingNameLength=4 -# -NextScreen="ScreenProfileSave" -# -PlayerP1OnePlayerOneSideX=SCREEN_CENTER_X-160 -PlayerP2OnePlayerOneSideX=SCREEN_CENTER_X+160 -PlayerP1TwoPlayersTwoSidesX=SCREEN_CENTER_X-160 -PlayerP2TwoPlayersTwoSidesX=SCREEN_CENTER_X+160 -PlayerP1OnePlayerTwoSidesX=SCREEN_CENTER_X -PlayerP2OnePlayerTwoSidesX=SCREEN_CENTER_X - -[ScreenNameEntryTraditional] -Class="ScreenNameEntryTraditional" -Fallback="ScreenWithMenuElements" -NextScreen="ScreenProfileSaveSummary" -CancelTransitionsOut=true -TimerSeconds=30 -ForceTimer=true -ForceTimerWait=true -RepeatRate=15 -RepeatDelay=1/4 -HelpText="Enter your name!" -# -MaxRankingNameLength=4 -CodeNames="Backspace,Left,Right,NextRow1=NextRow,NextRow2=NextRow,PrevRow,JumpToEnter,Enter" -CodeLeft="+MenuLeft" -CodeRight="+MenuRight" -CodePrevRow="+MenuUp" -CodeNextRow1="+MenuDown" -CodeNextRow2="Select,~Select" -CodeBackspace="@Select-MenuLeft" -CodeJumpToEnter="@Select-Start" -CodeEnter="Start" - -[ScreenContinue] -Class="ScreenContinue" -Fallback="ScreenWithMenuElements" -NextScreen=Branch.AfterContinue() -PrevScreen=Branch.AfterContinue() -ContinueEnabled=false -PrepareScreens="" -HelpText="100" -TimerSeconds=15 -ForceTimer=true -ForceTimerWait=true - -[ScreenProfileSave] -Class="ScreenProfileSave" -Fallback="ScreenWithMenuElementsBlank" -NextScreen=Branch.AfterProfileSave() -PrevScreen=Branch.TitleMenu() -TimerSeconds=-1 - -[ScreenProfileSaveSummary] -Fallback="ScreenProfileSave" -NextScreen=Branch.AfterSaveSummary() -PrevScreen=Branch.AfterSaveSummary() - -[ScreenGameOver] -Class="ScreenEnding" -Fallback="ScreenAttract" -PrevScreen=Branch.TitleMenu() -NextScreen=Branch.TitleMenu() -StartScreen=Branch.TitleMenu() -TimerSeconds=10 -ResetGameState=true -# -RemoveCardP1X=SCREEN_WIDTH*0.1 -RemoveCardP1Y=SCREEN_CENTER_Y -RemoveCardP1OnCommand= -RemoveCardP1OffCommand= -# -RemoveCardP2X=SCREEN_WIDTH*0.9 -RemoveCardP2Y=SCREEN_CENTER_Y -RemoveCardP2OnCommand= -RemoveCardP2OffCommand= - -[ScreenPrompt] -Class="ScreenPrompt" -Fallback="ScreenWithMenuElementsBlank" -PrevScreen="ScreenEdit" -TimerSeconds=-1 - -QuestionX=SCREEN_CENTER_X -QuestionY=SCREEN_CENTER_Y-60 -QuestionOnCommand=zoom,0.7;wrapwidthpixels,600 -QuestionOffCommand= -# -CursorOnCommand= -CursorOffCommand= -# -Answer1Of1X=SCREEN_CENTER_X -Answer1Of1Y=SCREEN_CENTER_Y+120 -Answer1Of1OnCommand=maxwidth,100 -Answer1Of1OffCommand= -## -Answer1Of2X=SCREEN_CENTER_X-50 -Answer1Of2Y=SCREEN_CENTER_Y+120 -Answer1Of2OnCommand=maxwidth,100 -Answer1Of2OffCommand= -# -Answer2Of2X=SCREEN_CENTER_X+50 -Answer2Of2Y=SCREEN_CENTER_Y+120 -Answer2Of2OnCommand=maxwidth,100 -Answer2Of2OffCommand= -### -Answer1Of3X=SCREEN_CENTER_X-170 -Answer1Of3Y=SCREEN_CENTER_Y+120 -Answer1Of3OnCommand=maxwidth,100 -Answer1Of3OffCommand= -# -Answer2Of3X=SCREEN_CENTER_X-20 -Answer2Of3Y=SCREEN_CENTER_Y+120 -Answer2Of3OnCommand=maxwidth,100 -Answer2Of3OffCommand= -# -Answer3Of3X=SCREEN_CENTER_X+150 -Answer3Of3Y=SCREEN_CENTER_Y+120 -Answer3Of3OnCommand=maxwidth,100 -Answer3Of3OffCommand= - -## stuff for edit mode: ## -[ScreenOptionsEdit] -Class="ScreenOptionsMaster" -Fallback="ScreenOptionsSimpleService" -# This NextScreen is only used for the "exit" choice. -NextScreen=Branch.TitleMenu() -PrevScreen=Branch.TitleMenu() - -LineNames="1,2,3" -Line1="gamecommand;screen,ScreenEditMenu;name,Edit Songs/Steps" -Line2="gamecommand;screen,ScreenPracticeMenu;name,Practice Songs/Steps" -Line3="gamecommand;screen,ScreenEditCourseModsMenu;name,Edit Courses/Mods" -#Line4="gamecommand;screen,ScreenOptionsExportPackage;name,Export Packages" - -# broken: -# Line4="gamecommand;screen,ScreenOptionsManageCourses;name,Edit Courses" -# unused: -# Line4="gamecommand;screen,ScreenServiceActionCopyEditsMachineToMemoryCard;name,Transfer Edits to USB" -# Line5="gamecommand;screen,ScreenOptionsGraphicsSound;name,Transfer Edits from USB" -# Line6="gamecommand;screen,ScreenOptionsAdvanced;name,Clear USB edits" - -[EditMenu] -EditMode="EditMode_Full" -ShowGroups=true - -Arrows1X=SCREEN_CENTER_X-176 -Arrows2X=SCREEN_CENTER_X+270 -ArrowsEnabledCommand=diffuse,color("1,1,1,1");shadowlengthy,1;shadowcolor,color("#002740"); -ArrowsDisabledCommand=diffuse,color("0.45,0.45,0.45,1");shadowlengthy,1;shadowcolor,color("#002740"); - -GroupBannerX=SCREEN_CENTER_X+170 -GroupBannerY=SCREEN_CENTER_Y-140 -GroupBannerOnCommand=scaletoclipped,128,40 - -SongBannerX=SCREEN_CENTER_X+170 -SongBannerY=SCREEN_CENTER_Y-90 -SongBannerOnCommand=scaletoclipped,128,40 - -TextBannerType="TextBannerEditMode" -SongTextBannerX=SCREEN_CENTER_X-128 -SongTextBannerY=SCREEN_CENTER_Y-90 - -StepsDisplayX=SCREEN_CENTER_X+150 -StepsDisplayY=SCREEN_CENTER_Y-0 -StepsDisplaySourceX=SCREEN_CENTER_X+150 -StepsDisplaySourceY=SCREEN_CENTER_Y+80 - -Row1Y=SCREEN_CENTER_Y-140 -Row2Y=SCREEN_CENTER_Y-90 -Row3Y=SCREEN_CENTER_Y-40 -Row4Y=SCREEN_CENTER_Y-0 -Row5Y=SCREEN_CENTER_Y+40 -Row6Y=SCREEN_CENTER_Y+80 -Row7Y=SCREEN_CENTER_Y+120 - -Label1X=SCREEN_CENTER_X-250 -Label1Y=THEME:GetMetric("EditMenu","Row1Y") -Label1OnCommand=shadowlength,1;zoom,0.75 -Label1OffCommand= -Label2X=SCREEN_CENTER_X-250 -Label2Y=THEME:GetMetric("EditMenu","Row2Y") -Label2OnCommand=shadowlength,1;zoom,0.75 -Label2OffCommand= -Label3X=SCREEN_CENTER_X-250 -Label3Y=THEME:GetMetric("EditMenu","Row3Y") -Label3OnCommand=shadowlength,1;zoom,0.75 -Label3OffCommand= -Label4X=SCREEN_CENTER_X-250 -Label4Y=THEME:GetMetric("EditMenu","Row4Y") -Label4OnCommand=shadowlength,1;zoom,0.75 -Label4OffCommand= -Label5X=SCREEN_CENTER_X-250 -Label5Y=THEME:GetMetric("EditMenu","Row5Y") -Label5OnCommand=shadowlength,1;zoom,0.75 -Label5OffCommand= -Label6X=SCREEN_CENTER_X-250 -Label6Y=THEME:GetMetric("EditMenu","Row6Y") -Label6OnCommand=shadowlength,1;zoom,0.75 -Label6OffCommand= -Label7X=SCREEN_CENTER_X-250 -Label7Y=THEME:GetMetric("EditMenu","Row7Y") -Label7OnCommand=shadowlength,1;zoom,0.75 -Label7OffCommand= - -Value1X=SCREEN_CENTER_X-24 -Value1Y=THEME:GetMetric("EditMenu","Row1Y") -Value1OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value1OffCommand= -Value2X=SCREEN_CENTER_X+60 -Value2Y=THEME:GetMetric("EditMenu","Row2Y") -Value2OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value2OffCommand= -Value3X=SCREEN_CENTER_X+60 -Value3Y=THEME:GetMetric("EditMenu","Row3Y") -Value3OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value3OffCommand= -Value4X=SCREEN_CENTER_X -Value4Y=THEME:GetMetric("EditMenu","Row4Y") -Value4OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value4OffCommand= -Value5X=SCREEN_CENTER_X+60 -Value5Y=THEME:GetMetric("EditMenu","Row5Y") -Value5OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value5OffCommand= -Value6X=SCREEN_CENTER_X -Value6Y=THEME:GetMetric("EditMenu","Row6Y") -Value6OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value6OffCommand= -Value7X=SCREEN_CENTER_X+60 -Value7Y=THEME:GetMetric("EditMenu","Row7Y") -Value7OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 -Value7OffCommand= - -[TextBannerEditMode] -Fallback="TextBanner" - -[ScreenEditMenu] -Fallback="ScreenWithMenuElements" -Class="ScreenEditMenu" -NextScreen="ScreenEdit" -PrevScreen="ScreenOptionsEdit" -TimerSeconds=-1 -ShowStyleIcon=false -HelpText=Screen.String("HelpTextOptionsAndBack") -# -EditMenuType="EditMenu" -ExplanationX=SCREEN_CENTER_X -ExplanationY=SCREEN_BOTTOM-56 -ExplanationOnCommand=wrapwidthpixels,SCREEN_WIDTH*0.9375/0.675;shadowlength,1;zoom,0.675 -NumStepsLoadedFromProfileX=SCREEN_RIGHT-180 -NumStepsLoadedFromProfileY=SCREEN_TOP+42 -NumStepsLoadedFromProfileOnCommand=visible,false - -# could use a redo but whatever -[ScreenEdit] -Class="ScreenEdit" -Fallback="ScreenWithMenuElementsBlank" -PrepareScreens=GetEditModeSubScreens() -GroupedScreens=GetEditModeSubScreens() -PersistScreens=GetEditModeSubScreens() - -EditMode="EditMode_Full" -NextScreen="ScreenEditMenu" -PrevScreen="ScreenEditMenu" -ShowHelp=false -AllowOperatorMenuButton=false -ShowCreditDisplay=false -ShowStyleIcon=false -InvertScrollSpeedButtons=false -TimerSeconds=-1 -EditModifiers="no reverse" -EditHelpX=SCREEN_LEFT+4 -EditHelpY=SCREEN_TOP+16 -EditHelpOnCommand=halign,0;valign,0;zoom,0.5;shadowlength,1;maxheight,(SCREEN_HEIGHT-32)*2 -InfoX=SCREEN_RIGHT-128 -InfoY=SCREEN_TOP+16 -InfoOnCommand=halign,0;valign,0;zoom,0.5;shadowlength,1;maxheight,(SCREEN_HEIGHT-32)*2 -PlayRecordHelpX=SCREEN_LEFT+20 -PlayRecordHelpY=SCREEN_BOTTOM-20 -PlayRecordHelpOnCommand=halign,0;valign,0;shadowlength,1 - -SetModScreen="ScreenPlayerOptions" -OptionsScreen="ScreenEditOptions" - -LoopOnChartEnd=true - -CurrentBeatFormat="%s:\n %.3f\n" -CurrentSecondFormat="%s:\n %.3f\n" -SnapToFormat="%s: %s\n" -SelectionBeatBeginFormat="%s:\n %.3f" -SelectionBeatUnfinishedFormat=" ...\n" -SelectionBeatEndFormat="-%.3f\n" -DifficultyFormat="%s:\n %s\n" -RoutinePlayerFormat="%s: %d\n" -DescriptionFormat="%s:\n %s\n" -StepAuthorFormat="%s:\n %s\n" -ChartNameFormat="%s:\n %s\n" -ChartStyleFormat="%s:\n %s\n" -MainTitleFormat="%s:\n %s\n" -SubtitleFormat="%s:\n %s\n" -TapNoteTypeFormat="%s: %s\n" -SegmentTypeFormat="%s: %s\n" -NumStepsFormat="%s: %d\n" -NumJumpsFormat="%s: %d\n" -NumHoldsFormat="%s: %d\n" -NumMinesFormat="%s: %d\n" -NumHandsFormat="%s: %d\n" -NumRollsFormat="%s: %d\n" -NumLiftsFormat="%s: %d\n" -NumFakesFormat="%s: %d\n" -NumStepsFormatTwoPlayer="%s: %d/%d\n" -NumJumpsFormatTwoPlayer="%s: %d/%d\n" -NumHoldsFormatTwoPlayer="%s: %d/%d\n" -NumMinesFormatTwoPlayer="%s: %d/%d\n" -NumHandsFormatTwoPlayer="%s: %d/%d\n" -NumRollsFormatTwoPlayer="%s: %d/%d\n" -NumLiftsFormatTwoPlayer="%s: %d/%d\n" -NumFakesFormatTwoPlayer="%s: %d/%d\n" -TimingModeFormat="%s:\n %s\n" -Beat0OffsetFormat="%s:\n %.3f secs\n" -PreviewStartFormat="%s:\n %.3f secs\n" -PreviewLengthFormat="%s:\n %.3f secs\n" -RecordHoldTimeFormat="%s:\n %.2f secs\n" - -FadeInPreview=0 -FadeOutPreview=1.5 - -[ScreenPracticeMenu] -Fallback="ScreenEditMenu" -Class="ScreenEditMenu" -NextScreen="ScreenPractice" -PrevScreen="ScreenOptionsEdit" -EditMenuType="PracticeMenu" - -[PracticeMenu] -Fallback="EditMenu" -EditMode="EditMode_Practice" - -[ScreenPractice] -Fallback="ScreenEdit" -Class="ScreenEdit" -NextScreen="ScreenOptionsEdit" -PrevScreen="ScreenOptionsEdit" -EditMode="EditMode_Practice" - -[ScreenEditCourseModsMenu] -Fallback="ScreenEditMenu" -Class="ScreenEditMenu" -NextScreen="ScreenEditCourseMods" -PrevScreen="ScreenOptionsEdit" -EditMenuType="CourseModsMenu" - -[CourseModsMenu] -Fallback="EditMenu" -EditMode="EditMode_Full" - -[ScreenEditCourseMods] -Fallback="ScreenEdit" -Class="ScreenEdit" -NextScreen="ScreenOptionsEdit" -PrevScreen="ScreenOptionsEdit" -EditMode="EditMode_CourseMods" - -[ScreenEditOptions] -Fallback="ScreenOptions" -Class="ScreenOptionsMaster" -NextScreen="none" -PrevScreen="none" -CancelTransitionsOut=true -PlayMusic=false -TimerSeconds=-1 -ShowStyleIcon=false - -LineNames="1,2,3,4,5,6,R1,R2,7,8,9,10,Attacks,11,12,13,14,15,16,lead_in,ECPT" -# uses legacy speed line -Line1="list,Speed" -Line2="list,Accel" -Line3="list,Effect" -Line4="list,Appearance" -Line5="list,Turn" -Line6="list,Insert" -LineR1="list,RemoveCombinations" -LineR2="list,RemoveFeatures" -Line7="list,Scroll" -Line8="list,NoteSkins" -Line9="list,Holds" -Line10="list,Mines" -LineAttacks="list,Attacks" -Line11="list,Hide" -Line12="list,Persp" -Line13="list,Assist" -Line14="list,Rate" -Line15="list,AutoAdjust" -Line16="conf,EditorShowBGChangesPlay" -Linelead_in="conf,EditRecordModeLeadIn" -LineECPT="conf,EditClearPromptThreshold" -OutCancelCommand= - -[StepsDisplayEdit] -Fallback="StepsDisplay" - -# oh, right, minimenus. -[ScreenMiniMenuEditHelp] -Fallback="ScreenMiniMenu" -ShowFooter=false -ColorDisabled=color("1,1,1,1") -RowInitCommand=halign,0.5;valign,0.5;zoom,0.8;x,75;y,45;shadowlength,1 -OptionRowNormalMetricsGroup="OptionRowMiniMenuEditHelp" - -[ScreenMiniMenuAttackAtTimeMenu] -Fallback="ScreenMiniMenu" -ShowFooter=false - -[ScreenMiniMenuIndividualAttack] -Fallback="ScreenMiniMenu" -ShowFooter=false - -[ScreenMiniMenuKeysoundTrack] -Fallback="ScreenMiniMenu" -ShowFooter=false - -[OptionRowMiniMenuEditHelp] -# Help menu ( Keys & Stuff ) -Fallback="OptionRowMiniMenu" - -TitleX=SCREEN_CENTER_X-312 -TitleOnCommand=halign,0;strokecolor,color("#222222FF");shadowlength,1;zoom,0.75 - -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ - local indexOffset = itemIndex-(numItems-1)/2; \ - self:y(SCREEN_CENTER_Y + indexOffset * 20); \ -end - -ItemsStartX=SCREEN_CENTER_X+260 -ItemsEndX=SCREEN_CENTER_X+260 -ItemsLongRowP1X=SCREEN_CENTER_X+260 -ItemsLongRowP2X=SCREEN_CENTER_X+260 - -ItemOnCommand=x,SCREEN_CENTER_X+176;halign,0;strokecolor,color("#222222CC");shadowlength,1;zoom,0.75 -ColorDisabled=Color("Orange") - -[ScreenMiniMenuMainMenu] -Fallback="ScreenMiniMenu" -TitleX=SCREEN_CENTER_X-80 - -[ScreenMiniMenuAreaMenu] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuAlterMenu] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuStepsInformation] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuStepsData] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuSongInformation] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuTimingDataInformation] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuTimingDataChangeInformation] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuBackgroundChange] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuPreferences] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuInsertTapAttack] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuInsertCourseAttack] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuCourseDisplay] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuCourseOptions] -Fallback="ScreenMiniMenu" - -# Export Packages -[ScreenOptionsExportPackage] -Class="ScreenOptionsExportPackage" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsEdit" -NextScreen="ScreenOptionsEdit" - -[ScreenOptionsExportPackageSubPage] -Class="ScreenOptionsExportPackageSubPage" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsExportPackage" -NextScreen="ScreenOptionsExportPackage" - -# -[ScreenOptionsManage] -Fallback="ScreenOptionsSimpleService" -TimerSeconds=-1 -AllowRepeatingChangeValueInput=true -OptionRowNormalMetricsGroup="OptionRowManage" - -[OptionRowManage] -Fallback="OptionRowService" -TitleX=SCREEN_CENTER_X-150 - -# Manage Courses -[OptionRowCourseOverview] -Fallback="OptionRowService" -ItemsLongRowSharedX=SCREEN_CENTER_X-100 -ColorSelected=color("1,1,1,1") -ColorNotSelected=color("0.9,0.9,0.9,1") -ColorDisabled=color("0.5,0.5,0.5,1") - -[ScreenOptionsManageCourses] -Class="ScreenOptionsManageCourses" -Fallback="ScreenOptionsManage" -PrevScreen="ScreenOptionsEdit" -NextScreen="ScreenOptionsEditCourse" -GroupedScreens="ScreenOptionsManageCourses,ScreenTextEntry,ScreenPrompt,ScreenOptionsEditCourseMods" -PersistScreens="ScreenOptionsManageCourses,ScreenTextEntry,ScreenPrompt" -PrepareScreens="ScreenTextEntry,ScreenPrompt" - -EditMode="EditMode_Full" -CreateNewScreen="ScreenOptionsEditCourse" - -OptionRowNormalMetricsGroup="OptionRowCourse" - -[OptionRowCourse] -Fallback="OptionRowService" -TitleX=SCREEN_CENTER_X - -[ScreenOptionsEditCourse] -Class="ScreenOptionsEditCourse" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsCourseOverview" -NextScreen="ScreenOptionsCourseOverview" -OptionRowNormalMetricsGroup="OptionRowEditCourse" - -[OptionRowEditCourse] -Fallback="OptionRowService" -TitleX=SCREEN_CENTER_X-200 -ItemsLongRowSharedX=SCREEN_CENTER_X - -[ScreenOptionsCourseOverview] -Class="ScreenOptionsCourseOverview" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsManageCourses" -NextScreen="ScreenOptionsManageCourses" -# huh -PlayScreen="ScreenGameplayEditCourse" -EditScreen="ScreenOptionsEditCourse" -OptionRowNormalMetricsGroup="OptionRowCourseOverview" - -# visual/interactive syncing -[ScreenGameplaySyncMachine] -Class="ScreenGameplaySyncMachine" -Fallback="ScreenGameplay" -PrevScreen="ScreenOptionsInputSub" -NextScreen="ScreenOptionsInputSub" -PlayerType="PlayerSyncMachine" - -#AllowCenter1Player=false -SyncInfoOnCommand=x,PositionPerPlayer(GAMESTATE:GetMasterPlayerNumber(),SCREEN_CENTER_X+160,SCREEN_CENTER_X-160);y,SCREEN_CENTER_Y;zoom,0;decelerate,0.5;zoom,0.6 - -# hidden by default: -LifeP1OnCommand=visible,false -LifeP2OnCommand=visible,false -ScoreP1OnCommand=visible,false -ScoreP2OnCommand=visible,false -StageOnCommand=visible,false -ScoreFrameOnCommand=visible,false -LifeFrameOnCommand=visible,false -DifficultyP1OnCommand=visible,false -DifficultyP1ReverseOnCommand=visible,false -DifficultyP2OnCommand=visible,false -DifficultyP2ReverseOnCommand=visible,false -SongOptionsOnCommand=visible,false - -[PlayerSyncMachine] -Fallback="Player" -ComboOnCommand=visible,false - -# SM5 helper screens -[ScreenHowToInstallSongs] -Class="ScreenSplash" -Fallback="ScreenSplash" -NextScreen=Branch.TitleMenu() -PrevScreen=Branch.TitleMenu() -ShowStyleIcon=false -TimerSeconds=-1 -ShowHelp=false - -# stuff for legacy/deprecated online mode: -[ScreenSMOnlineLogin] -Class="ScreenSMOnlineLogin" -Fallback="ScreenOptionsServiceChild" -NextScreen=Branch.AfterSMOLogin -PrevScreen=Branch.TitleMenu() -ShowStyleIcon=false -TimerSeconds=-1 -ShowHelp=false - -[ScreenNetSelectBase] -Class="ScreenNetSelectBase" -Fallback="ScreenWithMenuElements" - -ChatInputBoxX=SCREEN_CENTER_X*0.5 -ChatInputBoxY=SCREEN_CENTER_Y+112 -ChatInputBoxOnCommand=bounceend,0.5;diffusealpha,1; -ChatInputBoxOffCommand=bouncebegin,0.5;zoomy,0 -ChatInputBoxWidth=SCREEN_CENTER_X*0.9 -ChatInputBoxHeight=64 -#--# -ChatInputX=(SCREEN_CENTER_X*0.5)*0.125 -ChatInputY=SCREEN_CENTER_Y+90 -ChatTextInputWidth=SCREEN_CENTER_X*1.8 -ChatInputOnCommand=halign,0;valign,0;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1 -ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 -#====# -ChatOutputBoxX=SCREEN_CENTER_X*0.5 -ChatOutputBoxY=SCREEN_CENTER_Y-36 -ChatOutputBoxOnCommand=bounceend,0.5;diffusealpha,1; -ChatOutputBoxOffCommand=bouncebegin,0.5;zoomy,0 -ChatOutputBoxWidth=SCREEN_CENTER_X*0.9 -ChatOutputBoxHeight=SCREEN_CENTER_Y*0.875 -#--# -ChatOutputX=(SCREEN_CENTER_X*0.5)*0.125 -ChatOutputY=SCREEN_CENTER_Y+64 -ChatTextOutputWidth=SCREEN_CENTER_X*1.8 -ChatOutputLines=14 -ChatOutputOnCommand=halign,0;valign,1;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1 -ChatOutputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 - -UsersX=SCREEN_CENTER_X-265 -UsersY=SCREEN_CENTER_Y+172 -UserSpacingX=64 -UserLine2Y=16 -UsersOnCommand=draworder,2;zoom,1 -UsersOffCommand=linear,0.5;zoom,0 -Users0Command=draworder,2;diffuse,color("1.0,0.4,0.4,1.0") -Users1Command=draworder,2;diffuse,color("1.0,1.0,1.0,1.0") -Users2Command=draworder,2;diffuse,color("0.5,0.5,1.0,1.0") -Users3Command=draworder,2;diffuse,color("0.5,1.0,0.5,1.0") -Users4Command=draworder,2;diffuse,color("1.0,0.5,0.5,1.0") - -[ScreenNetSelectMusic] -Class="ScreenNetSelectMusic" -Fallback="ScreenNetSelectBase" -PrevScreen="ScreenNetRoom" -NextScreen="ScreenStageInformation" -NoSongsScreen=Branch.TitleMenu() -RoomSelectScreen="ScreenNetRoom" -PlayerOptionsScreen="ScreenPlayerOptions" -Codes="CodeDetectorOnline" - -ShowStyleIcon=false -TimerSeconds= -TimerStealth=true - -SampleMusicPreviewMode='SampleMusicPreviewMode_Normal' - -MusicWheelType="OnlineMusicWheel" -MusicWheelX=SCREEN_CENTER_X+160 -MusicWheelY=SCREEN_CENTER_Y -MusicWheelOnCommand= -MusicWheelOffCommand= - -# todo: move these to Lua bganim -BPMDisplayX=SCREEN_CENTER_X-160-90+2 -BPMDisplayY=SCREEN_TOP+160+(36/2)+8 -BPMDisplayOnCommand= -BPMDisplayOffCommand= - -# todo: move these to Lua bganim -ModIconsP1X=SCREEN_CENTER_X+144 -ModIconsP1Y=SCREEN_CENTER_Y-165 -ModIconsP1OnCommand=zoomy,0;linear,0.5;zoomy,1 -ModIconsP1OffCommand=linear,0.5;zoomy,0 -ModIconsP2X=SCREEN_CENTER_X+144 -ModIconsP2Y=SCREEN_CENTER_Y-164 -ModIconsP2OnCommand=zoomy,0;linear,0.5;zoomy,1 -ModIconsP2OffCommand=linear,0.5;zoomy,0 - -# are these used? -optionsX=SCREEN_CENTER_X-240 -optionsY=SCREEN_CENTER_Y-170 -optionsOnCommand=zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,0.7;zoomx,0.7 -optionsOffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 - -# uses StepsDisplayNet -StepsDisplayP1X=SCREEN_CENTER_X-223 -StepsDisplayP1Y=SCREEN_CENTER_Y+150 -StepsDisplayP1OnCommand=halign,1;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 - -StepsDisplayP2X=SCREEN_CENTER_X-110 -StepsDisplayP2Y=SCREEN_CENTER_Y+150 -StepsDisplayP2OnCommand=halign,1;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 - -[StepsDisplayNet] -Fallback="StepsDisplay" - -[ScreenNetRoom] -Class="ScreenNetRoom" -Fallback="ScreenNetSelectBase" -PrevScreen=Branch.TitleMenu() -# XXX -NextScreen="ScreenGameplayBranch" -MusicSelectScreen="ScreenNetSelectMusic" - -RoomWheelX=SCREEN_CENTER_X+160 -RoomWheelY=SCREEN_CENTER_Y -RoomWheelOnCommand= -RoomWheelOffCommand= - -RoomInfoDisplayX=SCREEN_CENTER_X-160 -RoomInfoDisplayY=SCREEN_CENTER_Y - -OpenRoomColor=color("1.0,1.0,1.0,1.0") -PasswdRoomColor=color("1.0,0.5,0.5,1.0") -InGameRoomColor=color("1.0,0.1,0.1,1.0") - -[RoomWheel] -Fallback="MusicWheel" -RoomWheelItemStartOnCommand= -RoomWheelItemFinishOnCommand= -CreateRoomColor=color("0.0,0.9,0.25,1.0") -ScrollBarOnCommand=visible,false - -[RoomWheelItem] -TextX=-110 -TextY=-8 -TextOnCommand=halign,0;zoom,0.6;maxwidth,200;strokecolor,color("#000000FF"); - -DescriptionX=-100 -DescriptionY=6 -DescriptionOnCommand=halign,0;zoom,0.4;maxwidth,400;strokecolor,color("#000000FF") - -[RoomInfoDisplay] -RoomInfoDisplayOnCommand=diffuse,color("1.0,1.0,1.0,1");x,SCREEN_WIDTH+130;y,250;bounceend,0.5;x,SCREEN_WIDTH-160 -RoomInfoDisplayOffCommand=x,SCREEN_WIDTH-160;y,250;bouncebegin,0.5;x,SCREEN_WIDTH+130 -DeployDelay=1.5 -RetractDelay=5 -RoomTitleOnCommand=x,-120;y,-140;zoom,0.75 -RoomDescOnCommand=x,-120;y,-129;zoom,0.75 -LastRoundOnCommand=x,-120;y,-107;zoom,0.75 -SongTitleOnCommand=x,-110;y,-96;zoom,0.75 -SongSubTitleOnCommand=x,-110;y,-85;zoom,0.75 -SongArtistOnCommand=x,-110;y,-74;zoom,0.75 -PlayersOnCommand=x,-120;y,-52;zoom,0.75 -PlayerListElementX=-110 -PlayerListElementY=-41 -PlayerListElementOffsetX=0 -PlayerListElementOffsetY=11 -PlayerListElementOnCommand=zoom,0.75 - -[ScreenSMOnlineSelectMusic] -PrevScreen="ScreenNetRoom" -Class="ScreenNetSelectMusic" -RoomSelectScreen="ScreenNetRoom" -Fallback="ScreenNetSelectMusic" - -[ScreenNetEvaluation] -Class="ScreenNetEvaluation" -Fallback="ScreenEvaluationNormal" -NextScreen="ScreenProfileSave" - -# these three commands are deprecated: -UsersBGWidth=SCREEN_CENTER_X*0.6 -UsersBGHeight=SCREEN_HEIGHT*0.6 -UsersBGCommand=diffuse,color("0,0,0,0.25") - -UsersBGOnCommand=finishtweening;zoom,1.25 -UsersBGOffCommand=finishtweening;zoom,1 - -User1X=SCREEN_CENTER_X*0.35 -User1Y=SCREEN_CENTER_Y -User1OnCommand= -User1OffCommand= -#--# -UsersBG1X=SCREEN_CENTER_X*0.35 -UsersBG1Y=SCREEN_CENTER_Y*0.975 -UsersBG1OnCommand= -UsersBG1OffCommand= -#====# -User2X=SCREEN_CENTER_X*1.65 -User2Y=SCREEN_CENTER_Y -User2OnCommand= -User2OffCommand= -#--# -UsersBG2X=SCREEN_CENTER_X*1.65 -UsersBG2Y=SCREEN_CENTER_Y*0.975 -UsersBG2OnCommand= -UsersBG2OffCommand= - -UserDeSelCommand=finishtweening;linear,0.1;zoom,0.75 -UserSelCommand=finishtweening;linear,0.1;zoom,1.0 - -UserTier02OrBetterCommand=rainbowscroll,true - -UserDX=0 -UserDY=24 -UserOnCommand= -UserOffCommand= - -# -[ModIcon] -TextX=0 -TextY=0 -TextOnCommand=maxwidth,40;uppercase,true;shadowlength,0;diffuse,color("#f6ff00") -CropTextToWidth=50 -StopWords="1X,default,Overhead,Off" - -[ModIconSelectMusic] -Fallback="ModIcon" -TextY=-1 -TextOnCommand=maxwidth,38;uppercase,true;shadowlength,0 - -[ModIconRow] -NumModIcons=6 -ModIconOnCommand= -SpacingX=0 -SpacingY=52 -ModIconMetricsGroup="ModIcon" - -[ModIconRowSelectMusic] -Fallback="ModIconRow" -SpacingX=46 -SpacingY=0 -ModIconMetricsGroup="ModIconSelectMusic" - -# -[GraphDisplay] -BodyWidth=140 -BodyHeight=38 - -[ComboGraph] -BodyWidth=140 -BodyHeight=11 - -# Arcade ################################# -[ScreenLogo] -Fallback="ScreenAttract" -PrevScreen=Branch.Init() -NextScreen="ScreenHowToPlay" -StartScreen=Branch.TitleMenu() -TimerSeconds=5 -ForceTimer=true -TimerMetricsGroup="MenuTimerNoSound" -TimerOnCommand=visible,false - -[ScreenHowToPlay] -Class="ScreenHowToPlay" -Fallback="ScreenAttract" -PrevScreen="ScreenLogo" -NextScreen="ScreenDemonstration" -StartScreen=Branch.TitleMenu() -TimerSeconds=25 -TimerStealth=true -SecondsToShow=25 -ForceTimer=true -ResetGameState=false -PlayMusic=true -# -UseLifeMeterBar=true -LifeMeterBarX=SCREEN_CENTER_X+160 -LifeMeterBarY=SCREEN_TOP+40 -LifeMeterBarOnCommand=addy,-60;sleep,2.4;linear,0.2;addy,60 -# -UseCharacter=true -CharacterName="" -CharacterX=SCREEN_CENTER_X-200 -CharacterY=SCREEN_CENTER_Y+160 -CharacterOnCommand=zoom,20;addy,-SCREEN_WIDTH;sleep,3.0;decelerate,0.4;addy,SCREEN_WIDTH -# -UsePad=true -PadX=SCREEN_CENTER_X-280 -PadY=SCREEN_CENTER_Y+70 -PadOnCommand=zoom,15;rotationy,180;sleep,2.0;linear,1.0;rotationy,360;zoom,20;addx,190;addy,80 -# -UsePlayer=true -PlayerX=SCREEN_CENTER_X+160 -PlayerY=SCREEN_CENTER_Y -PlayerOnCommand= -# -SongBPM=100 -NumW2s=4 -NumMisses=6 - -[ScreenDemonstration] -Fallback="ScreenGameplay" -Class="ScreenDemonstration" -NextScreen=Branch.NoiseTrigger() -PrevScreen=Branch.NoiseTrigger() -StartScreen=Branch.TitleMenu() -PlayMusic=false -SecondsToShow=60 - -LightsMode="LightsMode_Demonstration" -DifficultiesToShow="easy,medium" -ShowCourseModifiersProbability=0 -AllowAdvancedModifiers=false -AllowStyleTypes="TwoPlayersTwoSides" - -MinSecondsToStep=0 -MinSecondsToMusic=0 - -[ScreenHighScores] -Fallback="ScreenAttract" -Class="ScreenHighScores" -NextScreen="ScreenInit" -PrevScreen="ScreenDemonstration" -StartScreen=Branch.TitleMenu() - -TimerSeconds=-1 - -HighScoresType="HighScoresType_AllSteps" -MaxItemsToShow=50 -NumColumns=5 -ColumnDifficulty1="Difficulty_Beginner" -ColumnDifficulty2="Difficulty_Easy" -ColumnDifficulty3="Difficulty_Medium" -ColumnDifficulty4="Difficulty_Hard" -ColumnDifficulty5="Difficulty_Challenge" -ColumnStepsType1=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) -ColumnStepsType2=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) -ColumnStepsType3=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) -ColumnStepsType4=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) -ColumnStepsType5=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) -ScrollerItemsToDraw=7 -ScrollerSecondsPerItem=0.4 -ManualScrolling=false -ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+36;SetMask,608,40 -ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) self:y(46.1*offset) end - -[ScreenNoise] -Fallback="ScreenAttract" -Class="ScreenAttract" -NextScreen="ScreenInit" -PrevScreen="ScreenInit" -TimerSeconds=3600 -TimerStealth=true -ShowCreditDisplay=false - -[ScreenTitleJoin] -Fallback="ScreenTitleMenu" -ChoiceNames="GameStart" - -# ScrollerOnCommand=visible,false -IdleCommentSeconds=-1 -IdleTimeoutSeconds=-1 -IdleTimeoutScreen=Branch.AfterInit() - -# Jukebox ################### -[ScreenJukeboxMenu] -Class="ScreenOptionsMaster" -Fallback="ScreenPlayerOptions" -NextScreen="ScreenJukebox" -PrevScreen="ScreenTitleMenu" -TimerSeconds=-1 -ShowStyleIcon=false - -InputMode="together" -ForceAllPlayers=true - -LineNames="1,2,3,4" -Line1="list,Styles" -Line2="list,Groups" -Line3="list,Difficulties" -Line4="lua,OptionsRandomJukebox()" - -[ScreenJukebox] -Class="ScreenJukebox" -Fallback="ScreenGameplay" -NextScreen="ScreenJukebox" -PrevScreen="ScreenJukeboxMenu" -StartScreen="ScreenTitleMenu" -LightsMode="LightsMode_Demonstration" -ShowCourseModifiersProbability=0 -AllowAdvancedModifiers=true - -[ScreenCredits] -Class="ScreenSplash" -Fallback="ScreenSplash" -AllowStartToSkip=true -NextScreen=Branch.TitleMenu() -PrevScreen=Branch.TitleMenu() - -TimerStealth=true -ForceTimer=true -TimerMetricsGroup="MenuTimerNoSound" -TimerOnCommand=visible,false - -[PaneDisplay] -NullCountString="" - -# Apparently these are still used. Let it be known that they're severely deprecated. -[DancingCharacters] -2DCharacterXP1=SCREEN_WIDTH*0.25 -2DCharacterYP1=SCREEN_HEIGHT*0.5 -2DCharacterXP2=SCREEN_WIDTH*0.75 -2DCharacterYP2=SCREEN_HEIGHT*0.5 +# This probably is hard to understand from the way it was made in the first +# place, so instead just pay attention to each group, which has tons of notes. + +# 01 # Global +# 02 # Managers +# 03 # Singletons +# 04 # Global Screen +# 05 # Base Screens +# 06 # Derivative Screens +# 07 # Etc + +# 01 # +[Global] +# This basically means that all other themes get information from this theme. +IsBaseTheme=1 + +[Common] +# How big the design of the theme is. for example, if a theme was designed for +# 1080p, it would be shrunken for 640x480, as well as that, if it was designed +# for 480p, it would be enlarged for bigger screens! +ScreenWidth=1 +ScreenHeight=480 + +# Allows you to pick all available game modes for your gametype: for example, +# inserting enough coins for 1p would let you choose between solo, single +# and double before each game +AutoSetStyle=false + +# Default modifiers and noteskin. +DefaultModifiers="1x" +DefaultNoteSkinName="default" + +# Difficulties to show. Useful for custom games where you want to hide these. +DifficultiesToShow="beginner,easy,medium,hard,challenge" +# Same as above, but for courses. +CourseDifficultiesToShow="easy,medium,hard" +# Things to hide. +# StepsType_lights_cabinet will only be shown in lights mode. And we want it to +# be shown in lights mode! So don't hide it here. +StepsTypesToHide="" + +# Score placeholder for ScreenHighScores +NoScoreName="STEP" + +# The number of entries before "Various" is shown on the BPMDisplay, etc. +MaxCourseEntriesBeforeShowVarious=10 + +# The screen that appears when pressing the operator button. +OperatorMenuScreen="ScreenOptionsService" + +# The first screen in the attract cycle. +FirstAttractScreen="ScreenDemonstration" + +# First screen that pops up when you start the game. ScreenInit in particular +# shows the theme information before going to the title screen. +InitialScreen="ScreenInit" + +# Music selection screen used after downloading files. +SelectMusicScreen="ScreenSelectMusic" + +# Screens that show over everything else. +# Only mess with this if you know what you're doing. +OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay,ScreenInstallOverlay" + +# Used in PlayerStageStats for formatting scores. +PercentScoreDecimalPlaces=2 + +# We want to define which Images to cache. +# Predefined Images include: Banner,Background,CDTitle,Jacket,CDImage,Disc +# Is Case Sensitive +ImageCache="Banner" + +# 02 # + +[LightsManager] +# Mostly useless since it doesn't work, as well as that barely anyone has +# lights to play around with. +GameButtonsToShow="" +# these metrics don't exist yet, but are planned: +LightEffectRiseSeconds=0.075 +LightEffectFallOffSeconds=0.35 +LightEffectPulseTime=0.100 + +[ProfileManager] +# I wouldn't change these either. +FixedProfiles=false +NumFixedProfiles=1 + +[SongManager] +# SSC: Determine what the ES/OMES Modifiers are +ExtraStagePlayerModifiers="default,2x,reverse" +ExtraStageStageModifiers="failimmediatecontinue,norecover" +OMESPlayerModifiers="default,2x,reverse" +OMESStageModifiers="failimmediate,suddendeath" + +# How many different colors you can have in the MusicWheel +NumSongGroupColors=1 +NumCourseGroupColors=1 +# Legacy metric: how difficult a song has to be for it to glow. +ExtraColorMeter=GetExtraColorThreshold() +ExtraColor=color("#ff0000") -- red +# The maximum difficulty the second extra stage can be. +ExtraStage2DifficultyMax=8 +# Allow special colors for unlocks and 'preffered' sort +UseUnlockColor=false +UsePreferredSortColor=false +# Unlocks go at the end so they're easy to find. +MoveUnlocksToBottomOfPreferredSort=false +# Lots of themes want more than one group color, so let them have this. +SongGroupColor1=color("#00aeef") -- blue +SongGroupColor2=color("#00aeef") -- blue +SongGroupColor3=color("#00aeef") -- blue +SongGroupColor4=color("#00aeef") -- blue +SongGroupColor5=color("#00aeef") -- blue +SongGroupColor6=color("#00aeef") -- blue +SongGroupColor7=color("#00aeef") -- blue +SongGroupColor8=color("#00aeef") -- blue +SongGroupColor9=color("#00aeef") -- blue +SongGroupColor10=color("#00aeef") -- blue +SongGroupColor11=color("#00aeef") -- blue +SongGroupColor12=color("#00aeef") -- blue +SongGroupColor13=color("#00aeef") -- blue +SongGroupColor14=color("#00aeef") -- blue +SongGroupColor15=color("#00aeef") -- blue +SongGroupColor16=color("#00aeef") -- blue +SongGroupColor17=color("#00aeef") -- blue +SongGroupColor18=color("#00aeef") -- blue +SongGroupColor19=color("#00aeef") -- blue +SongGroupColor20=color("#00aeef") -- blue +SongGroupColor21=color("#00aeef") -- blue +SongGroupColor22=color("#00aeef") -- blue +SongGroupColor23=color("#00aeef") -- blue +SongGroupColor24=color("#00aeef") -- blue +SongGroupColor25=color("#00aeef") -- blue +# Lots of themes want more than one course color, too +CourseGroupColor1=color("1,1,1,1") -- white +CourseGroupColor2=color("1,1,1,1") -- white +CourseGroupColor3=color("1,1,1,1") -- white +CourseGroupColor4=color("1,1,1,1") -- white +CourseGroupColor5=color("1,1,1,1") -- white +CourseGroupColor6=color("1,1,1,1") -- white +CourseGroupColor7=color("1,1,1,1") -- white +CourseGroupColor8=color("1,1,1,1") -- white +CourseGroupColor9=color("1,1,1,1") -- white +CourseGroupColor10=color("1,1,1,1") -- white +NumProfileSongGroupColors=2 +ProfileSongGroupColor1=PlayerColor(PLAYER_1) +ProfileSongGroupColor2=PlayerColor(PLAYER_2) +UnlockColor=color("1,0.5,0,1") + +[UnlockManager] +# Unlock harder/different steps based on passing easier steps. +AutoLockChallengeSteps=false +AutoLockEditSteps=false +# determine if songs loaded via AdditionalSongs should be locked. +SongsNotAdditional=true + +UnlockNames="" +# useful commands: +# require,(UnlockRequirement),(value); +# where (UnlockRequirement) is one of the UnlockRequirement enum values. + +# song,(Song Name); +# sets a Song to be unlocked + +# course,(Course Name); +# sets a Course to be unlocked + +# roulette; +# Song shows up in roulette (useful with Song only) + +# mod,(modifier); +# sets a modifier to be unlocked. + +# code,(code); +# assigns a code to the unlock + +# examples: +# 1) The song "Pledge" requires 500 AP. +# Unlock1Command=song,"Pledge";require,"UnlockRequirement_ArcadePoints",500 + +# 2) The song "ABC" can be unlocked via roulette; pick an arbitrary code +# to use to store the unlock. +# Unlock2Command=song,"ABC";code,"59183751";roulette + +# 03 # + +[ArrowEffects] +# Complicated stuff you probably shouldn't ever mess with or else you'll +# destroy mods completely! It's unknown why these were made into metrics. +FrameWidthEffectsPixelsPerSecond=400 +FrameWidthEffectsMinMultiplier=0.5 +FrameWidthEffectsMaxMultiplier=1.2 +FrameWidthLockEffectsToOverlapping=false +FrameWidthLockEffectsTweenPixels=25 +ArrowSpacing=64 +BlinkModFrequency=0.3333 +BoostModMinClamp=-400 +BoostModMaxClamp=400 +BrakeModMinClamp=-400 +BrakeModMaxClamp=400 +WaveModMagnitude=20 +WaveModHeight=38 +BoomerangPeakPercentage=0.75 +ExpandMultiplierFrequency=3 +ExpandMultiplierScaleFromLow=-1 +ExpandMultiplierScaleFromHigh=1 +ExpandMultiplierScaleToLow=0.75 +ExpandMultiplierScaleToHigh=1.75 +ExpandSpeedScaleFromLow=0 +ExpandSpeedScaleFromHigh=1 +ExpandSpeedScaleToLow=1 +# No need for the high here: that is already calculated in code. +TipsyTimerFrequency=1.2 +TipsyColumnFrequency=1.8 +TipsyArrowMagnitude=0.4 +TipsyOffsetTimerFrequency=1.2 +TipsyOffsetColumnFrequency=2 +TipsyOffsetArrowMagnitude=0.4 +TornadoXPositionScaleToLow=-1 +TornadoXPositionScaleToHigh=1 +TornadoXOffsetFrequency=6 +TornadoXOffsetScaleFromLow=-1 +TornadoXOffsetScaleFromHigh=1 +TornadoYPositionScaleToLow=-1 +TornadoYPositionScaleToHigh=1 +TornadoYOffsetFrequency=6 +TornadoYOffsetScaleFromLow=-1 +TornadoYOffsetScaleFromHigh=1 +TornadoZPositionScaleToLow=-1 +TornadoZPositionScaleToHigh=1 +TornadoZOffsetFrequency=6 +TornadoZOffsetScaleFromLow=-1 +TornadoZOffsetScaleFromHigh=1 +DrunkColumnFrequency=0.2 +DrunkOffsetFrequency=10 +DrunkArrowMagnitude=0.5 +DrunkZColumnFrequency=0.2 +DrunkZOffsetFrequency=10 +DrunkZArrowMagnitude=0.5 +BeatOffsetHeight=15 +BeatPIHeight=2 +BeatYOffsetHeight=15 +BeatYPIHeight=2 +BeatZOffsetHeight=15 +BeatZPIHeight=2 +MiniPercentBase=0.5 +MiniPercentGate=1 +TinyPercentBase=0.5 +TinyPercentGate=1 +QuantizeArrowYPosition=false + +[Background] +# Background stuff. again, its usually a better idea to leave this alone +# unless you truly need to change it, in which case you'd know what it does. +ShowDancingCharacters=true +UseStaticBackground=true +# clamps the output of the background +ClampOutputPercent=0.0 +# +LeftEdge=SCREEN_LEFT +RightEdge=SCREEN_RIGHT +TopEdge=SCREEN_TOP +BottomEdge=SCREEN_BOTTOM +RandomBGStartBeat=-1000 +RandomBGChangeMeasures=4 +RandomBGChangesWhenBPMChangesAtMeasureStart=true +RandomBGEndsAtLastBeat=true + +[Banner] +# Scroll stuff when you roll over it, DDR Extreme style. +ScrollRandom=false +ScrollRoulette=false +ScrollMode=false +ScrollSortOrder=false +# Control how fast the banner scrolls. Higher numbers mean slower. +ScrollSpeedDivisor=2 + +[BeginnerHelper] +HelperX=0 +HelperY=SCREEN_CENTER_Y-80 + +# All X,Y coordinates are relative to the HelperX,Y +Player1X=-(SCREEN_CENTER_X/2) +PlayerP1OnCommand=halign,0;rotationx,40;zoom,20 +Player2X=(SCREEN_CENTER_X/2) +PlayerP2OnCommand=halign,1;rotationx,40;zoom,20 + +ShowDancePad=false +# "Pad should always be 3 units bigger in zoom than the dancer." +DancePadOnCommand=halign,0;rotationx,36;zoom,23 + +[BitmapText] +# The colors in the 'roulette' text. you can have a lot! +NumRainbowColors=7 +RainbowColor1=color("1.0,0.0,0.4,1") -- red +RainbowColor2=color("0.8,0.2,0.6,1") -- pink +RainbowColor3=color("0.4,0.3,0.5,1") -- purple +RainbowColor4=color("0.2,0.6,1.0,1") -- sky blue +RainbowColor5=color("0.2,0.8,0.8,1") -- sea green +RainbowColor6=color("0.2,0.8,0.4,1") -- green +RainbowColor7=color("1.0,0.8,0.2,1") -- orange + +[BPMDisplay] +# Various commands for the BPMDisplay, ranging from no bpm, a non changing bpm, +# a bpm that changes, one that is 'random' ( boss songs ) and when a song is +# an es/omes! +SetNoBpmCommand=diffusetopedge,color("#777777");diffusebottomedge,color("#666666") +SetNormalCommand=diffusetopedge,color("#fbfb57");diffusebottomedge,color("#fb9c57") +SetChangeCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757") +SetRandomCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757") +SetExtraCommand=diffusetopedge,color("#fb5757");diffusebottomedge,color("#9c4242") +# Determines if it shows both bpms ( 000-100 ) or cycles between the min and max. +Cycle=true +# Text when there is no BPM +NoBpmText="000" +# How fast it cycles, smaller is faster +RandomCycleSpeed=0.1 +CourseCycleSpeed=0.2 +# Seperator between both bpms ( 100-200 ). +Separator="-" +# ??? when it cycles. +ShowQMarksInRandomCycle=true +QuestionMarksText="???" +RandomText="!!!" +# xxx: localize me -aj +VariousText="000" +FormatString="%03.0f" + +[CodeDetector] +# Codes on the MusicWheel that change stuff! +# For Future Reference: +# @ = Holding +# - = In Conjuction With / Then +# ~ = Released +# + = At The Same Time +PrevSteps1=GetCodeForGame("PrevSteps1") +PrevSteps2=GetCodeForGame("PrevSteps2") +NextSteps1=GetCodeForGame("NextSteps1") +NextSteps2=GetCodeForGame("NextSteps2") +NextSort1=GetCodeForGame("NextSort1") +NextSort2=GetCodeForGame("NextSort2") +NextSort3=GetCodeForGame("NextSort3") +NextSort4=GetCodeForGame("NextSort4") +ModeMenu1=GetCodeForGame("ModeMenu1") +ModeMenu2=GetCodeForGame("ModeMenu2") +Mirror=GetCodeForGame("Mirror") +Left=GetCodeForGame("Left") +Right=GetCodeForGame("Right") +Shuffle=GetCodeForGame("Shuffle") +SuperShuffle=GetCodeForGame("SuperShuffle") +NextTransform=GetCodeForGame("NextTransform") +NextScrollSpeed=GetCodeForGame("NextScrollSpeed") +PreviousScrollSpeed=GetCodeForGame("PreviousScrollSpeed") +NextAccel=GetCodeForGame("NextAccel") +NextEffect=GetCodeForGame("NextEffect") +NextAppearance=GetCodeForGame("NextAppearance") +NextTurn=GetCodeForGame("NextTurn") +Reverse=GetCodeForGame("Reverse") +HoldNotes=GetCodeForGame("HoldNotes") +Mines=GetCodeForGame("Mines") +Dark=GetCodeForGame("Dark") +CancelAll=GetCodeForGame("CancelAll") +NextGroup=GetCodeForGame("NextGroup") +PrevGroup=GetCodeForGame("PrevGroup") +CloseCurrentFolder=GetCodeForGame("CloseCurrentFolder") +Hidden=GetCodeForGame("Hidden") +RandomVanish=GetCodeForGame("RandomVanish") +SaveScreenshot1=GetCodeForGame("SaveScreenshot1") +SaveScreenshot2=GetCodeForGame("SaveScreenshot2") +# on the player options menu. +CancelAllPlayerOptions=GetCodeForGame("CancelAllPlayerOptions") +# unused codes: +Backwards="" +# deprecated codes: +NextTheme="" +NextTheme2="" +NextAnnouncer="" +NextAnnouncer2="" +BackInEventMode="" +# NextTheme="Left,Left,Left,Right,Right,Right,Left,Right" +# NextTheme2="MenuLeft,MenuLeft,MenuLeft,MenuRight,MenuRight,MenuRight,MenuLeft,MenuRight" +# NextAnnouncer="Left,Left,Right,Right,Left,Left,Right,Right" +# NextAnnouncer2="MenuLeft,MenuLeft,MenuRight,MenuRight,MenuLeft,MenuLeft,MenuRight,MenuRight" + +[CodeDetectorOnline] +Fallback="CodeDetector" +PrevSteps1="MenuUp,MenuUp" +PrevSteps2="" +NextSteps1="MenuDown,MenuDown" +NextSteps2="" +NextSort3="" +NextSort4="" +ModeMenu1="" +Mirror="" +Left="" +Right="" +Shuffle="" +SuperShuffle="" +NextScrollSpeed="" +PreviousScrollSpeed="" +NextAccel="" +NextEffect="" +NextAppearance="" +Reverse="" +HoldNotes="" +CancelAll="" + +[CombinedLifeMeterTug] +# We don't use it. +MeterWidth=0.0 +#-----# +SeparatorOnCommand= +SeparatorOffCommand= +#-----# +FrameOnCommand= +FrameOffCommand= + +[Combo] +# System Direction +ShowComboAt=HitCombo() +ShowMissesAt=MissCombo() +# Shrink and Grow the combo, DDR Style +NumberMinZoom=0.8 +NumberMaxZoom=1 +NumberMaxZoomAt=100 +# +LabelMinZoom=0.75*0.75 +LabelMaxZoom=0.75*0.75 +# Things the combo does when you bang on it, and what the text does +PulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.125*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end +PulseLabelCommand=%function(self,param) self:stoptweening(); self:zoom(param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); end +NumberOnCommand=y,240-216-1.5;shadowlength,1;halign,1;valign,1;skewx,-0.125; +LabelOnCommand=x,6;y,22.5;shadowlength,1;zoom,0.75;diffusebottomedge,color("0.75,0.75,0.75,1");halign,0;valign,1 + +[HoldJudgment] +# System Direction +HoldJudgmentMissedHoldCommand= +HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 + +[HelpDisplay] +# The help display on the menus, and what it does. +# How fast it changes between texts (seconds) +TipShowTime=4 +# How long each switch takes (seconds) +TipSwitchTime=2 +# The Command when its made +TipOnCommand=shadowlength,0;diffuseblink + +[Judgment] +# New # +JudgmentOnCommand= + +# Things the judgment does when you bang on it. +JudgmentW1Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25") +JudgmentW2Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentW3Command=shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW4Command=shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; +JudgmentW5Command=shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,4,8,8;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 +JudgmentMissCommand=shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 + +[Protiming] +# Protiming isn't implemented yet. +ProtimingOnCommand=y,24 +ProtimingW1Command= +ProtimingW2Command= +ProtimingW3Command= +ProtimingW4Command= +ProtimingW5Command= +ProtimingMissCommand= + +[Course] +# The course colors change depending on what course sort order is being used. +# SortPreferredColor is used with preferred course sort. + +# [Song sort] number of songs in course +# 1-3 songs: SortLevel5Color +# 4-6 songs: SortLevel4Color +# 7+ songs : SortLevel2Color + +# [Meter sort] +# if all songs are fixed, return SortLevel1Color. +# meter 1-4: SortLevel5Color +# meter 5-6: SortLevel4Color +# meter 7-9: SortLevel3Color +# meter 10+: SortLevel2Color +# [Meter sum sort] is about the same, except the values are +# 1-19, 20-29, 30-39, and 40+. + +# [Rank sort] +# Ranking 1: SortLevel5Color +# Ranking 2: SortLevel3Color +# Ranking 3: SortLevel1Color +# Others : SortLevel4Color + +SortPreferredColor=color("1,1,1,1") -- Preferred is both for when courses are in preferred sort, or are autogen +SortLevel1Color=color("1,0,0,1") +SortLevel2Color=color("1,1,0,1") +SortLevel3Color=color("1,0.5,0,1") +SortLevel4Color=color("1,1,0,1") +SortLevel5Color=color("0,1,0,1") + +[CustomDifficulty] +# Custom system that lets you rename certain classes of difficulties to +# something else. Mostly for custom games and game emulation, PIU for example. + +#Names="PumpHard,PumpFreestyle,PumpNightmare" +Names="PumpHard,PumpFreestyle,PumpNightmare,PumpHalfDoubleMedium" +# Dance Couple Beginner +DanceCoupleBeginnerStepsType="StepsType_Dance_Couple" +DanceCoupleBeginnerDifficulty="Difficulty_Beginner" +DanceCoupleBeginnerCourseType=nil +DanceCoupleBeginnerString="Beginner" +# Dance Couple Easy +DanceCoupleEasyStepsType="StepsType_Dance_Couple" +DanceCoupleEasyDifficulty="Difficulty_Easy" +DanceCoupleEasyCourseType=nil +DanceCoupleEasyString="Easy" +# Dance Couple Medium +DanceCoupleMediumStepsType="StepsType_Dance_Couple" +DanceCoupleMediumDifficulty="Difficulty_Medium" +DanceCoupleMediumCourseType=nil +DanceCoupleMediumString="Medium" +# Dance Couple Hard +DanceCoupleHardStepsType="StepsType_Dance_Couple" +DanceCoupleHardDifficulty="Difficulty_Hard" +DanceCoupleHardCourseType=nil +DanceCoupleHardString="Hard" +# Dance Couple Expert +DanceCoupleExpertStepsType="StepsType_Dance_Couple" +DanceCoupleExpertDifficulty="Difficulty_Expert" +DanceCoupleExpertCourseType=nil +DanceCoupleExpertString="Expert" +# Pump Single Hard (Crazy) +PumpHardStepsType="StepsType_Pump_Single" +PumpHardDifficulty="Difficulty_Hard" +PumpHardCourseType=nil +PumpHardString="Crazy" +# Pump Double Medium (Freestyle) +PumpFreestyleStepsType="StepsType_Pump_Double" +PumpFreestyleDifficulty="Difficulty_Medium" +PumpFreestyleCourseType=nil +PumpFreestyleString="Freestyle" +# Pump Double Hard (Nightmare) +PumpNightmareStepsType="StepsType_Pump_Double" +PumpNightmareDifficulty="Difficulty_Hard" +PumpNightmareCourseType=nil +PumpNightmareString="Nightmare" +# Pump Half-Double Medium +PumpHalfDoubleMediumStepsType="StepsType_Pump_Halfdouble" +PumpHalfDoubleMediumDifficulty="Difficulty_Medium" +PumpHalfDoubleMediumCourseType=nil +PumpHalfDoubleMediumString="HalfDouble" +# +# Difficulty_Beginner-StepsType_Pump_Single=Easy +# Difficulty_Easy-StepsType_Pump_Single=Normal +# Difficulty_Medium-StepsType_Pump_Single=Hard +# Difficulty_Hard-StepsType_Pump_Single=Crazy +# Difficulty_Medium-StepsType_Pump_Halfdouble=Half-Double +# Difficulty_Medium-StepsType_Pump_Double=Freestyle +# Difficulty_Hard-StepsType_Pump_Double=Nightmare +# Difficulty_Edit-StepsType_Pump_Single=Edit +# Difficulty_Edit-StepsType_Pump_Halfdouble=Edit +# Difficulty_Edit-StepsType_Pump_Double=Edit +# Course=Progressive +[DifficultyList] +# A list that shows difficulties in a song. +CapitalizeDifficultyNames=false +# How far away and how many items there are +ItemsSpacingY=40 +NumShownItems=5 +# +MoveCommand=decelerate,0.3 + +[FadingBanner] +# The banner on MusicWheel. +BannerOnCommand= +# When it loads +BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 +# When it loads into clarity +BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 +# ResetFade is played in BeforeChange. It happens after the FadeFromCached/FadeOff command. +BannerResetFadeCommand=diffusealpha,1 + +BannerRouletteCommand= +BannerRandomCommand= + +[Gameplay] +# System Direction +ComboIsPerRow=ComboPerRow() +MissComboIsPerRow=true +MinScoreToContinueCombo=ComboContinue() +MinScoreToMaintainCombo=ComboMaintain() +MaxScoreToIncrementMissCombo='TapNoteScore_Miss' +MineHitIncrementsMissCombo=false +AvoidMineIncrementsCombo=false +UseInternalScoring=true +# When you hit it, you know. +ToastyTriggersAt=250 +ToastyMinTNS='TapNoteScore_W2' + +[GameState] +# Default song and sort. these don't really matter +DefaultSong="" +DefaultSort="Group" +# How good of a grade you have to get to get an ES/OMES. Locked to an 'AA' +GradeTierForExtra1="Grade_Tier03" +GradeTierForExtra2="Grade_Tier03" +# and how difficult that song you go thas to be +MinDifficultyForExtra="Difficulty_Hard" +# System Direction +AreStagePlayerModsForced=AreStagePlayerModsForced +AreStageSongModsForced=AreStageSongModsForced +# Let players join while you play if they put in some coins +AllowLateJoin=true +# Various feats that you can earn +ProfileRecordFeats=true +CategoryRecordFeats=true +# Disallow bad names +UseNameBlacklist=false +# Alow OMES +AllowExtra2=true +# Don't let the player change difficulties on an ES/OMES +LockExtraStageSelection=true +# Normally, in event mode, the premium value is ignored. Set this metric to +# true to re-gain that behavior. +DisablePremiumInEventMode=false +# Let edit steps be allowed for earning extra stages. +EditAllowedForExtra=false + +[GrooveRadar] +# Polar graph that shows difficulty stuff in depth +# how thick the line is +EdgeWidth=2 +# How visible the middle is +CenterAlpha=0.25 +# what to do with each player's part of the graph +RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1) +RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2) + +[HighScore] +# Default highscore name for no entries ( like how street fighter has ' CAP ' ) +EmptyName="SSC!" + +[Inventory] +# Defines the probability of using items (1/ItemUseRateSeconds). +ItemUseRateSeconds=0.0 + +[LifeMeterBar] +# The default life bar you see in gameplay + +# Percentage in which the game starts yelling at you to stop sucking +DangerThreshold=0.2 +# And how much it starts up at. +InitialValue=0.5 +# And how much it takes to get ravin' +HotValue=1.0 +# And how much there is to fill up ( only for debug ) +LifeMultiplier=1.0 +# How good you gotta hit it to keep it alive. ( W3 is 'Great' ); +MinStayAlive="TapNoteScore_W3" +# If the life difficulty should be changed on extra stages +ForceLifeDifficultyOnExtraStage=true +# And what it should be changed to. Has no effect if the above is false. +ExtraStageLifeDifficulty=1.0 + +# How much it changes +LifePercentChangeW1=0.008 +LifePercentChangeW2=0.008 +LifePercentChangeW3=0.004 +LifePercentChangeW4=0.000 +LifePercentChangeW5=-0.040 +LifePercentChangeMiss=-0.080 +LifePercentChangeHitMine=-0.160 +LifePercentChangeHeld=IsGame("pump") and 0.000 or 0.008 +LifePercentChangeLetGo=IsGame("pump") and 0.000 or -0.080 +LifePercentChangeMissedHold=0.000 +LifePercentChangeCheckpointMiss=-0.080 +LifePercentChangeCheckpointHit=0.008 + +# And various positionings +UnderX=0 +UnderY=0 +DangerX=0 +DangerY=0 +StreamX=0 +StreamY=0 +OverX=0 +OverY=0 + +[LifeMeterBattery] +# The bar that shows up in Oni mode. +# any score below this one will cause you to lose a life. +MinScoreToKeepLife='TapNoteScore_W3' +# Defines the maximum number of lives in the meter. (0 means no limit) +MaxLives=0 +# how many lives you'll lose upon doing so. +SubtractLives=1 +# how many lives you'll lose hitting a mine +MinesSubtractLives=1 +# how many lives a successful hold will net you. +HeldAddLives=0 +# how many lives an unsuccessful hold will cost you. +LetGoSubtractLives=1 +# this function returns how many lives to add when a song ends in course mode. +CourseSongRewardLives=function(life_meter, pn) if GAMESTATE:GetCurrentSteps(pn):GetMeter() >= 8 then return 2 end return 1 end + +# How many lives trigger the "Danger" state. +DangerThreshold=1 +# How long it flashes when you lose a life. +BatteryBlinkTime=1.2 +# Where the batteries are +BatteryP1X=-92 +BatteryP1Y=2 +BatteryP2X=92 +BatteryP2Y=2 +# Where your life count is +NumLivesFormat="x%d" +NumLivesP1X=-92 +NumLivesP1Y=0 +NumLivesP1GainLifeCommand= +NumLivesP1LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1 +NumLivesP2X=92 +NumLivesP2Y=0 +NumLivesP2GainLifeCommand= +NumLivesP2LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1 + +[LifeMeterBattery Percent] +# The percentage on the bar. I wouldn't even bother changing this, because I +# havent and I *made* this theme :\ +Format=FormatPercentScore +PercentUseRemainder=false +ApplyScoreDisplayOptions=true +DancePointsDigits=5 +# +Format=FormatPercentScore +# +RemainderFormat= +# +PercentFormat="%2d" +PercentP1X=0 +PercentP1Y=0 +PercentP1OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1) +PercentP1OffCommand= +PercentP2X=0 +PercentP2Y=0 +PercentP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) +PercentP2OffCommand= +# +DancePointsP1X=0 +DancePointsP1Y=0 +DancePointsP1OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1) +DancePointsP1OffCommand= +DancePointsP2X=0 +DancePointsP2Y=0 +DancePointsP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) +DancePointsP2OffCommand= + +[LifeMeterTime] +# The Lifemeter that shows up when you're playing survival. + +# When it starts telling you to stop sucking. +DangerThreshold=0.3 +# How good it's filled up when you start +InitialValue=0.5 +MeterWidth=0.0 +MeterHeight=0.0 +# How little there is to fill? +MinLifeTime=15 + +[LyricDisplay] +LyricFrontChangedCommand=LyricCommand,"Front" +LyricBackChangedCommand=LyricCommand,"Back" + +InLength=0 +OutLength=0 + +[NotesWriterSM] +DescriptionUsesCreditField=false + +[OptionRow] +ShowModIcons=false +ShowUnderlines=true +ShowBpmInSpeedTitle=false +ModIconP1X=SCREEN_CENTER_X-280 +ModIconP2X=SCREEN_CENTER_X+280 +ModIconOnCommand=x,-30 +FrameX=SCREEN_CENTER_X-222 +FrameY=0 +FrameOnCommand= +TitleX=SCREEN_CENTER_X-222 +TitleY=0 +TitleOnCommand=shadowlength,0;uppercase,true;wrapwidthpixels,SCREEN_WIDTH*0.2;zoom,0.6 +TitleGainFocusCommand=diffuse,color("1,1,1,1");strokecolor,color("0,0,0,1") +TitleLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,1") +ItemsStartX=SCREEN_CENTER_X-140 +ItemsEndX=SCREEN_CENTER_X+280 +ItemsGapX=14 +ItemsMinBaseZoom=0.65 +ItemsLongRowP1X=SCREEN_CENTER_X-60 +ItemsLongRowP2X=SCREEN_CENTER_X+100 +ItemsLongRowSharedX=SCREEN_CENTER_X +ItemOnCommand=shadowlength,0;zoom,0.5 +ItemGainFocusCommand= +ItemLoseFocusCommand= +TweenSeconds=0.2 +ModIconMetricsGroup="ModIcon" +ColorSelected=color("1,1,1,1") +ColorNotSelected=color("0.5,0.5,0.5,1") +ColorDisabled=color("0.25,0.25,0.25,1") + +[OptionRowService] +Fallback="OptionRow" +# Service Titles are all that are shown. +ShowUnderlines=false +ShowCursors=false +# +TitleX=SCREEN_CENTER_X +TitleY= +TitleOnCommand=shadowlength,0;uppercase,true;maxwidth,600;zoom,0.75 +TitleGainFocusCommand=diffuse,color("1,1,1,1");strokecolor,color("0,0,0,1") +TitleLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,1") + +[OptionRowExit] +Fallback="OptionRow" +FrameOnCommand=visible,false +TitleOnCommand=visible,false + +[OptionsCursor] +LeftX= +LeftY= +LeftOnCommand=halign,1; +MiddleX= +MiddleY= +MiddleOnCommand= +RightX= +RightY= +RightOnCommand=halign,0; +CanGoLeftX= +CanGoLeftY= +CanGoLeftOnCommand=halign,1; +CanGoRightX= +CanGoRightY= +CanGoRightOnCommand=halign,0; + +[OptionsCursorP1] +Fallback="OptionsCursor" +LeftX=-2 +MiddleX=-2 +RightX=-2 +LeftY=-2 +MiddleY=-2 +RightY=-2 + +[OptionsCursorP2] +Fallback="OptionsCursor" +LeftX=2 +MiddleX=2 +RightX=2 +LeftY=2 +MiddleY=2 +RightY=2 + +[OptionsUnderline] +Fallback="OptionsCursor" + +[OptionsUnderlineP1] +Fallback="OptionsUnderline" +LeftX=-4 +MiddleX=-4 +RightX=-4 +LeftY=10 +MiddleY=10 +RightY=10 + +[OptionsUnderlineP2] +Fallback="OptionsUnderline" +LeftX=4 +MiddleX=4 +RightX=4 +LeftY=12 +MiddleY=12 +RightY=12 + +[MenuTimer] +WarningStart=10 +WarningBeepStart=10 +# I don't like it +# -- Midiman +# MaxStallSeconds=7.5 +MaxStallSeconds=0 +# +HurryUpTransition=5.5 +Text1OnCommand=stopeffect;stoptweening;shadowlength,0; +Text1FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.floor(fSeconds); return ""..digit end +Text2OnCommand=stopeffect;stoptweening;shadowlength,0;visible,false +Text2FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.mod(fSeconds,10); return ""..digit end +# +FrameX=0 +FrameY=0 +FrameOnCommand= +# +Warning10Command= +Warning9Command= +Warning8Command= +Warning7Command= +Warning6Command= +Warning5Command= +Warning4Command= +Warning3Command= +Warning2Command= +Warning1Command= +Warning0Command= + +[MenuTimerNoSound] +Fallback="MenuTimer" +# +WarningBeepStart=0 + +[MusicList] +SpacingX=0 +SpacingY=0 +StartY=0 +StartX=0 +# +CropWidth=0 +NumRows=0 +NumColumns=0 + +[MusicWheel] +FadeSeconds=1 +SwitchSeconds=0.10 +RandomPicksLockedSongs=true +UseSectionsWithPreferredGroup=false +OnlyShowActiveSection=false +HideActiveSectionTitle=true +RemindWheelPositions=false +# +RouletteSwitchSeconds=0.05 +RouletteSlowDownSwitches=5 +LockedInitialVelocity=15 + +ScrollBarHeight=300 +ScrollBarOnCommand=visible,false +# +ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*38 ); end +NumWheelItems=11 +MusicWheelSortOnCommand= +MusicWheelSortOffCommand= +MusicWheelItemSortOnCommand= +MusicWheelItemSortOffCommand= +HighlightOnCommand= +HighlightOffCommand= +HighlightSortOnCommand= +HighlightSortOffCommand= +WheelItemLockedColor=color("0,0,0,0.5") +# +NumSectionColors=1 +SectionColor1=color("1,1,1,1") +# +SongRealExtraColor=color("1,0,0,1") +SortMenuColor=color("1,1,1,1") +# +RouletteColor=color("1,0,0,1") +RandomColor=color("1,0,0,1") +PortalColor=color("1,0,0,1") +EmptyColor=color("1,0,0,1") + +SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Artist", "SortOrder_Genre" } +# SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Popularity", "SortOrder_Artist", "SortOrder_Genre" } + +ShowRoulette=true +ShowRandom=false +ShowPortal=false + +ShowSectionsInBPMSort=true +SortBPMDivision=20 +ShowSectionsInLengthSort=true +SortLengthDivision=5 + +MostPlayedSongsToShow=30 +RecentSongsToShow=30 + +UseEasyMarkerFlag=false + +ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent" +# ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,NormalMode,BattleMode" +ChoicePreferred="sort,Preferred" +ChoiceGroup="sort,Group" +ChoiceTitle="sort,Title" +ChoiceBpm="sort,BPM" +ChoicePopularity="sort,Popularity" +ChoiceTopGrades="sort,TopGrades" +ChoiceArtist="sort,Artist" +ChoiceGenre="sort,Genre" +ChoiceEasyMeter="sort,EasyMeter" +ChoiceMediumMeter="sort,MediumMeter" +ChoiceHardMeter="sort,HardMeter" +ChoiceChallengeMeter="sort,ChallengeMeter" +ChoiceDoubleEasyMeter="sort,DoubleEasyMeter" +ChoiceDoubleMediumMeter="sort,DoubleMediumMeter" +ChoiceDoubleHardMeter="sort,DoubleHardMeter" +ChoiceDoubleChallengeMeter="sort,DoubleChallengeMeter" +ChoiceLength="sort,Length" +ChoiceRecent="sort,Recent" +ChoiceNormalMode="playmode,regular" +ChoiceBattleMode="playmode,battle" + +CustomWheelItemNames="" + +[CourseWheel] +Fallback="MusicWheel" +# +ModeMenuChoiceNames="AllCourses,Nonstop,Oni,Endless,Survival" +# xxx: force nonstop on all courses? sounds lame but meh +ChoiceAllCourses="sort,AllCourses;playmode,nonstop;mod,bar" +ChoiceNonstop="sort,Nonstop;playmode,nonstop;mod,bar" +ChoiceOni="sort,Oni;playmode,oni;mod,battery" +ChoiceEndless="sort,Endless;playmode,endless;mod,bar" +ChoiceSurvival="sort,Oni;playmode,oni;mod,lifetime" + +[OnlineMusicWheel] +Fallback="MusicWheel" +# roulette + online causes a sorting issue that should be hammered out first. -aj +ShowRoulette=false +ShowRandom=false +ShowPortal=false + +[MusicWheelItem] +WheelNotifyIconX=106 +WheelNotifyIconY=0 +WheelNotifyIconOnCommand=visible,false +# +SongNameX=0 +SongNameY=0 +SongNameOnCommand= +# +CourseX=0 +CourseY=0 +CourseOnCommand= +# +SectionExpandedX=0 +SectionExpandedY=0 +SectionExpandedOnCommand= +# +SectionCollapsedX=0 +SectionCollapsedY=0 +SectionCollapsedOnCommand= +SectionCountX=0 +SectionCountY=0 +SectionCountOnCommand= +# +RouletteX=0 +RouletteY=0 +RouletteOnCommand= +# +RandomX=0 +RandomY=0 +RandomOnCommand= +# +PortalX=0 +PortalY=0 +PortalOnCommand= +# +SortX=0 +SortY=0 +SortOnCommand= +# +ModeX=0 +ModeY=0 +ModeOnCommand= +# +CustomX=0 +CustomY=0 +CustomOnCommand= +# +GradeP1X=0 +GradeP1Y=0 +GradeP2X=0 +GradeP2Y=0 +GradesShowMachine=true + +[NoteField] +ShowBoard=false +ShowBeatBars=false +# +FadeBeforeTargetsPercent=0 +FadeFailTime=1.5 +# +BarMeasureAlpha=1 +Bar4thAlpha=1 +Bar8thAlpha=1 +Bar16thAlpha=1 +# +RoutineNoteSkinP1=RoutineSkinP1() +RoutineNoteSkinP2=RoutineSkinP2() +# +AreaHighlightColor=color("1,0,0,0.3") +BPMColor=color("1,0,0,1") +StopColor=color("0.8,0.8,0,1") +DelayColor=color("0,0.8,0.8,1") +WarpColor=color("1,0,0.5,1") +TimeSignatureColor=color("1,0.55,0,1") +TickcountColor=color("0,1,0,1") +ComboColor=color("0.55,1,0,1") +LabelColor=color("1,0,0,1") +SpeedColor=color("0.5,1,1,1") +ScrollColor=color("0.3,0.8,1,1") +FakeColor=color("1,1,0.5,1") +# +BPMIsLeftSide=true +StopIsLeftSide=true +DelayIsLeftSide=true +WarpIsLeftSide=false +TimeSignatureIsLeftSide=true +TickcountIsLeftSide=false +ComboIsLeftSide=false +LabelIsLeftSide=false +SpeedIsLeftSide=false +ScrollIsLeftSide=true +FakeIsLeftSide=true +# +BPMOffsetX=60 +StopOffsetX=50 +DelayOffsetX=120 +WarpOffsetX=90 +TimeSignatureOffsetX=30 +TickcountOffsetX=50 +ComboOffsetX=70 +LabelOffsetX=130 +SpeedOffsetX=30 +ScrollOffsetX=100 +FakeOffsetX=90 + +[PlayerStageStats] +# Original CVS Grading +GradePercentTier01=1.000000 +GradePercentTier02=1.000000 +GradePercentTier03=0.930000 +GradePercentTier04=0.800000 +GradePercentTier05=0.650000 +GradePercentTier06=0.450000 +GradePercentTier07=-99999.000000 +GradeTier01IsAllW2s=false +GradeTier02IsAllW2s=true +GradeTier02IsFullCombo=false +NumGradeTiersUsed=7 + +[Player] +ReceptorArrowsYStandard=-144 +ReceptorArrowsYReverse=144 +ReceptorNoSinkScoreCutoff=4 +JudgmentTransformCommand=%JudgmentTransformCommand +JudgmentOnCommand= +ComboTransformCommand=%ComboTransformCommand +AttackDisplayXOffsetOneSideP1=0 +AttackDisplayXOffsetOneSideP2=0 +AttackDisplayXOffsetBothSides=0 +AttackDisplayY=-70 +AttackDisplayYReverse=70 +# HACK: These shouldn't go to the render pipe at all if IsGame("pump") +HoldJudgmentYStandard=IsGame("pump") and -99999 or -90 +HoldJudgmentYReverse=IsGame("pump") and -99999 or 90 +BrightGhostComboThreshold=100 +DrawDistanceBeforeTargetsPixels=SCREEN_HEIGHT +DrawDistanceAfterTargetsPixels=-128 +TapJudgmentsUnderField=false +HoldJudgmentsUnderField=false +ComboUnderField=false +PenalizeTapScoreNone=false +JudgeHoldNotesOnSameRowTogether=false +CheckpointsTapsSeparateJudgment=not IsGame("pump") +; someone misunderstood me :x -Daisu +CheckpointsFlashOnHold=IsGame("pump") +ImmediateHoldLetGo=not IsGame("pump") +ComboBreakOnImmediateHoldLetGo=false +RequireStepOnHoldHeads=not IsGame("pump") +RequireStepOnMines=false +InitialHoldLife=IsGame("pump") and 0.05 or 1 +MaxHoldLife=1 +RollBodyIncrementsCombo=false +ScoreMissedHoldsAndRolls=not IsGame("pump") and not IsGame("dance") +PercentUntilColorCombo=0.25 +ComboStoppedAt=50 +AttackRunTimeRandom=6 +AttackRunTimeMine=7 +BattleRaveMirror=true +MModHighCap=600 + +[PlayerOptions] +RandomSpeedChance=0.2 +RandomReverseChance=0.2 +RandomDarkChance=0.1 +RandomAccelChance=0.333 +RandomEffectChance=0.667 +RandomHiddenChance=0.05 +RandomSuddenChance=0.1 + +[PlayerShared] +Fallback="Player" +#ComboXOffsetOneSideP1=-120 +#ComboXOffsetOneSideP2=120 +ComboXOffsetOneSideP1=0 +ComboXOffsetOneSideP2=0 +JudgmentTransformCommand=%JudgmentTransformSharedCommand + +[Profile] +ShowCoinData=true +UnlockAuthString="" +CustomLoadFunction=LoadProfileCustom +CustomSaveFunction=SaveProfileCustom + +[RadarValues] +WriteComplexValues=true +WriteSimpleValues=true + +[RollingNumbers] +TextFormat="%09.0f" +ApproachSeconds=0.2 +Commify=true +LeadingZeroMultiplyColor=color("#777777FF") + +[RollingNumbersEvaluation] +Fallback="RollingNumbers" +ApproachSeconds=1 + +[RollingNumbersJudgment] +Fallback="RollingNumbers" +TextFormat="%04.0f" +ApproachSeconds=1 +Commify=false + +[RollingNumbersMaxCombo] +Fallback="RollingNumbersJudgment" + +[ScoreDisplayNormal] +FrameX= +FrameY= +FrameOnCommand= +FrameOffCommand= +TextX= +TextY= +TextOnCommand= +TextOffCommand= + +[ScoreDisplayOni] + +[ScoreDisplayLifeTime] +FrameX= +FrameY= +FrameOnCommand= +FrameOffCommand= +# +TextX= +TextY= +TextOnCommand= +TextOffCommand= +# +TimeRemainingX= +TimeRemainingY= +TimeRemainingOnCommand= +TimeRemainingOffCommand= +# +DeltaSecondsOnCommand= +DeltaSecondsNoneCommand= +DeltaSecondsHitMineCommand= +DeltaSecondsAvoidMineCommand= +DeltaSecondsCheckpointMissCommand= +DeltaSecondsCheckpointHitCommand= +DeltaSecondsMissCommand= +DeltaSecondsW5Command= +DeltaSecondsW4Command= +DeltaSecondsW3Command= +DeltaSecondsW2Command= +DeltaSecondsW1Command= +DeltaSecondsLetGoCommand= +DeltaSecondsHeldCommand= +DeltaSecondsMissedHoldCommand= +DeltaSecondsGainLifeCommand= + +[ScoreDisplayPercentage Percent] +PercentFormat="%2d" +PercentP1X=0 +PercentP1Y=0 +PercentP1OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) +PercentP1OffCommand= +PercentP2X=0 +PercentP2Y=0 +PercentP2OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) +PercentP2OffCommand= +PercentUseRemainder=false +ApplyScoreDisplayOptions=true +Format=FormatPercentScore +PercentDecimalPlaces=2 +PercentTotalSize=5 +RemainderFormat= + +DancePointsDigits=5 +DancePointsP1X=0 +DancePointsP1Y=0 +DancePointsP1OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) +DancePointsP1OffCommand= +DancePointsP2X=0 +DancePointsP2Y=0 +DancePointsP2OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) +DancePointsP2OffCommand= + +# are these even used? -f +PercentP3X=0 +PercentP3Y=0 +PercentP3OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) +PercentP3OffCommand= +PercentP4X=0 +PercentP4Y=0 +PercentP4OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) +PercentP4OffCommand= +PercentP5X=0 +PercentP5Y=0 +PercentP5OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) +PercentP5OffCommand= +PercentP6X=0 +PercentP6Y=0 +PercentP6OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) +PercentP6OffCommand= +PercentP7X=0 +PercentP7Y=0 +PercentP7OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1) +PercentP7OffCommand= +PercentP8X=0 +PercentP8Y=0 +PercentP8OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2) +PercentP8OffCommand= + +[ScoreDisplayRave] +MeterP1X= +MeterP1Y= +MeterP1OnCommand= +MeterP1OffCommand= +MeterP2X= +MeterP2Y= +MeterP2OnCommand=zoomx,-1 +MeterP2OffCommand= + +LevelP1X= +LevelP1Y= +LevelP1OnCommand= +LevelP1OffCommand= +LevelP2X= +LevelP2Y= +LevelP2OnCommand= +LevelP2OffCommand= + +FrameBaseP1X= +FrameBaseP1Y= +FrameBaseP1OnCommand= +FrameBaseP1OffCommand= +FrameBaseP2X= +FrameBaseP2Y= +FrameBaseP2OnCommand= +FrameBaseP2OffCommand= + +FrameOverP1X= +FrameOverP1Y= +FrameOverP1OnCommand= +FrameOverP1OffCommand= +FrameOverP2X= +FrameOverP2Y= +FrameOverP2OnCommand= +FrameOverP2OffCommand= + +[ScoreKeeperNormal] +PercentScoreWeightCheckpointHit=3 +PercentScoreWeightCheckpointMiss=0 +PercentScoreWeightHeld=IsGame("pump") and 0 or 3 +PercentScoreWeightHitMine=-2 +PercentScoreWeightMissedHold=0 +PercentScoreWeightLetGo=0 +PercentScoreWeightMiss=0 +PercentScoreWeightW1=3 +PercentScoreWeightW2=2 +PercentScoreWeightW3=1 +PercentScoreWeightW4=0 +PercentScoreWeightW5=0 +GradeWeightCheckpointHit=2 +GradeWeightCheckpointMiss=-8 +GradeWeightHeld=IsGame("pump") and 0 or 6 +GradeWeightHitMine=-8 +GradeWeightMissedHold=0 +GradeWeightLetGo=0 +GradeWeightMiss=-8 +GradeWeightW1=2 +GradeWeightW2=2 +GradeWeightW3=1 +GradeWeightW4=0 +GradeWeightW5=-4 + +[ScoreKeeperRave] +AttackDurationSeconds=3.0 + +[ScreenEvaluation Percent] +PercentFormat="%2d" +PercentP1X=0 +PercentP1Y=0 +PercentP1OnCommand=horizalign,right;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 +PercentP1OffCommand= +PercentP2X=0 +PercentP2Y=0 +PercentP2OnCommand=horizalign,right;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 +PercentP2OffCommand= +RemainderFormat=".%02d%%" +PercentRemainderP1X=0 +PercentRemainderP1Y=0 +PercentRemainderP1OnCommand=horizalign,left;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 +PercentRemainderP1OffCommand= +PercentRemainderP2X=0 +PercentRemainderP2Y=0 +PercentRemainderP2OnCommand=horizalign,left;vertalign,bottom;glowshift;effectperiod,2;shadowlength,0 +PercentRemainderP2OffCommand= +DancePointsP1X=-26 +DancePointsP1Y=-32 +DancePointsP1OnCommand=glowshift;effectperiod,2;shadowlength,0 +DancePointsP1OffCommand=sleep,0.8;accelerate,0.3 +DancePointsP2X=-26 +DancePointsP2Y=-32 +DancePointsP2OnCommand=glowshift;effectperiod,2;shadowlength,0 +DancePointsP2OffCommand=sleep,0.8;accelerate,0.3 +DancePointsDigits=1 +PercentUseRemainder=true +ApplyScoreDisplayOptions=false +FormatPercentScore=FormatPercentScore +Format=FormatPercentScore + +[SoundEffectControl] +LockToHold=false + +[SoundEffectControl_Off] +Fallback="SoundEffectControl" +SoundProperty="" +PropertyMin=1.0 +PropertyCenter=1.0 +PropertyMax=1.0 + +[SoundEffectControl_Speed] +Fallback="SoundEffectControl" +SoundProperty="Speed" +PropertyMin=4/8 +PropertyCenter=1.0 +PropertyMax=16/8 + +[SoundEffectControl_Pitch] +Fallback="SoundEffectControl" +SoundProperty="Pitch" +PropertyMin=7/8 +PropertyCenter=1.0 +PropertyMax=9/8 + +[StepsDisplayListRow] +FrameX=0 +FrameY=0 +FrameOnCommand= +FrameOffCommand= +FrameSetCommand= +# +ShowTicks=false +NumTicks=0 +MaxTicks=0 +TicksSetCommand= +# +ShowMeter=false +ZeroMeterString="0" +MeterFormatString="%i" +MeterX=0 +MeterY=0 +MeterOnCommand= +MeterOffCommand= +MeterSetCommand= +# +ShowDescription=false +DescriptionX=0 +DescriptionY=0 +DescriptionOnCommand= +DescriptionOffCommand= +DescriptionSetCommand= +# +ShowCredit=false +CreditX=0 +CreditY=0 +CreditOnCommand= +CreditOffCommand= +CreditSetCommand= +# +ShowAutogen=false +AutogenSetCommand= +# +ShowStepsType=false +StepsTypeSetCommand= + +[StreamDisplay] +; a simple bar life meter: +; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end +PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + local zoomed_width=28; \ + local zoomed_height=8; \ + local spacing_x=11.3; \ + self:zoomtoheight(zoomed_height); \ + self:x((itemIndex-(numItems/2))*spacing_x); \ + local zoomed_width=0; \ + if (itemIndex % 2) == 0 then \ + self:zoomtowidth(24); \ + self:rotationz(90); \ + else \ + self:zoomtowidth(31); \ + self:rotationz(-58); \ + end; \ +end +TextureCoordScaleX=10 +NumPills=20 +AlwaysBounceNormalBar=false +VelocityMultiplier=4 +VelocityMin=-.06 +VelocityMax=.02 +SpringMultiplier=2.0 +ViscosityMultiplier=0.2 + +[TextBanner] +TitleOnCommand= +SubtitleOnCommand= +ArtistOnCommand=visible,false +ArtistPrependString="/" +AfterSetCommand=%TextBannerAfterSet + +[TextBannerHighScores] +Fallback="TextBanner" + + +[WheelNotifyIcon] +ShowTraining=false +BlinkPlayersBest=true +NumIconsToShow=2 + +# 04 # + +[Screen] +ScreenInitCommand= +ScreenOnCommand= +AllowOperatorMenuButton=true +# This metric is only for people who know what they are doing. If you set this +# to false, you are expected to know how to cancel screens in Lua. +# (that's SCREENMAN:GetTopScreen():Cancel(), for people who aren't AJ ;) ) +HandleBackButton=true +RepeatRate=-1 +RepeatDelay=-1 +PrepareScreens= +PersistScreens= +GroupedScreens= +CodeNames="" +CancelCancelCommand= +LightsMode="LightsMode_MenuStartAndDirections" +ShowCreditDisplay=false + +[ScreenInitialScreenIsInvalid] +Class="ScreenWithMenuElements" +Fallback="ScreenWithMenuElements" + +[ScreenDebugOverlay] +Class="ScreenDebugOverlay" +Fallback="Screen" + +BackgroundColor=color("0,0,0,0.5") + +LineOnColor=color("1,1,1,1") +LineOffColor=color("0.6,0.6,0.6,1") +LineStartY=SCREEN_TOP+50 +LineSpacing=16 +LineButtonX=SCREEN_CENTER_X-50 +LineFunctionX=SCREEN_CENTER_X-30 + +ButtonTextOnCommand=NoStroke;zoom,0.8 +ButtonTextToggledCommand=accelerate,0.025;glow,color("1,0,0,1");sleep,0.125;decelerate,0.2;glow,color("1,0,0,0"); +FunctionTextOnCommand=NoStroke;zoom,0.8 + +PageStartX=SCREEN_CENTER_X-100 +PageSpacingX=120 +PageTextOnCommand=NoStroke;zoom,0.75 +PageTextGainFocusCommand=diffuse,color("1,1,1,1") +PageTextLoseFocusCommand=diffuse,color("0.6,0.6,0.6,1") + +DebugMenuHeaderX=SCREEN_LEFT+80 +DebugMenuHeaderY=SCREEN_TOP+18 +DebugMenuHeaderOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5") +DebugMenuHeaderOffCommand= + +HeaderTextX=SCREEN_LEFT+80 +HeaderTextY=SCREEN_TOP+18 +HeaderTextOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5") +HeaderTextOffCommand= +# + +[ScreenSystemLayer] +Class="ScreenSystemLayer" +Fallback="Screen" +# +ShowCreditDisplay=true +CreditsJoinOnly=false +# +CreditsP1X=SCREEN_LEFT+10 +CreditsP1Y=SCREEN_BOTTOM-10 +CreditsP1RefreshCreditTextMessageCommand=queuecommand,"UpdateText"; +CreditsP1CoinInsertedMessageCommand=queuecommand,"UpdateText"; +CreditsP1CoinInsertedMessageCommand=queuecommand,"UpdateText"; +CreditsP1PlayerJoinedMessageCommand=queuecommand,"UpdateText"; +CreditsP1ScreenChangedMessageCommand=queuecommand,"UpdateVisible";queuecommand,"On" +CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1; +CreditsP1OffCommand= +# +CreditsP2X=SCREEN_RIGHT-10 +CreditsP2Y=SCREEN_BOTTOM-10 +CreditsP2RefreshCreditTextMessageCommand=queuecommand,"UpdateText"; +CreditsP2CoinInsertedMessageCommand=queuecommand,"UpdateText"; +CreditsP2PlayerJoinedMessageCommand=queuecommand,"UpdateText"; +CreditsP2ScreenChangedMessageCommand=queuecommand,"UpdateVisible";queuecommand,"On" +CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1; +CreditsP2OffCommand= + +[ScreenInstallOverlay] +Class="ScreenInstallOverlay" +Fallback="Screen" + +StatusX=SCREEN_LEFT+40 +StatusY=SCREEN_BOTTOM-32 +StatusOnCommand=align,0,1 + +[ScreenSyncOverlay] +Class="ScreenSyncOverlay" +Fallback="Screen" +StatusOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+150;shadowlength,2;strokecolor,color("#000000"); +AdjustmentsOnCommand=x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y; +# + +[ScreenStatsOverlay] +Class="ScreenStatsOverlay" +Fallback="Screen" +StatsX=SCREEN_RIGHT-8 +StatsY=SCREEN_TOP+10 +StatsOnCommand=halign,1;valign,0;shadowlength,1;zoom,0.5 +ShowSkips=true +SkipX=SCREEN_RIGHT-100 +SkipY=SCREEN_BOTTOM-100 +SkipOnCommand=zoom,0.5 +SkipWidth=190 +SkipSpacingY=14 +# + +[ScreenWithMenuElements] +Class="ScreenWithMenuElements" +Fallback="Screen" +# +TimerSeconds=-1 +# +FirstUpdateCommand= +PlayMusic=true +MusicAlignBeat=true +DelayMusicSeconds=0 +StopMusicOnBack=false +WaitForChildrenBeforeTweeningOut=false +CancelTransitionsOut=false +# +ShowCreditDisplay=true +AllowDisabledPlayerInput=false +MemoryCardIcons=false +# +MemoryCardDisplayP1X= +MemoryCardDisplayP1Y= +MemoryCardDisplayP1OnCommand= +MemoryCardDisplayP1OffCommand= +MemoryCardDisplayP2X= +MemoryCardDisplayP2Y= +MemoryCardDisplayP2OnCommand= +MemoryCardDisplayP2OffCommand= +# +TimerStealth=false +ForceTimer=false +TimerMetricsGroup="MenuTimer" +TimerX= +TimerY= +TimerOnCommand= +TimerOffCommand= + +[ScreenSetBGFit] +Class="ScreenWithMenuElements" +Fallback="ScreenWithMenuElements" +NextScreen="ScreenOptionsDisplaySub" +RepeatRate=10 +RepeatDelay=.25 + +[ScreenOverscanConfig] +Class="ScreenWithMenuElements" +Fallback="ScreenWithMenuElements" +NextScreen="ScreenOptionsDisplaySub" +PrevScreen="ScreenOptionsDisplaySub" +RepeatRate=10 +RepeatDelay=.25 + +[ScreenWithMenuElementsBlank] +Fallback="ScreenWithMenuElements" +UpdateOnMessage="" +ShowHelp=false + +[ScreenSelectMaster] +Class="ScreenSelectMaster" +Fallback="ScreenWithMenuElements" +# +DoSwitchAnyways=false +WrapCursor=false +AllowRepeatingInput=true +PreSwitchPageSeconds=0 +PostSwitchPageSeconds=0 +ScrollerSecondsPerItem=0 +ScrollerNumItemsToDraw=16 +ScrollerTransform=function(self,offset,itemIndex,numItems) end +ScrollerSubdivisions=1 +OverrideSleepAfterTweenOffSeconds=false +SleepAfterTweenOffSeconds=0 +NumCodes=0 +OptionOrderUp= +OptionOrderDown= +OptionOrderLeft= +OptionOrderRight= +OptionOrderAuto= +# +ShowIcon=false +ShowCursor=false +ShowScroller=false +WrapScroller=false +LoopScroller=false +# +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y +PerChoiceIconElement=true +PerChoiceScrollElement=true +# All on page 1 by default. +NumChoicesOnPage1=1024 +SharedSelection=true +UseIconMetrics=false +CursorP1OffsetXFromIcon=0 +CursorP1OffsetYFromIcon=0 +CursorP2OffsetXFromIcon=0 +CursorP2OffsetYFromIcon=0 +DisabledColor=color("#606060") +DoublePressToSelect=false + +# Blank defaults for a few options. +IconChoice1SwitchToPage1Command= +IconChoice1SwitchToPage2Command= +IconChoice1OnCommand= +IconChoice1OffCommand= +IconChoice1OffFocusedCommand= +IconChoice1OffUnfocusedCommand= + +IconChoice2SwitchToPage1Command= +IconChoice2SwitchToPage2Command= +IconChoice2OnCommand= +IconChoice2OffCommand= +IconChoice2OffFocusedCommand= +IconChoice2OffUnfocusedCommand= + +IconChoice3SwitchToPage1Command= +IconChoice3SwitchToPage2Command= +IconChoice3OnCommand= +IconChoice3OffCommand= +IconChoice3OffFocusedCommand= +IconChoice3OffUnfocusedCommand= + +IconChoice4SwitchToPage1Command= +IconChoice4SwitchToPage2Command= +IconChoice4OnCommand= +IconChoice4OffCommand= +IconChoice4OffFocusedCommand= +IconChoice4OffUnfocusedCommand= + +ExplanationPage1X=0 +ExplanationPage1Y=0 +ExplanationPage1SwitchToPage1Command= +ExplanationPage1SwitchToPage2Command= +ExplanationPage1OnCommand=visible,false +ExplanationPage1OffCommand= +ExplanationPage2X=0 +ExplanationPage2Y=0 +ExplanationPage2SwitchToPage1Command= +ExplanationPage2SwitchToPage2Command= +ExplanationPage2OnCommand=visible,false +ExplanationPage2OffCommand= + +MorePage1X=0 +MorePage1Y=0 +MorePage1SwitchToPage1Command= +MorePage1SwitchToPage2Command= +MorePage1OnCommand=visible,false +MorePage1OffCommand= +MorePage2X=0 +MorePage2Y=0 +MorePage2SwitchToPage1Command= +MorePage2SwitchToPage2Command= +MorePage2OnCommand=visible,false +MorePage2OffCommand= +IdleCommentSeconds=0 +IdleTimeoutSeconds=0 +UpdateOnMessage="" + +[ScreenSelectMasterBlank] +Fallback="ScreenSelectMaster" + +[ScreenTextEntry] +Class="ScreenTextEntry" +Fallback="ScreenWithMenuElements" +PrevScreen= +HelpText= +TimerSeconds=-1 +ShowStyleIcon=false +RowStartX=SCREEN_LEFT+100 +RowStartY=SCREEN_CENTER_Y-30 +RowEndX=SCREEN_RIGHT-100 +RowEndY=SCREEN_BOTTOM-96 +QuestionX=SCREEN_CENTER_X +QuestionY=SCREEN_CENTER_Y-40 +QuestionOnCommand=wrapwidthpixels,600 +QuestionOffCommand= +AnswerX=SCREEN_CENTER_X +AnswerY=SCREEN_CENTER_Y+20 +AnswerOnCommand=zoom,1.5;shadowlength,0 +AnswerOffCommand= +CursorOnCommand= +CursorOffCommand= +KeysInitCommand=zoom,0.8;shadowlength,0 + +[ScreenInit] +Class="ScreenAttract" +Fallback="ScreenAttract" +# +PrevScreen="ScreenInit" +NextScreen=Branch.AfterInit() +StartScreen=Branch.TitleMenu() +# +ForceTimer=true +TimerSeconds=5 +# +PlayMusic=false +# +TimerMetricsGroup="MenuTimerNoSound" +TimerOnCommand=visible,false + +[ScreenTitleMenu] +Class="ScreenTitleMenu" +Fallback="ScreenSelectMaster" +# +PrevScreen="ScreenInit" +NextScreen="ScreenInit" +# +ScreenBeginCommand= +StopMusicOnBack=true +# +CoinModeChangeScreen=Branch.TitleMenu() +# +ScreenOnCommand=lockinput,0 +LightsMode="LightsMode_Joining" +TimerSeconds=-1 +# +SharedSelection=true +AllowDisabledPlayerInput=true +OverrideSleepAfterTweenOffSeconds=false +DoSwitchAnyways=false +# +SleepAfterTweenOffSeconds=0 +# +UpdateOnMessage="" +# +NumChoicesOnPage1=100 +DefaultChoice="GameStart" +ChoiceNames="GameStart,Options,Edit,Jukebox,GameSelect,Exit" +ChoiceGameStart="applydefaultoptions;text,Game Start;screen,"..Branch.AfterTitleMenu() +#ChoiceQuickPlay="applydefaultoptions;text,Quick Play;" +ChoiceOptions="screen,ScreenOptionsService;text,Options" +ChoiceEdit="text,Edit/Share;screen,"..Branch.OptionsEdit() +ChoiceExit="screen,ScreenExit;text,Exit" +# Aliases for the future. +ChoiceContinue="screen,ScreenContinue;text,Continue?" +ChoiceOnline="screen,ScreenNetworkOptions;text,Play Online" +ChoiceGameSelect="screen,ScreenSelectGame;text,Select Game" +ChoiceJukebox="screen,ScreenJukeboxMenu;text,Jukebox" +ChoiceReportBug="urlnoexit,https://github.com/stepmania/stepmania/issues;text,Report Bug" +ChoiceIRC="urlnoexit,http://chat.mibbit.com/?server=chat.freenode.net&channel=%23stepmania-devs&nick=StepMania_player;text,Chat on IRC" +ChoiceSandbox="screen,ScreenTest;text,Sandbox" +# +AllowRepeatingInput=true +ShowCursor=false +WrapCursor=true +WrapScroller=false +LoopScroller=false +ScrollerSubdivisions=1 +ShowIcon=false +UseIconMetrics=false +ShowScroller=true +PerChoiceScrollElement=false +PerChoiceIconElement=false +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(32*(itemIndex-(numItems-1)/2)); end +ScrollerSecondsPerItem=0 +ScrollerNumItemsToDraw=20 +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y +ScrollerOnCommand= +ScrollerOffCommand= +IdleCommentSeconds=-1 +IdleTimeoutSeconds=-1 +IdleTimeoutScreen=Branch.AfterInit() +DoublePressToSelect=false +OptionOrderUp="" +OptionOrderDown="" +OptionOrderLeft="" +OptionOrderRight="" +OptionOrderAuto="" +# +PreSwitchPageSeconds= +PostSwitchPageSeconds= +# +CursorP1OffsetXFromIcon=0 +CursorP1OffsetYFromIcon=0 +CursorP2OffsetXFromIcon=0 +CursorP2OffsetYFromIcon=0 +# +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-80 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,8,0;zoom,0;bounceend,0.35;zoom,1 +LogoOffCommand= + +[ScreenCaution] +Fallback="ScreenSplash" +PrepareScreen="" +NextScreen=Branch.StartGame() +PrevScreen=Branch.TitleMenu() +TimerSeconds=10 +TimerStealth=true +ForceTimer=true +AllowStartToSkip=true + +[ScreenProfileLoad] +Class="ScreenProfileLoad" +Fallback="ScreenWithMenuElementsBlank" +NextScreen=Branch.AfterProfileLoad() +PrevScreen=Branch.TitleMenu() +TimerSeconds=-1 +# +LoadEdits=true + +[ScreenSelectProfile] +Fallback="ScreenWithMenuElements" +Class="ScreenSelectProfile" +# +ScreenOnCommand=%function(self) self:lockinput(1); end; +# +NextScreen=Branch.AfterSelectProfile() +PrevScreen=Branch.TitleMenu() +StartScreen=Branch.AfterSelectProfile() +# +TimerSeconds=30 +# +CodeNames=SelectProfileKeys() +CodeUp="+MenuUp" +CodeUp2="+Up" +CodeDown="+MenuDown" +CodeDown2="+Down" +CodeStart="+Start" +CodeBack="Back" +CodeCenter="Center" +CodeDownLeft="DownLeft" +CodeDownRight="DownRight" + +[ScreenSelectStyle] +# (formerly known as ScreenSelectPlayMode before sm-ssc v1.0 beta 3) +Class="ScreenSelectMaster" +Fallback="ScreenSelectMaster" +NextScreen=Branch.AfterSelectStyle() +PrevScreen=Branch.TitleMenu() +TimerSeconds=30 +# +DefaultChoice="Single" +# Giant metric list left in for backwards compatibility. +# A much better way to handle this is: +# ChoiceNames="lua,ScreenSelectStyleChoices()" +# That will list all the styles for the current game without needing a huge +# list of metrics. _fallback still uses the old method to avoid the +# possibility of breaking themes. -Kyz +ChoiceNames=GameCompatibleModes() +# +OptionOrderAuto="1:2,2:1" +# dance, pump, and likely others +ChoiceSingle="name,Single;style,single;text,Single;screen,"..Branch.AfterSelectStyle() +ChoiceDouble="name,Double;style,double;text,Double;screen,"..Branch.AfterSelectStyle() +ChoiceSolo="name,Solo;style,solo;text,Solo;screen,"..Branch.AfterSelectStyle() +ChoiceVersus="name,Versus;style,versus;text,Versus;screen,"..Branch.AfterSelectStyle() +ChoiceCouple="name,Couple;style,couple;text,Couple;screen,"..Branch.AfterSelectStyle() +ChoiceRoutine="name,Routine;style,routine;text,Routine;screen,"..Branch.AfterSelectStyle() +# pump +ChoiceHalfDouble="name,HalfDouble;style,halfdouble;text,HalfDouble;screen,"..Branch.AfterSelectStyle() +# beat +Choice5Keys="name,5Keys;style,single5;text,5Keys;screen,"..Branch.AfterSelectStyle() +Choice7Keys="name,7Keys;style,single7;text,7Keys;screen,"..Branch.AfterSelectStyle() +ChoiceVersus5="name,Versus5;style,versus5;text,Versus5;screen,"..Branch.AfterSelectStyle() +ChoiceVersus7="name,Versus7;style,versus7;text,Versus7;screen,"..Branch.AfterSelectStyle() +Choice10Keys="name,10Keys;style,double5;text,10Keys;screen,"..Branch.AfterSelectStyle() +Choice14Keys="name,14Keys;style,double7;text,14Keys;screen,"..Branch.AfterSelectStyle() +# kb7 +ChoiceKB7="name,kb7;style,single;screen,"..Branch.AfterSelectStyle() +# techno +ChoiceSingle4="name,Single4;style,single4;screen,"..Branch.AfterSelectStyle() +ChoiceSingle5="name,Single5;style,single5;screen,"..Branch.AfterSelectStyle() +ChoiceSingle8="name,Single8;style,single8;screen,"..Branch.AfterSelectStyle() +ChoiceVersus4="name,Versus4;style,versus4;screen,"..Branch.AfterSelectStyle() +ChoiceVersus5="name,Versus5;style,versus5;screen,"..Branch.AfterSelectStyle() +ChoiceVersus8="name,Versus8;style,versus8;screen,"..Branch.AfterSelectStyle() +ChoiceDouble4="name,Double4;style,double4;screen,"..Branch.AfterSelectStyle() +ChoiceDouble5="name,Double5;style,double5;screen,"..Branch.AfterSelectStyle() +ChoiceDouble8="name,Double8;style,double8;screen,"..Branch.AfterSelectStyle() +# +PerChoiceScrollElement=false +PerChoiceIconElement=false +# +ShowScroller=true +WrapScroller=true +ShowIcon=false +# + +[ScreenSelectPlayMode] +# (formerly known as ScreenSelectPlayStyle before sm-ssc v1.0 beta 3) +Class="ScreenSelectMaster" +Fallback="ScreenSelectMaster" +NextScreen=Branch.GetGameInformationScreen +PrevScreen=Branch.TitleMenu() +TimerSeconds=30 +# +DefaultChoice="Normal" +ChoiceNames="Normal,Rave,Nonstop,Oni,Endless" +# +PerChoiceScrollElement=false +PerChoiceIconElement=false +# +ShowScroller=true +WrapScroller=true +ShowIcon=false +# +ChoiceEasy="applydefaultoptions;name,Easy;text,Easy;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal" +ChoiceNormal="applydefaultoptions;name,Normal;text,Normal;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal" +ChoiceHard="applydefaultoptions;name,Hard;text,Hard;playmode,regular;difficulty,hard;screen,ScreenSelectMusic;setenv,sMode,Normal" +ChoiceRave="applydefaultoptions;name,Rave;text,Rave;playmode,rave;screen,ScreenSelectMusic;setenv,sMode,Rave" +ChoiceNonstop="applydefaultoptions;name,Nonstop;text,Extended;playmode,nonstop;screen,ScreenSelectCourse;setenv,sMode,Nonstop" +ChoiceOni="applydefaultoptions;name,Oni;text,Oni;playmode,oni;screen,ScreenSelectCourse;setenv,sMode,Oni" +ChoiceEndless="applydefaultoptions;name,Endless;text,Endless;playmode,endless;screen,ScreenSelectCourse;setenv,sMode,Endless" + +[ScreenSelectCharacter] +Class="ScreenSelectCharacter" +Fallback="ScreenWithMenuElements" +WaitForChildrenBeforeTweeningOut=true +TitleP1OnCommand=x,140;y,80;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +TitleP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +TitleP2OnCommand=x,500;y,80;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +TitleP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +CardP1OnCommand=x,140;y,180;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +CardP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +CardP2OnCommand=x,500;y,180;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +CardP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +CardArrowsP1OnCommand=x,140;y,180;diffusealpha,0;linear,0.3;diffusealpha,1 +CardArrowsP1OffCommand=linear,0.3;diffusealpha,0 +CardArrowsP2OnCommand=x,500;y,180;diffusealpha,0;linear,0.3;diffusealpha,1 +CardArrowsP2OffCommand=linear,0.3;diffusealpha,0 +ExplanationOnCommand=x,SCREEN_CENTER_X;y,140;diffusealpha,0;linear,0.3;diffusealpha,1 +ExplanationOffCommand=linear,0.3;diffusealpha,0 +AttackFrameP1OnCommand=x,140;y,380;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +AttackFrameP2OnCommand=x,500;y,380;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +AttackIconWidth=40 +AttackIconHeight=40 +AttackIconsP1StartX=SCREEN_CENTER_X-192 +AttackIconsP1StartY=SCREEN_CENTER_Y+116 +AttackIconsP2StartX=SCREEN_CENTER_X+168 +AttackIconsP2StartY=SCREEN_CENTER_Y+116 +AttackIconsSpacingX=42 +AttackIconsSpacingY=32 +AttackIconsP1OnCommand=addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +AttackIconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +AttackIconsP2OnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +AttackIconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +IconWidth=40 +IconHeight=40 +IconsP1OnCommand=addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +IconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +IconsP2OnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +IconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +SleepAfterTweenOffSeconds=0.8 +TimerSeconds=40 +ShowStyleIcon=true +PrevScreen=ScreenTitleBranch() +NextScreen=SongSelectionScreen() + +[ScreenGameInformation] +Class="ScreenSelectMaster" +Fallback="ScreenSelectMaster" +NextScreen=GAMESTATE:IsCourseMode() and "ScreenSelectCourse" or "ScreenSelectMusic" +PrevScreen=Branch.TitleMenu() +TimerSeconds=15 +# +DefaultChoice="Delay" +ChoiceNames="Delay" +# +ChoiceDelay="screen,ScreenSelectMusic" +# +ShowScroller=false +ShowIcon=false +# + +[ScreenSelectMusic] +Class="ScreenSelectMusic" +Fallback="ScreenWithMenuElements" +NextScreen=Branch.PlayerOptions() +PrevScreen=Branch.TitleMenu() +# +MusicWheelType="MusicWheel" +Codes="" +# +TimerSeconds=120 +DoRouletteOnMenuTimer=true +RouletteTimerSeconds=15 +IdleCommentSeconds=20 +HardCommentMeter=10 +# +DefaultSort=GAMESTATE:IsCourseMode() and "Group" or "AllCourses" +# +SampleMusicPreviewMode='SampleMusicPreviewMode_Normal' +SampleMusicLoops=true +SampleMusicFallbackFadeInSeconds=0 +SampleMusicFadeOutSeconds=1.5 +# +UseOptionsList=false +OptionsListTimeout=0.25 +# +UsePlayerSelectMenu=false +SelectMenuScreenName="ScreenPlayerOptions" +OptionsMenuAvailable=AllowOptionsMenu() +SelectMenuAvailable=false +ModeMenuAvailable=true +# +ShowOptionsMessageSeconds=1.5 +PlaySoundOnEnteringOptionsMenu=true +# +ScreenModsCommand=setupmusicstagemods +# +PreviousSongButton="MenuLeft" +NextSongButton="MenuRight" +# +ChangeStepsWithGameButtons=false +PreviousDifficultyButton="MenuUp" +NextDifficultyButton="MenuDown" +# +ChangeGroupsWithGameButtons=false +PreviousGroupButton="MenuUp" +NextGroupButton="MenuDown" +# +TwoPartSelection=TwoPartSelection() +TwoPartConfirmsOnly=false +TwoPartTimerSeconds=30 +# +SampleMusicDelay=0.25 +SampleMusicDelayInit=0 +AlignMusicBeat=false +SelectMenuChangesDifficulty=true +WrapChangeSteps=false +# +MusicWheelX=SCREEN_CENTER_X+160 +MusicWheelY=SCREEN_CENTER_Y +MusicWheelOnCommand= +MusicWheelOffCommand= +# +BannerX=SCREEN_CENTER_X-160 +BannerY=SCREEN_TOP+160-36 +BannerOnCommand=scaletoclipped,256,80 +BannerOffCommand= +# +CDTitleX=SCREEN_CENTER_X-160+90 +CDTitleY=SCREEN_TOP+160+(36/2)+8 +CDTitleFrontCommand= +CDTitleBackCommand= +CDTitleOnCommand=visible,false +CDTitleOffCommand= +# +NullScoreString=string.format("% 9i",0) +# +ScoreFrameP1X= +ScoreFrameP1Y= +ScoreFrameP1OnCommand=visible,false +ScoreFrameP1OffCommand= +ScoreP1X= +ScoreP1Y= +ScoreP1OnCommand=visible,false +ScoreP1OffCommand= +# +ScoreP2X= +ScoreP2Y= +ScoreP2OnCommand=visible,false +ScoreP2OffCommand= +ScoreFrameP2X= +ScoreFrameP2Y= +ScoreFrameP2OnCommand=visible,false +ScoreFrameP2OffCommand= +# +ScoreP1SortChangeCommand=stoptweening; +ScoreP2SortChangeCommand=stoptweening; +ScoreFrameP1SortChangeCommand=stoptweening; +ScoreFrameP2SortChangeCommand=stoptweening; + +[ScreenSelectCourse] +Class="ScreenSelectMusic" +Fallback="ScreenSelectMusic" +# +DefaultSort="Nonstop" +ScreenModsCommand=setupcoursestagemods +# +MusicWheelType="CourseWheel" +Codes="CourseCodeDetector" + +[CourseCodeDetector] +Fallback="CodeDetector" +NextSort1= +NextSort2= +NextSort3= +NextSort4= + +[StepsDisplay] +FrameX=0 +FrameY=0 +FrameOnCommand= +FrameLoadCommand=%function(self,param) local bFlip = param.PlayerState and param.PlayerState:GetPlayerNumber() ~= PLAYER_1; self:zoomx(bFlip and -1 or 1); end +FrameSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) end end +NumTicks=10 +MaxTicks=14 +TicksX=0 +TicksY=0 +TicksOnCommand=shadowlength,0; +TicksSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) if param.Meter > 9 then self:glowshift() else self:stopeffect() end end end +ShowTicks=false +ShowMeter=true +MeterFormatString="%i" +ZeroMeterString="?" +MeterX=30 +MeterY=0 +MeterOnCommand=shadowlength,0 +MeterSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); end end +ShowDescription=true +DescriptionX=-10 +DescriptionY=0 +DescriptionOnCommand=shadowlength,0;uppercase,true; +DescriptionSetCommand=%function(self,param) if param.CustomDifficulty and param.CustomDifficulty ~= "" then self:diffuse(CustomDifficultyToLightColor(param.CustomDifficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); end end +ShowCredit=false +CreditX=0 +CreditY=0 +CreditOnCommand= +CreditSetCommand= +ShowAutogen=true +AutogenX=40 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand= +ShowStepsType=false +StepsTypeX=0 +StepsTypeY=0 +StepsTypeOnCommand= + +[StepsDisplayGameplay] +Fallback="StepsDisplay" + +[ScreenStageInformation] +Class="ScreenSplash" +Fallback="ScreenSplash" +NextScreen=Branch.GameplayScreen() +PrevScreen=Branch.BackOutOfStageInformation() +PrepareScreen="ScreenGameplay" +# +ForceTimer=true +TimerStealth=true +TimerMetricsGroup="MenuTimerNoSound" +WaitForChildrenBeforeTweeningOut=true +TimerSeconds=1 +# +ScreenBeginCommand= + +[ScreenOptions] +Fallback="ScreenWithMenuElements" + +NavigationMode=OptionsNavigationMode() +InputMode="individual" +ForceAllPlayers=false +# +RepeatRate=12 +RepeatDelay=0.25 +# +OptionRowNormalMetricsGroup="OptionRow" +OptionRowExitMetricsGroup="OptionRowExit" +# +NumRowsShown=8 +RowInitCommand= +RowOnCommand= +RowOffCommand= +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-146+36*offsetFromCenter) end +# +ShowExplanations=true +ExplanationP1X=SCREEN_CENTER_X-256-20 +ExplanationP1Y=SCREEN_CENTER_Y+174 +ExplanationP1OnCommand=shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,0;cropright,1;linear,0.5;cropright,0 +ExplanationP1OffCommand= +ExplanationP2X=SCREEN_CENTER_X+256+20 +ExplanationP2Y=SCREEN_CENTER_Y+174 +ExplanationP2OnCommand=shadowlength,1;wrapwidthpixels,256/0.5;zoom,0.5;halign,1;cropright,1;linear,0.5;cropright,0 +ExplanationP2OffCommand= +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+184 +ExplanationTogetherOnCommand=stoptweening;shadowlength,0;zoom,0.75;wrapwidthpixels,(SCREEN_WIDTH*0.9375)*1.25;cropright,1;linear,0.5;cropright,0 +ExplanationTogetherOffCommand=stoptweening +# +DisqualifyP1X= +DisqualifyP1Y= +DisqualifyP1OnCommand=visible,false +DisqualifyP1OffCommand= +DisqualifyP2X= +DisqualifyP2Y= +DisqualifyP2OnCommand=visible,false +DisqualifyP2OffCommand= +# +PageX=SCREEN_CENTER_X +PageY=SCREEN_CENTER_Y +PageOnCommand= +ContainerOnCommand= +ContainerOffCommand= +# +CursorOnCommand= +CursorTweenSeconds=0.3 +# +LineHighlightX=SCREEN_CENTER_X +LineHighlightP1OnCommand= +LineHighlightP1ChangeCommand= +LineHighlightP1ChangeToExitCommand= +LineHighlightP2OnCommand= +LineHighlightP2ChangeCommand= +LineHighlightP2ChangeToExitCommand= +# +ShowScrollBar=false +ScrollBarHeight=0 +ScrollBarTime=0 +# +ShowExitRow=true +SeparateExitRow=true +SeparateExitRowY=SCREEN_CENTER_Y+140 +# +MoreX= +MoreY= +MoreOnCommand=visible,false +MoreExitSelectedP1Command= +MoreExitSelectedP2Command= +MoreExitUnselectedP1Command= +MoreExitUnselectedP2Command= +# +AllowRepeatingChangeValueInput=true +WrapValueInRow=true + +[ScreenOptionsMaster] +Fallback="ScreenOptions" +Class="ScreenOptionsMaster" + +NoteSkinSortOrder="" +StepsUseChartName=false +StepsRowLayoutType="ShowAllInRow" + +# ExitItem is an exit row with the "Exit" text as a menu item; ExitTitle +# uses the menu title. +ExitItem="1;together;SelectNone;showoneinrow" +ExitItemDefault="" +ExitItem,1="screen," .. Screen.Metric("NextScreen") .. ";name,ExitItem" +ExitTitle="1;together;SelectNone;showoneinrow" +ExitTitleDefault="" +ExitTitle,1="screen," .. Screen.Metric("NextScreen") .. ";name,ExitTitle" + +# Player options +## legacy speed row +Speed="12;" +SpeedDefault="mod,1x,no randomspeed" +Speed,1="mod,0.25x;name,x0.25" +Speed,2="mod,0.50x;name,x0.50" +Speed,3="mod,0.75x;name,x0.75" +Speed,4="mod,1x;name,x1" +Speed,5="mod,1.5x;name,x1.5" +Speed,6="mod,2x;name,x1.75" +Speed,7="mod,3x;name,x2" +Speed,8="mod,4x;name,x2.25" +Speed,9="mod,8x;name,x2.5" +Speed,10="mod,C150;name,C150" +Speed,11="mod,C300;name,C300" +Speed,12="mod,1x,200% randomspeed;name,Random" + +Accel="5;selectmultiple" +AccelDefault="mod,no boost,no brake,no wave,no expand,no boomerang" +Accel,1="mod,boost;name,Boost" +Accel,2="mod,brake;name,Brake" +Accel,3="mod,wave;name,Wave" +Accel,4="mod,expand;name,Expand" +Accel,5="mod,boomerang;name,Boomerang" + +# Accel="6" +# AccelDefault="mod,no boost,no brake,no wave,no expand,no boomerang" +# Accel,1="name,Off" +# Accel,2="mod,boost;name,Boost" +# Accel,3="mod,brake;name,Brake" +# Accel,4="mod,wave;name,Wave" +# Accel,5="mod,expand;name,Expand" +# Accel,6="mod,boomerang;name,Boomerang" + +Effect="15;selectmultiple" +EffectDefault="mod,no drunk,no dizzy,,no twirl,no roll,no confusion,no mini,no tiny,no flip,no invert,no tornado,no tipsy,no bumpy,no beat,no xmode" +Effect,1="mod,drunk;name,Drunk" +Effect,2="mod,dizzy;name,Dizzy" +Effect,3="mod,twirl;name,Twirl" +Effect,4="mod,roll;name,Roll" +Effect,5="mod,confusion;name,Confusion" +Effect,6="mod,mini;name,Mini" +Effect,7="mod,tiny;name,Tiny" +Effect,8="mod,-100% mini;name,Big" +Effect,9="mod,flip;name,Flip" +Effect,10="mod,invert;name,Invert" +Effect,11="mod,tornado;name,Tornado" +Effect,12="mod,tipsy;name,Tipsy" +Effect,13="mod,bumpy;name,Bumpy" +Effect,14="mod,beat;name,Beat" +Effect,15="mod,45% xmode;name,XMode" + +EffectsReceptor="6;selectmultiple" +EffectsReceptorDefault="mod,no confusion,no invert,no flip,no mini,no xmode" +EffectsReceptor,1="mod,confusion;name,Confusion" +EffectsReceptor,2="mod,invert;name,Invert" +EffectsReceptor,3="mod,Flip;name,Flip" +EffectsReceptor,4="mod,mini;name,Mini" +EffectsReceptor,5="mod,-35% mini;name,Big" +EffectsReceptor,6="mod,45% xmode;name,XMode" + +EffectsArrow="8;selectmultiple" +EffectsArrowDefault="mod,no drunk,no dizzy,no twirl,no roll,no beat,no tipsy,no tornado,no bumpy" +EffectsArrow,1="mod,drunk;name,Drunk" +EffectsArrow,2="mod,dizzy;name,Dizzy" +EffectsArrow,3="mod,twirl;name,Twirl" +EffectsArrow,4="mod,roll;name,Roll" +EffectsArrow,5="mod,beat;name,Beat" +EffectsArrow,6="mod,tipsy;name,Tipsy" +EffectsArrow,7="mod,50% tornado;name,Tornado" +EffectsArrow,8="mod,bumpy;name,Bumpy" + +# Effect="9" +# EffectDefault="mod,no drunk,no dizzy,no confusion,no mini,no flip,no tornado,no tipsy" +# Effect,1="name,Off" +# Effect,2="mod,drunk;name,Drunk" +# Effect,3="mod,dizzy;name,Dizzy" +# Effect,4="mod,confusion;name,Confusion" +# Effect,5="mod,mini;name,Mini" +# Effect,6="mod,-100% mini;name,Big" +# Effect,7="mod,flip;name,Flip" +# Effect,8="mod,tornado;name,Tornado" +# Effect,9="mod,tipsy;name,Tipsy" + +# XXX: what of hiddenoffset and suddenoffset? +Appearance="4;selectmultiple" +AppearanceDefault="mod,no hidden,no sudden,no stealth,no blink,no randomvanish" +Appearance,1="mod,hidden;name,Hidden" +Appearance,2="mod,sudden;name,Sudden" +Appearance,3="mod,stealth;name,Stealth" +Appearance,4="mod,blink;name,Blink" + +# Appearance="6" +# AppearanceDefault="mod,no hidden,no sudden,no stealth,no blink,no randomvanish" +# Appearance,1="name,Visible" +# Appearance,2="mod,hidden;name,Hidden" +# Appearance,3="mod,sudden;name,Sudden" +# Appearance,4="mod,stealth;name,Stealth" +# Appearance,5="mod,blink;name,Blink" +# Appearance,6="mod,randomvanish;name,R.Vanish" + +Turn="7;selectmultiple" +TurnDefault="mod,no turn" +Turn,1="mod,mirror;name,Mirror" +Turn,2="mod,backwards;name,Backwards" +Turn,3="mod,left;name,Left" +Turn,4="mod,right;name,Right" +Turn,5="mod,shuffle;name,Shuffle" +Turn,6="mod,supershuffle;name,SuperShuffle" +Turn,7="mod,softshuffle;name,SoftShuffle" + +# Turn="6" +# TurnDefault="mod,no turn" +# Turn,1="name,Off" +# Turn,2="mod,mirror;name,Mirror" +# Turn,3="mod,left;name,Left" +# Turn,4="mod,right;name,Right" +# Turn,5="mod,shuffle;name,Shuffle" +# Turn,6="mod,supershuffle;name,SuperShuffle" + +Insert="7;selectmultiple" +InsertDefault="mod,no wide,no big,no quick,no skippy,no echo,no stomp,no bmrize" +Insert,1="mod,wide;name,Wide" +Insert,2="mod,big;name,Big" +Insert,3="mod,quick;name,Quick" +Insert,4="mod,bmrize;name,BMRize" +Insert,5="mod,skippy;name,Skippy" +Insert,6="mod,echo;name,Echo" +Insert,7="mod,stomp;name,Stomp" + +RemoveCombinations="4;selectmultiple" +RemoveCombinationsDefault="mod,no little,no nojumps,no nohands,no noquads" +RemoveCombinations,1="mod,little;name,Little" +RemoveCombinations,2="mod,nojumps;name,NoJumps" +RemoveCombinations,3="mod,nohands;name,NoHands" +RemoveCombinations,4="mod,noquads;name,NoQuads" + +RemoveFeatures="4;selectmultiple" +RemoveFeaturesDefault="mod,no nostretch,no norolls,no nolifts,no nofakes" +RemoveFeatures,1="mod,nostretch;name,NoStretch" +RemoveFeatures,2="mod,norolls;name,NoRolls" +RemoveFeatures,3="mod,nolifts;name,NoLifts" +RemoveFeatures,4="mod,nofakes;name,NoFakes" + +# Insert="8" +# InsertDefault="mod,no little,no wide,no big,no quick,no skippy,no echo,no stomp" +# Insert,1="name,Off" +# Insert,2="mod,little;name,Little" +# Insert,3="mod,wide;name,Wide" +# Insert,4="mod,big;name,Big" +# Insert,5="mod,quick;name,Quick" +# Insert,6="mod,skippy;name,Skippy" +# Insert,7="mod,echo;name,Echo" +# Insert,8="mod,stomp;name,Stomp" + +Scroll="5;selectmultiple" +ScrollDefault="mod,no reverse,no split,no alternate,no cross,no centered" +Scroll,1="mod,reverse;name,Reverse" +Scroll,2="mod,split;name,Split" +Scroll,3="mod,alternate;name,Alternate" +Scroll,4="mod,cross;name,Cross" +Scroll,5="mod,centered;name,Centered" + +# Scroll="5" +# ScrollDefault="mod,no reverse,no split,no alternate,no cross" +# Scroll,1="name,Standard" +# Scroll,2="mod,reverse;name,Reverse" +# Scroll,3="mod,split;name,Split" +# Scroll,4="mod,alternate;name,Alternate" +# Scroll,5="mod,cross;name,Cross" + +Holds="4;selectmultiple" +HoldsDefault="mod,no noholds,no planted,no twister,no holdrolls" +Holds,1="mod,noholds;name,NoHolds" +Holds,2="mod,planted;name,Planted" +Holds,3="mod,twister;name,Twister" +Holds,4="mod,holdrolls;name,HoldsToRolls" + +# Holds="7" +# HoldsDefault="mod,no noholds,no planted,no twister,no nojumps,no nohands, no holdstorolls" +# Holds,1="mod,noholds;name,Off" +# Holds,2="name,On" +# Holds,3="mod,planted;name,Planted" +# Holds,4="mod,twister;name,Twister" +# Holds,5="mod,holdstorolls;name,HoldsToRolls" +# Holds,6="mod,nojumps;name,NoJumps" +# Holds,7="mod,nohands;name,NoHands" + +Mines="4" +MinesDefault="mod,no nomines,no mines,no attackmines" +Mines,1="mod,nomines;name,Off" +Mines,2="name,On" +Mines,3="mod,mines;name,Add" +Mines,4="mod,attackmines;name,AttackMines" + +Attacks="3" +AttacksDefault="mod,no randomattacks, no noattacks" +Attacks,1="name,On" +Attacks,2="mod,randomattacks;name,RandomAttacks" +Attacks,3="mod,noattacks;name,Off" + +PlayerAutoPlay="2" +PlayerAutoPlayDefault="mod,no playerautoplay" +PlayerAutoPlay,1="name,Off" +PlayerAutoPlay,2="mod,playerautoplay;name,On" + +Hide="3;selectmultiple" +HideDefault="mod,no dark,no blind,no cover" +Hide,1="mod,dark;name,Dark" +Hide,2="mod,blind;name,Blind" +Hide,3="mod,80% cover;name,Cover" + +# Hide="3" +# HideDefault="mod,no dark,no blind" +# Hide,1="name,Off" +# Hide,2="mod,dark;name,Dark" +# Hide,3="mod,blind;name,Blind" + +Persp="5" +PerspDefault="mod,overhead" +Persp,1="mod,incoming;name,Incoming" +Persp,2="mod,overhead;name,Overhead" +Persp,3="mod,space;name,Space" +Persp,4="mod,hallway;name,Hallway" +Persp,5="mod,distant;name,Distant" + +# Song options +# LifeType="3" +LifeType=(GAMESTATE:IsCourseMode() and 3 or 2)..";together" +LifeTypeDefault="" +LifeType,1="mod,bar;name,Bar" +LifeType,2="mod,battery;name,Battery" +LifeType,3="mod,lifetime;name,LifeTime" +# +BarDrain="3;together" +BarDrainDefault="" +BarDrain,1="mod,normal-drain;name,Normal" +BarDrain,2="mod,norecover;name,NoRecover" +BarDrain,3="mod,suddendeath;name,SuddenDeath" +# +BatLives="10;together" +BatLivesDefault="" +BatLives,1="mod,1 life;name,1" +BatLives,2="mod,2 lives;name,2" +BatLives,3="mod,3 lives;name,3" +BatLives,4="mod,4 lives;name,4" +BatLives,5="mod,5 lives;name,5" +BatLives,6="mod,6 lives;name,6" +BatLives,7="mod,7 lives;name,7" +BatLives,8="mod,8 lives;name,8" +BatLives,9="mod,9 lives;name,9" +BatLives,10="mod,10 lives;name,10" +# +Fail="4;together" +FailDefault="mod,faildefault" +Fail,1="mod,failimmediate;name,Immediate" +Fail,2="mod,failimmediatecontinue;name,ImmediateContinue" +Fail,3="mod,failatend;name,FailAtEnd" +Fail,4="mod,failoff;name,Off" +# +Assist="4;together" +AssistDefault="" +Assist,1="mod,no clap,no metronome;name,Off" +Assist,2="mod,clap,no metronome;name,Clap" +Assist,3="mod,no clap,metronome;name,Metronome" +Assist,4="mod,clap,metronome;name,Both" +# +Rate="21;together" +RateDefault="mod,1.0xmusic;mod,no haste" +Rate,1="mod,0.25xmusic;name,0.25x" +Rate,2="mod,0.50xmusic;name,0.5x" +Rate,3="mod,0.75xmusic;name,0.75x" +Rate,4="mod,0.8xmusic;name,0.8x" +Rate,5="mod,0.9xmusic;name,0.9x" +Rate,6="mod,1.0xmusic;name,1.0x" +Rate,7="mod,haste;name,Haste" +Rate,8="mod,1.1xmusic;name,1.1x" +Rate,9="mod,1.2xmusic;name,1.2x" +Rate,10="mod,1.25xmusic;name,1.25x" +Rate,11="mod,1.3xmusic;name,1.3x" +Rate,12="mod,1.333xmusic;name,1.333x" +Rate,13="mod,1.4xmusic;name,1.4x" +Rate,14="mod,1.5xmusic;name,1.5x" +Rate,15="mod,1.6xmusic;name,1.6x" +Rate,16="mod,1.667xmusic;name,1.667x" +Rate,17="mod,1.7xmusic;name,1.7x" +Rate,18="mod,1.75xmusic;name,1.75x" +Rate,19="mod,1.8xmusic;name,1.8x" +Rate,20="mod,1.9xmusic;name,1.9x" +Rate,21="mod,2.0xmusic;name,2.0x" +# +AutoAdjust="4;together" +AutoAdjustDefault="" +AutoAdjust,1="mod,no autosync;name,Off" +AutoAdjust,2="mod,autosyncsong;name,Sync Song" +AutoAdjust,3="mod,autosyncmachine;name,Sync Machine" +AutoAdjust,4="mod,autosynctempo;name,Sync Tempo" +# +SoundEffect="3;together" +SoundEffectDefault="" +SoundEffect,1="mod,no effect;name,Off" +SoundEffect,2="mod,EffectSpeed;name,EffectSpeed" +SoundEffect,3="mod,EffectPitch;name,EffectPitch" +# +Background="3;together" +BackgroundDefault="" +Background,1="mod,no effect;name,Default" +Background,2="mod,staticbg;name,StaticBG" +Background,3="mod,randombg;name,RandomBG" +# +SaveScores="2;together" +SaveScoresDefault="" +SaveScores,1="mod,no savescore;name,Off" +SaveScores,2="mod,savescore;name,On" +# +SaveReplays="2;together" +SaveReplaysDefault="" +SaveReplays,1="mod,no savereplay;name,Off" +SaveReplays,2="mod,savereplay;name,On" + +#ScreenJukeboxMenu +RandomModifiers="2;together" +RandomModifiersDefault="mod,clear" +RandomModifiers,1="name,Off" +RandomModifiers,2="mod,random;name,Random" + +# ScreenOptionsEditMode +Edit Steps="1;together;SelectNone" +Edit StepsDefault="" +Edit Steps,1="screen,ScreenOptionsManageEditSteps;name,Transfer To USB Drive" +# +Transfer To USB Drive="1;together;SelectNone" +Transfer To USB DriveDefault="" +Transfer To USB Drive,1="screen,ScreenOptionsManageEditSteps;name,Transfer To USB Drive" +# +Transfer From USB Drive="1;together;SelectNone" +Transfer From USB DriveDefault="" +Transfer From USB Drive,1="screen,ScreenOptionsManageEditSteps;name,Transfer From USB Drive" + +[ScreenOptionsSimple] +Fallback="ScreenOptionsMaster" +NavigationMode="menu" +InputMode="together" +ForceAllPlayers=true + +NumRowsShown=11 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-154+28*offsetFromCenter) end +ShowExitRow=true +SeparateExitRow=false +SeparateExitRowY=SCREEN_CENTER_Y+180 + +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+174 +ExplanationTogetherOnCommand=stoptweening;zoom,0.75;shadowlength,0;wrapwidthpixels,600/0.75;cropright,1;linear,0.5;cropright,0 +ExplanationTogetherOffCommand=stoptweening + +[ScreenOptionsSimpleService] +Fallback="ScreenOptionsSimple" + +OptionRowNormalMetricsGroup="OptionRowService" + +LineHighlightP1OnCommand=visible,false +LineHighlightP1ChangeCommand= +LineHighlightP1ChangeToExitCommand= + +LineHighlightP2OnCommand=visible,false +LineHighlightP2ChangeCommand= +LineHighlightP2ChangeToExitCommand= + +CursorOnCommand=visible,false + +[ScreenOptionsService] +AllowOperatorMenuButton=false +Class="ScreenOptionsMaster" +Fallback="ScreenOptionsSimpleService" +# +NextScreen=Branch.AfterInit() +PrevScreen=Branch.AfterInit() + +LineNames="GameType,GraphicSound,KeyConfig,Arcade,InputOptions,SoundGraphics,Profiles,Network,Advanced,Reload,Credits" + +LineSync="gamecommand;screen,ScreenGameplaySyncMachine;name,Calibrate Machine Sync" +LineGameType="gamecommand;screen,ScreenSelectGame;name,Select Game" +LineKeyConfig="gamecommand;screen,ScreenMapControllers;name,Key Joy Mappings" +LineTestInput="gamecommand;screen,ScreenTestInput;name,Test Input" +LineInput="gamecommand;screen,ScreenOptionsInput;name,Input Options" +LineReload="gamecommand;screen,ScreenReloadSongs;name,Reload Songs" +LineArcade="gamecommand;screen,ScreenOptionsArcade;name,Arcade Options" +LineAppearance="gamecommand;screen,ScreenAppearanceOptions;name,Appearance Options" +LineBGFit="gamecommand;screen,ScreenSetBGFit;name,Set BG Fit Mode" +LineOverscan="gamecommand;screen,ScreenOverscanConfig;name,Overscan Correction" +LineGraphicSound="gamecommand;screen,ScreenOptionsGraphicsSound;name,Graphics/Sound Options" +LineProfiles="gamecommand;screen,ScreenOptionsManageProfiles;name,Profiles" +LineNetwork="gamecommand;screen,ScreenNetworkOptions;name,Network Options" +LineUI="gamecommand;screen,ScreenOptionsUI;name,UI Options" +LineAdvanced="gamecommand;screen,ScreenOptionsAdvanced;name,Advanced Options" +LineMoreOptions="gamecommand;screen,ScreenOptionsExtended;name,More Options" +LineCredits="gamecommand;screen,ScreenCredits;name,StepMania Credits" +LineSoundGraphics="gamecommand;screen,ScreenOptionsDisplaySub;name,Display Options" +LineInputOptions="gamecommand;screen,ScreenOptionsInputSub;name,InputOptions" + +# Old +#LineNames="SystemDirection,KeyConfig,GameType,6,8,Reload,Credits,MoreOptions" +# LineNames="SystemDirection,1,2,Sync,13,3,10,11,4,12,6,5,Theme,8,9" + +# for ScreenOptionsExtended: +#LineSystemDirection="gamecommand;screen,ScreenOptionsSystemDirection;name,System Direction" +#Line2="gamecommand;screen,ScreenTestInput;name,Test Input" +#Line3="gamecommand;screen,ScreenAppearanceOptions;name,Appearance Options" +#Line4="gamecommand;screen,ScreenOptionsGraphicsSound;name,Graphics/Sound Options" +#Line5="gamecommand;screen,ScreenOptionsAdvanced;name,Advanced Options" +#Line6="gamecommand;screen,ScreenNetworkOptions;name,Network Options" +#Line8="gamecommand;screen,ScreenOptionsManageProfiles;name,Profiles" +#Line10="gamecommand;screen,ScreenOptionsUI;name,UI Options" +#Line11="gamecommand;screen,ScreenOptionsInput;name,Input Options" +#Line12="gamecommand;screen,ScreenOptionsArcade;name,Arcade Options" +#LineTheme="gamecommand;screen,ScreenOptionsTheme;name,Theme Options" +#LineMoreOptions="gamecommand;screen,ScreenOptionsExtended;name,More Options" +#LineCredits="gamecommand;screen,ScreenCredits;name,StepMania Credits" + +[ScreenOptionsInputSub] +Fallback="ScreenOptionsService" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="TestInput,Input,Sync" +LineTestInput="gamecommand;screen,ScreenTestInput;name,Test Input" +LineInput="gamecommand;screen,ScreenOptionsInput;name,Input Options" +LineSync="gamecommand;screen,ScreenGameplaySyncMachine;name,Calibrate Machine Sync" + + + + + +[ScreenOptionsDisplaySub] +Fallback="ScreenOptionsService" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="BGFit,Appearance,UI,Overscan" +LineAppearance="gamecommand;screen,ScreenAppearanceOptions;name,Appearance Options" +LineBGFit="gamecommand;screen,ScreenSetBGFit;name,Set BG Fit Mode" +LineOverscan="gamecommand;screen,ScreenOverscanConfig;name,Overscan Correction" +LineUI="gamecommand;screen,ScreenOptionsUI;name,UI Options" + + + +[ScreenOptionsExtended] +Fallback="ScreenOptionsService" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +# +LineNames="TestInput,Sync,Appearance,UI,Input,GraphicSound,Arcade,Advanced" +LineUI="gamecommand;screen,ScreenOptionsUI;name,UI Options" + + +[ScreenOptionsServiceChild] +Fallback="ScreenOptionsMaster" +PrevScreen="ScreenOptionsService" +NextScreen="ScreenOptionsService" +TimerSeconds=-1 +TimerOnCommand=visible,false +AllowOperatorMenuButton=false +# +ForceAllPlayers=true +LightsMode="LightsMode_MenuStartAndDirections" +NavigationMode="normal" +InputMode="together" +# +ShowStyleIcon=false +HelpText=Screen.String("HelpTextOptionsAndBack") +# +LineHighlightP1OnCommand=visible,false +LineHighlightP1ChangeCommand= +LineHighlightP1ChangeToExitCommand= +# +LineHighlightP2OnCommand=visible,false +LineHighlightP2ChangeCommand= +LineHighlightP2ChangeToExitCommand= +# +ExplanationTogetherX=SCREEN_CENTER_X +ExplanationTogetherY=SCREEN_CENTER_Y+174 +ExplanationTogetherOnCommand=stoptweening;zoom,0.625;shadowlength,0;wrapwidthpixels,600/0.665;cropright,1;linear,0.5;cropright,0 +ExplanationTogetherOffCommand=stoptweening + +[ScreenOptionsServiceExtendedChild] +Fallback="ScreenOptionsServiceChild" + +[ScreenMiniMenu] +Class="ScreenMiniMenu" +Fallback="ScreenOptions" +PrevScreen= +TimerSeconds=-1 +AllowRepeatingChangeValueInput=true +# +ShowHelp=false +ShowExplanations=false +ShowExitRow=false +ShowStyleIcon=false +# +HeaderX=SCREEN_CENTER_X +HeaderY=SCREEN_TOP+40 +HeaderOnCommand= +HeaderOffCommand= +# +OptionRowNormalMetricsGroup="OptionRowMiniMenu" +NumRowsShown=30 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local indexOffset = itemIndex-(numItems-1)/2; self:y( SCREEN_CENTER_Y + indexOffset * 20 ); end +ColorDisabled=color("0.8,0.8,0.8,0.975") +# +ContainerOnCommand= +ContainerOffCommand= +CursorOnCommand=visible,false + +[OptionRowMiniMenu] +Fallback="OptionRow" +IconsP1X=SCREEN_CENTER_X-280 +IconsP2X=SCREEN_CENTER_X+280 +IconsOnCommand=x,-30 +FrameX=SCREEN_CENTER_X-232 +TitleX=SCREEN_CENTER_X-150 +TitleOnCommand=halign,0;shadowlength,2; +ItemsStartX=SCREEN_CENTER_X-150 +ItemsEndX=SCREEN_CENTER_X+280 +ItemsGapX=14 +ItemsLongRowP1X=SCREEN_CENTER_X-60 +ItemsLongRowP2X=SCREEN_CENTER_X+100 +ItemsLongRowSharedX=SCREEN_CENTER_X+150 +ItemOnCommand= +ColorSelected=color("0.5,1,0.5,1") +ColorNotSelected=color("1,1,1,1") +ColorDisabled=color("0.65,0,0,1") +TweenSeconds=0 + +[ScreenMiniMenuContext] +Fallback="ScreenMiniMenu" +NumRowsShown=10 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(24*(offsetFromCenter-(numItems-1)/2)) end +LineHighlightX=0 +ShowHelp=false +OptionRowNormalMetricsGroup="OptionRowMiniMenuContext" + +[OptionRowMiniMenuContext] +Fallback="OptionRowMiniMenu" +TitleX=-54 + +[ScreenMapControllers] +Class="ScreenMapControllers" +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +HelpText=Screen.String("HelpTextMapControllers") +# +# This locks the input when the screen starts. +LockInputSecs=2.5 +# The warning cannot be dismissed until this time expires. +# This is additional time after LockInputSecs expires before the warning +# will be sent the TweenOff command. +AutoDismissWarningSecs=2.5 +# This is the number of lines that are visible on screen. Set this if you +# have a footer that covers up the bottom area of the screen. The purpose +# is to have the settings visible on screen even when the player's cursor is +# on the exit choice. +LinesVisible=16 +# This sets how long the NoSetListPrompt will show before being sent TweenOff. +AutoDismissNoSetListPromptSecs=5 +# The time to auto dismiss the sanity warning if the current mapping is not sane. +AutoDismissSanitySecs=5 +# +# The position of the Devices list and its On/Off commands. +DevicesX=SCREEN_CENTER_X +DevicesY=SCREEN_TOP+4 +DevicesOnCommand=vertalign,top;maxheight,92;zoom,0.75;draworder,5;strokecolor,color("0,0,0,1") +DevicesOffCommand= +# +# The ListHeader parts are the row that the player's cursor starts on with +# the names of the columns. +ListHeaderP1S1Command=x,SCREEN_CENTER_X-270 +ListHeaderP1S2Command=x,SCREEN_CENTER_X-195 +ListHeaderP1S3Command=x,SCREEN_CENTER_X-120 +ListHeaderP2S1Command=x,SCREEN_CENTER_X+120 +ListHeaderP2S2Command=x,SCREEN_CENTER_X+195 +ListHeaderP2S3Command=x,SCREEN_CENTER_X+270 +# ListHeaderCenterOnCommand is for the center element of the ListHeader. +ListHeaderCenterOnCommand=x,SCREEN_CENTER_X;y,-6;zoom,0.7;shadowlength,1;ztest,true +# These commands are shared by all the ListHeader parts. +ListHeaderOnCommand=diffuse,color("#808080");shadowlength,0;max_dimension_use_zoom,true;zoom,0.75;maxwidth,130; +ListHeaderGainFocusCommand=diffuse,color("#808080");diffuseshift;effectcolor2,color("#808080");effectcolor1,color("#FFFFFF") +ListHeaderLoseFocusCommand=diffuse,color("#808080");stopeffect +# +# You want to leave the list of buttons to map so that all buttons for the +# current game type will be mappable. +ButtonsToMap="" +# +# The positions of the elements showing what is mapped. +MappedToP1S1Command=x,SCREEN_CENTER_X-270 +MappedToP1S2Command=x,SCREEN_CENTER_X-195 +MappedToP1S3Command=x,SCREEN_CENTER_X-120 +MappedToP2S1Command=x,SCREEN_CENTER_X+120 +MappedToP2S2Command=x,SCREEN_CENTER_X+195 +MappedToP2S3Command=x,SCREEN_CENTER_X+270 +# These commands are shared between all the elements. +MappedToOnCommand=diffuse,color("#808080");shadowlength,0;zoom,0.75;max_dimension_use_zoom,true;maxwidth,130 +# WaitingCommand is executed when the player hits enter to set a key. +MappedToWaitingCommand=diffuse,color("#FF8080");pulse;effectperiod,0.5;effectmagnitude,0.8,1.3,0 +# MappedInputCommand is executed after the player maps the key. +MappedToMappedInputCommand=diffuse,color("#808080");diffuseshift;effectcolor2,color("#808080");effectcolor1,color("#FFFFFF") +MappedToGainFocusCommand=diffuse,color("#808080");diffuseshift;effectcolor2,color("#808080");effectcolor1,color("#FFFFFF") +MappedToLoseFocusCommand=diffuse,color("#808080");stopeffect +# GainMarkCommand is executed when the player adds the element to the set list. +MappedToGainMarkCommand=textglowmode,'TextGlowMode_Inner';glow,color("#FF00007f") +# LoseMarkCommand is executed when the player removes the element from the set list. +MappedToLoseMarkCommand=textglowmode,'TextGlowMode_Inner';glow,color("#FF000000") +# +# The LineScroller is an ActorScroller that controls the positioning of the +# rows. +LineScrollerOnCommand=%function(self) self:draworder(-1); self:y(64) self:setsecondsperitem(0.1) self:SetTransformFromHeight(24) end +LineScrollerOffCommand= +LineHideCommand=visible,false +LineOnCommand=%function(self) self:y(0); self:visible(true); local LeftToRight = math.mod(self.ItemIndex, 2) == 0 and 1 or -1; self:addx(-SCREEN_WIDTH * LeftToRight); end +LineOffCommand=%function(self) local LeftToRight = math.mod(self.ItemIndex, 2) == 0 and 1 or -1; self:stoptweening() self:accelerate(0.3); self:addx(SCREEN_WIDTH * LeftToRight); self:queuecommand('Hide') end +# +# The "P1 slots" and "P2 slots" labels. Use the entries in en.ini to change text. +LabelP1OnCommand=x,SCREEN_CENTER_X*0.4;zoom,0.7;shadowlength,1 +LabelP1OffCommand=linear,0.5;diffusealpha,0 +LabelP2OnCommand=x,SCREEN_CENTER_X*1.6;zoom,0.7;shadowlength,1 +LabelP2OffCommand=linear,0.5;diffusealpha,0 +# The primary effect of keys on this row. +PrimaryOnCommand=x,SCREEN_CENTER_X;y,-6;zoom,0.7;shadowlength,1;ztest,true +# The secondary effect of keys on this row. +SecondaryOnCommand=x,SCREEN_CENTER_X;y,6;zoom,0.5;shadowlength,1;ztest,true + +[ScreenTestInput] +Class="ScreenTestInput" +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsInputSub" +PrevScreen="ScreenOptionsInputSub" + +[ScreenOptionsSystemDirection] +Fallback="ScreenOptionsServiceChild" +PrevScreen="ScreenOptionsService" +NextScreen="ScreenOptionsService" +LineNames="1,2,3,4,5,FNR,6,7,8,9,FA,10,11,12,13,14,15,16,17,18,19,20,21,22" +Line1="conf,Windowed" +Line2="conf,DisplayResolution" +Line3="conf,DisplayAspectRatio" +Line4="conf,HighResolutionTextures" +Line5="conf,Vsync" +LineFNR="conf,FastNoteRendering" +Line6="conf,SoundVolume" +Line7="conf,TimingWindowScale" +Line8="conf,LifeDifficulty" +Line9="conf,AllowW1" +LineFA="conf,DefaultFailType" +Line10="conf,AutogenSteps" +Line11="conf,ShowBanners" +Line12="conf,ShowCaution" +Line13="conf,ShowInstructions" +Line14="conf,ShowDanger" +Line15="conf,ShowSongOptions" +Line16="conf,EasterEggs" +Line17="conf,Theme" +Line18="conf,DefaultNoteskin" +Line19="conf,PercentageScoring" +Line20="conf,BGBrightness" +Line21="conf,Center1Player" +Line22="conf,EventMode" + +[ScreenOptionsGraphicsSound] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="1,2,3,RefreshRate,FSType,4,5,6,7,8,9,10,11,13,FNR,14,17,18,19,20" +Line1="lua,ConfDisplayMode()" +Line2="lua,ConfAspectRatio()" +Line3="lua,ConfDisplayResolution()" +LineRefreshRate="lua,ConfRefreshRate()" +LineFSType="lua,ConfFullscreenType()" +Line4="conf,DisplayColorDepth" +Line5="conf,HighResolutionTextures" +Line6="conf,MaxTextureResolution" +Line7="conf,TextureColorDepth" +Line8="conf,MovieColorDepth" +Line9="conf,SmoothLines" +Line10="conf,CelShadeModels" +Line11="conf,DelayedTextureDelete" +# RefreshRate ConfOption no longer used +Line12="conf,RefreshRate" +Line13="conf,Vsync" +LineFNR="conf,FastNoteRendering" +Line14="conf,ShowStats" +Line15="conf,ShowBanners" +Line16="conf,AttractSoundFrequency" +Line17="conf,SoundVolume" +Line18="conf,EnableAttackSounds" +Line19="conf,EnableMineHitSound" +Line20="conf,VisualDelaySeconds" + +[ScreenOptionsAdvanced] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="3,4,8,SI,SM,HN,11,13,14,15,16,28,29,30,31,32,ECPT" +#LineScore="lua,UserPrefScoringMode()" +Line3="conf,TimingWindowScale" +Line4="conf,LifeDifficulty" +Line8="conf,DefaultFailType" +LineSI="lua,SpeedModIncSize()" +LineSM="lua,SpeedModIncLarge()" +LineHN="conf,MinTNSToHideNotes" +Line11="conf,AllowW1" +Line13="conf,HiddenSongs" +Line14="conf,EasterEggs" +Line15="conf,AllowExtraStage" +Line16="conf,UseUnlockSystem" +Line28="conf,AutogenSteps" +Line29="conf,AutogenGroupCourses" +Line30="conf,FastLoad" +Line31="conf,FastLoadAdditionalSongs" +Line32="conf,AllowSongDeletion" +LineECPT="conf,EditClearPromptThreshold" + +# unused options +#Line2="conf,ScoringType" +#Line5="conf,ProgressiveLifebar" +#Line6="conf,ProgressiveStageLifebar" +#Line7="conf,ProgressiveNonstopLifebar" +#Line8="conf,DefaultFailType" +#Line24="conf,AutoPlay" +#Line31="conf,OnlyPreferredDifficulties" + +[ScreenAppearanceOptions] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsDisplaySub" +PrevScreen="ScreenOptionsDisplaySub" +LineNames="1,2,3,4,5,14,15,SB,17,18,19" +Line1="conf,Language" +Line2="conf,Announcer" +Line3="conf,Theme" +Line4="conf,DefaultNoteSkin" +Line5="conf,PercentageScoring" +Line14="conf,RandomBackgroundMode" +Line15="conf,BGBrightness" +LineSB="conf,BackgroundFitMode" +Line17="conf,ShowDancingCharacters" +Line18="conf,ShowBeginnerHelper" +Line19="conf,NumBackgrounds" + +[ScreenOptionsUI] +# user interface options that aren't related to themes, etc. +# (some don't get used/modified too often) +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsDisplaySub" +PrevScreen="ScreenOptionsDisplaySub" +LineNames="1,4,6,7,8,9,10,11,12,14" +Line1="conf,Center1Player" +Line4="conf,MenuTimer" +Line6="conf,MusicWheelUsesSections" +Line7="conf,ShowBanners" +Line8="conf,ShowCaution" +Line9="conf,ShowDanger" +Line10="conf,ShowInstructions" +Line11="conf,ShowLyrics" +Line12="conf,ShowNativeLanguage" +Line14="conf,ShowSongOptions" + +# unused options +#Line2="conf,CourseSortOrder" +#Line5="conf,MoveRandomToEnd" + +[ScreenOptionsInput] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +LineNames="1,2,3,AH,4,5,6,7,8" +Line1="conf,AutoMapOnJoyChange" +Line2="conf,OnlyDedicatedMenuButtons" +Line3="conf,DelayedBack" +LineAH="conf,AllowHoldForOptions" +Line4="conf,ArcadeOptionsNavigation" +Line5="conf,ThreeKeyNavigation" +Line6="conf,MusicWheelSwitchSpeed" +Line7="conf,InputDebounceTime" +Line8="conf,AxisFix" + +[ScreenOptionsArcade] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsService" +PrevScreen="ScreenOptionsService" +# stuff tied to arcade features +LineNames="1,2,3,4,5,6,7,8,AMT,9,HHLP,10,11,12,13,14" +Line1="conf,GetRankingName" +Line2="conf,CoinMode" +Line3="conf,SongsPerPlay" +Line4="conf,CoinsPerCredit" +Line5="conf,Premium" +Line6="conf,EventMode" +Line7="conf,AllowMultipleHighScoreWithSameName" +Line8="conf,ComboContinuesBetweenSongs" +LineAMT="conf,AllowMultipleToasties" +Line9="conf,Disqualification" +LineHHLP="conf,HarshHotLifePenalty" +Line10="conf,FailOffForFirstStageEasy" +Line11="conf,FailOffInBeginner" +Line12="conf,LockCourseDifficulties" +Line13="conf,MaxHighScoresPerListForMachine" +Line14="conf,MaxHighScoresPerListForPlayer" + +[ScreenOptionsTheme] +Fallback="ScreenOptionsServiceChild" + +[ScreenSelectGame] +Fallback="ScreenOptionsServiceChild" +PrevScreen="ScreenOptionsService" +NextScreen=Branch.TitleMenu() +LineNames="1" +Line1="conf,Game" + +[ScreenNetworkOptions] +Class="ScreenNetworkOptions" +Fallback="ScreenOptionsServiceChild" +NextScreen=Branch.Network() +PrevScreen=Branch.Network() + +[ScreenOptionsManageProfiles] +Class="ScreenOptionsManageProfiles" +Fallback="ScreenOptionsSimpleService" +PrevScreen="ScreenOptionsService" +NextScreen="ScreenOptionsService" +PrepareScreens="ScreenMiniMenuContext" +GroupedScreens="ScreenMiniMenuContext" +PersistScreens="ScreenMiniMenuContext" + +TimerSeconds=-1 + +[ScreenOptionsEditProfile] +Class="ScreenOptionsEditProfile" +PageOnCommand=visible,false + +[ScreenOptionsCustomizeProfile] +Class="ScreenWithMenuElements" +Fallback="ScreenWithMenuElements" +PrevScreen="ScreenOptionsManageProfiles" +NextScreen="ScreenOptionsManageProfiles" +PlayMusic=false +ShowHeader=false +ShowFooter=false +ShowCreditDisplay=false +TimerSeconds=-1 +TimerOnCommand=visible,false + +[ScreenReloadSongs] +Class="ScreenReloadSongs" +Fallback="Screen" +NextScreen=Branch.TitleMenu() + +[ScreenPlayerOptions] +Fallback="ScreenOptions" +Class="ScreenPlayerOptions" +# +PrevScreen=Branch.BackOutOfPlayerOptions() +NextScreen=Branch.SongOptions() +# +PlayMusic=false +# +TimerSeconds=30 +# +LineNames="1,2,3A,3B,4,5,6,R1,R2,7,8,9,10,11,12,13,14,16,17" +Line1="lua,ArbitrarySpeedMods()" +# Line1="list,Speed" +Line2="list,Accel" +Line3A="list,EffectsReceptor" +Line3B="list,EffectsArrow" +# +Line4="list,Appearance" +Line5="list,Turn" +Line6="list,Insert" +LineR="list,Remove" +LineR1="list,RemoveCombinations" +LineR2="list,RemoveFeatures" +Line7="list,Scroll" +Line8="list,NoteSkins" +Line9="list,Holds" +Line10="list,Mines" +Line11="list,Attacks" +Line12="list,PlayerAutoPlay" +Line13="list,Hide" +Line14="list,Persp" +Line16="list,Steps" +Line17="list,Characters" +# + +[ScreenPlayerOptionsRestricted] +Fallback="ScreenPlayerOptions" +NextScreen="ScreenStageInformation" +LineNames="1,8,16,17" +Line16="list,StepsLocked" +Line17="list,Characters" + +[ScreenSongOptions] +Fallback="ScreenOptions" +Class="ScreenSongOptions" +PrevScreen="ScreenPlayerOptions" +NextScreen="ScreenStageInformation" +TimerSeconds=30 +PlayMusic=false +StopMusicOnBack=false +# +LineNames="1,2,3,4,5,6,7,8,9,10" +#,11 + +Line1="list,LifeType" +Line2="list,BarDrain" +Line3="list,BatLives" +Line5="list,Assist" +Line6="list,Rate" +Line7="list,SoundEffect" +Line8="list,AutoAdjust" +Line9="list,Background" +Line10="list,SaveScores" +Line11="list,SaveReplays" +Line4="list,Fail" + +[ScreenSplash] +Class="ScreenSplash" +Fallback="ScreenWithMenuElementsBlank" +MinimumScreenPrepareDelaySeconds=0 +AllowStartToSkip=false +PrepareScreen= + +# 05 # A + +[ScreenExit] +# Midiman: +# Fun fact, if you don't enable this screen, Force Crashing will hang +# StepMania, and leave it there to eat up time. +Class="ScreenExit" +Fallback="ScreenWithMenuElements" +AllowOperatorMenuButton=false + +[ScreenAttract] +Class="ScreenAttract" +Fallback="ScreenWithMenuElementsBlank" +StartScreen=Branch.TitleMenu() +CancelScreen=Branch.TitleMenu() +# +LightsMode="LightsMode_Attract" +PlayMusic=false +# +ResetGameState=true +BackGoesToStartScreen=true +AttractVolume=true +# +TimerMetricsGroup="MenuTimerNoSound" + +[ScreenRanking] +Class="ScreenRanking" +Fallback="ScreenAttract" +TimerSeconds=-1 +# +ResetGameState=true +StepsTypesToHide="dance-couple,dance-solo,dance-routine,pump-halfdouble,pump-couple" +PageFadeSeconds=1.0 +CoursesToShow=GetCoursesToShowRanking() +SecondsPerPage=5 +# +RankingType="RankingType_Category" +# +RowSpacingX=0 +RowSpacingY=60 +ColSpacingX=0 +ColSpacingY=0 +# +StepsTypeColor1=color("1.0,1.0,1.0,1.0") +StepsTypeColor2=color("1.0,1.0,1.0,1.0") +StepsTypeColor3=color("1.0,1.0,1.0,1.0") +StepsTypeColor4=color("1.0,1.0,1.0,1.0") +StepsTypeColor5=color("1.0,1.0,1.0,1.0") +# +SongScoreSecondsPerRow=0.4 +ShowSurvivalTime=false +# +BannerOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-196;diffusealpha,1;scaletoclipped,220,58;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH +BannerOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 +CategoryOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-208;diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH +CategoryOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 +CourseTitleOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-208;diffusealpha,1;maxwidth,230;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH +CourseTitleOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 +StepsTypeOnCommand=x,SCREEN_CENTER_X+200;y,SCREEN_CENTER_Y-180;diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH +StepsTypeOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 +# +BulletStartX=SCREEN_CENTER_X-220 +BulletStartY=SCREEN_CENTER_Y-100 +Bullet1OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH +Bullet2OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH +Bullet3OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH +Bullet4OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH +Bullet5OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH +Bullet1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Bullet2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Bullet3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Bullet4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Bullet5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +# +NameStartX=SCREEN_CENTER_X-140 +NameStartY=SCREEN_CENTER_Y-100 +Name1OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH +Name2OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH +Name3OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH +Name4OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH +Name5OnCommand=diffusealpha,1;halign,0;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH +Name1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Name2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Name3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Name4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Name5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +# +ScoreStartX=SCREEN_CENTER_X+200 +ScoreStartY=SCREEN_CENTER_Y-100 +Score1OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH +Score2OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH +Score3OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH +Score4OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH +Score5OnCommand=diffusealpha,1;halign,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH +Score1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Score2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Score3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Score4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Score5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +# +PointsStartX=SCREEN_CENTER_X+60 +PointsStartY=SCREEN_CENTER_Y-100 +Points1OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH +Points2OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH +Points3OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH +Points4OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH +Points5OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH +Points1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Points2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Points3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Points4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Points5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +# +TimeStartX=SCREEN_CENTER_X+240 +TimeStartY=SCREEN_CENTER_Y-100 +Time1OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH +Time2OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.3;bounceend,1;addx,-SCREEN_WIDTH +Time3OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.4;bounceend,1;addx,-SCREEN_WIDTH +Time4OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.5;bounceend,1;addx,-SCREEN_WIDTH +Time5OnCommand=diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.6;bounceend,1;addx,-SCREEN_WIDTH +Time1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0 +Time2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0 +Time3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0 +Time4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0 +Time5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0 +# +DifficultyStartX=SCREEN_CENTER_X-154 +DifficultyY=SCREEN_CENTER_Y-209 +DifficultyBeginnerOnCommand= +DifficultyEasyOnCommand= +DifficultyMediumOnCommand= +DifficultyHardOnCommand= +DifficultyChallengeOnCommand= +DifficultyBeginnerOffCommand= +DifficultyEasyOffCommand= +DifficultyMediumOffCommand= +DifficultyHardOffCommand= +DifficultyChallengeOffCommand= +# +TitleOnCommand=x,-210;ztest,1;diffuse,0,0,0,1;maxwidth,160 +TitleOffCommand= +FrameOnCommand=ztest,1 +FrameOffCommand= +ScoreOffsetStartX=-154 +ScoreOffsetY=0 +ScoreOnCommand=zoom,0.7;ztest,1 +ScoreOffCommand= +# 05 # B + +# 05 # C +[ScreenGameplay] +Fallback="ScreenWithMenuElementsBlank" +Class="ScreenGameplayNormal" +NextScreen=Branch.AfterGameplay() +PrevScreen=Branch.BackOutOfStageInformation() +TimerSeconds=-1 +# +ShowLifeMeterForDisabledPlayers=false +StopCourseEarly=false +ShowEvaluationOnFail=true +ShowScoreInRave=false +UnpauseWithStart=true +InitialBackgroundBrightness=1.0 +SecondsBetweenComments=10.0 +ScoreKeeperClass=ScoreKeeperClass() +ForceImmediateFailForBattery=true +TickEarlySeconds=0 +LightsMode="LightsMode_Gameplay" +SurvivalModOverride=true +# +PlayerType="Player" +# useful in some obscure situations where the theme resolution has been increased. +PlayerInitCommand=y,SCREEN_CENTER_Y;zoom,(THEME:GetMetric("Common","ScreenHeight")/480) +StartGivesUp=true +BackGivesUp=false +GiveUpSeconds=2.5 +# rage +AllowCenter1Player=true +# +FailOnMissCombo=FailCombo() +GivingUpGoesToPrevScreen=false +GivingUpGoesToNextScreen=false +SelectSkipsSong=true +# +MinSecondsToStep=6.0 +MinSecondsToMusic=2.0 +MinSecondsToStepNextSong=2.0 +MusicFadeOutSeconds=0.5 +OutTransitionLength=5 +CourseTransitionLength=0.5 +BeginFailedDelay=1.0 +# New way to control where the notefields are on gameplay. +# The MarginFunction will be passed GAMESTATE:EnabledPlayers() and the +# current styletype. The function must return three values: +# Left margin width, center margin width, right margin width. +# The engine will then position the notefields and adjust their size to fit +# in the space not occupied by the margins. If there is only one player and +# that player would normally be centered (OnePlayerTwoSides or +# TwoPlayersSharedSides, or the Center1Player preference), then the center +# margin value will be ignored. +# Mods applied to the player may still move the notefield into the margin, +# this is just for controlling its initial position and size. +# The purpose of this is to allow the engine more flexibility in styles, +# for example, one player playing dance-solo while the other plays +# dance-single. +MarginFunction=GameplayMargins +# These X values for each player and styletype are deprecated in favor of +# writing a MarginFunction that returns the margin sizes you prefer. +# The MarginFunction supplied by _fallback will use these metrics for +# backwards compatibility. +PlayerP1OnePlayerOneSideX=math.floor(scale((0.85/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) +PlayerP2OnePlayerOneSideX=math.floor(scale((2.15/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) +PlayerP1TwoPlayersTwoSidesX=math.floor(scale((0.85/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) +PlayerP2TwoPlayersTwoSidesX=math.floor(scale((2.15/3),0,1,SCREEN_LEFT,SCREEN_RIGHT)) +PlayerP1OnePlayerTwoSidesX=SCREEN_CENTER_X +PlayerP2OnePlayerTwoSidesX=SCREEN_CENTER_X +PlayerP1TwoPlayersSharedSidesX=SCREEN_CENTER_X +PlayerP2TwoPlayersSharedSidesX=SCREEN_CENTER_X +# +LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X+0;y,SCREEN_CENTER_Y+160 +LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X+0;y,SCREEN_CENTER_Y-140 +# This is used if one player is in reverse and the other isn't. +LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X+0;y,SCREEN_CENTER_Y-205 +LyricDisplayDefaultColor=color("0,1,0,1"); +# +OniGameOverP1X= +OniGameOverP1Y= +OniGameOverP1OnCommand= +OniGameOverP1OffCommand= +# +OniGameOverP2X= +OniGameOverP2Y= +OniGameOverP2OnCommand= +OniGameOverP2OffCommand= +# +ActiveAttackListP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ActiveAttackListP1Y= +ActiveAttackListP1OnCommand=visible,false +ActiveAttackListP1OffCommand= +ActiveAttackListP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ActiveAttackListP2Y= +ActiveAttackListP2OnCommand=visible,false +ActiveAttackListP2OffCommand= +# +CombinedLifeX=SCREEN_CENTER_X +CombinedLifeY=SCREEN_CENTER_Y +CombinedLifeOnCommand=visible,false +CombinedLifeOffCommand= +# +LifeP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +LifeP1Y=SCREEN_TOP+24 +LifeP1OnCommand= +LifeP1OffCommand= +LifeP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +LifeP2Y=SCREEN_TOP+24 +LifeP2OnCommand= +LifeP2OffCommand= +# +ScoreP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +ScoreP1Y=SCREEN_BOTTOM-28 +ScoreP1OnCommand= +ScoreP1OffCommand= +ScoreP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +ScoreP2Y=SCREEN_BOTTOM-28 +ScoreP2OnCommand= +ScoreP2OffCommand= +# +SecondaryScoreP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +SecondaryScoreP1Y=SCREEN_BOTTOM-56 +SecondaryScoreP1OnCommand= +SecondaryScoreP1OffCommand= +SecondaryScoreP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +SecondaryScoreP2Y=SCREEN_BOTTOM-56 +SecondaryScoreP2OnCommand= +SecondaryScoreP2OffCommand= +# +StepsDescriptionP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +StepsDescriptionP1Y=SCREEN_CENTER_Y-24 +StepsDescriptionP1OnCommand=visible,false +StepsDescriptionP1OffCommand= +StepsDescriptionP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +StepsDescriptionP2Y=SCREEN_CENTER_Y-24 +StepsDescriptionP2OnCommand=visible,false +StepsDescriptionP2OffCommand= +# +PlayerOptionsP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") +PlayerOptionsP1Y=SCREEN_CENTER_Y+24 +PlayerOptionsP1OnCommand=visible,false +PlayerOptionsP1OffCommand= +PlayerOptionsP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") +PlayerOptionsP2Y=SCREEN_CENTER_Y+24 +PlayerOptionsP2OnCommand=visible,false +PlayerOptionsP2OffCommand= +# +StepsDisplayP1X=SCREEN_CENTER_X-160 +StepsDisplayP1Y=SCREEN_BOTTOM-60 +StepsDisplayP1OnCommand=visible,false +StepsDisplayP1OffCommand= +# +StepsDisplayP2X=SCREEN_CENTER_X+160 +StepsDisplayP2Y=SCREEN_BOTTOM-60 +StepsDisplayP2OnCommand=visible,false +StepsDisplayP2OffCommand= +# +SongOptionsX=SCREEN_CENTER_X +SongOptionsY=SCREEN_BOTTOM-32 +SongOptionsOnCommand=visible,false +SongOptionsOffCommand= +# +DebugX=SCREEN_CENTER_X +DebugY=SCREEN_BOTTOM-116 +DebugOnCommand=zoom,0.75 +DebugStartOnCommand=stoptweening;diffusealpha,0;linear,1/8;diffusealpha,1 +DebugBackOnCommand=stoptweening;diffusealpha,0;linear,1/8;diffusealpha,1 +DebugTweenOffCommand=stoptweening;linear,1/8;diffusealpha,0 +# +SongNumberFormat="%d" +SongNumberP1X=THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") - 60 +SongNumberP1Y=SCREEN_TOP+24+7 +SongNumberP1OnCommand=visible,false +SongNumberP1OffCommand= +SongNumberP2X=THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") + 60 +SongNumberP2Y=SCREEN_TOP+24+7 +SongNumberP2OnCommand=visible,false +SongNumberP2OffCommand= + +SurviveTimeX=SCREEN_CENTER_X +SurviveTimeY=SCREEN_CENTER_Y+120 +SurviveTimeOnCommand= + +# online scoreboard +# P1 is used when the only player is P2 +ScoreboardC1P1X=SCREEN_CENTER_X*0.25 +ScoreboardC1P1Y=SCREEN_CENTER_Y*0.45 +ScoreboardC1P1OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 +ScoreboardC2P1X=SCREEN_CENTER_X*0.5 +ScoreboardC2P1Y=SCREEN_CENTER_Y*0.45 +ScoreboardC2P1OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 +ScoreboardC3P1X=SCREEN_CENTER_X*0.75 +ScoreboardC3P1Y=SCREEN_CENTER_Y*0.45 +ScoreboardC3P1OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 +# P2 is used when the only player is P1 +ScoreboardC1P2X=SCREEN_CENTER_X*1.25 +ScoreboardC1P2Y=SCREEN_CENTER_Y*0.45 +ScoreboardC1P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 +ScoreboardC2P2X=SCREEN_CENTER_X*1.5 +ScoreboardC2P2Y=SCREEN_CENTER_Y*0.45 +ScoreboardC2P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 +ScoreboardC3P2X=SCREEN_CENTER_X*1.75 +ScoreboardC3P2Y=SCREEN_CENTER_Y*0.45 +ScoreboardC3P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 + +[ScreenGameplayEditCourse] +Class="ScreenGameplayNormal" +Fallback="ScreenGameplay" +PrevScreen="ScreenOptionsCourseOverview" +NextScreen="ScreenOptionsCourseOverview" + +[ScreenGameplayShared] +Class="ScreenGameplayShared" +Fallback="ScreenGameplay" +PlayerType="PlayerShared" + +[ScreenHeartEntry] +Class="ScreenWithMenuElements" +Fallback="ScreenWithMenuElements" +PrevScreen=Branch.AfterHeartEntry() +NextScreen=Branch.AfterHeartEntry() +HeartEntryEnabled=false +PlayMusic=false +ShowHeader=false +ShowFooter=false +ShowCreditDisplay=false +TimerSeconds=-1 +TimerOnCommand=visible,false + +[ScreenEvaluation] +Class="ScreenEvaluation" +Fallback="ScreenWithMenuElements" +NextScreen=Branch.AfterEvaluation() +PrevScreen=Branch.AfterEvaluation() +TimerSeconds=20 +LightsMode="LightsMode_MenuStartOnly" +# +Summary=false +CheckpointsWithJudgments=EvalUsesCheckpointsWithJudgments() +# +PlayerOptionsSeparator="," +PlayerOptionsHideFailType=false +MaxComboNumDigits=4 +# +ShowBannerArea=true +RollingNumbersClass="RollingNumbersJudgment" +RollingNumbersMaxComboClass="RollingNumbersMaxCombo" +# +ShowSharedJudgmentLineLabels=false +ShowJudgmentLineW1=false +ShowJudgmentLineW2=false +ShowJudgmentLineW3=false +ShowJudgmentLineW4=false +ShowJudgmentLineW5=false +ShowJudgmentLineHeld=false +ShowJudgmentLineMiss=false +ShowJudgmentLineMaxCombo=false +ShowPeakComboAward=false +ShowTimingDifficulty=false +ShowStageDisplay=false +ShowStageFrame=false +ShowGraphDisplay=false +ShowComboGraph=false +ShowStepsDisplay=false +ShowGradeArea=false +ShowPointsArea=false +ShowDetailArea=false +ShowBonusArea=false +ShowSurvivedArea=false +ShowWinArea=false +ShowScoreArea=false +ShowTimeArea=false +ShowItsARecord=false +ShowStageAward=false +# +FailedSoundTime=0 +PassedSoundTime=0 +CheerDelaySeconds=2.5 +# +BannerWidth=256 +BannerHeight=80 +# +LargeBannerX= +LargeBannerY= +LargeBannerOnCommand=visible,false +LargeBannerOffCommand= +LargeBannerFrameX= +LargeBannerFrameY= +LargeBannerFrameOnCommand=visible,false +LargeBannerFrameOffCommand= +# +PlayerOptionsP1X= +PlayerOptionsP1Y= +PlayerOptionsP1OnCommand=visible,false +PlayerOptionsP1OffCommand= +PlayerOptionsP2X= +PlayerOptionsP2Y= +PlayerOptionsP2OnCommand=visible,false +PlayerOptionsP2OffCommand= +# +SongOptionsX= +SongOptionsY= +SongOptionsOnCommand=visible,false +SongOptionsOffCommand= +# +DisqualifiedP1X= +DisqualifiedP1Y= +DisqualifiedP1OnCommand=visible,false +DisqualifiedP1OffCommand= +DisqualifiedP2X= +DisqualifiedP2Y= +DisqualifiedP2OnCommand=visible,false +DisqualifiedP2OffCommand= +# +SmallBanner1X=SCREEN_CENTER_X +SmallBanner1Y=SCREEN_TOP-128 +SmallBanner1OnCommand=visible,false +SmallBanner1OffCommand= +SmallBanner2X=SCREEN_CENTER_X +SmallBanner2Y=SCREEN_TOP-128 +SmallBanner2OnCommand=visible,false +SmallBanner2OffCommand= +SmallBanner3X=SCREEN_CENTER_X +SmallBanner3Y=SCREEN_TOP-128 +SmallBanner3OnCommand=visible,false +SmallBanner3OffCommand= +SmallBanner4X=SCREEN_CENTER_X +SmallBanner4Y=SCREEN_TOP-128 +SmallBanner4OnCommand=visible,false +SmallBanner4OffCommand= +SmallBanner5X=SCREEN_CENTER_X +SmallBanner5Y=SCREEN_TOP-128 +SmallBanner5OnCommand=visible,false +SmallBanner5OffCommand= +SmallBanner6X=SCREEN_CENTER_X +SmallBanner6Y=SCREEN_TOP-128 +SmallBanner6OnCommand=visible,false +SmallBanner6OffCommand= +# +DetailLineFormat="%3d/%3d" +# + +[ScreenEvaluationNormal] +Fallback="ScreenEvaluation" +# +NextScreen=Branch.AfterEvaluation() +PrevScreen=Branch.AfterEvaluation() + +[ScreenEvaluationSummary] +Fallback="ScreenEvaluation" +NextScreen=Branch.AfterSummary() +Summary=true + +[ScreenNameEntry] +# !!! # +Class="ScreenNameEntry" +Fallback="ScreenWithMenuElementsBlank" +# +TimerX=SCREEN_CENTER_X+0 +TimerY=SCREEN_CENTER_Y-210 +# +CategoryY=SCREEN_CENTER_Y+190 +CategoryZoom=0.7 +# +CharsZoomSmall=1.0 +CharsZoomLarge=1.5 +CharsSpacingY=40 +CharsChoices=" ABCDEFGHIJKLMNOPQRSTUVWXYZ" +ScrollingCharsCommand=diffuse,0.6,0.8,0.8,1 +SelectedCharsCommand=diffuse,0.8,1,1,1 +# +ReceptorArrowsY=SCREEN_CENTER_Y-140 +NumCharsToDrawBehind=2 +NumCharsToDrawTotal=10 +FakeBeatsPerSec=2.5 +ForceTimer=true +TimerSeconds=24 +TimerStealth=false +ShowStyleIcon=false +MaxRankingNameLength=4 +# +NextScreen="ScreenProfileSave" +# +PlayerP1OnePlayerOneSideX=SCREEN_CENTER_X-160 +PlayerP2OnePlayerOneSideX=SCREEN_CENTER_X+160 +PlayerP1TwoPlayersTwoSidesX=SCREEN_CENTER_X-160 +PlayerP2TwoPlayersTwoSidesX=SCREEN_CENTER_X+160 +PlayerP1OnePlayerTwoSidesX=SCREEN_CENTER_X +PlayerP2OnePlayerTwoSidesX=SCREEN_CENTER_X + +[ScreenNameEntryTraditional] +Class="ScreenNameEntryTraditional" +Fallback="ScreenWithMenuElements" +NextScreen="ScreenProfileSaveSummary" +CancelTransitionsOut=true +TimerSeconds=30 +ForceTimer=true +ForceTimerWait=true +RepeatRate=15 +RepeatDelay=1/4 +HelpText="Enter your name!" +# +MaxRankingNameLength=4 +CodeNames="Backspace,Left,Right,NextRow1=NextRow,NextRow2=NextRow,PrevRow,JumpToEnter,Enter" +CodeLeft="+MenuLeft" +CodeRight="+MenuRight" +CodePrevRow="+MenuUp" +CodeNextRow1="+MenuDown" +CodeNextRow2="Select,~Select" +CodeBackspace="@Select-MenuLeft" +CodeJumpToEnter="@Select-Start" +CodeEnter="Start" + +[ScreenContinue] +Class="ScreenContinue" +Fallback="ScreenWithMenuElements" +NextScreen=Branch.AfterContinue() +PrevScreen=Branch.AfterContinue() +ContinueEnabled=false +PrepareScreens="" +HelpText="100" +TimerSeconds=15 +ForceTimer=true +ForceTimerWait=true + +[ScreenProfileSave] +Class="ScreenProfileSave" +Fallback="ScreenWithMenuElementsBlank" +NextScreen=Branch.AfterProfileSave() +PrevScreen=Branch.TitleMenu() +TimerSeconds=-1 + +[ScreenProfileSaveSummary] +Fallback="ScreenProfileSave" +NextScreen=Branch.AfterSaveSummary() +PrevScreen=Branch.AfterSaveSummary() + +[ScreenGameOver] +Class="ScreenEnding" +Fallback="ScreenAttract" +PrevScreen=Branch.TitleMenu() +NextScreen=Branch.TitleMenu() +StartScreen=Branch.TitleMenu() +TimerSeconds=10 +ResetGameState=true +# +RemoveCardP1X=SCREEN_WIDTH*0.1 +RemoveCardP1Y=SCREEN_CENTER_Y +RemoveCardP1OnCommand= +RemoveCardP1OffCommand= +# +RemoveCardP2X=SCREEN_WIDTH*0.9 +RemoveCardP2Y=SCREEN_CENTER_Y +RemoveCardP2OnCommand= +RemoveCardP2OffCommand= + +[ScreenPrompt] +Class="ScreenPrompt" +Fallback="ScreenWithMenuElementsBlank" +PrevScreen="ScreenEdit" +TimerSeconds=-1 + +QuestionX=SCREEN_CENTER_X +QuestionY=SCREEN_CENTER_Y-60 +QuestionOnCommand=zoom,0.7;wrapwidthpixels,600 +QuestionOffCommand= +# +CursorOnCommand= +CursorOffCommand= +# +Answer1Of1X=SCREEN_CENTER_X +Answer1Of1Y=SCREEN_CENTER_Y+120 +Answer1Of1OnCommand=maxwidth,100 +Answer1Of1OffCommand= +## +Answer1Of2X=SCREEN_CENTER_X-50 +Answer1Of2Y=SCREEN_CENTER_Y+120 +Answer1Of2OnCommand=maxwidth,100 +Answer1Of2OffCommand= +# +Answer2Of2X=SCREEN_CENTER_X+50 +Answer2Of2Y=SCREEN_CENTER_Y+120 +Answer2Of2OnCommand=maxwidth,100 +Answer2Of2OffCommand= +### +Answer1Of3X=SCREEN_CENTER_X-170 +Answer1Of3Y=SCREEN_CENTER_Y+120 +Answer1Of3OnCommand=maxwidth,100 +Answer1Of3OffCommand= +# +Answer2Of3X=SCREEN_CENTER_X-20 +Answer2Of3Y=SCREEN_CENTER_Y+120 +Answer2Of3OnCommand=maxwidth,100 +Answer2Of3OffCommand= +# +Answer3Of3X=SCREEN_CENTER_X+150 +Answer3Of3Y=SCREEN_CENTER_Y+120 +Answer3Of3OnCommand=maxwidth,100 +Answer3Of3OffCommand= + +## stuff for edit mode: ## +[ScreenOptionsEdit] +Class="ScreenOptionsMaster" +Fallback="ScreenOptionsSimpleService" +# This NextScreen is only used for the "exit" choice. +NextScreen=Branch.TitleMenu() +PrevScreen=Branch.TitleMenu() + +LineNames="1,2,3" +Line1="gamecommand;screen,ScreenEditMenu;name,Edit Songs/Steps" +Line2="gamecommand;screen,ScreenPracticeMenu;name,Practice Songs/Steps" +Line3="gamecommand;screen,ScreenEditCourseModsMenu;name,Edit Courses/Mods" +#Line4="gamecommand;screen,ScreenOptionsExportPackage;name,Export Packages" + +# broken: +# Line4="gamecommand;screen,ScreenOptionsManageCourses;name,Edit Courses" +# unused: +# Line4="gamecommand;screen,ScreenServiceActionCopyEditsMachineToMemoryCard;name,Transfer Edits to USB" +# Line5="gamecommand;screen,ScreenOptionsGraphicsSound;name,Transfer Edits from USB" +# Line6="gamecommand;screen,ScreenOptionsAdvanced;name,Clear USB edits" + +[EditMenu] +EditMode="EditMode_Full" +ShowGroups=true + +Arrows1X=SCREEN_CENTER_X-176 +Arrows2X=SCREEN_CENTER_X+270 +ArrowsEnabledCommand=diffuse,color("1,1,1,1");shadowlengthy,1;shadowcolor,color("#002740"); +ArrowsDisabledCommand=diffuse,color("0.45,0.45,0.45,1");shadowlengthy,1;shadowcolor,color("#002740"); + +GroupBannerX=SCREEN_CENTER_X+170 +GroupBannerY=SCREEN_CENTER_Y-140 +GroupBannerOnCommand=scaletoclipped,128,40 + +SongBannerX=SCREEN_CENTER_X+170 +SongBannerY=SCREEN_CENTER_Y-90 +SongBannerOnCommand=scaletoclipped,128,40 + +TextBannerType="TextBannerEditMode" +SongTextBannerX=SCREEN_CENTER_X-128 +SongTextBannerY=SCREEN_CENTER_Y-90 + +StepsDisplayX=SCREEN_CENTER_X+150 +StepsDisplayY=SCREEN_CENTER_Y-0 +StepsDisplaySourceX=SCREEN_CENTER_X+150 +StepsDisplaySourceY=SCREEN_CENTER_Y+80 + +Row1Y=SCREEN_CENTER_Y-140 +Row2Y=SCREEN_CENTER_Y-90 +Row3Y=SCREEN_CENTER_Y-40 +Row4Y=SCREEN_CENTER_Y-0 +Row5Y=SCREEN_CENTER_Y+40 +Row6Y=SCREEN_CENTER_Y+80 +Row7Y=SCREEN_CENTER_Y+120 + +Label1X=SCREEN_CENTER_X-250 +Label1Y=THEME:GetMetric("EditMenu","Row1Y") +Label1OnCommand=shadowlength,1;zoom,0.75 +Label1OffCommand= +Label2X=SCREEN_CENTER_X-250 +Label2Y=THEME:GetMetric("EditMenu","Row2Y") +Label2OnCommand=shadowlength,1;zoom,0.75 +Label2OffCommand= +Label3X=SCREEN_CENTER_X-250 +Label3Y=THEME:GetMetric("EditMenu","Row3Y") +Label3OnCommand=shadowlength,1;zoom,0.75 +Label3OffCommand= +Label4X=SCREEN_CENTER_X-250 +Label4Y=THEME:GetMetric("EditMenu","Row4Y") +Label4OnCommand=shadowlength,1;zoom,0.75 +Label4OffCommand= +Label5X=SCREEN_CENTER_X-250 +Label5Y=THEME:GetMetric("EditMenu","Row5Y") +Label5OnCommand=shadowlength,1;zoom,0.75 +Label5OffCommand= +Label6X=SCREEN_CENTER_X-250 +Label6Y=THEME:GetMetric("EditMenu","Row6Y") +Label6OnCommand=shadowlength,1;zoom,0.75 +Label6OffCommand= +Label7X=SCREEN_CENTER_X-250 +Label7Y=THEME:GetMetric("EditMenu","Row7Y") +Label7OnCommand=shadowlength,1;zoom,0.75 +Label7OffCommand= + +Value1X=SCREEN_CENTER_X-24 +Value1Y=THEME:GetMetric("EditMenu","Row1Y") +Value1OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value1OffCommand= +Value2X=SCREEN_CENTER_X+60 +Value2Y=THEME:GetMetric("EditMenu","Row2Y") +Value2OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value2OffCommand= +Value3X=SCREEN_CENTER_X+60 +Value3Y=THEME:GetMetric("EditMenu","Row3Y") +Value3OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value3OffCommand= +Value4X=SCREEN_CENTER_X +Value4Y=THEME:GetMetric("EditMenu","Row4Y") +Value4OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value4OffCommand= +Value5X=SCREEN_CENTER_X+60 +Value5Y=THEME:GetMetric("EditMenu","Row5Y") +Value5OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value5OffCommand= +Value6X=SCREEN_CENTER_X +Value6Y=THEME:GetMetric("EditMenu","Row6Y") +Value6OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value6OffCommand= +Value7X=SCREEN_CENTER_X+60 +Value7Y=THEME:GetMetric("EditMenu","Row7Y") +Value7OnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65 +Value7OffCommand= + +[TextBannerEditMode] +Fallback="TextBanner" + +[ScreenEditMenu] +Fallback="ScreenWithMenuElements" +Class="ScreenEditMenu" +NextScreen="ScreenEdit" +PrevScreen="ScreenOptionsEdit" +TimerSeconds=-1 +ShowStyleIcon=false +HelpText=Screen.String("HelpTextOptionsAndBack") +# +EditMenuType="EditMenu" +ExplanationX=SCREEN_CENTER_X +ExplanationY=SCREEN_BOTTOM-56 +ExplanationOnCommand=wrapwidthpixels,SCREEN_WIDTH*0.9375/0.675;shadowlength,1;zoom,0.675 +NumStepsLoadedFromProfileX=SCREEN_RIGHT-180 +NumStepsLoadedFromProfileY=SCREEN_TOP+42 +NumStepsLoadedFromProfileOnCommand=visible,false + +# could use a redo but whatever +[ScreenEdit] +Class="ScreenEdit" +Fallback="ScreenWithMenuElementsBlank" +PrepareScreens=GetEditModeSubScreens() +GroupedScreens=GetEditModeSubScreens() +PersistScreens=GetEditModeSubScreens() + +EditMode="EditMode_Full" +NextScreen="ScreenEditMenu" +PrevScreen="ScreenEditMenu" +ShowHelp=false +AllowOperatorMenuButton=false +ShowCreditDisplay=false +ShowStyleIcon=false +InvertScrollSpeedButtons=false +TimerSeconds=-1 +EditModifiers="no reverse" +EditHelpX=SCREEN_LEFT+4 +EditHelpY=SCREEN_TOP+16 +EditHelpOnCommand=halign,0;valign,0;zoom,0.5;shadowlength,1;maxheight,(SCREEN_HEIGHT-32)*2 +InfoX=SCREEN_RIGHT-128 +InfoY=SCREEN_TOP+16 +InfoOnCommand=halign,0;valign,0;zoom,0.5;shadowlength,1;maxheight,(SCREEN_HEIGHT-32)*2 +PlayRecordHelpX=SCREEN_LEFT+20 +PlayRecordHelpY=SCREEN_BOTTOM-20 +PlayRecordHelpOnCommand=halign,0;valign,0;shadowlength,1 + +SetModScreen="ScreenPlayerOptions" +OptionsScreen="ScreenEditOptions" + +LoopOnChartEnd=true + +CurrentBeatFormat="%s:\n %.3f\n" +CurrentSecondFormat="%s:\n %.3f\n" +SnapToFormat="%s: %s\n" +SelectionBeatBeginFormat="%s:\n %.3f" +SelectionBeatUnfinishedFormat=" ...\n" +SelectionBeatEndFormat="-%.3f\n" +DifficultyFormat="%s:\n %s\n" +RoutinePlayerFormat="%s: %d\n" +DescriptionFormat="%s:\n %s\n" +StepAuthorFormat="%s:\n %s\n" +ChartNameFormat="%s:\n %s\n" +ChartStyleFormat="%s:\n %s\n" +MainTitleFormat="%s:\n %s\n" +SubtitleFormat="%s:\n %s\n" +TapNoteTypeFormat="%s: %s\n" +SegmentTypeFormat="%s: %s\n" +NumStepsFormat="%s: %d\n" +NumJumpsFormat="%s: %d\n" +NumHoldsFormat="%s: %d\n" +NumMinesFormat="%s: %d\n" +NumHandsFormat="%s: %d\n" +NumRollsFormat="%s: %d\n" +NumLiftsFormat="%s: %d\n" +NumFakesFormat="%s: %d\n" +NumStepsFormatTwoPlayer="%s: %d/%d\n" +NumJumpsFormatTwoPlayer="%s: %d/%d\n" +NumHoldsFormatTwoPlayer="%s: %d/%d\n" +NumMinesFormatTwoPlayer="%s: %d/%d\n" +NumHandsFormatTwoPlayer="%s: %d/%d\n" +NumRollsFormatTwoPlayer="%s: %d/%d\n" +NumLiftsFormatTwoPlayer="%s: %d/%d\n" +NumFakesFormatTwoPlayer="%s: %d/%d\n" +TimingModeFormat="%s:\n %s\n" +Beat0OffsetFormat="%s:\n %.3f secs\n" +PreviewStartFormat="%s:\n %.3f secs\n" +PreviewLengthFormat="%s:\n %.3f secs\n" +RecordHoldTimeFormat="%s:\n %.2f secs\n" + +FadeInPreview=0 +FadeOutPreview=1.5 + +[ScreenPracticeMenu] +Fallback="ScreenEditMenu" +Class="ScreenEditMenu" +NextScreen="ScreenPractice" +PrevScreen="ScreenOptionsEdit" +EditMenuType="PracticeMenu" + +[PracticeMenu] +Fallback="EditMenu" +EditMode="EditMode_Practice" + +[ScreenPractice] +Fallback="ScreenEdit" +Class="ScreenEdit" +NextScreen="ScreenOptionsEdit" +PrevScreen="ScreenOptionsEdit" +EditMode="EditMode_Practice" + +[ScreenEditCourseModsMenu] +Fallback="ScreenEditMenu" +Class="ScreenEditMenu" +NextScreen="ScreenEditCourseMods" +PrevScreen="ScreenOptionsEdit" +EditMenuType="CourseModsMenu" + +[CourseModsMenu] +Fallback="EditMenu" +EditMode="EditMode_Full" + +[ScreenEditCourseMods] +Fallback="ScreenEdit" +Class="ScreenEdit" +NextScreen="ScreenOptionsEdit" +PrevScreen="ScreenOptionsEdit" +EditMode="EditMode_CourseMods" + +[ScreenEditOptions] +Fallback="ScreenOptions" +Class="ScreenOptionsMaster" +NextScreen="none" +PrevScreen="none" +CancelTransitionsOut=true +PlayMusic=false +TimerSeconds=-1 +ShowStyleIcon=false + +LineNames="1,2,3,4,5,6,R1,R2,7,8,9,10,Attacks,11,12,13,14,15,16,lead_in,ECPT" +# uses legacy speed line +Line1="list,Speed" +Line2="list,Accel" +Line3="list,Effect" +Line4="list,Appearance" +Line5="list,Turn" +Line6="list,Insert" +LineR1="list,RemoveCombinations" +LineR2="list,RemoveFeatures" +Line7="list,Scroll" +Line8="list,NoteSkins" +Line9="list,Holds" +Line10="list,Mines" +LineAttacks="list,Attacks" +Line11="list,Hide" +Line12="list,Persp" +Line13="list,Assist" +Line14="list,Rate" +Line15="list,AutoAdjust" +Line16="conf,EditorShowBGChangesPlay" +Linelead_in="conf,EditRecordModeLeadIn" +LineECPT="conf,EditClearPromptThreshold" +OutCancelCommand= + +[StepsDisplayEdit] +Fallback="StepsDisplay" + +# oh, right, minimenus. +[ScreenMiniMenuEditHelp] +Fallback="ScreenMiniMenu" +ShowFooter=false +ColorDisabled=color("1,1,1,1") +RowInitCommand=halign,0.5;valign,0.5;zoom,0.8;x,75;y,45;shadowlength,1 +OptionRowNormalMetricsGroup="OptionRowMiniMenuEditHelp" + +[ScreenMiniMenuAttackAtTimeMenu] +Fallback="ScreenMiniMenu" +ShowFooter=false + +[ScreenMiniMenuIndividualAttack] +Fallback="ScreenMiniMenu" +ShowFooter=false + +[ScreenMiniMenuKeysoundTrack] +Fallback="ScreenMiniMenu" +ShowFooter=false + +[OptionRowMiniMenuEditHelp] +# Help menu ( Keys & Stuff ) +Fallback="OptionRowMiniMenu" + +TitleX=SCREEN_CENTER_X-312 +TitleOnCommand=halign,0;strokecolor,color("#222222FF");shadowlength,1;zoom,0.75 + +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ + local indexOffset = itemIndex-(numItems-1)/2; \ + self:y(SCREEN_CENTER_Y + indexOffset * 20); \ +end + +ItemsStartX=SCREEN_CENTER_X+260 +ItemsEndX=SCREEN_CENTER_X+260 +ItemsLongRowP1X=SCREEN_CENTER_X+260 +ItemsLongRowP2X=SCREEN_CENTER_X+260 + +ItemOnCommand=x,SCREEN_CENTER_X+176;halign,0;strokecolor,color("#222222CC");shadowlength,1;zoom,0.75 +ColorDisabled=Color("Orange") + +[ScreenMiniMenuMainMenu] +Fallback="ScreenMiniMenu" +TitleX=SCREEN_CENTER_X-80 + +[ScreenMiniMenuAreaMenu] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuAlterMenu] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuStepsInformation] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuStepsData] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuSongInformation] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuTimingDataInformation] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuTimingDataChangeInformation] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuBackgroundChange] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuPreferences] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuInsertTapAttack] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuInsertCourseAttack] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuCourseDisplay] +Fallback="ScreenMiniMenu" + +[ScreenMiniMenuCourseOptions] +Fallback="ScreenMiniMenu" + +# Export Packages +[ScreenOptionsExportPackage] +Class="ScreenOptionsExportPackage" +Fallback="ScreenOptionsSimpleService" +PrevScreen="ScreenOptionsEdit" +NextScreen="ScreenOptionsEdit" + +[ScreenOptionsExportPackageSubPage] +Class="ScreenOptionsExportPackageSubPage" +Fallback="ScreenOptionsSimpleService" +PrevScreen="ScreenOptionsExportPackage" +NextScreen="ScreenOptionsExportPackage" + +# +[ScreenOptionsManage] +Fallback="ScreenOptionsSimpleService" +TimerSeconds=-1 +AllowRepeatingChangeValueInput=true +OptionRowNormalMetricsGroup="OptionRowManage" + +[OptionRowManage] +Fallback="OptionRowService" +TitleX=SCREEN_CENTER_X-150 + +# Manage Courses +[OptionRowCourseOverview] +Fallback="OptionRowService" +ItemsLongRowSharedX=SCREEN_CENTER_X-100 +ColorSelected=color("1,1,1,1") +ColorNotSelected=color("0.9,0.9,0.9,1") +ColorDisabled=color("0.5,0.5,0.5,1") + +[ScreenOptionsManageCourses] +Class="ScreenOptionsManageCourses" +Fallback="ScreenOptionsManage" +PrevScreen="ScreenOptionsEdit" +NextScreen="ScreenOptionsEditCourse" +GroupedScreens="ScreenOptionsManageCourses,ScreenTextEntry,ScreenPrompt,ScreenOptionsEditCourseMods" +PersistScreens="ScreenOptionsManageCourses,ScreenTextEntry,ScreenPrompt" +PrepareScreens="ScreenTextEntry,ScreenPrompt" + +EditMode="EditMode_Full" +CreateNewScreen="ScreenOptionsEditCourse" + +OptionRowNormalMetricsGroup="OptionRowCourse" + +[OptionRowCourse] +Fallback="OptionRowService" +TitleX=SCREEN_CENTER_X + +[ScreenOptionsEditCourse] +Class="ScreenOptionsEditCourse" +Fallback="ScreenOptionsSimpleService" +PrevScreen="ScreenOptionsCourseOverview" +NextScreen="ScreenOptionsCourseOverview" +OptionRowNormalMetricsGroup="OptionRowEditCourse" + +[OptionRowEditCourse] +Fallback="OptionRowService" +TitleX=SCREEN_CENTER_X-200 +ItemsLongRowSharedX=SCREEN_CENTER_X + +[ScreenOptionsCourseOverview] +Class="ScreenOptionsCourseOverview" +Fallback="ScreenOptionsSimpleService" +PrevScreen="ScreenOptionsManageCourses" +NextScreen="ScreenOptionsManageCourses" +# huh +PlayScreen="ScreenGameplayEditCourse" +EditScreen="ScreenOptionsEditCourse" +OptionRowNormalMetricsGroup="OptionRowCourseOverview" + +# visual/interactive syncing +[ScreenGameplaySyncMachine] +Class="ScreenGameplaySyncMachine" +Fallback="ScreenGameplay" +PrevScreen="ScreenOptionsInputSub" +NextScreen="ScreenOptionsInputSub" +PlayerType="PlayerSyncMachine" + +#AllowCenter1Player=false +SyncInfoOnCommand=x,PositionPerPlayer(GAMESTATE:GetMasterPlayerNumber(),SCREEN_CENTER_X+160,SCREEN_CENTER_X-160);y,SCREEN_CENTER_Y;zoom,0;decelerate,0.5;zoom,0.6 + +# hidden by default: +LifeP1OnCommand=visible,false +LifeP2OnCommand=visible,false +ScoreP1OnCommand=visible,false +ScoreP2OnCommand=visible,false +StageOnCommand=visible,false +ScoreFrameOnCommand=visible,false +LifeFrameOnCommand=visible,false +DifficultyP1OnCommand=visible,false +DifficultyP1ReverseOnCommand=visible,false +DifficultyP2OnCommand=visible,false +DifficultyP2ReverseOnCommand=visible,false +SongOptionsOnCommand=visible,false + +[PlayerSyncMachine] +Fallback="Player" +ComboOnCommand=visible,false + +# SM5 helper screens +[ScreenHowToInstallSongs] +Class="ScreenSplash" +Fallback="ScreenSplash" +NextScreen=Branch.TitleMenu() +PrevScreen=Branch.TitleMenu() +ShowStyleIcon=false +TimerSeconds=-1 +ShowHelp=false + +# stuff for legacy/deprecated online mode: +[ScreenSMOnlineLogin] +Class="ScreenSMOnlineLogin" +Fallback="ScreenOptionsServiceChild" +NextScreen=Branch.AfterSMOLogin +PrevScreen=Branch.TitleMenu() +ShowStyleIcon=false +TimerSeconds=-1 +ShowHelp=false + +[ScreenNetSelectBase] +Class="ScreenNetSelectBase" +Fallback="ScreenWithMenuElements" + +ChatInputBoxX=SCREEN_CENTER_X*0.5 +ChatInputBoxY=SCREEN_CENTER_Y+112 +ChatInputBoxOnCommand=bounceend,0.5;diffusealpha,1; +ChatInputBoxOffCommand=bouncebegin,0.5;zoomy,0 +ChatInputBoxWidth=SCREEN_CENTER_X*0.9 +ChatInputBoxHeight=64 +#--# +ChatInputX=(SCREEN_CENTER_X*0.5)*0.125 +ChatInputY=SCREEN_CENTER_Y+90 +ChatTextInputWidth=SCREEN_CENTER_X*1.8 +ChatInputOnCommand=halign,0;valign,0;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatInputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 +#====# +ChatOutputBoxX=SCREEN_CENTER_X*0.5 +ChatOutputBoxY=SCREEN_CENTER_Y-36 +ChatOutputBoxOnCommand=bounceend,0.5;diffusealpha,1; +ChatOutputBoxOffCommand=bouncebegin,0.5;zoomy,0 +ChatOutputBoxWidth=SCREEN_CENTER_X*0.9 +ChatOutputBoxHeight=SCREEN_CENTER_Y*0.875 +#--# +ChatOutputX=(SCREEN_CENTER_X*0.5)*0.125 +ChatOutputY=SCREEN_CENTER_Y+64 +ChatTextOutputWidth=SCREEN_CENTER_X*1.8 +ChatOutputLines=14 +ChatOutputOnCommand=halign,0;valign,1;zoom,0.5;diffusealpha,0;linear,0.55;diffusealpha,1 +ChatOutputOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0 + +UsersX=SCREEN_CENTER_X-265 +UsersY=SCREEN_CENTER_Y+172 +UserSpacingX=64 +UserLine2Y=16 +UsersOnCommand=draworder,2;zoom,1 +UsersOffCommand=linear,0.5;zoom,0 +Users0Command=draworder,2;diffuse,color("1.0,0.4,0.4,1.0") +Users1Command=draworder,2;diffuse,color("1.0,1.0,1.0,1.0") +Users2Command=draworder,2;diffuse,color("0.5,0.5,1.0,1.0") +Users3Command=draworder,2;diffuse,color("0.5,1.0,0.5,1.0") +Users4Command=draworder,2;diffuse,color("1.0,0.5,0.5,1.0") + +[ScreenNetSelectMusic] +Class="ScreenNetSelectMusic" +Fallback="ScreenNetSelectBase" +PrevScreen="ScreenNetRoom" +NextScreen="ScreenStageInformation" +NoSongsScreen=Branch.TitleMenu() +RoomSelectScreen="ScreenNetRoom" +PlayerOptionsScreen="ScreenPlayerOptions" +Codes="CodeDetectorOnline" + +ShowStyleIcon=false +TimerSeconds= +TimerStealth=true + +SampleMusicPreviewMode='SampleMusicPreviewMode_Normal' + +MusicWheelType="OnlineMusicWheel" +MusicWheelX=SCREEN_CENTER_X+160 +MusicWheelY=SCREEN_CENTER_Y +MusicWheelOnCommand= +MusicWheelOffCommand= + +# todo: move these to Lua bganim +BPMDisplayX=SCREEN_CENTER_X-160-90+2 +BPMDisplayY=SCREEN_TOP+160+(36/2)+8 +BPMDisplayOnCommand= +BPMDisplayOffCommand= + +# todo: move these to Lua bganim +ModIconsP1X=SCREEN_CENTER_X+144 +ModIconsP1Y=SCREEN_CENTER_Y-165 +ModIconsP1OnCommand=zoomy,0;linear,0.5;zoomy,1 +ModIconsP1OffCommand=linear,0.5;zoomy,0 +ModIconsP2X=SCREEN_CENTER_X+144 +ModIconsP2Y=SCREEN_CENTER_Y-164 +ModIconsP2OnCommand=zoomy,0;linear,0.5;zoomy,1 +ModIconsP2OffCommand=linear,0.5;zoomy,0 + +# are these used? +optionsX=SCREEN_CENTER_X-240 +optionsY=SCREEN_CENTER_Y-170 +optionsOnCommand=zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,0.7;zoomx,0.7 +optionsOffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 + +# uses StepsDisplayNet +StepsDisplayP1X=SCREEN_CENTER_X-223 +StepsDisplayP1Y=SCREEN_CENTER_Y+150 +StepsDisplayP1OnCommand=halign,1;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 + +StepsDisplayP2X=SCREEN_CENTER_X-110 +StepsDisplayP2Y=SCREEN_CENTER_Y+150 +StepsDisplayP2OnCommand=halign,1;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 + +[StepsDisplayNet] +Fallback="StepsDisplay" + +[ScreenNetRoom] +Class="ScreenNetRoom" +Fallback="ScreenNetSelectBase" +PrevScreen=Branch.TitleMenu() +# XXX +NextScreen="ScreenGameplayBranch" +MusicSelectScreen="ScreenNetSelectMusic" + +RoomWheelX=SCREEN_CENTER_X+160 +RoomWheelY=SCREEN_CENTER_Y +RoomWheelOnCommand= +RoomWheelOffCommand= + +RoomInfoDisplayX=SCREEN_CENTER_X-160 +RoomInfoDisplayY=SCREEN_CENTER_Y + +OpenRoomColor=color("1.0,1.0,1.0,1.0") +PasswdRoomColor=color("1.0,0.5,0.5,1.0") +InGameRoomColor=color("1.0,0.1,0.1,1.0") + +[RoomWheel] +Fallback="MusicWheel" +RoomWheelItemStartOnCommand= +RoomWheelItemFinishOnCommand= +CreateRoomColor=color("0.0,0.9,0.25,1.0") +ScrollBarOnCommand=visible,false + +[RoomWheelItem] +TextX=-110 +TextY=-8 +TextOnCommand=halign,0;zoom,0.6;maxwidth,200;strokecolor,color("#000000FF"); + +DescriptionX=-100 +DescriptionY=6 +DescriptionOnCommand=halign,0;zoom,0.4;maxwidth,400;strokecolor,color("#000000FF") + +[RoomInfoDisplay] +RoomInfoDisplayOnCommand=diffuse,color("1.0,1.0,1.0,1");x,SCREEN_WIDTH+130;y,250;bounceend,0.5;x,SCREEN_WIDTH-160 +RoomInfoDisplayOffCommand=x,SCREEN_WIDTH-160;y,250;bouncebegin,0.5;x,SCREEN_WIDTH+130 +DeployDelay=1.5 +RetractDelay=5 +RoomTitleOnCommand=x,-120;y,-140;zoom,0.75 +RoomDescOnCommand=x,-120;y,-129;zoom,0.75 +LastRoundOnCommand=x,-120;y,-107;zoom,0.75 +SongTitleOnCommand=x,-110;y,-96;zoom,0.75 +SongSubTitleOnCommand=x,-110;y,-85;zoom,0.75 +SongArtistOnCommand=x,-110;y,-74;zoom,0.75 +PlayersOnCommand=x,-120;y,-52;zoom,0.75 +PlayerListElementX=-110 +PlayerListElementY=-41 +PlayerListElementOffsetX=0 +PlayerListElementOffsetY=11 +PlayerListElementOnCommand=zoom,0.75 + +[ScreenSMOnlineSelectMusic] +PrevScreen="ScreenNetRoom" +Class="ScreenNetSelectMusic" +RoomSelectScreen="ScreenNetRoom" +Fallback="ScreenNetSelectMusic" + +[ScreenNetEvaluation] +Class="ScreenNetEvaluation" +Fallback="ScreenEvaluationNormal" +NextScreen="ScreenProfileSave" + +# these three commands are deprecated: +UsersBGWidth=SCREEN_CENTER_X*0.6 +UsersBGHeight=SCREEN_HEIGHT*0.6 +UsersBGCommand=diffuse,color("0,0,0,0.25") + +UsersBGOnCommand=finishtweening;zoom,1.25 +UsersBGOffCommand=finishtweening;zoom,1 + +User1X=SCREEN_CENTER_X*0.35 +User1Y=SCREEN_CENTER_Y +User1OnCommand= +User1OffCommand= +#--# +UsersBG1X=SCREEN_CENTER_X*0.35 +UsersBG1Y=SCREEN_CENTER_Y*0.975 +UsersBG1OnCommand= +UsersBG1OffCommand= +#====# +User2X=SCREEN_CENTER_X*1.65 +User2Y=SCREEN_CENTER_Y +User2OnCommand= +User2OffCommand= +#--# +UsersBG2X=SCREEN_CENTER_X*1.65 +UsersBG2Y=SCREEN_CENTER_Y*0.975 +UsersBG2OnCommand= +UsersBG2OffCommand= + +UserDeSelCommand=finishtweening;linear,0.1;zoom,0.75 +UserSelCommand=finishtweening;linear,0.1;zoom,1.0 + +UserTier02OrBetterCommand=rainbowscroll,true + +UserDX=0 +UserDY=24 +UserOnCommand= +UserOffCommand= + +# +[ModIcon] +TextX=0 +TextY=0 +TextOnCommand=maxwidth,40;uppercase,true;shadowlength,0;diffuse,color("#f6ff00") +CropTextToWidth=50 +StopWords="1X,default,Overhead,Off" + +[ModIconSelectMusic] +Fallback="ModIcon" +TextY=-1 +TextOnCommand=maxwidth,38;uppercase,true;shadowlength,0 + +[ModIconRow] +NumModIcons=6 +ModIconOnCommand= +SpacingX=0 +SpacingY=52 +ModIconMetricsGroup="ModIcon" + +[ModIconRowSelectMusic] +Fallback="ModIconRow" +SpacingX=46 +SpacingY=0 +ModIconMetricsGroup="ModIconSelectMusic" + +# +[GraphDisplay] +BodyWidth=140 +BodyHeight=38 + +[ComboGraph] +BodyWidth=140 +BodyHeight=11 + +# Arcade ################################# +[ScreenLogo] +Fallback="ScreenAttract" +PrevScreen=Branch.Init() +NextScreen="ScreenHowToPlay" +StartScreen=Branch.TitleMenu() +TimerSeconds=5 +ForceTimer=true +TimerMetricsGroup="MenuTimerNoSound" +TimerOnCommand=visible,false + +[ScreenHowToPlay] +Class="ScreenHowToPlay" +Fallback="ScreenAttract" +PrevScreen="ScreenLogo" +NextScreen="ScreenDemonstration" +StartScreen=Branch.TitleMenu() +TimerSeconds=25 +TimerStealth=true +SecondsToShow=25 +ForceTimer=true +ResetGameState=false +PlayMusic=true +# +UseLifeMeterBar=true +LifeMeterBarX=SCREEN_CENTER_X+160 +LifeMeterBarY=SCREEN_TOP+40 +LifeMeterBarOnCommand=addy,-60;sleep,2.4;linear,0.2;addy,60 +# +UseCharacter=true +CharacterName="" +CharacterX=SCREEN_CENTER_X-200 +CharacterY=SCREEN_CENTER_Y+160 +CharacterOnCommand=zoom,20;addy,-SCREEN_WIDTH;sleep,3.0;decelerate,0.4;addy,SCREEN_WIDTH +# +UsePad=true +PadX=SCREEN_CENTER_X-280 +PadY=SCREEN_CENTER_Y+70 +PadOnCommand=zoom,15;rotationy,180;sleep,2.0;linear,1.0;rotationy,360;zoom,20;addx,190;addy,80 +# +UsePlayer=true +PlayerX=SCREEN_CENTER_X+160 +PlayerY=SCREEN_CENTER_Y +PlayerOnCommand= +# +SongBPM=100 +NumW2s=4 +NumMisses=6 + +[ScreenDemonstration] +Fallback="ScreenGameplay" +Class="ScreenDemonstration" +NextScreen=Branch.NoiseTrigger() +PrevScreen=Branch.NoiseTrigger() +StartScreen=Branch.TitleMenu() +PlayMusic=false +SecondsToShow=60 + +LightsMode="LightsMode_Demonstration" +DifficultiesToShow="easy,medium" +ShowCourseModifiersProbability=0 +AllowAdvancedModifiers=false +AllowStyleTypes="TwoPlayersTwoSides" + +MinSecondsToStep=0 +MinSecondsToMusic=0 + +[ScreenHighScores] +Fallback="ScreenAttract" +Class="ScreenHighScores" +NextScreen="ScreenInit" +PrevScreen="ScreenDemonstration" +StartScreen=Branch.TitleMenu() + +TimerSeconds=-1 + +HighScoresType="HighScoresType_AllSteps" +MaxItemsToShow=50 +NumColumns=5 +ColumnDifficulty1="Difficulty_Beginner" +ColumnDifficulty2="Difficulty_Easy" +ColumnDifficulty3="Difficulty_Medium" +ColumnDifficulty4="Difficulty_Hard" +ColumnDifficulty5="Difficulty_Challenge" +ColumnStepsType1=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) +ColumnStepsType2=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) +ColumnStepsType3=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) +ColumnStepsType4=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) +ColumnStepsType5=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) +ScrollerItemsToDraw=7 +ScrollerSecondsPerItem=0.4 +ManualScrolling=false +ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+36;SetMask,608,40 +ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) self:y(46.1*offset) end + +[ScreenNoise] +Fallback="ScreenAttract" +Class="ScreenAttract" +NextScreen="ScreenInit" +PrevScreen="ScreenInit" +TimerSeconds=3600 +TimerStealth=true +ShowCreditDisplay=false + +[ScreenTitleJoin] +Fallback="ScreenTitleMenu" +ChoiceNames="GameStart" + +# ScrollerOnCommand=visible,false +IdleCommentSeconds=-1 +IdleTimeoutSeconds=-1 +IdleTimeoutScreen=Branch.AfterInit() + +# Jukebox ################### +[ScreenJukeboxMenu] +Class="ScreenOptionsMaster" +Fallback="ScreenPlayerOptions" +NextScreen="ScreenJukebox" +PrevScreen="ScreenTitleMenu" +TimerSeconds=-1 +ShowStyleIcon=false + +InputMode="together" +ForceAllPlayers=true + +LineNames="1,2,3,4" +Line1="list,Styles" +Line2="list,Groups" +Line3="list,Difficulties" +Line4="lua,OptionsRandomJukebox()" + +[ScreenJukebox] +Class="ScreenJukebox" +Fallback="ScreenGameplay" +NextScreen="ScreenJukebox" +PrevScreen="ScreenJukeboxMenu" +StartScreen="ScreenTitleMenu" +LightsMode="LightsMode_Demonstration" +ShowCourseModifiersProbability=0 +AllowAdvancedModifiers=true + +[ScreenCredits] +Class="ScreenSplash" +Fallback="ScreenSplash" +AllowStartToSkip=true +NextScreen=Branch.TitleMenu() +PrevScreen=Branch.TitleMenu() + +TimerStealth=true +ForceTimer=true +TimerMetricsGroup="MenuTimerNoSound" +TimerOnCommand=visible,false + +[PaneDisplay] +NullCountString="" + +# Apparently these are still used. Let it be known that they're severely deprecated. +[DancingCharacters] +2DCharacterXP1=SCREEN_WIDTH*0.25 +2DCharacterYP1=SCREEN_HEIGHT*0.5 +2DCharacterXP2=SCREEN_WIDTH*0.75 +2DCharacterYP2=SCREEN_HEIGHT*0.5 + +# Allows you to change the position of the X model relative to SCREEN_CENTER_X +# Keep in mind, the camera and models are placed in a YRot of 180, so the X value here +# will act in reverse. +OnePlayerModelX=0 + +# TODO +# Distance between both models during versus or battle modes. +TwoPlayersModelX=8 + +# Controls the Dancing characters camera. +[DancingCamera] +# Distance relative to Z to the position of the characters. +RestDistance=32.0 +# Distance relative to Y to the position of the characters. +RestHeight=-11.0 +# Distance relative to Z to the position of the characters +# At the moment of the sweep animation to begin. +SweepDistance=28.0 +# Variable ammount in which the Z position will change +# during said tween. +SweepDistanceVariable=4.0 +# Variable ammount in which the Y position will change +# during said tween. +SweepHeightVariable=7.0 +# Variable range in which the Y position will tween +# to become the new variable to start from. +SweepPanYRangeDegrees=45.0 +SweepPanYVarianceDegrees=60.0 +SweepHeight=-11.0 +StillDistance=26.0 +StillDistanceVariance=3.0 +StillPanYRangeDegrees=120.0 +StillHeightVariance=5.0 +StillHeight=-10.0 + +# As the name implies, this sets the ammount of beats that the camera will +# stay in its current state until transitioning to the next camera tween. +BeatsUntilNextCamPos=8 +CameraFOV=45 + +# Control the lighting position here. +LightX=-3 +LightY=-7.5 +LightZ=9 + +# Control the lighting color here. +AmbientColor=color(".4,.4,.4,1") +AmbientDangerColor=color(".4,.1,.1,1") +AmbientFailedColor=color(".2,.1,.1,1") +# Diffuse color of the scene. +DiffuseColor=color("1,.95,.95,1") +DiffuseDangerColor=color(".8,.1,.1,1") +DiffuseFailedColor=color(".4,.1,.1,1") \ No newline at end of file From 1107bb74b4c605dec69fd4af71002c0db2f4045d Mon Sep 17 00:00:00 2001 From: Jose_Varela Date: Sun, 29 Jul 2018 16:09:59 -0500 Subject: [PATCH 3/4] Add more explanations to the commands. --- Themes/_fallback/metrics.ini | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 5eb31ad37b..c42b2d633b 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -4853,18 +4853,26 @@ NullCountString="" # will act in reverse. OnePlayerModelX=0 -# TODO -# Distance between both models during versus or battle modes. -TwoPlayersModelX=8 - # Controls the Dancing characters camera. [DancingCamera] +# Camera Explanation +# StepMania's Dancing Characters Camera is divided into 3 sections + +# Rest - Begins as soon as Gameplay is started. It won't change until the +# First note has been hit/passed. + +# Sweep - Part of the camera where it begins to move, and does linear tweens +# Across the area, in a matrix-like style. + +# Still - Happens in a Rand ammount, in which if true, goes into a static position +# in a random spot of the area where the characters can (mostly) be visible. + # Distance relative to Z to the position of the characters. RestDistance=32.0 # Distance relative to Y to the position of the characters. RestHeight=-11.0 -# Distance relative to Z to the position of the characters -# At the moment of the sweep animation to begin. + +# Here's the moment the sweep animation will begin. SweepDistance=28.0 # Variable ammount in which the Z position will change # during said tween. @@ -4876,7 +4884,9 @@ SweepHeightVariable=7.0 # to become the new variable to start from. SweepPanYRangeDegrees=45.0 SweepPanYVarianceDegrees=60.0 +# Height where the Sweep will begin from. SweepHeight=-11.0 + StillDistance=26.0 StillDistanceVariance=3.0 StillPanYRangeDegrees=120.0 @@ -4886,6 +4896,8 @@ StillHeight=-10.0 # As the name implies, this sets the ammount of beats that the camera will # stay in its current state until transitioning to the next camera tween. BeatsUntilNextCamPos=8 + +# Set the Camera's Field Of View. CameraFOV=45 # Control the lighting position here. From d71e05dcd83ddbdc95e554322133cc419d3ae3e1 Mon Sep 17 00:00:00 2001 From: Jose_Varela Date: Sun, 29 Jul 2018 16:12:07 -0500 Subject: [PATCH 4/4] Small cleanup --- src/DancingCharacters.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/DancingCharacters.cpp b/src/DancingCharacters.cpp index 73f2b8ad34..3d84a64a6f 100644 --- a/src/DancingCharacters.cpp +++ b/src/DancingCharacters.cpp @@ -57,18 +57,13 @@ const ThemeMetric LIGHT_DFAILED_COLOR ( "DancingCamera", "DiffuseFail // Position of the model in X (one player) #define MODEL_X_ONE_PLAYER THEME->GetMetricF("DancingCharacters","OnePlayerModelX") -// Model spacing during Versus or Battle modes. -#define MODEL_X_VERSUS THEME->GetMetricF("DancingCharacters","TwoPlayersModelX") // As the name implies, this sets the ammount of beats that the camera will // stay in its current state until transitioning to the next camera tween. #define AMM_BEATS_TIL_NEXTCAMERA THEME->GetMetricF("DancingCamera","BeatsUntilNextCamPos") #define CAM_FOV THEME->GetMetricF("DancingCamera","CameraFOV") -// Since we only have two players, set those without changing the table too much. -int VersusSpacing = (int)MODEL_X_VERSUS; -const float MODEL_X_TWO_PLAYERS[NUM_PLAYERS] = { VersusSpacing, -VersusSpacing }; - +const float MODEL_X_TWO_PLAYERS[NUM_PLAYERS] = { +8, -8 }; const float MODEL_ROTATIONY_TWO_PLAYERS[NUM_PLAYERS] = { -90, 90 }; DancingCharacters::DancingCharacters(): m_bDrawDangerLight(false), @@ -419,7 +414,7 @@ void DancingCharacters::DrawPrimitives() */ } -/* +/* 2018 Jose Varela * (c) 2003-2004 Chris Danford * All rights reserved. *