[splittiming] Fix ArrowEffects 1c4b21b.
Almost had this one right...just needed more vars.
This commit is contained in:
@@ -85,7 +85,8 @@ void ArrowEffects::Update()
|
|||||||
FOREACH_PlayerNumber( pn )
|
FOREACH_PlayerNumber( pn )
|
||||||
{
|
{
|
||||||
const Style::ColumnInfo* pCols = pStyle->m_ColumnInfo[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];
|
PerPlayerData &data = g_EffectData[pn];
|
||||||
|
|
||||||
@@ -219,7 +220,8 @@ float ArrowEffects::GetYOffset( const PlayerState* pPlayerState, int iCol, float
|
|||||||
bIsPastPeakOut = true;
|
bIsPastPeakOut = true;
|
||||||
|
|
||||||
float fYOffset = 0;
|
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
|
/* Usually, fTimeSpacing is 0 or 1, in which case we use entirely beat spacing or
|
||||||
* entirely time spacing (respectively). Occasionally, we tween between them. */
|
* entirely time spacing (respectively). Occasionally, we tween between them. */
|
||||||
|
|||||||
@@ -337,6 +337,11 @@ public:
|
|||||||
*
|
*
|
||||||
* Different options are available depending on this setting. */
|
* Different options are available depending on this setting. */
|
||||||
bool m_bIsEditorStepTiming;
|
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<StepsType> m_stEdit;
|
||||||
BroadcastOnChange<CourseDifficulty> m_cdEdit;
|
BroadcastOnChange<CourseDifficulty> m_cdEdit;
|
||||||
BroadcastOnChangePtr<Steps> m_pEditSourceSteps;
|
BroadcastOnChangePtr<Steps> m_pEditSourceSteps;
|
||||||
|
|||||||
@@ -698,6 +698,7 @@ void ScreenEdit::Init()
|
|||||||
m_pSoundMusic = NULL;
|
m_pSoundMusic = NULL;
|
||||||
|
|
||||||
GAMESTATE->m_bIsEditorStepTiming = true;
|
GAMESTATE->m_bIsEditorStepTiming = true;
|
||||||
|
GAMESTATE->m_bInStepEditor = true;
|
||||||
|
|
||||||
SubscribeToMessage( "Judgment" );
|
SubscribeToMessage( "Judgment" );
|
||||||
|
|
||||||
@@ -858,6 +859,8 @@ ScreenEdit::~ScreenEdit()
|
|||||||
|
|
||||||
// Reset the GameState variable in case it's needed elsewhere.
|
// Reset the GameState variable in case it's needed elsewhere.
|
||||||
GAMESTATE->m_bIsEditorStepTiming = false;
|
GAMESTATE->m_bIsEditorStepTiming = false;
|
||||||
|
// DEFINITELY reset the InStepEditor variable.
|
||||||
|
GAMESTATE->m_bInStepEditor = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenEdit::BeginScreen()
|
void ScreenEdit::BeginScreen()
|
||||||
|
|||||||
Reference in New Issue
Block a user