sing notes converted
This commit is contained in:
1 parent
ded087967d
commit
bd8665a53e
9 files changed
+135
-560
No files matched your search
@@ -269,491 +269,4 @@ namespace Vocaluxe.Base
|
||||
return _Draw.TextureCount();
|
||||
}
|
||||
}
|
||||
|
||||
enum EParticeType
|
||||
{
|
||||
Twinkle,
|
||||
Star,
|
||||
Snow,
|
||||
Flare,
|
||||
PerfNoteStar
|
||||
}
|
||||
|
||||
class CParticle
|
||||
{
|
||||
#region private vars
|
||||
private string _TextureName;
|
||||
private STexture _Texture;
|
||||
private SRectF _Rect;
|
||||
private float _Size;
|
||||
private SColorF _Color;
|
||||
private float _Alpha;
|
||||
private float _Angle; //0..360°
|
||||
private float _MaxAge; //[s]
|
||||
private float _Age; //[s]
|
||||
private float _Vx; //movement speed in x-axis [pix/s]
|
||||
private float _Vy; //movement speed in y-axis [pix/s]
|
||||
private float _Vr; //rotation speed [rpm]
|
||||
private float _Rotation; //start rotation 0..360°
|
||||
private float _Vsize; //size changing speed: period [s]
|
||||
private float _LastTime;
|
||||
private EParticeType _Type;
|
||||
|
||||
private Stopwatch _Timer;
|
||||
#endregion private vars
|
||||
|
||||
#region public vars
|
||||
//public bool Visible;
|
||||
public float Alpha2 = 1f;
|
||||
|
||||
public float X
|
||||
{
|
||||
get { return _Rect.X; }
|
||||
set { _Rect.X = value; }
|
||||
}
|
||||
|
||||
public float Y
|
||||
{
|
||||
get { return _Rect.Y; }
|
||||
set { _Rect.Y = value; }
|
||||
}
|
||||
|
||||
public float Size
|
||||
{
|
||||
get { return _Size; }
|
||||
set
|
||||
{
|
||||
_Rect.W = value;
|
||||
_Rect.H = value;
|
||||
_Size = value;
|
||||
}
|
||||
}
|
||||
|
||||
public float Alpha
|
||||
{
|
||||
get { return _Alpha; }
|
||||
set { _Alpha = value; }
|
||||
}
|
||||
|
||||
public SColorF Color
|
||||
{
|
||||
get { return _Color; }
|
||||
set { _Color = value; }
|
||||
}
|
||||
|
||||
public bool IsAlive
|
||||
{
|
||||
get { return (_Age < _MaxAge || _MaxAge == 0f); }
|
||||
}
|
||||
#endregion public vars
|
||||
|
||||
#region Constructors
|
||||
public CParticle(string textureName, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize, EParticeType type)
|
||||
{
|
||||
_TextureName = textureName;
|
||||
_Texture = new STexture(-1);
|
||||
_Color = color;
|
||||
_Rect = new SRectF(x, y, size, size, z);
|
||||
_Size = size;
|
||||
_Alpha = 1f;
|
||||
_Angle = 0f;
|
||||
_Vx = vx;
|
||||
_Vy = vy;
|
||||
_Vr = vr;
|
||||
_Vsize = vsize;
|
||||
_LastTime = 0f;
|
||||
_Type = type;
|
||||
|
||||
_Timer = new Stopwatch();
|
||||
_Age = 0f;
|
||||
_MaxAge = maxage;
|
||||
_Rotation = (float)(CGame.Rand.NextDouble() * 360.0);
|
||||
}
|
||||
|
||||
public CParticle(STexture texture, SColorF color, float x, float y, float size, float maxage, float z, float vx, float vy, float vr, float vsize, EParticeType type)
|
||||
{
|
||||
_TextureName = String.Empty;
|
||||
_Texture = texture;
|
||||
_Color = color;
|
||||
_Rect = new SRectF(x, y, size, size, z);
|
||||
_Size = size;
|
||||
_Alpha = 1f;
|
||||
_Angle = 0f;
|
||||
_Vx = vx;
|
||||
_Vy = vy;
|
||||
_Vr = vr;
|
||||
_Vsize = vsize;
|
||||
_LastTime = 0f;
|
||||
_Type = type;
|
||||
|
||||
_Timer = new Stopwatch();
|
||||
_Age = 0f;
|
||||
_MaxAge = maxage;
|
||||
_Rotation = (float)(CGame.Rand.NextDouble() * 360.0);
|
||||
}
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (!IsAlive)
|
||||
return;
|
||||
|
||||
if (!_Timer.IsRunning)
|
||||
_Timer.Start();
|
||||
|
||||
float CurrentTime = _Timer.ElapsedMilliseconds / 1000f;
|
||||
float timediff = CurrentTime - _LastTime;
|
||||
|
||||
_Age = CurrentTime;
|
||||
|
||||
// update alpha
|
||||
if (_MaxAge > 0f)
|
||||
{
|
||||
switch (_Type)
|
||||
{
|
||||
case EParticeType.Twinkle:
|
||||
_Alpha = 1f - _Age / _MaxAge;
|
||||
break;
|
||||
|
||||
case EParticeType.Star:
|
||||
_Alpha = 1f - _Age / _MaxAge;
|
||||
break;
|
||||
|
||||
case EParticeType.Snow:
|
||||
_Alpha = (float)Math.Sqrt((Math.Sin(_Age / _MaxAge * Math.PI * 2 - 0.5 * Math.PI) + 1) / 2);
|
||||
break;
|
||||
|
||||
case EParticeType.Flare:
|
||||
_Alpha = 1f - _Age / _MaxAge;
|
||||
break;
|
||||
|
||||
case EParticeType.PerfNoteStar:
|
||||
_Alpha = 1f - _Age / _MaxAge;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// update position
|
||||
switch (_Type)
|
||||
{
|
||||
case EParticeType.Twinkle:
|
||||
X += _Vx * timediff;
|
||||
Y += _Vy * timediff;
|
||||
break;
|
||||
|
||||
case EParticeType.Star:
|
||||
X += _Vx * timediff;
|
||||
Y += _Vy * timediff;
|
||||
break;
|
||||
|
||||
case EParticeType.Snow:
|
||||
int maxy = (int)Math.Round(CSettings.iRenderH - _Size * 0.4f);
|
||||
|
||||
if (Math.Round(Y) < maxy)
|
||||
{
|
||||
float vdx = 0f;
|
||||
if (_Vx != 0)
|
||||
vdx = (float)Math.Sin(CurrentTime / _Vx * Math.PI);
|
||||
|
||||
X += _Vx * timediff * (0.5f + vdx);
|
||||
|
||||
Y += _Vy * timediff * (vdx * vdx / 2f + 0.5f);
|
||||
if (Y >= maxy)
|
||||
Y = maxy;
|
||||
}
|
||||
break;
|
||||
|
||||
case EParticeType.Flare:
|
||||
X += _Vx * timediff;
|
||||
Y += _Vy * timediff;
|
||||
break;
|
||||
|
||||
case EParticeType.PerfNoteStar:
|
||||
X += _Vx * timediff;
|
||||
Y += _Vy * timediff;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// update size
|
||||
if (_Vsize != 0f)
|
||||
{
|
||||
float size = _Size;
|
||||
switch (_Type)
|
||||
{
|
||||
case EParticeType.Twinkle:
|
||||
size = _Size * (1f - CurrentTime / _Vsize);
|
||||
break;
|
||||
|
||||
case EParticeType.Star:
|
||||
size = _Size * (1f - CurrentTime / _Vsize);
|
||||
break;
|
||||
|
||||
case EParticeType.Snow:
|
||||
size = _Size * (float)Math.Sqrt((Math.Sin(CurrentTime / _Vsize * Math.PI * 2 - 0.5 * Math.PI) + 1) / 2);
|
||||
break;
|
||||
|
||||
case EParticeType.Flare:
|
||||
size = _Size * (1f - CurrentTime / _Vsize);
|
||||
break;
|
||||
|
||||
case EParticeType.PerfNoteStar:
|
||||
size = _Size * (1f - CurrentTime / _Vsize);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
_Rect.X += (_Rect.W - size) / 2f;
|
||||
_Rect.Y += (_Rect.H - size) / 2f;
|
||||
_Rect.W = size;
|
||||
_Rect.H = size;
|
||||
}
|
||||
|
||||
// update rotation
|
||||
if (_Vr != 0f)
|
||||
{
|
||||
float r = CurrentTime * _Vr / 60f;
|
||||
_Angle = _Rotation + 360f * (r - (float)Math.Floor(r));
|
||||
_Rect.Rotation = _Angle;
|
||||
}
|
||||
|
||||
_LastTime = CurrentTime;
|
||||
}
|
||||
|
||||
public void Pause()
|
||||
{
|
||||
_Timer.Stop();
|
||||
}
|
||||
|
||||
public void Resume()
|
||||
{
|
||||
_Timer.Start();
|
||||
}
|
||||
|
||||
public void Draw()
|
||||
{
|
||||
if (_TextureName != String.Empty)
|
||||
CDraw.DrawTexture(CTheme.GetSkinTexture(_TextureName), _Rect, new SColorF(_Color.R, _Color.G, _Color.B, _Color.A * Alpha2 * _Alpha));
|
||||
else
|
||||
CDraw.DrawTexture(_Texture, _Rect, new SColorF(_Color.R, _Color.G, _Color.B, _Color.A * Alpha2 * _Alpha));
|
||||
}
|
||||
}
|
||||
|
||||
class CParticleEffect
|
||||
{
|
||||
private List<CParticle> _Stars;
|
||||
private string _TextureName;
|
||||
private STexture _Texture;
|
||||
private int _MaxNumber;
|
||||
private SRectF _Area;
|
||||
private SColorF _Color;
|
||||
private float _Size;
|
||||
private EParticeType _Type;
|
||||
private Stopwatch _SpawnTimer;
|
||||
private float _NextSpawnTime;
|
||||
|
||||
public float Alpha = 1f;
|
||||
|
||||
public bool IsAlive
|
||||
{
|
||||
get
|
||||
{
|
||||
return (_Stars.Count > 0 || !_SpawnTimer.IsRunning);
|
||||
}
|
||||
}
|
||||
|
||||
public SRectF Area
|
||||
{
|
||||
get { return _Area; }
|
||||
set { _Area = value; }
|
||||
}
|
||||
|
||||
public CParticleEffect(int MaxNumber, SColorF Color, SRectF Area, string TextureName, float Size, EParticeType Type)
|
||||
{
|
||||
_Stars = new List<CParticle>();
|
||||
_Area = Area;
|
||||
_Color = Color;
|
||||
_TextureName = TextureName;
|
||||
_Texture = new STexture(-1);
|
||||
_MaxNumber = MaxNumber;
|
||||
_Size = Size;
|
||||
_Type = Type;
|
||||
_SpawnTimer = new Stopwatch();
|
||||
_NextSpawnTime = 0f;
|
||||
}
|
||||
|
||||
public CParticleEffect(int MaxNumber, SColorF Color, SRectF Area, STexture texture, float Size, EParticeType Type)
|
||||
{
|
||||
_Stars = new List<CParticle>();
|
||||
_Area = Area;
|
||||
_Color = Color;
|
||||
_TextureName = String.Empty;
|
||||
_Texture = texture;
|
||||
_MaxNumber = MaxNumber;
|
||||
_Size = Size;
|
||||
_Type = Type;
|
||||
_SpawnTimer = new Stopwatch();
|
||||
_NextSpawnTime = 0f;
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
bool DoSpawn = false;
|
||||
if (!_SpawnTimer.IsRunning)
|
||||
{
|
||||
_SpawnTimer.Start();
|
||||
_NextSpawnTime = 0f;
|
||||
DoSpawn = true;
|
||||
}
|
||||
|
||||
if (_SpawnTimer.ElapsedMilliseconds / 1000f > _NextSpawnTime && _NextSpawnTime >= 0f)
|
||||
{
|
||||
DoSpawn = true;
|
||||
_SpawnTimer.Reset();
|
||||
_SpawnTimer.Start();
|
||||
}
|
||||
|
||||
while (_Stars.Count < _MaxNumber && DoSpawn)
|
||||
{
|
||||
float size = CGame.Rand.Next((int)_Size / 2) + _Size / 2;
|
||||
float lifetime = 0f;
|
||||
float vx = 0f;
|
||||
float vy = 0f;
|
||||
float vr = 0f;
|
||||
float vsize = 0f;
|
||||
_NextSpawnTime = 0f;
|
||||
|
||||
switch (_Type)
|
||||
{
|
||||
case EParticeType.Twinkle:
|
||||
size = CGame.Rand.Next((int)_Size / 2) + _Size / 2;
|
||||
lifetime = CGame.Rand.Next(500) / 1000f + 0.5f;
|
||||
vx = -CGame.Rand.Next(10000) / 50f + 100f;
|
||||
vy = -CGame.Rand.Next(10000) / 50f + 100f;
|
||||
vr = -CGame.Rand.Next(500) / 100f + 2.5f;
|
||||
vsize = lifetime * 2f;
|
||||
break;
|
||||
|
||||
case EParticeType.Star:
|
||||
size = CGame.Rand.Next((int)_Size / 2) + _Size / 2;
|
||||
lifetime = CGame.Rand.Next(1000) / 500f + 0.2f;
|
||||
vx = -CGame.Rand.Next(1000) / 50f + 10f;
|
||||
vy = -CGame.Rand.Next(1000) / 50f + 10f;
|
||||
vr = -CGame.Rand.Next(500) / 100f + 2.5f;
|
||||
vsize = lifetime * 2f;
|
||||
break;
|
||||
|
||||
case EParticeType.Snow:
|
||||
size = CGame.Rand.Next((int)_Size / 2) + _Size / 2;
|
||||
lifetime = CGame.Rand.Next(5000) / 50f + 10f;
|
||||
vx = -CGame.Rand.Next(1000) / 50f + 10f;
|
||||
vy = CGame.Rand.Next(1000) / 50f + Math.Abs(vx) + 10f;
|
||||
vr = -CGame.Rand.Next(200) / 50f + 2f;
|
||||
vsize = lifetime * 2f;
|
||||
|
||||
_NextSpawnTime = lifetime / _MaxNumber;
|
||||
DoSpawn = false;
|
||||
break;
|
||||
|
||||
case EParticeType.Flare:
|
||||
size = CGame.Rand.Next((int)_Size / 2) + _Size / 2;
|
||||
lifetime = CGame.Rand.Next(500) / 1000f + 0.1f;
|
||||
vx = -CGame.Rand.Next(2000) / 50f;
|
||||
vy = -CGame.Rand.Next(2000) / 50f + 20f;
|
||||
vr = -CGame.Rand.Next(2000) / 50f + 20f;
|
||||
vsize = lifetime * 2f;
|
||||
break;
|
||||
|
||||
case EParticeType.PerfNoteStar:
|
||||
size = CGame.Rand.Next((int)_Size / 2) + _Size / 2;
|
||||
lifetime = CGame.Rand.Next(1000) / 500f + 1.2f;
|
||||
vx = 0f;
|
||||
vy = 0f;
|
||||
vr = CGame.Rand.Next(500) / 50f + 10f;
|
||||
vsize = lifetime * 2f;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
int w = (int)(_Area.W - size / 4f);
|
||||
int h = (int)(_Area.H - size / 4f);
|
||||
|
||||
if (w < 0)
|
||||
w = 0;
|
||||
|
||||
if (h < 0)
|
||||
h = 0;
|
||||
|
||||
CParticle star;
|
||||
if (_TextureName != String.Empty)
|
||||
{
|
||||
star = new CParticle(_TextureName, _Color,
|
||||
CGame.Rand.Next(w) + _Area.X - size / 4f,
|
||||
CGame.Rand.Next(h) + _Area.Y - size / 4f,
|
||||
size, lifetime, _Area.Z, vx, vy, vr, vsize, _Type);
|
||||
}
|
||||
else
|
||||
{
|
||||
star = new CParticle(_Texture, _Color,
|
||||
CGame.Rand.Next(w) + _Area.X - size / 4f,
|
||||
CGame.Rand.Next(h) + _Area.Y - size / 4f,
|
||||
size, lifetime, _Area.Z, vx, vy, vr, vsize, _Type);
|
||||
}
|
||||
|
||||
_Stars.Add(star);
|
||||
}
|
||||
|
||||
if (_Type == EParticeType.Flare || _Type == EParticeType.PerfNoteStar || _Type == EParticeType.Twinkle)
|
||||
_NextSpawnTime = -1f;
|
||||
|
||||
int i = 0;
|
||||
while (i < _Stars.Count)
|
||||
{
|
||||
_Stars[i].Update();
|
||||
if (!_Stars[i].IsAlive)
|
||||
{
|
||||
_Stars.RemoveAt(i);
|
||||
}
|
||||
else
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
public void Pause()
|
||||
{
|
||||
foreach (CParticle star in _Stars)
|
||||
{
|
||||
star.Pause();
|
||||
}
|
||||
}
|
||||
|
||||
public void Resume()
|
||||
{
|
||||
foreach (CParticle star in _Stars)
|
||||
{
|
||||
star.Resume();
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw()
|
||||
{
|
||||
foreach (CParticle star in _Stars)
|
||||
{
|
||||
star.Alpha2 = Alpha;
|
||||
star.Draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+50
-1
@@ -21,8 +21,9 @@ namespace Vocaluxe.Base
|
||||
public static ILanguage Language = new BLanguage();
|
||||
public static IGame Game = new BGame();
|
||||
public static IProfiles Profiles = new BProfiles();
|
||||
public static IRecording Record = new BRecord();
|
||||
|
||||
public static Menu.Base Base = new Menu.Base(Config, Settings, Theme, Helper, Log, BackgroundMusic, Draw, Graphics, Fonts, Language, Game, Profiles);
|
||||
public static Menu.Base Base = new Menu.Base(Config, Settings, Theme, Helper, Log, BackgroundMusic, Draw, Graphics, Fonts, Language, Game, Profiles, Record);
|
||||
}
|
||||
|
||||
class BConfig : IConfig
|
||||
@@ -58,6 +59,16 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
return CConfig.VideoBackgrounds;
|
||||
}
|
||||
|
||||
public EOffOn GetDrawNoteLines()
|
||||
{
|
||||
return CConfig.DrawNoteLines;
|
||||
}
|
||||
|
||||
public EOffOn GetDrawToneHelper()
|
||||
{
|
||||
return CConfig.DrawToneHelper;
|
||||
}
|
||||
}
|
||||
|
||||
class BSettings : ISettings
|
||||
@@ -101,6 +112,16 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
return CSettings.ToneMax;
|
||||
}
|
||||
|
||||
public int GetNumNoteLines()
|
||||
{
|
||||
return CSettings.NumNoteLines;
|
||||
}
|
||||
|
||||
public int GetMaxNumPlayer()
|
||||
{
|
||||
return CSettings.MaxNumPlayer;
|
||||
}
|
||||
}
|
||||
|
||||
class BTheme : ITheme
|
||||
@@ -342,6 +363,26 @@ namespace Vocaluxe.Base
|
||||
{
|
||||
return CGame.Player;
|
||||
}
|
||||
|
||||
public float GetMidBeatD()
|
||||
{
|
||||
return CGame.MidBeatD;
|
||||
}
|
||||
|
||||
public int GetCurrentBeatD()
|
||||
{
|
||||
return CGame.ActBeatD;
|
||||
}
|
||||
|
||||
public int GetRandom(int Max)
|
||||
{
|
||||
return CGame.Rand.Next(Max);
|
||||
}
|
||||
|
||||
public double GetRandomDouble()
|
||||
{
|
||||
return CGame.Rand.NextDouble();
|
||||
}
|
||||
}
|
||||
|
||||
class BProfiles : IProfiles
|
||||
@@ -351,4 +392,12 @@ namespace Vocaluxe.Base
|
||||
return CProfiles.Profiles;
|
||||
}
|
||||
}
|
||||
|
||||
class BRecord : IRecording
|
||||
{
|
||||
public int GetToneAbs(int PlayerNr)
|
||||
{
|
||||
return CSound.RecordGetToneAbs(PlayerNr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -710,6 +710,11 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
return new CPlaylist(_Base);
|
||||
}
|
||||
|
||||
public CParticleEffect GetNewParticleEffect(int MaxNumber, SColorF Color, SRectF Area, STexture Texture, float Size, EParticeType Type)
|
||||
{
|
||||
return new CParticleEffect(_Base, MaxNumber, Color, Area, Texture, Size, Type);
|
||||
}
|
||||
#endregion Create Elements
|
||||
|
||||
#region Get Arrays
|
||||
@@ -2331,9 +2336,10 @@ namespace Vocaluxe.Menu
|
||||
public ILanguage Language;
|
||||
public IGame Game;
|
||||
public IProfiles Profiles;
|
||||
public IRecording Record;
|
||||
|
||||
public Base(IConfig Config, ISettings Settings, ITheme Theme, IHelper Helper, ILog Log, IBackgroundMusic BackgroundMusic,
|
||||
IDrawing Draw, IGraphics Graphics, IFonts Fonts, ILanguage Language, IGame Game, IProfiles Profiles)
|
||||
IDrawing Draw, IGraphics Graphics, IFonts Fonts, ILanguage Language, IGame Game, IProfiles Profiles, IRecording Record)
|
||||
{
|
||||
this.Config = Config;
|
||||
this.Settings = Settings;
|
||||
@@ -2347,6 +2353,7 @@ namespace Vocaluxe.Menu
|
||||
this.Language = Language;
|
||||
this.Game = Game;
|
||||
this.Profiles = Profiles;
|
||||
this.Record = Record;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,9 @@ namespace Vocaluxe.Menu
|
||||
EOffOn GetVideoBackgrounds();
|
||||
|
||||
ESongMenu GetSongMenuType();
|
||||
|
||||
EOffOn GetDrawNoteLines();
|
||||
EOffOn GetDrawToneHelper();
|
||||
}
|
||||
|
||||
public interface ISettings
|
||||
@@ -66,6 +69,9 @@ namespace Vocaluxe.Menu
|
||||
|
||||
int GetToneMin();
|
||||
int GetToneMax();
|
||||
|
||||
int GetNumNoteLines();
|
||||
int GetMaxNumPlayer();
|
||||
}
|
||||
|
||||
public interface ITheme
|
||||
@@ -154,6 +160,16 @@ namespace Vocaluxe.Menu
|
||||
{
|
||||
int GetNumPlayer();
|
||||
SPlayer[] GetPlayer();
|
||||
float GetMidBeatD();
|
||||
int GetCurrentBeatD();
|
||||
|
||||
int GetRandom(int Max);
|
||||
double GetRandomDouble();
|
||||
}
|
||||
|
||||
public interface IRecording
|
||||
{
|
||||
int GetToneAbs(int PlayerNr);
|
||||
}
|
||||
|
||||
public interface IProfiles
|
||||
|
||||
@@ -5,10 +5,6 @@ using System.Text;
|
||||
using System.Xml;
|
||||
using System.Xml.XPath;
|
||||
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Draw;
|
||||
using Vocaluxe.Lib.Song;
|
||||
|
||||
namespace Vocaluxe.Menu.SingNotes
|
||||
{
|
||||
struct SPlayerNotes
|
||||
@@ -99,10 +95,10 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/SkinToneHelper", navigator, ref _Theme.SkinToneHelperName, String.Empty);
|
||||
_ThemeLoaded &= CHelper.GetValueFromXML(item + "/SkinPerfectNoteStar", navigator, ref _Theme.SkinPerfectNoteStarName, String.Empty);
|
||||
|
||||
_BarPos = new SRectF[CSettings.MaxNumPlayer, CSettings.MaxNumPlayer];
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
_BarPos = new SRectF[_Base.Settings.GetMaxNumPlayer(), _Base.Settings.GetMaxNumPlayer()];
|
||||
for (int numplayer = 0; numplayer < _Base.Settings.GetMaxNumPlayer(); numplayer++)
|
||||
{
|
||||
for (int player = 0; player < CSettings.MaxNumPlayer; player++)
|
||||
for (int player = 0; player < _Base.Settings.GetMaxNumPlayer(); player++)
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
@@ -163,9 +159,9 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
writer.WriteComment(" <P$N$X>, <P$N$Y>, <P$N$Z>, <P$N$W>, <P$N$H>");
|
||||
writer.WriteComment(" position, width and height of note bars: first index = player number; second index = num players seen on screen");
|
||||
writer.WriteStartElement("BarPositions");
|
||||
for (int numplayer = 0; numplayer < CSettings.MaxNumPlayer; numplayer++)
|
||||
for (int numplayer = 0; numplayer < _Base.Settings.GetMaxNumPlayer(); numplayer++)
|
||||
{
|
||||
for (int player = 0; player < CSettings.MaxNumPlayer; player++)
|
||||
for (int player = 0; player < _Base.Settings.GetMaxNumPlayer(); player++)
|
||||
{
|
||||
if (player <= numplayer)
|
||||
{
|
||||
@@ -299,7 +295,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
CLine Line = _PlayerNotes[n].Lines[_PlayerNotes[n].LineNr];
|
||||
|
||||
if (CConfig.DrawNoteLines == EOffOn.TR_CONFIG_ON)
|
||||
if (_Base.Config.GetDrawNoteLines() == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
DrawNoteLines(_PlayerNotes[n].Rect, new SColorF(0.5f, 0.5f, 0.5f, 0.5f * _PlayerNotes[n].Alpha));
|
||||
}
|
||||
@@ -309,7 +305,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
float w = _PlayerNotes[n].Rect.W;
|
||||
float h = _PlayerNotes[n].Rect.H;
|
||||
float dh = h / CSettings.NumNoteLines * (2f - (int)CGame.Player[_PlayerNotes[n].PlayerNr].Difficulty) / 4f;
|
||||
float dh = h / _Base.Settings.GetNumNoteLines() * (2f - (int)_Base.Game.GetPlayer()[_PlayerNotes[n].PlayerNr].Difficulty) / 4f;
|
||||
|
||||
float beats = Line.LastNoteBeat - Line.FirstNoteBeat + 1;
|
||||
|
||||
@@ -332,9 +328,9 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
SRectF rect = new SRectF(
|
||||
_PlayerNotes[n].Rect.X + (note.StartBeat - Line.FirstNoteBeat) / beats * w,
|
||||
_PlayerNotes[n].Rect.Y + (CSettings.NumNoteLines - 1 - (note.Tone - BaseLine)/2) / CSettings.NumNoteLines * h - dh,
|
||||
_PlayerNotes[n].Rect.Y + (_Base.Settings.GetNumNoteLines() - 1 - (note.Tone - BaseLine)/2) / _Base.Settings.GetNumNoteLines() * h - dh,
|
||||
width,
|
||||
h / CSettings.NumNoteLines + 2 * dh,
|
||||
h / _Base.Settings.GetNumNoteLines() + 2 * dh,
|
||||
_PlayerNotes[n].Rect.Z
|
||||
);
|
||||
|
||||
@@ -349,9 +345,9 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
}
|
||||
}
|
||||
|
||||
if (CConfig.DrawToneHelper == EOffOn.TR_CONFIG_ON)
|
||||
if (_Base.Config.GetDrawToneHelper() == EOffOn.TR_CONFIG_ON)
|
||||
{
|
||||
DrawToneHelper(n, (int)BaseLine, (CGame.MidBeatD - Line.FirstNoteBeat) / beats * w);
|
||||
DrawToneHelper(n, (int)BaseLine, (_Base.Game.GetMidBeatD() - Line.FirstNoteBeat) / beats * w);
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
@@ -371,7 +367,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
perfline.Draw();
|
||||
}
|
||||
|
||||
if (SingLine == null || SingLine.Count == 0 || CGame.Player[Player].CurrentLine == -1 || SingLine.Count <= CGame.Player[Player].CurrentLine)
|
||||
if (SingLine == null || SingLine.Count == 0 || _Base.Game.GetPlayer()[Player].CurrentLine == -1 || SingLine.Count <= _Base.Game.GetPlayer()[Player].CurrentLine)
|
||||
{
|
||||
foreach (CParticleEffect stars in _PlayerNotes[n].GoldenStars)
|
||||
{
|
||||
@@ -382,20 +378,20 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (CNote note in SingLine[CGame.Player[Player].CurrentLine].Notes)
|
||||
foreach (CNote note in SingLine[_Base.Game.GetPlayer()[Player].CurrentLine].Notes)
|
||||
{
|
||||
if (note.StartBeat >= Line.FirstNoteBeat && note.EndBeat <= Line.LastNoteBeat)
|
||||
{
|
||||
float width = note.Duration / beats * w;
|
||||
|
||||
if (note.EndBeat == CGame.ActBeatD)
|
||||
width -= (1 - (CGame.MidBeatD - CGame.ActBeatD)) / beats * w;
|
||||
if (note.EndBeat == _Base.Game.GetCurrentBeatD())
|
||||
width -= (1 - (_Base.Game.GetMidBeatD() - _Base.Game.GetCurrentBeatD())) / beats * w;
|
||||
|
||||
SRectF rect = new SRectF(
|
||||
_PlayerNotes[n].Rect.X + (note.StartBeat - Line.FirstNoteBeat) / beats * w,
|
||||
_PlayerNotes[n].Rect.Y + (CSettings.NumNoteLines - 1 - (note.Tone - BaseLine)/2) / CSettings.NumNoteLines * h - dh,
|
||||
_PlayerNotes[n].Rect.Y + (_Base.Settings.GetNumNoteLines() - 1 - (note.Tone - BaseLine)/2) / _Base.Settings.GetNumNoteLines() * h - dh,
|
||||
width,
|
||||
h / CSettings.NumNoteLines + 2 * dh,
|
||||
h / _Base.Settings.GetNumNoteLines() + 2 * dh,
|
||||
_PlayerNotes[n].Rect.Z
|
||||
);
|
||||
|
||||
@@ -405,14 +401,14 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
DrawNote(rect, color, f);
|
||||
|
||||
if (note.EndBeat >= CGame.ActBeatD && note.Hit && note.NoteType == ENoteType.Golden)
|
||||
if (note.EndBeat >= _Base.Game.GetCurrentBeatD() && note.Hit && note.NoteType == ENoteType.Golden)
|
||||
{
|
||||
SRectF re = new SRectF(rect);
|
||||
re.W = (CGame.MidBeatD - note.StartBeat) / beats * w;
|
||||
re.W = (_Base.Game.GetMidBeatD() - note.StartBeat) / beats * w;
|
||||
AddFlare(re, n);
|
||||
}
|
||||
|
||||
if (note.Perfect && note.EndBeat < CGame.ActBeatD)
|
||||
if (note.Perfect && note.EndBeat < _Base.Game.GetCurrentBeatD())
|
||||
{
|
||||
AddPerfectNote(rect, n);
|
||||
note.Perfect = false;
|
||||
@@ -420,13 +416,13 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
}
|
||||
}
|
||||
|
||||
int currentLine = CGame.Player[Player].SingLine.Count - 1;
|
||||
int currentLine = _Base.Game.GetPlayer()[Player].SingLine.Count - 1;
|
||||
if (currentLine > 0)
|
||||
{
|
||||
if (CGame.Player[Player].SingLine[currentLine - 1].PerfectLine)
|
||||
if (_Base.Game.GetPlayer()[Player].SingLine[currentLine - 1].PerfectLine)
|
||||
{
|
||||
AddPerfectLine(n);
|
||||
CGame.Player[Player].SingLine[currentLine - 1].PerfectLine = false;
|
||||
_Base.Game.GetPlayer()[Player].SingLine[currentLine - 1].PerfectLine = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -530,18 +526,18 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
Rect.Z
|
||||
);
|
||||
|
||||
STexture NoteBegin = CTheme.GetSkinTexture(_Theme.SkinLeftName);
|
||||
STexture NoteMiddle = CTheme.GetSkinTexture(_Theme.SkinMiddleName);
|
||||
STexture NoteEnd = CTheme.GetSkinTexture(_Theme.SkinRightName);
|
||||
STexture NoteBegin = _Base.Theme.GetSkinTexture(_Theme.SkinLeftName);
|
||||
STexture NoteMiddle = _Base.Theme.GetSkinTexture(_Theme.SkinMiddleName);
|
||||
STexture NoteEnd = _Base.Theme.GetSkinTexture(_Theme.SkinRightName);
|
||||
|
||||
float dx = NoteBegin.width * r.H / NoteBegin.height;
|
||||
if (2 * dx > r.W)
|
||||
dx = r.W / 2;
|
||||
|
||||
|
||||
CDraw.DrawTexture(NoteBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), Color);
|
||||
CDraw.DrawTexture(NoteMiddle, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z), Color);
|
||||
CDraw.DrawTexture(NoteEnd, new SRectF(r.X + r.W - dx, r.Y, dx, r.H, r.Z), Color);
|
||||
_Base.Drawing.DrawTexture(NoteBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), Color);
|
||||
_Base.Drawing.DrawTexture(NoteMiddle, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z), Color);
|
||||
_Base.Drawing.DrawTexture(NoteEnd, new SRectF(r.X + r.W - dx, r.Y, dx, r.H, r.Z), Color);
|
||||
}
|
||||
|
||||
private void DrawNoteBG(SRectF Rect, SColorF Color, float factor, Stopwatch Timer)
|
||||
@@ -572,9 +568,9 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
Rect.Z
|
||||
);
|
||||
|
||||
STexture NoteBackgroundBegin = CTheme.GetSkinTexture(_Theme.SkinBackgroundLeftName);
|
||||
STexture NoteBackgroundMiddle = CTheme.GetSkinTexture(_Theme.SkinBackgroundMiddleName);
|
||||
STexture NoteBackgroundEnd = CTheme.GetSkinTexture(_Theme.SkinBackgroundRightName);
|
||||
STexture NoteBackgroundBegin = _Base.Theme.GetSkinTexture(_Theme.SkinBackgroundLeftName);
|
||||
STexture NoteBackgroundMiddle = _Base.Theme.GetSkinTexture(_Theme.SkinBackgroundMiddleName);
|
||||
STexture NoteBackgroundEnd = _Base.Theme.GetSkinTexture(_Theme.SkinBackgroundRightName);
|
||||
|
||||
float dx = NoteBackgroundBegin.width * r.H / NoteBackgroundBegin.height;
|
||||
if (2 * dx > r.W)
|
||||
@@ -582,17 +578,17 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
SColorF col = new SColorF(Color.R, Color.G, Color.B, Color.A * alpha);
|
||||
|
||||
CDraw.DrawTexture(NoteBackgroundBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), col);
|
||||
CDraw.DrawTexture(NoteBackgroundMiddle, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z), col);
|
||||
CDraw.DrawTexture(NoteBackgroundEnd, new SRectF(r.X + r.W - dx, r.Y, dx, r.H, r.Z), col);
|
||||
_Base.Drawing.DrawTexture(NoteBackgroundBegin, new SRectF(r.X, r.Y, dx, r.H, r.Z), col);
|
||||
_Base.Drawing.DrawTexture(NoteBackgroundMiddle, new SRectF(r.X + dx, r.Y, r.W - 2 * dx, r.H, r.Z), col);
|
||||
_Base.Drawing.DrawTexture(NoteBackgroundEnd, new SRectF(r.X + r.W - dx, r.Y, dx, r.H, r.Z), col);
|
||||
}
|
||||
|
||||
protected void DrawNoteLines(SRectF Rect, SColorF Color)
|
||||
{
|
||||
for (int i = 0; i < CSettings.NumNoteLines - 1; i++)
|
||||
for (int i = 0; i < _Base.Settings.GetNumNoteLines() - 1; i++)
|
||||
{
|
||||
float y = Rect.Y + Rect.H / CSettings.NumNoteLines * (i + 1);
|
||||
CDraw.DrawColor(Color, new SRectF(Rect.X, y, Rect.W, 1, -1.0f));
|
||||
float y = Rect.Y + Rect.H / _Base.Settings.GetNumNoteLines() * (i + 1);
|
||||
_Base.Drawing.DrawColor(Color, new SRectF(Rect.X, y, Rect.W, 1, -1.0f));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -622,7 +618,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
);
|
||||
|
||||
int numstars = (int)(r.W * 0.25f);
|
||||
CParticleEffect stars = new CParticleEffect(numstars, new SColorF(1f, 1f, 0f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Star);
|
||||
CParticleEffect stars = new CParticleEffect(_Base, numstars, new SColorF(1f, 1f, 0f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Star);
|
||||
_PlayerNotes[n].GoldenStars.Add(stars);
|
||||
}
|
||||
}
|
||||
@@ -650,7 +646,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
Rect.Z
|
||||
);
|
||||
|
||||
CParticleEffect flares = new CParticleEffect(15, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Flare);
|
||||
CParticleEffect flares = new CParticleEffect(_Base, 15, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Flare);
|
||||
_PlayerNotes[n].Flares.Add(flares);
|
||||
}
|
||||
|
||||
@@ -677,7 +673,7 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
Rect.Z
|
||||
);
|
||||
|
||||
STexture NoteBegin = CTheme.GetSkinTexture(_Theme.SkinLeftName);
|
||||
STexture NoteBegin = _Base.Theme.GetSkinTexture(_Theme.SkinLeftName);
|
||||
float dx = NoteBegin.width * r.H / NoteBegin.height;
|
||||
if (2 * dx > r.W)
|
||||
dx = r.W / 2;
|
||||
@@ -690,19 +686,19 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
Rect.Z
|
||||
);
|
||||
|
||||
CParticleEffect stars = new CParticleEffect(CGame.Rand.Next(2) + 1, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinPerfectNoteStarName, 35, EParticeType.PerfNoteStar);
|
||||
CParticleEffect stars = new CParticleEffect(_Base, _Base.Game.GetRandom(2) + 1, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinPerfectNoteStarName, 35, EParticeType.PerfNoteStar);
|
||||
_PlayerNotes[n].PerfectNoteEffect.Add(stars);
|
||||
}
|
||||
|
||||
private void AddPerfectLine(int n)
|
||||
{
|
||||
CParticleEffect twinkle = new CParticleEffect(200, _PlayerNotes[n].Color, _PlayerNotes[n].Rect, _Theme.SkinGoldenStarName, 25, EParticeType.Twinkle);
|
||||
CParticleEffect twinkle = new CParticleEffect(_Base, 200, _PlayerNotes[n].Color, _PlayerNotes[n].Rect, _Theme.SkinGoldenStarName, 25, EParticeType.Twinkle);
|
||||
_PlayerNotes[n].PerfectLineTwinkle.Add(twinkle);
|
||||
}
|
||||
|
||||
private void DrawToneHelper(int n, int BaseLine, float XOffset)
|
||||
{
|
||||
int TonePlayer = CSound.RecordGetToneAbs(_PlayerNotes[n].PlayerNr);
|
||||
int TonePlayer = _Base.Record.GetToneAbs(_PlayerNotes[n].PlayerNr);
|
||||
|
||||
SRectF Rect = _PlayerNotes[n].Rect;
|
||||
|
||||
@@ -718,10 +714,10 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
if (XOffset > Rect.W)
|
||||
XOffset = Rect.W;
|
||||
|
||||
float dy = Rect.H / (CSettings.NumNoteLines);
|
||||
float dy = Rect.H / (_Base.Settings.GetNumNoteLines());
|
||||
SRectF rect = new SRectF(
|
||||
Rect.X - dy + XOffset,
|
||||
Rect.Y + dy * (CSettings.NumNoteLines - 1 - (TonePlayer - BaseLine) / 2f),
|
||||
Rect.Y + dy * (_Base.Settings.GetNumNoteLines() - 1 - (TonePlayer - BaseLine) / 2f),
|
||||
dy,
|
||||
dy,
|
||||
Rect.Z
|
||||
@@ -733,8 +729,8 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
_PlayerNotes[n].Color.B,
|
||||
_PlayerNotes[n].Color.A * _PlayerNotes[n].Alpha);
|
||||
|
||||
STexture ToneHelper = CTheme.GetSkinTexture(_Theme.SkinToneHelperName);
|
||||
CDraw.DrawTexture(ToneHelper, rect, color);
|
||||
STexture ToneHelper = _Base.Theme.GetSkinTexture(_Theme.SkinToneHelperName);
|
||||
_Base.Drawing.DrawTexture(ToneHelper, rect, color);
|
||||
|
||||
|
||||
while (TonePlayer - BaseLine < 12)
|
||||
@@ -745,13 +741,13 @@ namespace Vocaluxe.Menu.SingNotes
|
||||
|
||||
rect = new SRectF(
|
||||
Rect.X - dy + XOffset,
|
||||
Rect.Y + dy * (CSettings.NumNoteLines - 1 - (TonePlayer - BaseLine) / 2f),
|
||||
Rect.Y + dy * (_Base.Settings.GetNumNoteLines() - 1 - (TonePlayer - BaseLine) / 2f),
|
||||
dy,
|
||||
dy,
|
||||
Rect.Z
|
||||
);
|
||||
|
||||
CDraw.DrawTexture(ToneHelper, rect, color);
|
||||
_Base.Drawing.DrawTexture(ToneHelper, rect, color);
|
||||
}
|
||||
|
||||
#region ThemeEdit
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
using Vocaluxe.Lib.Draw;
|
||||
using Vocaluxe.Lib.Song;
|
||||
|
||||
namespace Vocaluxe.Menu.SingNotes
|
||||
{
|
||||
interface ISingNotes
|
||||
|
||||
@@ -4,10 +4,6 @@ using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using Vocaluxe.Base;
|
||||
using Vocaluxe.Lib.Draw;
|
||||
using Vocaluxe.Lib.Song;
|
||||
|
||||
namespace Vocaluxe.Menu.SongMenu
|
||||
{
|
||||
class CSongMenuDreidel : CSongMenuFramework
|
||||
|
||||
@@ -243,8 +243,8 @@ namespace Vocaluxe.Screens
|
||||
|
||||
//Little stars for logo
|
||||
int numstars = (int)(logo.Rect.W * 0.25f / 2f);
|
||||
starsRed = new CParticleEffect(numstars, new SColorF(1, 0, 0, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
starsBlue = new CParticleEffect(numstars, new SColorF(0.149f, 0.415f, 0.819f, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
starsRed = GetNewParticleEffect(numstars, new SColorF(1, 0, 0, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
starsBlue = GetNewParticleEffect(numstars, new SColorF(0.149f, 0.415f, 0.819f, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
|
||||
//Credit names
|
||||
_CreditNames = new List<CCreditName>();
|
||||
@@ -254,7 +254,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryBrunzel = new CCreditName();
|
||||
CreditEntryBrunzel.image = GetNewStatic(_TexNameBrunzel, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 400, 120, -4));
|
||||
CreditEntryBrunzel.particleRect = new SRectF(CreditEntryBrunzel.image.Rect.X + 342, CreditEntryBrunzel.image.Rect.Y + 4, 30, 30, -5);
|
||||
CreditEntryBrunzel.particle = new CParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryBrunzel.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
CreditEntryBrunzel.particle = GetNewParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryBrunzel.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
CreditEntryBrunzel.active = true;
|
||||
CreditEntryBrunzel.direction = EDirection.Left;
|
||||
_CreditNames.Add(CreditEntryBrunzel);
|
||||
@@ -263,7 +263,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryDarkice = new CCreditName();
|
||||
CreditEntryDarkice.image = GetNewStatic(_TexNameDarkice, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 400, 120, -4));
|
||||
CreditEntryDarkice.particleRect = new SRectF(CreditEntryDarkice.image.Rect.X + 242, CreditEntryDarkice.image.Rect.Y + 23, 30, 30, -5);
|
||||
CreditEntryDarkice.particle = new CParticleEffect(8, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryDarkice.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
CreditEntryDarkice.particle = GetNewParticleEffect(8, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryDarkice.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
CreditEntryDarkice.active = true;
|
||||
CreditEntryDarkice.direction = EDirection.Right;
|
||||
_CreditNames.Add(CreditEntryDarkice);
|
||||
@@ -272,7 +272,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryFlokuep = new CCreditName();
|
||||
CreditEntryFlokuep.image = GetNewStatic(_TexNameFlokuep, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 400, 120, -4));
|
||||
CreditEntryFlokuep.particleRect = new SRectF(CreditEntryFlokuep.image.Rect.X + 141, CreditEntryFlokuep.image.Rect.Y - 2, 30, 30, -5);
|
||||
CreditEntryFlokuep.particle = new CParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryFlokuep.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
CreditEntryFlokuep.particle = GetNewParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryFlokuep.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
|
||||
CreditEntryFlokuep.active = true;
|
||||
CreditEntryFlokuep.direction = EDirection.Left;
|
||||
_CreditNames.Add(CreditEntryFlokuep);
|
||||
@@ -281,7 +281,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryBohning = new CCreditName();
|
||||
CreditEntryBohning.image = GetNewStatic(_TexNameBohning, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
|
||||
CreditEntryBohning.particleRect = new SRectF(CreditEntryBohning.image.Rect.X + 172, CreditEntryBohning.image.Rect.Y + 16, 10, 10, -5);
|
||||
CreditEntryBohning.particle = new CParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBohning.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryBohning.particle = GetNewParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBohning.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryBohning.active = true;
|
||||
CreditEntryBohning.direction = EDirection.Right;
|
||||
_CreditNames.Add(CreditEntryBohning);
|
||||
@@ -290,7 +290,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryMesand = new CCreditName();
|
||||
CreditEntryMesand.image = GetNewStatic(_TexNameMesand, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 350, 110, -4));
|
||||
CreditEntryMesand.particleRect = new SRectF(CreditEntryMesand.image.Rect.X + 240, CreditEntryMesand.image.Rect.Y - 2, 10, 10, -5);
|
||||
CreditEntryMesand.particle = new CParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntryMesand.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryMesand.particle = GetNewParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntryMesand.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryMesand.active = true;
|
||||
CreditEntryMesand.direction = EDirection.Left;
|
||||
_CreditNames.Add(CreditEntryMesand);
|
||||
@@ -299,7 +299,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryBabene03 = new CCreditName();
|
||||
CreditEntryBabene03.image = GetNewStatic(_TexNameBabene03, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
|
||||
CreditEntryBabene03.particleRect = new SRectF(CreditEntryBabene03.image.Rect.X + 7, CreditEntryBabene03.image.Rect.Y + 4, 10, 10, -5);
|
||||
CreditEntryBabene03.particle = new CParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBabene03.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryBabene03.particle = GetNewParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBabene03.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryBabene03.active = true;
|
||||
CreditEntryBabene03.direction = EDirection.Right;
|
||||
_CreditNames.Add(CreditEntryBabene03);
|
||||
@@ -308,7 +308,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntrypantero = new CCreditName();
|
||||
CreditEntrypantero.image = GetNewStatic(_TexNamePantero, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 350, 110, -4));
|
||||
CreditEntrypantero.particleRect = new SRectF(CreditEntrypantero.image.Rect.X + 140, CreditEntrypantero.image.Rect.Y + 15, 10, 10, -5);
|
||||
CreditEntrypantero.particle = new CParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntrypantero.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntrypantero.particle = GetNewParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntrypantero.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntrypantero.active = true;
|
||||
CreditEntrypantero.direction = EDirection.Left;
|
||||
_CreditNames.Add(CreditEntrypantero);
|
||||
@@ -317,7 +317,7 @@ namespace Vocaluxe.Screens
|
||||
CCreditName CreditEntryPinky007 = new CCreditName();
|
||||
CreditEntryPinky007.image = GetNewStatic(_TexNamePinky007, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
|
||||
CreditEntryPinky007.particleRect = new SRectF(CreditEntryPinky007.image.Rect.X + 42, CreditEntryPinky007.image.Rect.Y + 15, 10, 10, -5);
|
||||
CreditEntryPinky007.particle = new CParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryPinky007.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryPinky007.particle = GetNewParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryPinky007.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
|
||||
CreditEntryPinky007.active = true;
|
||||
CreditEntryPinky007.direction = EDirection.Right;
|
||||
_CreditNames.Add(CreditEntryPinky007);
|
||||
|
||||
@@ -208,6 +208,7 @@
|
||||
<Compile Include="Lib\Input\WiiMote\CWiiMote.cs" />
|
||||
<Compile Include="Lib\Input\WiiMote\WiiMoteLib.cs" />
|
||||
<Compile Include="Lib\Playlist\CPlaylistFile.cs" />
|
||||
<Compile Include="Menu\CParticle.cs" />
|
||||
<Compile Include="Menu\SingNotes\CNotes.cs" />
|
||||
<Compile Include="Lib\Song\CSong.cs" />
|
||||
<Compile Include="Lib\Sound\CDirectSoundRecord.cs" />
|
||||
|
||||
Reference in new issue
Block a user