From 5f28c5a10316da334afdb4dd54bcb73a46faf104 Mon Sep 17 00:00:00 2001 From: Flamefire Date: Sun, 28 Apr 2013 12:23:10 +0200 Subject: [PATCH] Fixed DX Close Bug and some typos closes #15 --- .../CPartyModeChallengeMedley.cs | 4 +- Vocaluxe/Base/CDataBase.cs | 4 +- Vocaluxe/Base/CDraw.cs | 4 +- Vocaluxe/Base/CSongs.cs | 2 +- Vocaluxe/Lib/Draw/CDirect3D.cs | 33 +++++++------ Vocaluxe/Lib/Draw/CDrawWinForm.cs | 2 +- Vocaluxe/Lib/Draw/COpenGL.cs | 30 ++++++------ Vocaluxe/Lib/Draw/IDraw.cs | 2 +- Vocaluxe/Screens/CScreenSing.cs | 6 +-- Vocaluxe/SongQueue/CSongQueue.cs | 46 +++++++++---------- 10 files changed, 69 insertions(+), 64 deletions(-) diff --git a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs index 89b4b1a0..cd0e61f3 100644 --- a/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs +++ b/PartyModes/PartyModeChallengeMedley/CPartyModeChallengeMedley.cs @@ -501,7 +501,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley } #endregion PlayerNames - #region SongQueque + #region SongQueue if (CBase.Songs.GetNumVisibleSongs() < _NumSongs) CBase.Songs.ResetPartySongSung(); @@ -542,7 +542,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley s++; } return true; - #endregion SongQueque + #endregion SongQueue } private void _SetNumJokers() diff --git a/Vocaluxe/Base/CDataBase.cs b/Vocaluxe/Base/CDataBase.cs index da72c5b6..7d9ecdda 100644 --- a/Vocaluxe/Base/CDataBase.cs +++ b/Vocaluxe/Base/CDataBase.cs @@ -956,7 +956,7 @@ namespace Vocaluxe.Base reader.Read(); byte[] data = _GetBytes(reader); reader.Dispose(); - tex = CDraw.QuequeTexture(w, h, ref data); + tex = CDraw.EnqueueTexture(w, h, ref data); return true; } } @@ -1006,7 +1006,7 @@ namespace Vocaluxe.Base origin.Dispose(); } - tex = CDraw.QuequeTexture(w, h, ref data); + tex = CDraw.EnqueueTexture(w, h, ref data); command.CommandText = "INSERT INTO Cover (Path, width, height) VALUES (@path, @w, @h)"; command.Parameters.Add("@w", DbType.Int32).Value = w; diff --git a/Vocaluxe/Base/CDraw.cs b/Vocaluxe/Base/CDraw.cs index bc843f7f..0bed36e9 100644 --- a/Vocaluxe/Base/CDraw.cs +++ b/Vocaluxe/Base/CDraw.cs @@ -211,9 +211,9 @@ namespace Vocaluxe.Base return _Draw.AddTexture(w, h, ref data); } - public static STexture QuequeTexture(int w, int h, ref byte[] data) + public static STexture EnqueueTexture(int w, int h, ref byte[] data) { - return _Draw.QuequeTexture(w, h, ref data); + return _Draw.EnqueueTexture(w, h, ref data); } public static bool UpdateTexture(ref STexture texture, ref byte[] data) diff --git a/Vocaluxe/Base/CSongs.cs b/Vocaluxe/Base/CSongs.cs index 876464ed..c498eafb 100644 --- a/Vocaluxe/Base/CSongs.cs +++ b/Vocaluxe/Base/CSongs.cs @@ -418,7 +418,7 @@ namespace Vocaluxe.Base public static void LoadCover() { if (CConfig.Renderer == ERenderer.TR_CONFIG_SOFTWARE) - return; //should be removed as soon as the other renderer are ready for queque + return; //should be removed as soon as the other renderer are ready for queue if (!SongsLoaded || CoverLoaded) return; diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs index 53cca0ac..7a084bca 100644 --- a/Vocaluxe/Lib/Draw/CDirect3D.cs +++ b/Vocaluxe/Lib/Draw/CDirect3D.cs @@ -29,12 +29,13 @@ using System.Drawing.Imaging; using System.IO; using System.Runtime.InteropServices; using System.Windows.Forms; +using SlimDX.Windows; using Vocaluxe.Base; using VocaluxeLib.Menu; namespace Vocaluxe.Lib.Draw { - class CDirect3D : Form, IDraw + class CDirect3D : RenderForm, IDraw { #region private vars private readonly CKeys _Keys; @@ -51,7 +52,7 @@ namespace Vocaluxe.Lib.Draw private readonly Dictionary _Textures; private readonly Dictionary _D3DTextures; - private readonly List _Queque; + private readonly List _Queue; private readonly Queue _IDs; private readonly Object _MutexTexture = new Object(); @@ -81,7 +82,7 @@ namespace Vocaluxe.Lib.Draw Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon)); _Textures = new Dictionary(); _D3DTextures = new Dictionary(); - _Queque = new List(); + _Queue = new List(); _IDs = new Queue(); //Fill Queue with 100000 IDs @@ -97,7 +98,7 @@ namespace Vocaluxe.Lib.Draw { _D3D = new Direct3D(); } - catch (Direct3D9NotFoundException e) + catch (Direct3DX9NotFoundException e) { MessageBox.Show("No DirectX runtimes were found, please download and install them " + "from http://www.microsoft.com/download/en/details.aspx?id=8109", @@ -515,13 +516,15 @@ namespace Vocaluxe.Lib.Draw //We want to begin drawing if (_Device.BeginScene().IsFailure) CLog.LogError("Failed to begin scene"); - _CheckQueque(); - _Run = _Run && CGraphics.Draw(); + _CheckQueue(); + if (!CGraphics.Draw()) + _Run = false; _RenderVertexBuffer(); //We finished drawing the frame if (_Device.EndScene().IsFailure) CLog.LogError("Failed to end scene"); - _Run = CGraphics.UpdateGameLogic(_Keys, _Mouse); + if (!CGraphics.UpdateGameLogic(_Keys, _Mouse)) + _Run = false; try { //Now push the frame to the Viewport @@ -1010,10 +1013,10 @@ namespace Vocaluxe.Lib.Draw return t; } - public STexture QuequeTexture(int w, int h, ref byte[] data) + public STexture EnqueueTexture(int w, int h, ref byte[] data) { STexture texture = new STexture(-1); - STextureQueque queque = new STextureQueque {Data = data, Height = h, Width = w}; + STextureQueue queue = new STextureQueue {Data = data, Height = h, Width = w}; texture.Height = h; texture.Width = w; @@ -1022,8 +1025,8 @@ namespace Vocaluxe.Lib.Draw { _D3DTextures.Add(_IDs.Peek(), null); texture.Index = _IDs.Dequeue(); - queque.ID = texture.Index; - _Queque.Add(queque); + queue.ID = texture.Index; + _Queue.Add(queue); _Textures[texture.Index] = texture; } return texture; @@ -1405,14 +1408,14 @@ namespace Vocaluxe.Lib.Draw } #endregion drawing - private void _CheckQueque() + private void _CheckQueue() { lock (_MutexTexture) { - if (_Queque.Count == 0) + if (_Queue.Count == 0) return; - STextureQueque q = _Queque[0]; + STextureQueue q = _Queue[0]; STexture texture; if (_Textures.ContainsKey(q.ID)) texture = _Textures[q.ID]; @@ -1423,7 +1426,7 @@ namespace Vocaluxe.Lib.Draw _D3DTextures[q.ID] = t; _Textures[texture.Index] = texture; - _Queque.RemoveAt(0); + _Queue.RemoveAt(0); } } diff --git a/Vocaluxe/Lib/Draw/CDrawWinForm.cs b/Vocaluxe/Lib/Draw/CDrawWinForm.cs index 78203ff0..cb79cbc2 100644 --- a/Vocaluxe/Lib/Draw/CDrawWinForm.cs +++ b/Vocaluxe/Lib/Draw/CDrawWinForm.cs @@ -418,7 +418,7 @@ namespace Vocaluxe.Lib.Draw return new STexture(-1); } - public STexture QuequeTexture(int w, int h, ref byte[] data) + public STexture EnqueueTexture(int w, int h, ref byte[] data) { return AddTexture(w, h, ref data); } diff --git a/Vocaluxe/Lib/Draw/COpenGL.cs b/Vocaluxe/Lib/Draw/COpenGL.cs index 54056001..13ee6f35 100644 --- a/Vocaluxe/Lib/Draw/COpenGL.cs +++ b/Vocaluxe/Lib/Draw/COpenGL.cs @@ -41,7 +41,7 @@ namespace Vocaluxe.Lib.Draw public int Height; }; - struct STextureQueque + struct STextureQueue { public int ID; public int Width; @@ -63,7 +63,7 @@ namespace Vocaluxe.Lib.Draw private readonly Dictionary _Textures; private readonly Queue _IDs; - private readonly List _Queque; + private readonly List _Queue; private readonly Object _MutexTexture = new Object(); @@ -80,7 +80,7 @@ namespace Vocaluxe.Lib.Draw Icon = new Icon(Path.Combine(Environment.CurrentDirectory, CSettings.Icon)); _Textures = new Dictionary(); - _Queque = new List(); + _Queue = new List(); _IDs = new Queue(1000000); for (int i = 1; i < 1000000; i++) @@ -412,15 +412,17 @@ namespace Vocaluxe.Lib.Draw if (_Run) { ClearScreen(); - _Run = _Run && CGraphics.Draw(); + if (!CGraphics.Draw()) + _Run = false; + if (!CGraphics.UpdateGameLogic(_Keys, _Mouse)) + _Run = false; - _Run = CGraphics.UpdateGameLogic(_Keys, _Mouse); _Control.SwapBuffers(); if ((CSettings.IsFullScreen && !_Fullscreen) || (!CSettings.IsFullScreen && _Fullscreen)) _ToggleFullScreen(); - _CheckQueque(); + _CheckQueue(); if (CTime.IsRunning()) delay = (int)Math.Floor(CConfig.CalcCycleTime() - CTime.GetMilliseconds()); @@ -907,10 +909,10 @@ namespace Vocaluxe.Lib.Draw return texture; } - public STexture QuequeTexture(int w, int h, ref byte[] data) + public STexture EnqueueTexture(int w, int h, ref byte[] data) { STexture texture = new STexture(-1); - STextureQueque queque = new STextureQueque {Data = data, Height = h, Width = w}; + STextureQueue queue = new STextureQueue {Data = data, Height = h, Width = w}; texture.Height = h; texture.Width = w; @@ -918,8 +920,8 @@ namespace Vocaluxe.Lib.Draw lock (_MutexTexture) { texture.Index = _IDs.Dequeue(); - queque.ID = texture.Index; - _Queque.Add(queque); + queue.ID = texture.Index; + _Queue.Add(queue); _Textures[texture.Index] = texture; } @@ -1333,14 +1335,14 @@ namespace Vocaluxe.Lib.Draw return _Textures.Count; } - private void _CheckQueque() + private void _CheckQueue() { lock (_MutexTexture) { - if (_Queque.Count == 0) + if (_Queue.Count == 0) return; - STextureQueque q = _Queque[0]; + STextureQueue q = _Queue[0]; STexture texture = new STexture(-1); if (_Textures.ContainsKey(q.ID)) texture = _Textures[q.ID]; @@ -1407,7 +1409,7 @@ namespace Vocaluxe.Lib.Draw _Textures[texture.Index] = texture; q.Data = null; - _Queque.RemoveAt(0); + _Queue.RemoveAt(0); } } #endregion Textures diff --git a/Vocaluxe/Lib/Draw/IDraw.cs b/Vocaluxe/Lib/Draw/IDraw.cs index 6da270b0..1230145c 100644 --- a/Vocaluxe/Lib/Draw/IDraw.cs +++ b/Vocaluxe/Lib/Draw/IDraw.cs @@ -52,7 +52,7 @@ namespace Vocaluxe.Lib.Draw STexture AddTexture(Bitmap bitmap); STexture AddTexture(int w, int h, IntPtr data); STexture AddTexture(int w, int h, ref byte[] data); - STexture QuequeTexture(int w, int h, ref byte[] data); + STexture EnqueueTexture(int w, int h, ref byte[] data); bool UpdateTexture(ref STexture texture, ref byte[] data); bool UpdateTexture(ref STexture texture, IntPtr data); diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs index 119e5406..2a00110a 100644 --- a/Vocaluxe/Screens/CScreenSing.cs +++ b/Vocaluxe/Screens/CScreenSing.cs @@ -948,9 +948,9 @@ namespace Vocaluxe.Screens private void _UpdateMedleyCountdown() { - if (CGame.GetSong() != null) - { - CSong song = CGame.GetSong(); + CSong song = CGame.GetSong(); + if (song != null) + { float currentTime = _CurrentTime - song.Start; float timeToFirstMedleyNote = (CGame.GetTimeFromBeats(song.Medley.StartBeat, song.BPM) + song.Gap - song.Start); if (currentTime < timeToFirstMedleyNote && CGame.GameMode == EGameMode.TR_GAMEMODE_MEDLEY) diff --git a/Vocaluxe/SongQueue/CSongQueue.cs b/Vocaluxe/SongQueue/CSongQueue.cs index 0217fc47..30f6f509 100644 --- a/Vocaluxe/SongQueue/CSongQueue.cs +++ b/Vocaluxe/SongQueue/CSongQueue.cs @@ -39,22 +39,22 @@ namespace Vocaluxe.SongQueue class CSongQueue : ISongQueue { - private List _SongQueque; + private List _SongQueue; private int _CurrentSong; private CPoints _Points; #region Implementation public void Init() { - _SongQueque = new List(); + _SongQueue = new List(); Reset(); CGameModes.Init(); } public EGameMode GetCurrentGameMode() { - if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count) - return _SongQueque[_CurrentSong].GameMode; + if (_CurrentSong >= 0 && _CurrentSong < _SongQueue.Count) + return _SongQueue[_CurrentSong].GameMode; return EGameMode.TR_GAMEMODE_NORMAL; } @@ -73,7 +73,7 @@ namespace Vocaluxe.SongQueue if (gameMode == EGameMode.TR_GAMEMODE_DUET && !CSongs.GetSong(songID).IsDuet) return false; - _SongQueque.Add(new SSongQueueEntry(songID, gameMode)); + _SongQueue.Add(new SSongQueueEntry(songID, gameMode)); return true; } @@ -89,11 +89,11 @@ namespace Vocaluxe.SongQueue private bool _RemoveSong(int songID) { - for (int i = 0; i < _SongQueque.Count; i++) + for (int i = 0; i < _SongQueue.Count; i++) { - if (_SongQueque[i].SongID != songID) + if (_SongQueue[i].SongID != songID) continue; - _SongQueque.RemoveAt(i); + _SongQueue.RemoveAt(i); return true; } return false; @@ -101,7 +101,7 @@ namespace Vocaluxe.SongQueue public void ClearSongs() { - _SongQueque.Clear(); + _SongQueue.Clear(); } public void Reset() @@ -111,22 +111,22 @@ namespace Vocaluxe.SongQueue public void Start(SPlayer[] players) { - _Points = new CPoints(_SongQueque.Count, players); + _Points = new CPoints(_SongQueue.Count, players); } public void NextRound(SPlayer[] players) { - if (_CurrentSong < _SongQueque.Count && _SongQueque.Count > 0) + if (_CurrentSong < _SongQueue.Count && _SongQueue.Count > 0) { if (_CurrentSong > -1) { _Points.SetPoints( _CurrentSong, - _SongQueque[_CurrentSong].SongID, + _SongQueue[_CurrentSong].SongID, players, - _SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_MEDLEY, - _SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_DUET, - _SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_SHORTSONG); + _SongQueue[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_MEDLEY, + _SongQueue[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_DUET, + _SongQueue[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_SHORTSONG); } _CurrentSong++; } @@ -134,7 +134,7 @@ namespace Vocaluxe.SongQueue public bool IsFinished() { - return _CurrentSong == _SongQueque.Count || _SongQueque.Count == 0; + return _CurrentSong == _SongQueue.Count || _SongQueue.Count == 0; } public int GetCurrentRoundNr() @@ -144,28 +144,28 @@ namespace Vocaluxe.SongQueue public CSong GetSong() { - if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count) - CGameModes.Get(GetCurrentGameMode()).GetSong(_SongQueque[_CurrentSong].SongID); + if (_CurrentSong >= 0 && _CurrentSong < _SongQueue.Count) + CGameModes.Get(GetCurrentGameMode()).GetSong(_SongQueue[_CurrentSong].SongID); return null; } public int GetNumSongs() { - return _SongQueque.Count; + return _SongQueue.Count; } public CSong GetSong(int num) { - if (num - 1 < _SongQueque.Count && num > 0) - return CSongs.GetSong(_SongQueque[num - 1].SongID); + if (num - 1 < _SongQueue.Count && num > 0) + return CSongs.GetSong(_SongQueue[num - 1].SongID); return null; } public EGameMode GetGameMode(int num) { - if (num - 1 < _SongQueque.Count && num > 0) - return _SongQueque[num - 1].GameMode; + if (num - 1 < _SongQueue.Count && num > 0) + return _SongQueue[num - 1].GameMode; return EGameMode.TR_GAMEMODE_NORMAL; }