[splittiming] Fix ArrowEffects 1c4b21b.

Almost had this one right...just needed more vars.
This commit is contained in:
Jason Felds
2011-05-13 23:32:14 -04:00
parent e078e6beef
commit 7c9b54e9f0
3 changed files with 12 additions and 2 deletions
+4 -2
View File
@@ -85,7 +85,8 @@ void ArrowEffects::Update()
FOREACH_PlayerNumber( pn )
{
const Style::ColumnInfo* pCols = pStyle->m_ColumnInfo[pn];
const SongPosition &position = GAMESTATE->m_bIsEditorStepTiming ? GAMESTATE->m_pPlayerState[pn]->m_Position : GAMESTATE->m_Position;
const SongPosition &position = (!GAMESTATE->m_bInStepEditor || GAMESTATE->m_bIsEditorStepTiming)
? GAMESTATE->m_pPlayerState[pn]->m_Position : GAMESTATE->m_Position;
PerPlayerData &data = g_EffectData[pn];
@@ -219,7 +220,8 @@ float ArrowEffects::GetYOffset( const PlayerState* pPlayerState, int iCol, float
bIsPastPeakOut = true;
float fYOffset = 0;
const SongPosition &position = GAMESTATE->m_bIsEditorStepTiming ? pPlayerState->m_Position : GAMESTATE->m_Position;
const SongPosition &position = (!GAMESTATE->m_bInStepEditor || GAMESTATE->m_bIsEditorStepTiming)
? pPlayerState->m_Position : GAMESTATE->m_Position;
/* Usually, fTimeSpacing is 0 or 1, in which case we use entirely beat spacing or
* entirely time spacing (respectively). Occasionally, we tween between them. */
+5
View File
@@ -337,6 +337,11 @@ public:
*
* Different options are available depending on this setting. */
bool m_bIsEditorStepTiming;
/**
* @brief Are we presently in the Step Editor, where some rules apply differently?
*
* TODO: Find a better way to implement this. */
bool m_bInStepEditor;
BroadcastOnChange<StepsType> m_stEdit;
BroadcastOnChange<CourseDifficulty> m_cdEdit;
BroadcastOnChangePtr<Steps> m_pEditSourceSteps;
+3
View File
@@ -698,6 +698,7 @@ void ScreenEdit::Init()
m_pSoundMusic = NULL;
GAMESTATE->m_bIsEditorStepTiming = true;
GAMESTATE->m_bInStepEditor = true;
SubscribeToMessage( "Judgment" );
@@ -858,6 +859,8 @@ ScreenEdit::~ScreenEdit()
// Reset the GameState variable in case it's needed elsewhere.
GAMESTATE->m_bIsEditorStepTiming = false;
// DEFINITELY reset the InStepEditor variable.
GAMESTATE->m_bInStepEditor = false;
}
void ScreenEdit::BeginScreen()