diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index d16673b0c6..0de12ab4fa 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,11 @@ ________________________________________________________________________________ StepMania 5.0 ????????? | 20110??? -------------------------------------------------------------------------------- +2011/07/21 +---------- +* [BeginnerHelper] Removed DancePadAngle metric in favor of DancePadOnCommand. + The same goes for PlayerAngle, rotation is now handled in PlayerP1/2OnCommand. [AJ] + 2011/07/20 ---------- * [Win32/CrashHandlerChild] Crashlog and log now open in the player's default diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e981c33167..320ffc3adc 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -230,14 +230,18 @@ ScrollSortOrder=false ScrollSpeedDivisor=2 [BeginnerHelper] -HelperX=SCREEN_CENTER_X+0 +HelperX=SCREEN_CENTER_X HelperY=SCREEN_CENTER_Y+80 + # All X,Y coordinates are relative to the HelperX,Y -Player1_X=-125 -Player2_X=SCREEN_CENTER_X-195 -PlayerAngle=40 +Player1X=-125 +Player2X=195 +PlayerP1OnCommand=halign,0;rotationx,40;zoom,20 +PlayerP2OnCommand=halign,0;rotationx,40;zoom,20 + ShowDancePad=false -DancePadAngle=36 +# "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! diff --git a/src/BeginnerHelper.cpp b/src/BeginnerHelper.cpp index 63c6d7d9e4..6781aaac10 100644 --- a/src/BeginnerHelper.cpp +++ b/src/BeginnerHelper.cpp @@ -15,8 +15,6 @@ // "PLAYER_X" offsets are relative to the pad. // ex: Setting this to 10, and the HELPER to 300, will put the dancer at 310. #define PLAYER_X( px ) THEME->GetMetricF("BeginnerHelper",ssprintf("Player%dX",px+1)) -#define PLAYER_ANGLE THEME->GetMetricF("BeginnerHelper","PlayerAngle") -#define DANCEPAD_ANGLE THEME->GetMetricF("BeginnerHelper","DancePadAngle") // "HELPER" offsets effect the pad/dancer as a whole. // Their relative Y cooridinates are hard-coded for each other. @@ -137,12 +135,10 @@ bool BeginnerHelper::Init( int iDancePadType ) case 2: m_pDancePad->LoadMilkshapeAscii(GetAnimPath(ANIM_DANCE_PADS)); break; } - m_pDancePad->SetHorizAlign( align_left ); // xxx: hardcoded -aj - m_pDancePad->SetRotationX( DANCEPAD_ANGLE ); + m_pDancePad->SetName("DancePad"); m_pDancePad->SetX( HELPER_X ); m_pDancePad->SetY( HELPER_Y ); - // xxx: hardcoded -aj - m_pDancePad->SetZoom( 23 ); // Pad should always be 3 units bigger in zoom than the dancer. + ActorUtil::LoadAllCommands( m_pDancePad, "BeginnerHelper" ); } for( int pl=0; plm_pCurCharacters[pl]; ASSERT( Character != NULL ); + m_pDancer[pl]->SetName( ssprintf("PlayerP%d",pl+1) ); + // Load textures - m_pDancer[pl]->SetHorizAlign( align_left ); m_pDancer[pl]->LoadMilkshapeAscii( Character->GetModelPath() ); // Load needed animations @@ -168,12 +165,11 @@ bool BeginnerHelper::Init( int iDancePadType ) m_pDancer[pl]->LoadMilkshapeAsciiBones( "rest", Character->GetRestAnimationPath() ); m_pDancer[pl]->SetDefaultAnimation( "rest" ); // Stay bouncing after a step has finished animating m_pDancer[pl]->PlayAnimation( "rest" ); - m_pDancer[pl]->SetCullMode( CULL_NONE ); // many of the models floating around have the vertex order flipped - // todo: remove these hardcoded commands -aj - m_pDancer[pl]->SetRotationX( PLAYER_ANGLE ); m_pDancer[pl]->SetX( HELPER_X+PLAYER_X(pl) ); m_pDancer[pl]->SetY( HELPER_Y+10 ); - m_pDancer[pl]->SetZoom( 20 ); + ActorUtil::LoadAllCommands( m_pDancer[pl], "BeginnerHelper" ); + // many of the models floating around have the vertex order flipped, so force this. + m_pDancer[pl]->SetCullMode( CULL_NONE ); } m_bInitialized = true;