diff --git a/Output/Themes/Genius/01_Standard.xml b/Output/Themes/Genius/01_Standard.xml index eef172ef..3f3cda91 100644 --- a/Output/Themes/Genius/01_Standard.xml +++ b/Output/Themes/Genius/01_Standard.xml @@ -328,6 +328,15 @@ NotesBGLeft.png NotesBGMid.png NotesBGRight.png + RapNotesLeft.png + RapNotesMid.png + RapNotesRight.png + RapNotesFillLeft.png + RapNotesFillMid.png + RapNotesFillRight.png + RapNotesBGLeft.png + RapNotesBGMid.png + RapNotesBGRight.png PointsBar.png PointsBarBG.png LyricHelper.png diff --git a/Output/Themes/Genius/02_Ice_Blue.xml b/Output/Themes/Genius/02_Ice_Blue.xml index dbd343c1..17321512 100644 --- a/Output/Themes/Genius/02_Ice_Blue.xml +++ b/Output/Themes/Genius/02_Ice_Blue.xml @@ -328,6 +328,15 @@ NotesBGLeft.png NotesBGMid.png NotesBGRight.png + RapNotesLeft.png + RapNotesMid.png + RapNotesRight.png + RapNotesFillLeft.png + RapNotesFillMid.png + RapNotesFillRight.png + RapNotesBGLeft.png + RapNotesBGMid.png + RapNotesBGRight.png PointsBar.png PointsBarBG.png LyricHelper.png diff --git a/Output/Themes/Genius/03_Crimson_Red.xml b/Output/Themes/Genius/03_Crimson_Red.xml index 039c7501..76c6dfe1 100644 --- a/Output/Themes/Genius/03_Crimson_Red.xml +++ b/Output/Themes/Genius/03_Crimson_Red.xml @@ -328,6 +328,15 @@ NotesBGLeft.png NotesBGMid.png NotesBGRight.png + RapNotesLeft.png + RapNotesMid.png + RapNotesRight.png + RapNotesFillLeft.png + RapNotesFillMid.png + RapNotesFillRight.png + RapNotesBGLeft.png + RapNotesBGMid.png + RapNotesBGRight.png PointsBar.png PointsBarBG.png LyricHelper.png diff --git a/VocaluxeLib/Menu/SingNotes/CNoteBars.cs b/VocaluxeLib/Menu/SingNotes/CNoteBars.cs index d8ee4c06..585fb62f 100644 --- a/VocaluxeLib/Menu/SingNotes/CNoteBars.cs +++ b/VocaluxeLib/Menu/SingNotes/CNoteBars.cs @@ -109,8 +109,8 @@ namespace VocaluxeLib.Menu.SingNotes { SRectF rect = _GetNoteRect(note); - _DrawNoteBG(rect, color); - _DrawNoteBase(rect, new SColorF(_NoteBaseColor, _NoteBaseColor.A * Alpha), 1f); + _DrawNoteBG(rect, color, note.IsRapNote); + _DrawNoteBase(rect, new SColorF(_NoteBaseColor, _NoteBaseColor.A * Alpha), 1f, note.IsRapNote); } } @@ -128,7 +128,7 @@ namespace VocaluxeLib.Menu.SingNotes float factor = (note.Hit) ? 1f : 0.6f; - _DrawNoteFill(rect, color, factor); + _DrawNoteFill(rect, color, factor, note.IsRapNote); if (note.EndBeat >= CBase.Game.GetRecordedBeat() && note.Hit && note.IsGoldenNote) { @@ -275,26 +275,26 @@ namespace VocaluxeLib.Menu.SingNotes CBase.Drawing.DrawTexture(noteEnd, new SRectF(noteRect.X + noteRect.W - endsW, noteRect.Y, endsW, noteRect.H, noteRect.Z), color, false); } - private void _DrawNoteBase(SRectF rect, SColorF color, float factor) + private void _DrawNoteBase(SRectF rect, SColorF color, float factor, bool isRapNote = false) { - CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinLeft, _PartyModeID); - CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinMiddle, _PartyModeID); - CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinRight, _PartyModeID); + CTextureRef noteBegin = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapLeft : _Theme.SkinLeft, _PartyModeID); + CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapMiddle : _Theme.SkinMiddle, _PartyModeID); + CTextureRef noteEnd = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapRight : _Theme.SkinRight, _PartyModeID); _DrawNote(rect, color, noteBegin, noteMiddle, noteEnd, factor); } - private void _DrawNoteFill(SRectF rect, SColorF color, float factor) + private void _DrawNoteFill(SRectF rect, SColorF color, float factor, bool isRapNote = false) { - CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinFillLeft, _PartyModeID); - CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinFillMiddle, _PartyModeID); - CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinFillRight, _PartyModeID); + CTextureRef noteBegin = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapFillLeft : _Theme.SkinFillLeft, _PartyModeID); + CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapFillMiddle : _Theme.SkinFillMiddle, _PartyModeID); + CTextureRef noteEnd = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapFillRight : _Theme.SkinFillRight, _PartyModeID); _DrawNote(rect, color, noteBegin, noteMiddle, noteEnd, factor); } - private void _DrawNoteBG(SRectF rect, SColorF color) + private void _DrawNoteBG(SRectF rect, SColorF color, bool isRapNote = false) { const float period = 1500; //[ms] @@ -308,9 +308,9 @@ namespace VocaluxeLib.Menu.SingNotes var col = new SColorF(color, color.A * alpha); - CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundLeft, _PartyModeID); - CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundMiddle, _PartyModeID); - CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundRight, _PartyModeID); + CTextureRef noteBegin = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapBackgroundLeft : _Theme.SkinBackgroundLeft, _PartyModeID); + CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapBackgroundMiddle : _Theme.SkinBackgroundMiddle, _PartyModeID); + CTextureRef noteEnd = CBase.Themes.GetSkinTexture(isRapNote ? _Theme.SkinRapBackgroundRight : _Theme.SkinBackgroundRight, _PartyModeID); _DrawNote(rect, col, noteBegin, noteMiddle, noteEnd, 1f); } diff --git a/VocaluxeLib/Menu/SingNotes/CSingNotes.cs b/VocaluxeLib/Menu/SingNotes/CSingNotes.cs index bedfb95c..4d49befc 100644 --- a/VocaluxeLib/Menu/SingNotes/CSingNotes.cs +++ b/VocaluxeLib/Menu/SingNotes/CSingNotes.cs @@ -49,6 +49,18 @@ namespace VocaluxeLib.Menu.SingNotes public string SkinBackgroundMiddle; public string SkinBackgroundRight; + public string SkinRapLeft; + public string SkinRapMiddle; + public string SkinRapRight; + + public string SkinRapFillLeft; + public string SkinRapFillMiddle; + public string SkinRapFillRight; + + public string SkinRapBackgroundLeft; + public string SkinRapBackgroundMiddle; + public string SkinRapBackgroundRight; + public string SkinGoldenStar; public string SkinToneHelper; public string SkinPerfectNoteStart;