Fix blank screen issue

Also fix some other bugs and improvements (easier party modes, volume fixes, new fields for screens to control volume and popups)
This commit is contained in:
Flamefire committed 2014-11-27 21:47:02 +01:00
1 parent 36b81e8c1f
commit 26484ad137
62 files changed
+1160 -1964

No files matched your search

+6 -26
View File
@@ -15,7 +15,6 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using System.Collections.Generic;
using VocaluxeLib.Menu;
@@ -35,10 +34,7 @@ namespace VocaluxeLib.PartyModes
}
#region Implementation
public virtual bool Init()
{
return false;
}
public abstract bool Init();
public void LoadTheme()
{
@@ -74,25 +70,9 @@ namespace VocaluxeLib.PartyModes
entry.Value.SaveTheme();
}
public virtual void DataFromScreen(string screenName, Object data) {}
public virtual void UpdateGame() {}
public virtual CMenuParty GetNextPartyScreen(out EScreens alternativeScreen)
{
alternativeScreen = EScreens.ScreenMain;
return null;
}
public virtual EScreens GetStartScreen()
{
return EScreens.ScreenSong;
}
public virtual EScreens GetMainScreen()
{
return EScreens.ScreenSong;
}
public abstract IMenu GetStartScreen();
public virtual SScreenSongOptions GetScreenSongOptions()
{
@@ -157,21 +137,21 @@ namespace VocaluxeLib.PartyModes
_ScreenSongOptions.Selection.NumJokers[teamNr]--;
}
public virtual void SongSelected(int songID) {}
public abstract void SongSelected(int songID);
public virtual void FinishedSinging()
{
CBase.Graphics.FadeTo(EScreens.ScreenScore);
CBase.Graphics.FadeTo(EScreen.Score);
}
public virtual void LeavingScore()
{
CBase.Graphics.FadeTo(EScreens.ScreenHighscore);
CBase.Graphics.FadeTo(EScreen.Highscore);
}
public virtual void LeavingHighscore()
{
CBase.Graphics.FadeTo(EScreens.ScreenSong);
CBase.Graphics.FadeTo(EScreen.Song);
}
#endregion Implementation
}
+16
View File
@@ -16,6 +16,7 @@
#endregion
using System;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes
{
@@ -37,6 +38,16 @@ namespace VocaluxeLib.PartyModes
_ScreenSongOptions.Sorting.DuetOptions = EDuetOptions.All;
}
public override bool Init()
{
return true;
}
public override IMenu GetStartScreen()
{
return CBase.Graphics.GetScreen(EScreen.Names);
}
public override SScreenSongOptions GetScreenSongOptions()
{
_ScreenSongOptions.Sorting.SongSorting = CBase.Config.GetSongSorting();
@@ -55,5 +66,10 @@ namespace VocaluxeLib.PartyModes
_ScreenSongOptions.Sorting.SearchString = searchString;
_ScreenSongOptions.Sorting.SearchActive = visible;
}
public override void SongSelected(int songID)
{
CBase.Graphics.FadeTo(EScreen.Sing);
}
}
}
@@ -1,87 +0,0 @@
#region license
// This file is part of Vocaluxe.
//
// Vocaluxe is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Vocaluxe is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System.Windows.Forms;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes
{
public class CScreenPartyDummy : CMenuParty
{
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
get { return 1; }
}
private CText _Warning;
public override void LoadTheme(string xmlPath)
{
_Warning = GetNewText();
_Warning.Font.Height = 100f;
_Warning.X = 150;
_Warning.Y = 300;
_Warning.Color = new SColorF(1f, 0f, 0f, 1f);
_Warning.SelColor = new SColorF(1f, 0f, 0f, 1f);
_Warning.Text = "SOMETHING WENT WRONG!";
_AddText(_Warning);
}
public override void ReloadTheme(string xmlPath) {}
public override void ReloadSkin() {}
public override void SaveTheme() {}
public override void UnloadSkin() {}
public override bool HandleInput(SKeyEvent keyEvent)
{
base.HandleInput(keyEvent);
if (keyEvent.KeyPressed) {}
else
{
switch (keyEvent.Key)
{
case Keys.Back:
case Keys.Escape:
_FadeTo(EScreens.ScreenParty);
break;
}
}
return true;
}
public override bool HandleMouse(SMouseEvent mouseEvent)
{
base.HandleMouse(mouseEvent);
if (mouseEvent.LB && _IsMouseOverCurSelection(mouseEvent)) {}
if (mouseEvent.RB)
_FadeTo(EScreens.ScreenParty);
return true;
}
public override bool UpdateGame()
{
return true;
}
}
}
+1 -5
View File
@@ -15,7 +15,6 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion
using System;
using VocaluxeLib.Menu;
namespace VocaluxeLib.PartyModes
@@ -91,13 +90,10 @@ namespace VocaluxeLib.PartyModes
void AddScreen(CMenuParty screen, string screenName);
void SaveScreens();
void DataFromScreen(string screenName, Object data);
void UpdateGame();
CMenuParty GetNextPartyScreen(out EScreens alternativeScreen);
EScreens GetStartScreen();
EScreens GetMainScreen();
IMenu GetStartScreen();
SScreenSongOptions GetScreenSongOptions();
void OnSongChange(int songIndex, ref SScreenSongOptions screenSongOptions);