diff --git a/stepmania/NoteSkins/dance/default/metrics.ini b/stepmania/NoteSkins/dance/default/metrics.ini index 8013f57fd9..0e172ebf21 100644 --- a/stepmania/NoteSkins/dance/default/metrics.ini +++ b/stepmania/NoteSkins/dance/default/metrics.ini @@ -17,6 +17,7 @@ HoldBodyAnimationIsVivid=0 HoldBottomCapAnimationIsVivid=0 HoldTailAnimationIsVivid=0 TapNoteAnimationIsNoteColor=0 +TapAdditionAnimationIsNoteColor=0 HoldHeadAnimationIsNoteColor=0 HoldTopCapAnimationIsNoteColor=0 HoldBodyAnimationIsNoteColor=0 diff --git a/stepmania/src/NoteDisplay.cpp b/stepmania/src/NoteDisplay.cpp index ef6bf2285c..59c1f72331 100644 --- a/stepmania/src/NoteDisplay.cpp +++ b/stepmania/src/NoteDisplay.cpp @@ -47,6 +47,7 @@ #define HOLD_BOTTOMCAP_ANIMATION_IS_VIVID NOTESKIN->GetMetricB(skin,name,"HoldBottomCapAnimationIsVivid") #define HOLD_TAIL_ANIMATION_IS_VIVID NOTESKIN->GetMetricB(skin,name,"HoldTailAnimationIsVivid") #define TAP_NOTE_ANIMATION_IS_NOTE_COLOR NOTESKIN->GetMetricB(skin,name,"TapNoteAnimationIsNoteColor") +#define TAP_ADDITION_ANIMATION_IS_NOTE_COLOR NOTESKIN->GetMetricB(skin,name,"TapAdditionAnimationIsNoteColor") #define HOLD_HEAD_ANIMATION_IS_NOTE_COLOR NOTESKIN->GetMetricB(skin,name,"HoldHeadAnimationIsNoteColor") #define HOLD_TOPCAP_ANIMATION_IS_NOTE_COLOR NOTESKIN->GetMetricB(skin,name,"HoldTopCapAnimationIsNoteColor") #define HOLD_BODY_ANIMATION_IS_NOTE_COLOR NOTESKIN->GetMetricB(skin,name,"HoldBodyAnimationIsNoteColor") @@ -80,6 +81,7 @@ struct NoteMetricCache_t { bool m_bHoldBottomCapAnimationIsVivid; bool m_bHoldTailAnimationIsVivid; bool m_bTapNoteAnimationIsNoteColor; + bool m_bTapAdditionAnimationIsNoteColor; bool m_bHoldHeadAnimationIsNoteColor; bool m_bHoldTopCapAnimationIsNoteColor; bool m_bHoldBodyAnimationIsNoteColor; @@ -116,6 +118,7 @@ void NoteMetricCache_t::Load(CString skin, const CString &name) m_bHoldBottomCapAnimationIsVivid = HOLD_BOTTOMCAP_ANIMATION_IS_VIVID; m_bHoldTailAnimationIsVivid = HOLD_TAIL_ANIMATION_IS_VIVID; m_bTapNoteAnimationIsNoteColor = TAP_NOTE_ANIMATION_IS_NOTE_COLOR; + m_bTapAdditionAnimationIsNoteColor = TAP_ADDITION_ANIMATION_IS_NOTE_COLOR; m_bHoldHeadAnimationIsNoteColor = HOLD_HEAD_ANIMATION_IS_NOTE_COLOR; m_bHoldTopCapAnimationIsNoteColor = HOLD_TOPCAP_ANIMATION_IS_NOTE_COLOR; m_bHoldBodyAnimationIsNoteColor = HOLD_BODY_ANIMATION_IS_NOTE_COLOR; @@ -135,12 +138,12 @@ NoteDisplay::NoteDisplay() for( int i=0; iGetPathTo(NoteSkin, Button, "tap note") ); } - m_pTapAddition = MakeActor( NOTESKIN->GetPathTo(NoteSkin, Button, "tap addition") ); + if( cache->m_bTapAdditionAnimationIsNoteColor ) + { + for( int i=0; iGetPathTo(NoteSkin, Button, "tap addition "+sNoteType[i]) ); + } + else + { + m_pTapAddition[0] = MakeActor( NOTESKIN->GetPathTo(NoteSkin, Button, "tap addition") ); + } m_pTapMine = MakeActor( NOTESKIN->GetPathTo(NoteSkin, Button, "tap mine") ); @@ -312,14 +323,24 @@ Actor * NoteDisplay::GetTapNoteActor( float fNoteBeat ) Actor * NoteDisplay::GetTapAdditionActor( float fNoteBeat ) { + NoteType nt = NoteType(0); + if( cache->m_bTapAdditionAnimationIsNoteColor ) + nt = BeatToNoteType( fNoteBeat ); +// NOTE_TYPE_INVALID is 192nds at this point. + if( nt == NOTE_TYPE_INVALID ) + nt = NOTE_TYPE_192ND; + nt = min( nt, (NoteType) (NOTE_COLOR_IMAGES-1) ); + + Actor *pActorOut = m_pTapAddition[nt]; + SetActiveFrame( fNoteBeat, - *m_pTapAddition, + *pActorOut, cache->m_fTapAdditionAnimationLengthInBeats, cache->m_bTapAdditionAnimationIsVivid, - false ); + cache->m_bTapAdditionAnimationIsNoteColor ); - return m_pTapAddition; + return pActorOut; } Actor * NoteDisplay::GetTapMineActor( float fNoteBeat ) diff --git a/stepmania/src/NoteDisplay.h b/stepmania/src/NoteDisplay.h index f1f67369f9..1458edbf33 100644 --- a/stepmania/src/NoteDisplay.h +++ b/stepmania/src/NoteDisplay.h @@ -57,7 +57,7 @@ protected: #define NOTE_COLOR_IMAGES 8 Actor* m_pTapNote[NOTE_COLOR_IMAGES]; - Actor* m_pTapAddition; + Actor* m_pTapAddition[NOTE_COLOR_IMAGES]; Actor* m_pTapMine; Actor* m_pHoldHeadActive[NOTE_COLOR_IMAGES]; Actor* m_pHoldHeadInactive[NOTE_COLOR_IMAGES]; diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 9e4da1f541..b0220a3e79 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -58,14 +58,14 @@ BSC32=bscmake.exe LINK32=link.exe # ADD BASE LINK32 $(intdir)\verstub.obj kernel32.lib shell32.lib user32.lib gdi32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /pdb:"../debug6/StepMania-debug.pdb" /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../StepMania-debug.exe" # SUBTRACT BASE LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib -# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../Program/StepMania-debug.exe" +# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../../itg/Program/StepMania-debug.exe" # SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib # Begin Special Build Tool IntDir=.\../Debug6 -TargetDir=\stepmania\stepmania\Program +TargetDir=\stepmania\itg\Program TargetName=StepMania-debug SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi # End Special Build Tool @@ -102,8 +102,8 @@ IntDir=.\Debug TargetDir=\stepmania\stepmania TargetName=default SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c \ - verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c \ + verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -143,7 +143,7 @@ IntDir=.\../Release6 TargetDir=\stepmania\stepmania\Program TargetName=StepMania SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi # End Special Build Tool @@ -184,8 +184,8 @@ IntDir=.\StepMania___Xbox_Release TargetDir=\stepmania\stepmania TargetName=default SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c \ - verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c \ + verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool