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;