add NoteDataUtil::TransformNoteData
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
#include "NoteDataUtil.h"
|
#include "NoteDataUtil.h"
|
||||||
#include "RageUtil.h"
|
#include "RageUtil.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
|
#include "PlayerOptions.h"
|
||||||
|
|
||||||
NoteType NoteDataUtil::GetSmallestNoteTypeForMeasure( const NoteData &n, int iMeasureIndex )
|
NoteType NoteDataUtil::GetSmallestNoteTypeForMeasure( const NoteData &n, int iMeasureIndex )
|
||||||
{
|
{
|
||||||
@@ -890,3 +890,33 @@ void NoteDataUtil::Mines( NoteData &in )
|
|||||||
in.SetTapNote(t,r,TAP_MINE);
|
in.SetTapNote(t,r,TAP_MINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NoteDataUtil::TransformNoteData( NoteData &nd, PlayerOptions &po, StepsType st )
|
||||||
|
{
|
||||||
|
if( !po.m_bHoldNotes )
|
||||||
|
RemoveHoldNotes( nd );
|
||||||
|
|
||||||
|
switch( po.m_Turn )
|
||||||
|
{
|
||||||
|
case PlayerOptions::TURN_NONE: break;
|
||||||
|
case PlayerOptions::TURN_MIRROR: NoteDataUtil::Turn( nd, st, NoteDataUtil::mirror ); break;
|
||||||
|
case PlayerOptions::TURN_LEFT: NoteDataUtil::Turn( nd, st, NoteDataUtil::left ); break;
|
||||||
|
case PlayerOptions::TURN_RIGHT: NoteDataUtil::Turn( nd, st, NoteDataUtil::right ); break;
|
||||||
|
case PlayerOptions::TURN_SHUFFLE: NoteDataUtil::Turn( nd, st, NoteDataUtil::shuffle ); break;
|
||||||
|
case PlayerOptions::TURN_SUPER_SHUFFLE: NoteDataUtil::Turn( nd, st, NoteDataUtil::super_shuffle ); break;
|
||||||
|
default: ASSERT(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( po.m_Transform )
|
||||||
|
{
|
||||||
|
case PlayerOptions::TRANSFORM_NONE: break;
|
||||||
|
case PlayerOptions::TRANSFORM_LITTLE: NoteDataUtil::Little(nd); break;
|
||||||
|
case PlayerOptions::TRANSFORM_WIDE: NoteDataUtil::Wide(nd); break;
|
||||||
|
case PlayerOptions::TRANSFORM_BIG: NoteDataUtil::Big(nd); break;
|
||||||
|
case PlayerOptions::TRANSFORM_QUICK: NoteDataUtil::Quick(nd); break;
|
||||||
|
case PlayerOptions::TRANSFORM_SKIPPY: NoteDataUtil::Skippy(nd); break;
|
||||||
|
case PlayerOptions::TRANSFORM_MINES: NoteDataUtil::Mines(nd); break;
|
||||||
|
default: ASSERT(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "NoteTypes.h"
|
#include "NoteTypes.h"
|
||||||
#include "NoteData.h"
|
#include "NoteData.h"
|
||||||
|
|
||||||
|
struct PlayerOptions;
|
||||||
|
|
||||||
/* Utils for NoteData. Things should go in here if they can be (cleanly and
|
/* Utils for NoteData. Things should go in here if they can be (cleanly and
|
||||||
* efficiently) implemented using only NoteData's primitives; this improves
|
* efficiently) implemented using only NoteData's primitives; this improves
|
||||||
@@ -74,6 +75,8 @@ namespace NoteDataUtil
|
|||||||
|
|
||||||
// Remove all tap notes that fail this mask
|
// Remove all tap notes that fail this mask
|
||||||
void EliminateNonPassingTaps( NoteData &in, int row, const bool bValidMask[] );
|
void EliminateNonPassingTaps( NoteData &in, int row, const bool bValidMask[] );
|
||||||
|
|
||||||
|
void TransformNoteData( NoteData &nd, PlayerOptions &po, StepsType st );
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -122,33 +122,8 @@ void Player::Load( PlayerNumber pn, NoteData* pNoteData, LifeMeter* pLM, Combine
|
|||||||
if( m_pScore )
|
if( m_pScore )
|
||||||
m_pScore->Init( pn );
|
m_pScore->Init( pn );
|
||||||
|
|
||||||
if( !GAMESTATE->m_PlayerOptions[pn].m_bHoldNotes )
|
/* Apply transforms. */
|
||||||
NoteDataUtil::RemoveHoldNotes(*this);
|
NoteDataUtil::TransformNoteData( *this, GAMESTATE->m_PlayerOptions[pn], GAMESTATE->GetCurrentStyleDef()->m_StepsType );
|
||||||
|
|
||||||
StepsType st = GAMESTATE->GetCurrentStyleDef()->m_StepsType;
|
|
||||||
|
|
||||||
switch( GAMESTATE->m_PlayerOptions[pn].m_Turn )
|
|
||||||
{
|
|
||||||
case PlayerOptions::TURN_NONE: break;
|
|
||||||
case PlayerOptions::TURN_MIRROR: NoteDataUtil::Turn( *this, st, NoteDataUtil::mirror ); break;
|
|
||||||
case PlayerOptions::TURN_LEFT: NoteDataUtil::Turn( *this, st, NoteDataUtil::left ); break;
|
|
||||||
case PlayerOptions::TURN_RIGHT: NoteDataUtil::Turn( *this, st, NoteDataUtil::right ); break;
|
|
||||||
case PlayerOptions::TURN_SHUFFLE: NoteDataUtil::Turn( *this, st, NoteDataUtil::shuffle ); break;
|
|
||||||
case PlayerOptions::TURN_SUPER_SHUFFLE: NoteDataUtil::Turn( *this, st, NoteDataUtil::super_shuffle ); break;
|
|
||||||
default: ASSERT(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( GAMESTATE->m_PlayerOptions[pn].m_Transform )
|
|
||||||
{
|
|
||||||
case PlayerOptions::TRANSFORM_NONE: break;
|
|
||||||
case PlayerOptions::TRANSFORM_LITTLE: NoteDataUtil::Little(*this); break;
|
|
||||||
case PlayerOptions::TRANSFORM_WIDE: NoteDataUtil::Wide(*this); break;
|
|
||||||
case PlayerOptions::TRANSFORM_BIG: NoteDataUtil::Big(*this); break;
|
|
||||||
case PlayerOptions::TRANSFORM_QUICK: NoteDataUtil::Quick(*this); break;
|
|
||||||
case PlayerOptions::TRANSFORM_SKIPPY: NoteDataUtil::Skippy(*this); break;
|
|
||||||
case PlayerOptions::TRANSFORM_MINES: NoteDataUtil::Mines(*this); break;
|
|
||||||
default: ASSERT(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
int iStartDrawingAtPixels = GAMESTATE->m_bEditing ? -100 : START_DRAWING_AT_PIXELS;
|
int iStartDrawingAtPixels = GAMESTATE->m_bEditing ? -100 : START_DRAWING_AT_PIXELS;
|
||||||
int iStopDrawingAtPixels = GAMESTATE->m_bEditing ? 400 : STOP_DRAWING_AT_PIXELS;
|
int iStopDrawingAtPixels = GAMESTATE->m_bEditing ? 400 : STOP_DRAWING_AT_PIXELS;
|
||||||
|
|||||||
Reference in New Issue
Block a user