diff --git a/Output/Themes/Ambient/Screens/ScreenSing.xml b/Output/Themes/Ambient/Screens/ScreenSing.xml index ed9bcb15..da4ab31f 100644 --- a/Output/Themes/Ambient/Screens/ScreenSing.xml +++ b/Output/Themes/Ambient/Screens/ScreenSing.xml @@ -2,7 +2,7 @@ ScreenSing - 7 + 8 @@ -1696,6 +1696,9 @@ NoteLeft NoteMiddle NoteRight + NoteFillLeft + NoteFillMiddle + NoteFillRight NoteBackgroundLeft NoteBackgroundMiddle NoteBackgroundRight diff --git a/Output/Themes/Ambient/Skin Blue.xml b/Output/Themes/Ambient/Skin Blue.xml index b1ab5aa9..da83f302 100644 --- a/Output/Themes/Ambient/Skin Blue.xml +++ b/Output/Themes/Ambient/Skin Blue.xml @@ -219,6 +219,9 @@ notes_left.png notes_mid.png notes_right.png + notes_fill_left.png + notes_fill_mid.png + notes_fill_right.png notes_bg_left.png notes_bg_mid.png notes_bg_right.png diff --git a/Output/Themes/Ambient/Skin Green.xml b/Output/Themes/Ambient/Skin Green.xml index 3b6e3ba8..374d3a3f 100644 --- a/Output/Themes/Ambient/Skin Green.xml +++ b/Output/Themes/Ambient/Skin Green.xml @@ -213,6 +213,9 @@ notes_left.png notes_mid.png notes_right.png + notes_fill_left.png + notes_fill_mid.png + notes_fill_right.png notes_bg_left.png notes_bg_mid.png notes_bg_right.png diff --git a/Output/Themes/Ambient/Skin Red.xml b/Output/Themes/Ambient/Skin Red.xml index 0f65931e..fffebc22 100644 --- a/Output/Themes/Ambient/Skin Red.xml +++ b/Output/Themes/Ambient/Skin Red.xml @@ -213,6 +213,9 @@ notes_left.png notes_mid.png notes_right.png + notes_fill_left.png + notes_fill_mid.png + notes_fill_right.png notes_bg_left.png notes_bg_mid.png notes_bg_right.png diff --git a/Output/Themes/Ambient/Skin Yellow.xml b/Output/Themes/Ambient/Skin Yellow.xml index 48c2176b..da3d047f 100644 --- a/Output/Themes/Ambient/Skin Yellow.xml +++ b/Output/Themes/Ambient/Skin Yellow.xml @@ -213,6 +213,9 @@ notes_left.png notes_mid.png notes_right.png + notes_fill_left.png + notes_fill_mid.png + notes_fill_right.png notes_bg_left.png notes_bg_mid.png notes_bg_right.png diff --git a/Output/Themes/Ambient/notes_bg_left.png b/Output/Themes/Ambient/notes_bg_left.png index 14dee215..3a8e040f 100644 Binary files a/Output/Themes/Ambient/notes_bg_left.png and b/Output/Themes/Ambient/notes_bg_left.png differ diff --git a/Output/Themes/Ambient/notes_bg_mid.png b/Output/Themes/Ambient/notes_bg_mid.png index 4161d17b..04240079 100644 Binary files a/Output/Themes/Ambient/notes_bg_mid.png and b/Output/Themes/Ambient/notes_bg_mid.png differ diff --git a/Output/Themes/Ambient/notes_bg_right.png b/Output/Themes/Ambient/notes_bg_right.png index fd3fb69a..1ef6a69f 100644 Binary files a/Output/Themes/Ambient/notes_bg_right.png and b/Output/Themes/Ambient/notes_bg_right.png differ diff --git a/Output/Themes/Ambient/notes_fill_left.png b/Output/Themes/Ambient/notes_fill_left.png new file mode 100644 index 00000000..1e42f00f Binary files /dev/null and b/Output/Themes/Ambient/notes_fill_left.png differ diff --git a/Output/Themes/Ambient/notes_fill_mid.png b/Output/Themes/Ambient/notes_fill_mid.png new file mode 100644 index 00000000..4dff7a19 Binary files /dev/null and b/Output/Themes/Ambient/notes_fill_mid.png differ diff --git a/Output/Themes/Ambient/notes_fill_right.png b/Output/Themes/Ambient/notes_fill_right.png new file mode 100644 index 00000000..5ebcb958 Binary files /dev/null and b/Output/Themes/Ambient/notes_fill_right.png differ diff --git a/Output/Themes/Ambient/notes_left.png b/Output/Themes/Ambient/notes_left.png index 310c7e87..ce74a2d1 100644 Binary files a/Output/Themes/Ambient/notes_left.png and b/Output/Themes/Ambient/notes_left.png differ diff --git a/Output/Themes/Ambient/notes_mid.png b/Output/Themes/Ambient/notes_mid.png index ddf450c1..46ff67cd 100644 Binary files a/Output/Themes/Ambient/notes_mid.png and b/Output/Themes/Ambient/notes_mid.png differ diff --git a/Output/Themes/Ambient/notes_right.png b/Output/Themes/Ambient/notes_right.png index 681b4aa4..290018e2 100644 Binary files a/Output/Themes/Ambient/notes_right.png and b/Output/Themes/Ambient/notes_right.png differ diff --git a/Output/Themes/Changelog/Changelog_ScreenSing.txt b/Output/Themes/Changelog/Changelog_ScreenSing.txt index dd1ef423..3d735b97 100644 --- a/Output/Themes/Changelog/Changelog_ScreenSing.txt +++ b/Output/Themes/Changelog/Changelog_ScreenSing.txt @@ -1,5 +1,15 @@ ScreenSing ++++++++++ +Version 8 + +Add: + + + + +Skins for separated note fill graphics + +++++++++ Version 7 diff --git a/VocaluxeLib/Menu/SingNotes/CNoteBars.cs b/VocaluxeLib/Menu/SingNotes/CNoteBars.cs index ba296f94..d63d3bf1 100644 --- a/VocaluxeLib/Menu/SingNotes/CNoteBars.cs +++ b/VocaluxeLib/Menu/SingNotes/CNoteBars.cs @@ -102,7 +102,7 @@ namespace VocaluxeLib.Menu.SingNotes SRectF rect = _GetNoteRect(note); _DrawNoteBG(rect, color); - _DrawNote(rect, new SColorF(Color.White, 0.7f * Alpha), 0.7f); + _DrawNoteBase(rect, new SColorF(Color.White, Alpha), 1f); } } @@ -118,9 +118,9 @@ namespace VocaluxeLib.Menu.SingNotes if (note.EndBeat == CBase.Game.GetRecordedBeat()) rect.W -= (1 - (CBase.Game.GetMidRecordedBeat() - CBase.Game.GetRecordedBeat())) * Rect.W / beats; - float factor = (note.Hit) ? 0.7f : 0.4f; + float factor = (note.Hit) ? 1f : 0.6f; - _DrawNote(rect, color, factor); + _DrawNoteFill(rect, color, factor); if (note.EndBeat >= CBase.Game.GetRecordedBeat() && note.Hit && note.HitNote.Type == ENoteType.Golden) { @@ -221,7 +221,7 @@ namespace VocaluxeLib.Menu.SingNotes CBase.Drawing.DrawTexture(toneHelper, drawRect, color); } - private void _DrawNote(SRectF rect, SColorF color, float factor) + private void _DrawNote(SRectF rect, SColorF color, float factor, CTextureRef noteBegin, CTextureRef noteMiddle, CTextureRef noteEnd) { if (factor <= 0) return; @@ -231,10 +231,6 @@ namespace VocaluxeLib.Menu.SingNotes var noteRect = new SRectF(rect.X + dw, rect.Y + dh, rect.W - 2 * dw, rect.H - 2 * dh, rect.Z); - CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinLeft, _PartyModeID); - CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinMiddle, _PartyModeID); - CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinRight, _PartyModeID); - //Width of each of the ends (round parts) //Need 2 of them so use minimum float endsW = Math.Min(noteRect.H * noteBegin.OrigAspect, noteRect.W / 2); @@ -250,7 +246,26 @@ namespace VocaluxeLib.Menu.SingNotes CBase.Drawing.DrawTexture(noteEnd, new SRectF(noteRect.X + noteRect.W - endsW, noteRect.Y, endsW, noteRect.H, noteRect.Z), color); } - private void _DrawNoteBG(SRectF noteRect, SColorF color) + private void _DrawNoteBase(SRectF rect, SColorF color, float factor) + { + CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinLeft, _PartyModeID); + CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinMiddle, _PartyModeID); + CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinRight, _PartyModeID); + + _DrawNote(rect, color, factor, noteBegin, noteMiddle, noteEnd); + } + + private void _DrawNoteFill(SRectF rect, SColorF color, float factor) + { + + CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinFillLeft, _PartyModeID); + CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinFillMiddle, _PartyModeID); + CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinFillRight, _PartyModeID); + + _DrawNote(rect, color, factor, noteBegin, noteMiddle, noteEnd); + } + + private void _DrawNoteBG(SRectF rect, SColorF color) { const float period = 1500; //[ms] @@ -262,27 +277,15 @@ namespace VocaluxeLib.Menu.SingNotes float alpha = (float)(Math.Cos(_Timer.ElapsedMilliseconds / period * Math.PI * 2) + 1) / 4 + 0.5f; - CTextureRef noteBackgroundBegin = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundLeft, _PartyModeID); - CTextureRef noteBackgroundMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundMiddle, _PartyModeID); - CTextureRef noteBackgroundEnd = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundRight, _PartyModeID); - - float dx = noteRect.H * noteBackgroundBegin.OrigAspect; - if (2 * dx > noteRect.W) - dx = noteRect.W / 2; - var col = new SColorF(color, color.A * alpha); - CBase.Drawing.DrawTexture(noteBackgroundBegin, new SRectF(noteRect.X, noteRect.Y, dx, noteRect.H, noteRect.Z), col); + CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundLeft, _PartyModeID); + CTextureRef noteMiddle = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundMiddle, _PartyModeID); + CTextureRef noteEnd = CBase.Themes.GetSkinTexture(_Theme.SkinBackgroundRight, _PartyModeID); - if (noteRect.W - 2 * dx >= 2 * dx) - CBase.Drawing.DrawTexture(noteBackgroundMiddle, new SRectF(noteRect.X + dx, noteRect.Y, noteRect.W - 2 * dx, noteRect.H, noteRect.Z), col); - else - { - CBase.Drawing.DrawTexture(noteBackgroundMiddle, new SRectF(noteRect.X + dx, noteRect.Y, 2 * dx, noteRect.H, noteRect.Z), col, - new SRectF(noteRect.X + dx, noteRect.Y, noteRect.W - 2 * dx, noteRect.H, noteRect.Z)); - } + float factor = 1f; - CBase.Drawing.DrawTexture(noteBackgroundEnd, new SRectF(noteRect.X + noteRect.W - dx, noteRect.Y, dx, noteRect.H, noteRect.Z), col); + _DrawNote(rect, col, factor, noteBegin, noteMiddle, noteEnd); } private void _AddGoldenNote(SRectF noteRect)