FakeSegments refactored.
Few things of note: 1) Slowly going away from hungarian notation. 2) Trying to respect public/private members. 2a) Yes, structs can work like this. 3) Trying to not require horizontal scrolling. If anyone else wants a crack, go ahead: we have 9 segments left. :)
This commit is contained in:
@@ -854,114 +854,6 @@ struct ScrollSegment
|
||||
bool operator>=( const ScrollSegment &other ) const { return !operator<(other); }
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Identifies when a whole region of arrows is to be ignored.
|
||||
*
|
||||
* FakeSegments are similar to the Fake Tap Notes in that the contents
|
||||
* inside are neither for nor against the player. They can be useful for
|
||||
* mission modes, in conjunction with WarpSegments, or perhaps other
|
||||
* uses not thought up at the time of this comment. Unlike the Warp
|
||||
* Segments, these are not magically jumped over: instead, these are
|
||||
* drawn normally.
|
||||
*
|
||||
* These were inspired by the Pump It Up series. */
|
||||
struct FakeSegment
|
||||
{
|
||||
/**
|
||||
* @brief Create a simple Fake Segment with default values.
|
||||
*
|
||||
* It is best to override the values as soon as possible.
|
||||
*/
|
||||
FakeSegment() : m_iStartRow(-1), m_fLengthBeats(-1) { }
|
||||
/**
|
||||
* @brief Create a Fake Segment with the specified values.
|
||||
* @param s the starting row of this segment.
|
||||
* @param r the number of rows this segment lasts.
|
||||
*/
|
||||
FakeSegment( int s, int r ): m_iStartRow(s),
|
||||
m_fLengthBeats(NoteRowToBeat(r)) {}
|
||||
/**
|
||||
* @brief Creates a Fake Segment with the specified values.
|
||||
* @param s the starting row of this segment.
|
||||
* @param b the number of beats this segment lasts.
|
||||
*/
|
||||
FakeSegment( int s, float b ): m_iStartRow(max(0, s)),
|
||||
m_fLengthBeats(max(0, b)) {}
|
||||
/**
|
||||
* @brief Create a Fake Segment with the specified values.
|
||||
* @param s the starting beat in this segment.
|
||||
* @param r the number of rows this segment lasts.
|
||||
*/
|
||||
FakeSegment( float s, int r ):
|
||||
m_iStartRow(max(0, BeatToNoteRow(s))),
|
||||
m_fLengthBeats(max(0, NoteRowToBeat(r))) {}
|
||||
/**
|
||||
* @brief Creates a Fake Segment with the specified values.
|
||||
* @param s the starting beat of this segment.
|
||||
* @param b the number of beats this segment lasts.
|
||||
*/
|
||||
FakeSegment( float s, float b ):
|
||||
m_iStartRow(BeatToNoteRow(s)),
|
||||
m_fLengthBeats(b) {}
|
||||
/**
|
||||
* @brief The row in which the FakeSegment activates.
|
||||
*/
|
||||
int m_iStartRow;
|
||||
/**
|
||||
* @brief The number of beats the FakeSegment is alive for.
|
||||
*/
|
||||
float m_fLengthBeats;
|
||||
/**
|
||||
* @brief Compares two FakeSegments to see if they are equal to each other.
|
||||
* @param other the other FakeSegment to compare to.
|
||||
* @return the equality of the two segments.
|
||||
*/
|
||||
bool operator==( const FakeSegment &other ) const
|
||||
{
|
||||
COMPARE( m_iStartRow );
|
||||
COMPARE( m_fLengthBeats );
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* @brief Compares two FakeSegments to see if they are not equal to each other.
|
||||
* @param other the other FakeSegment to compare to.
|
||||
* @return the inequality of the two segments.
|
||||
*/
|
||||
bool operator!=( const FakeSegment &other ) const { return !operator==(other); }
|
||||
/**
|
||||
* @brief Compares two FakeSegments to see if one is less than the other.
|
||||
* @param other the other FakeSegment to compare to.
|
||||
* @return the truth/falsehood of if the first is less than the second.
|
||||
*/
|
||||
bool operator<( const FakeSegment &other ) const
|
||||
{
|
||||
return m_iStartRow < other.m_iStartRow ||
|
||||
( m_iStartRow == other.m_iStartRow && m_fLengthBeats < other.m_fLengthBeats );
|
||||
}
|
||||
/**
|
||||
* @brief Compares two FakeSegments to see if one is less than or equal to the other.
|
||||
* @param other the other FakeSegment to compare to.
|
||||
* @return the truth/falsehood of if the first is less or equal to than the second.
|
||||
*/
|
||||
bool operator<=( const FakeSegment &other ) const
|
||||
{
|
||||
return ( operator<(other) || operator==(other) );
|
||||
}
|
||||
/**
|
||||
* @brief Compares two FakeSegments to see if one is greater than the other.
|
||||
* @param other the other FakeSegment to compare to.
|
||||
* @return the truth/falsehood of if the first is greater than the second.
|
||||
*/
|
||||
bool operator>( const FakeSegment &other ) const { return !operator<=(other); }
|
||||
/**
|
||||
* @brief Compares two FakeSegments to see if one is greater than or equal to the other.
|
||||
* @param other the other FakeSegment to compare to.
|
||||
* @return the truth/falsehood of if the first is greater than or equal to the second.
|
||||
*/
|
||||
bool operator>=( const FakeSegment &other ) const { return !operator<(other); }
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief Holds data for translating beats<->seconds.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user