HG: changed src/NoteDisplay.cpp

This commit is contained in:
Alberto Ramos
2010-07-19 17:52:49 -06:00
parent 8bb723a2fb
commit f7446ad43e
14 changed files with 124 additions and 120 deletions
+9 -9
View File
@@ -6,17 +6,17 @@ DrawHoldHeadForTapsOnSameRow=0
TapNoteAnimationLengthInBeats=2
TapAdditionAnimationLengthInBeats=4
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=4
TapNoteAnimationLength=2
TapAdditionAnimationLength=4
TapMineAnimationLength=1
TapLiftAnimationLength=4
HoldHeadAnimationLengthInBeats=1 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLengthInBeats=1 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLengthInBeats=1 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLengthInBeats=1 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLengthInBeats=1 // doesn't matter. Only 1 frame anyway.
HoldHeadAnimationLength=1 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLength=1 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLength=1 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLength=1 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLength=1 // doesn't matter. Only 1 frame anyway.
+9 -9
View File
@@ -3,15 +3,15 @@
[NoteDisplay]
DrawHoldHeadForTapsOnSameRow=0
TapNoteAnimationLengthInBeats=1
TapAdditionAnimationLengthInBeats=1
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=1
HoldHeadAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
TapNoteAnimationLength=1
TapAdditionAnimationLength=1
TapMineAnimationLength=1
TapLiftAnimationLength=1
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=-32 // top of tail
HoldLetGoGrayPercent=0.25
+9 -9
View File
@@ -1,14 +1,14 @@
[NoteDisplay]
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=1
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=1
TapFakeAnimationLengthInBeats=1
HoldHeadAnimationLengthInBeats=1
HoldTopCapAnimationLengthInBeats=1
HoldBottomCapAnimationLengthInBeats=1
HoldBodyAnimationLengthInBeats=4
HoldTailAnimationLengthInBeats=4
TapNoteAnimationLength=1
TapMineAnimationLength=1
TapLiftAnimationLength=1
TapFakeAnimationLength=1
HoldHeadAnimationLength=1
HoldTopCapAnimationLength=1
HoldBottomCapAnimationLength=1
HoldBodyAnimationLength=4
HoldTailAnimationLength=4
TapNoteAnimationIsVivid=1
TapMineAnimationIsVivid=0
TapLiftAnimationIsVivid=0
+9 -9
View File
@@ -4,15 +4,15 @@ FallbackNoteSkin=default
[NoteDisplay]
TapNoteAnimationIsVivid=0
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=3
TapAdditionAnimationLengthInBeats=3
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=1
HoldHeadAnimationLengthInBeats=1
HoldTopCapAnimationLengthInBeats=0.5
HoldBottomCapAnimationLengthInBeats=0.5
HoldBodyAnimationLengthInBeats=0.5
HoldTailAnimationLengthInBeats=0.5
TapNoteAnimationLength=3
TapAdditionAnimationLength=3
TapMineAnimationLength=1
TapLiftAnimationLength=1
HoldHeadAnimationLength=1
HoldTopCapAnimationLength=0.5
HoldBottomCapAnimationLength=0.5
HoldBodyAnimationLength=0.5
HoldTailAnimationLength=0.5
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=-32
HoldLetGoGrayPercent=0.25
+9 -9
View File
@@ -4,15 +4,15 @@ FallbackNoteSkin=common
[NoteDisplay]
TapNoteAnimationIsVivid=0
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=1 // none of these matter because Lua is handling the animation, not sprites.
TapAdditionAnimationLengthInBeats=1
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=1
HoldHeadAnimationLengthInBeats=1
HoldTopCapAnimationLengthInBeats=1
HoldBottomCapAnimationLengthInBeats=1
HoldBodyAnimationLengthInBeats=1
HoldTailAnimationLengthInBeats=1
TapNoteAnimationLength=1 // none of these matter because Lua is handling the animation, not sprites.
TapAdditionAnimationLength=1
TapMineAnimationLength=1
TapLiftAnimationLength=1
HoldHeadAnimationLength=1
HoldTopCapAnimationLength=1
HoldBottomCapAnimationLength=1
HoldBodyAnimationLength=1
HoldTailAnimationLength=1
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
+9 -9
View File
@@ -4,15 +4,15 @@
[NoteDisplay]
TapNoteAnimationIsVivid=0
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=4
TapAdditionAnimationLengthInBeats=4
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=4
HoldHeadAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
TapNoteAnimationLength=4
TapAdditionAnimationLength=4
TapMineAnimationLength=1
TapLiftAnimationLength=4
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
+9 -9
View File
@@ -4,15 +4,15 @@ FallbackNoteSkin=default
[NoteDisplay]
TapNoteAnimationIsVivid=0
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=4
TapAdditionAnimationLengthInBeats=4
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=4
HoldHeadAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
TapNoteAnimationLength=4
TapAdditionAnimationLength=4
TapMineAnimationLength=1
TapLiftAnimationLength=4
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
+9 -9
View File
@@ -4,15 +4,15 @@ FallbackNoteSkin=midi-note
[NoteDisplay]
TapNoteAnimationIsVivid=1
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=4
TapAdditionAnimationLengthInBeats=4
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=4
HoldHeadAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
TapNoteAnimationLength=4
TapAdditionAnimationLength=4
TapMineAnimationLength=1
TapLiftAnimationLength=4
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
+9 -9
View File
@@ -4,15 +4,15 @@
[NoteDisplay]
TapNoteAnimationIsVivid=0
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=4
TapAdditionAnimationLengthInBeats=4
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=4
HoldHeadAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
TapNoteAnimationLength=4
TapAdditionAnimationLength=4
TapMineAnimationLength=1
TapLiftAnimationLength=4
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=-32 // top of tail
HoldLetGoGrayPercent=0.25
+2 -2
View File
@@ -1,7 +1,7 @@
[NoteDisplay]
DrawHoldHeadForTapsOnSameRow=0
HoldBodyAnimationLengthInBeats=1
HoldTailAnimationLengthInBeats=1
HoldBodyAnimationLength=1
HoldTailAnimationLength=1
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
+9 -9
View File
@@ -4,15 +4,15 @@
[NoteDisplay]
TapNoteAnimationIsVivid=0
DrawHoldHeadForTapsOnSameRow=1
TapNoteAnimationLengthInBeats=4
TapAdditionAnimationLengthInBeats=4
TapMineAnimationLengthInBeats=1
TapLiftAnimationLengthInBeats=4
HoldHeadAnimationLengthInBeats=4
HoldTopCapAnimationLengthInBeats=4
HoldBottomCapAnimationLengthInBeats=4
HoldBodyAnimationLengthInBeats=4
HoldTailAnimationLengthInBeats=4
TapNoteAnimationLength=4
TapAdditionAnimationLength=4
TapMineAnimationLength=1
TapLiftAnimationLength=4
HoldHeadAnimationLength=4
HoldTopCapAnimationLength=4
HoldBottomCapAnimationLength=4
HoldBodyAnimationLength=4
HoldTailAnimationLength=4
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=-32
HoldLetGoGrayPercent=0.25
+11 -11
View File
@@ -1,13 +1,13 @@
[NoteDisplay]
TapNoteAnimationLengthInBeats=1.25
TapMineAnimationLengthInBeats=1.25
TapLiftAnimationLengthInBeats=1.25
TapNoteAnimationLength=1.25
TapMineAnimationLength=1.25
TapLiftAnimationLength=1.25
HoldHeadAnimationLengthInBeats=1.25
HoldTopCapAnimationLengthInBeats=1.25
HoldBottomCapAnimationLengthInBeats=1.25
HoldBodyAnimationLengthInBeats=1.25
HoldTailAnimationLengthInBeats=1.25
HoldHeadAnimationLength=1.25
HoldTopCapAnimationLength=1.25
HoldBottomCapAnimationLength=1.25
HoldBodyAnimationLength=1.25
HoldTailAnimationLength=1.25
HoldLetGoGrayPercent=1
ReverseDrawOrder=1111
@@ -31,9 +31,9 @@ ReceptorTapInitCommand=zoom,1;diffusealpha,0;glow,1,1,1,0
ReceptorTapPressCommand=finishtweening;glow,1,1,1,1;zoom,1;linear,0.2;glow,1,1,1,0;zoom,1.2
[Center]
TapNoteAnimationLengthInBeats=1
HoldHeadAnimationLengthInBeats=1
HoldTailAnimationLengthInBeats=1
TapNoteAnimationLength=1
HoldHeadAnimationLength=1
HoldTailAnimationLength=1
[DownLeft]
+8 -8
View File
@@ -1,10 +1,10 @@
[NoteDisplay]
TapNoteAnimationLengthInBeats=1.66
TapMineAnimationLengthInBeats=1.66
TapLiftAnimationLengthInBeats=1.66
TapNoteAnimationLength=1.66
TapMineAnimationLength=1.66
TapLiftAnimationLength=1.66
HoldHeadAnimationLengthInBeats=1.66
HoldTopCapAnimationLengthInBeats=1.66
HoldBottomCapAnimationLengthInBeats=1.66
HoldBodyAnimationLengthInBeats=1.66
HoldTailAnimationLengthInBeats=1.66
HoldHeadAnimationLength=1.66
HoldTopCapAnimationLength=1.66
HoldBottomCapAnimationLength=1.66
HoldBodyAnimationLength=1.66
HoldTailAnimationLength=1.66
+13 -9
View File
@@ -44,11 +44,13 @@ static const NoteType MAX_DISPLAY_NOTE_TYPE = (NoteType)7;
struct NoteMetricCache_t
{
bool m_bDrawHoldHeadForTapsOnSameRow;
float m_fAnimationLengthInBeats[NUM_NotePart];
float m_fAnimationLength[NUM_NotePart];
bool m_bAnimationIsVivid[NUM_NotePart];
RageVector2 m_fAdditionTextureCoordOffset[NUM_NotePart];
RageVector2 m_fNoteColorTextureCoordSpacing[NUM_NotePart];
//For animation based on beats or seconds -DaisuMaster
bool m_bAnimationBasedOnBeats;
bool m_bHoldHeadIsAboveWavyParts;
bool m_bHoldTailIsAboveWavyParts;
int m_iStartDrawingHoldBodyOffsetFromHead;
@@ -68,13 +70,15 @@ void NoteMetricCache_t::Load( const RString &sButton )
FOREACH_NotePart( p )
{
const RString &s = NotePartToString(p);
m_fAnimationLengthInBeats[p] = NOTESKIN->GetMetricF(sButton,s+"AnimationLengthInBeats");
m_fAnimationLength[p] = NOTESKIN->GetMetricF(sButton,s+"AnimationLength");
m_bAnimationIsVivid[p] = NOTESKIN->GetMetricB(sButton,s+"AnimationIsVivid");
m_fAdditionTextureCoordOffset[p].x = NOTESKIN->GetMetricF(sButton,s+"AdditionTextureCoordOffsetX");
m_fAdditionTextureCoordOffset[p].y = NOTESKIN->GetMetricF(sButton,s+"AdditionTextureCoordOffsetY");
m_fNoteColorTextureCoordSpacing[p].x = NOTESKIN->GetMetricF(sButton,s+"NoteColorTextureCoordSpacingX");
m_fNoteColorTextureCoordSpacing[p].y = NOTESKIN->GetMetricF(sButton,s+"NoteColorTextureCoordSpacingY");
}
//I was here -DaisuMaster
m_bAnimationBasedOnBeats = NOTESKIN->GetMetricB(sButton,"AnimationIsBeatBased");
m_bHoldHeadIsAboveWavyParts = NOTESKIN->GetMetricB(sButton,"HoldHeadIsAboveWavyParts");
m_bHoldTailIsAboveWavyParts = NOTESKIN->GetMetricB(sButton,"HoldTailIsAboveWavyParts");
m_iStartDrawingHoldBodyOffsetFromHead = NOTESKIN->GetMetricI(sButton,"StartDrawingHoldBodyOffsetFromHead");
@@ -277,20 +281,20 @@ void NoteDisplay::Update( float fDeltaTime )
}
}
void NoteDisplay::SetActiveFrame( float fNoteBeat, Actor &actorToSet, float fAnimationLengthInBeats, bool bVivid )
void NoteDisplay::SetActiveFrame( float fNoteBeat, Actor &actorToSet, float fAnimationLength, bool bVivid )
{
/* -inf ... inf */
float fSongBeat = GAMESTATE->m_fSongBeat;
float fBeatOrSecond = cache->m_bAnimationBasedOnBeats ? GAMESTATE->m_fSongBeat : GAMESTATE->m_fMusicSeconds;
/* -len ... +len */
float fPercentIntoAnimation = fmodf( fSongBeat, fAnimationLengthInBeats );
float fPercentIntoAnimation = fmodf( fBeatOrSecond, fAnimationLength );
/* -1 ... 1 */
fPercentIntoAnimation /= fAnimationLengthInBeats;
fPercentIntoAnimation /= fAnimationLength;
if( bVivid )
{
float fNoteBeatFraction = fmodf( fNoteBeat, 1.0f );
const float fInterval = 1.f / fAnimationLengthInBeats;
const float fInterval = 1.f / fAnimationLength;
fPercentIntoAnimation += QuantizeDown( fNoteBeatFraction, fInterval );
// just in case somehow we're majorly negative with the subtraction
@@ -311,7 +315,7 @@ Actor *NoteDisplay::GetTapActor( NoteColorActor &nca, NotePart part, float fNote
{
Actor *pActorOut = nca.Get();
SetActiveFrame( fNoteBeat, *pActorOut, cache->m_fAnimationLengthInBeats[part], cache->m_bAnimationIsVivid[part] );
SetActiveFrame( fNoteBeat, *pActorOut, cache->m_fAnimationLength[part], cache->m_bAnimationIsVivid[part] );
return pActorOut;
}
@@ -324,7 +328,7 @@ Sprite *NoteDisplay::GetHoldSprite( NoteColorSprite ncs[NUM_HoldType][NUM_Active
{
Sprite *pSpriteOut = ncs[bIsRoll ? roll:hold][bIsBeingHeld ? active:inactive].Get();
SetActiveFrame( fNoteBeat, *pSpriteOut, cache->m_fAnimationLengthInBeats[part], cache->m_bAnimationIsVivid[part] );
SetActiveFrame( fNoteBeat, *pSpriteOut, cache->m_fAnimationLength[part], cache->m_bAnimationIsVivid[part] );
return pSpriteOut;
}