Make notes more customisable
Split notes graphics into note and fill Changed notes, notes fill and notes bg to be the same size. Distorting/stretching graphics no longer needed. Adjusted the _DrawNote* functions and made additions for the separated fill
No files matched your search
@@ -2,7 +2,7 @@
|
||||
<Screen xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Informations>
|
||||
<ScreenName>ScreenSing</ScreenName>
|
||||
<ScreenVersion>7</ScreenVersion>
|
||||
<ScreenVersion>8</ScreenVersion>
|
||||
</Informations>
|
||||
<Backgrounds>
|
||||
<Background Name="Background1">
|
||||
@@ -1696,6 +1696,9 @@
|
||||
<SkinLeft>NoteLeft</SkinLeft>
|
||||
<SkinMiddle>NoteMiddle</SkinMiddle>
|
||||
<SkinRight>NoteRight</SkinRight>
|
||||
<SkinFillLeft>NoteFillLeft</SkinFillLeft>
|
||||
<SkinFillMiddle>NoteFillMiddle</SkinFillMiddle>
|
||||
<SkinFillRight>NoteFillRight</SkinFillRight>
|
||||
<SkinBackgroundLeft>NoteBackgroundLeft</SkinBackgroundLeft>
|
||||
<SkinBackgroundMiddle>NoteBackgroundMiddle</SkinBackgroundMiddle>
|
||||
<SkinBackgroundRight>NoteBackgroundRight</SkinBackgroundRight>
|
||||
|
||||
@@ -219,6 +219,9 @@
|
||||
<NoteLeft>notes_left.png</NoteLeft>
|
||||
<NoteMiddle>notes_mid.png</NoteMiddle>
|
||||
<NoteRight>notes_right.png</NoteRight>
|
||||
<NoteFillLeft>notes_fill_left.png</NoteFillLeft>
|
||||
<NoteFillMiddle>notes_fill_mid.png</NoteFillMiddle>
|
||||
<NoteFillRight>notes_fill_right.png</NoteFillRight>
|
||||
<NoteBackgroundLeft>notes_bg_left.png</NoteBackgroundLeft>
|
||||
<NoteBackgroundMiddle>notes_bg_mid.png</NoteBackgroundMiddle>
|
||||
<NoteBackgroundRight>notes_bg_right.png</NoteBackgroundRight>
|
||||
|
||||
@@ -213,6 +213,9 @@
|
||||
<NoteLeft>notes_left.png</NoteLeft>
|
||||
<NoteMiddle>notes_mid.png</NoteMiddle>
|
||||
<NoteRight>notes_right.png</NoteRight>
|
||||
<NoteFillLeft>notes_fill_left.png</NoteFillLeft>
|
||||
<NoteFillMiddle>notes_fill_mid.png</NoteFillMiddle>
|
||||
<NoteFillRight>notes_fill_right.png</NoteFillRight>
|
||||
<NoteBackgroundLeft>notes_bg_left.png</NoteBackgroundLeft>
|
||||
<NoteBackgroundMiddle>notes_bg_mid.png</NoteBackgroundMiddle>
|
||||
<NoteBackgroundRight>notes_bg_right.png</NoteBackgroundRight>
|
||||
|
||||
@@ -213,6 +213,9 @@
|
||||
<NoteLeft>notes_left.png</NoteLeft>
|
||||
<NoteMiddle>notes_mid.png</NoteMiddle>
|
||||
<NoteRight>notes_right.png</NoteRight>
|
||||
<NoteFillLeft>notes_fill_left.png</NoteFillLeft>
|
||||
<NoteFillMiddle>notes_fill_mid.png</NoteFillMiddle>
|
||||
<NoteFillRight>notes_fill_right.png</NoteFillRight>
|
||||
<NoteBackgroundLeft>notes_bg_left.png</NoteBackgroundLeft>
|
||||
<NoteBackgroundMiddle>notes_bg_mid.png</NoteBackgroundMiddle>
|
||||
<NoteBackgroundRight>notes_bg_right.png</NoteBackgroundRight>
|
||||
|
||||
@@ -213,6 +213,9 @@
|
||||
<NoteLeft>notes_left.png</NoteLeft>
|
||||
<NoteMiddle>notes_mid.png</NoteMiddle>
|
||||
<NoteRight>notes_right.png</NoteRight>
|
||||
<NoteFillLeft>notes_fill_left.png</NoteFillLeft>
|
||||
<NoteFillMiddle>notes_fill_mid.png</NoteFillMiddle>
|
||||
<NoteFillRight>notes_fill_right.png</NoteFillRight>
|
||||
<NoteBackgroundLeft>notes_bg_left.png</NoteBackgroundLeft>
|
||||
<NoteBackgroundMiddle>notes_bg_mid.png</NoteBackgroundMiddle>
|
||||
<NoteBackgroundRight>notes_bg_right.png</NoteBackgroundRight>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -1,5 +1,15 @@
|
||||
ScreenSing
|
||||
|
||||
+++++++++
|
||||
Version 8
|
||||
|
||||
Add:
|
||||
<SkinFillLeft>
|
||||
<SkinFillMiddle>
|
||||
<SkinFillRight>
|
||||
|
||||
Skins for separated note fill graphics
|
||||
|
||||
+++++++++
|
||||
Version 7
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||