Use Step Timing if steps are already on Splits.

This commit is contained in:
Jason Felds
2011-05-25 14:07:53 -04:00
parent c5bbeb69ca
commit 5f8353bdd0
3 changed files with 16 additions and 8 deletions
+4
View File
@@ -733,6 +733,10 @@ void ScreenEdit::Init()
m_pSong = GAMESTATE->m_pCurSong;
m_pSteps = GAMESTATE->m_pCurSteps[PLAYER_1];
if( m_pSteps->UsesSplitTiming() )
GAMESTATE->m_bIsUsingStepTiming = true;
m_bReturnToRecordMenuAfterPlay = false;
m_fBeatToReturnTo = 0;
+7 -8
View File
@@ -424,6 +424,12 @@ void Steps::SetCachedRadarValues( const RadarValues v[NUM_PLAYERS] )
copy( v, v + NUM_PLAYERS, m_CachedRadarValues );
}
bool Steps::UsesSplitTiming() const
{
Song *song = SONGMAN->GetSongFromSteps(const_cast<Steps *>(this));
return song->m_SongTiming != this->m_Timing;
}
// lua start
#include "LuaBinding.h"
@@ -441,6 +447,7 @@ public:
DEFINE_METHOD( IsAutogen, IsAutogen() )
DEFINE_METHOD( IsAnEdit, IsAnEdit() )
DEFINE_METHOD( IsAPlayerEdit, IsAPlayerEdit() )
DEFINE_METHOD( UsesSplitTiming, UsesSplitTiming() )
static int HasSignificantTimingChanges( T* p, lua_State *L ) { lua_pushboolean(L, p->HasSignificantTimingChanges()); return 1; }
@@ -468,14 +475,6 @@ public:
lua_pushstring( L, out );
return 1;
}
static int UsesSplitTiming( T* p, lua_State *L )
{
Song *song = SONGMAN->GetSongFromSteps(p);
lua_pushboolean(L, p->m_Timing != song->m_SongTiming);
return 1;
}
LunaSteps()
{
+5
View File
@@ -132,6 +132,11 @@ public:
StepsType m_StepsType;
CachedObject<Steps> m_CachedObject;
/**
* @brief Determine if the Steps use Split Timing by comparing the Song it's in.
* @return true if the Step and Song use different timings, false otherwise. */
bool UsesSplitTiming() const;
private:
inline const Steps *Real() const { return parent ? parent : this; }