865 lines
19 KiB
C#
865 lines
19 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
using Vocaluxe.Menu.SingNotes;
|
|
using Vocaluxe.Menu.SongMenu;
|
|
using Vocaluxe.PartyModes;
|
|
|
|
namespace Vocaluxe.Menu
|
|
{
|
|
public interface IMenu
|
|
{
|
|
void Initialize(Basic Base);
|
|
|
|
void LoadTheme(string XmlPath);
|
|
void SaveTheme();
|
|
void ReloadTextures();
|
|
void UnloadTextures();
|
|
void ReloadTheme();
|
|
|
|
bool HandleInput(KeyEvent KeyEvent);
|
|
bool HandleMouse(MouseEvent MouseEvent);
|
|
bool HandleInputThemeEditor(KeyEvent KeyEvent);
|
|
bool HandleMouseThemeEditor(MouseEvent MouseEvent);
|
|
|
|
bool UpdateGame();
|
|
void ApplyVolume();
|
|
void OnShow();
|
|
void OnShowFinish();
|
|
void OnClose();
|
|
|
|
bool Draw();
|
|
SRectF GetScreenArea();
|
|
|
|
void NextInteraction();
|
|
void PrevInteraction();
|
|
|
|
bool NextElement();
|
|
bool PrevElement();
|
|
|
|
void ProcessMouseClick(int x, int y);
|
|
void ProcessMouseMove(int x, int y);
|
|
}
|
|
|
|
public interface IMenuParty
|
|
{
|
|
void SetPartyModeID(int PartyModeID);
|
|
int GetPartyModeID();
|
|
|
|
void AssingPartyMode(IPartyMode PartyMode);
|
|
void DataToScreen(Object Data);
|
|
}
|
|
|
|
public interface IConfig
|
|
{
|
|
void SetBackgroundMusicVolume(int NewVolume);
|
|
int GetBackgroundMusicVolume();
|
|
|
|
int GetPreviewMusicVolume();
|
|
|
|
EOffOn GetVideosToBackground();
|
|
EOffOn GetVideoBackgrounds();
|
|
EOffOn GetVideoPreview();
|
|
|
|
ESongMenu GetSongMenuType();
|
|
|
|
EOffOn GetDrawNoteLines();
|
|
EOffOn GetDrawToneHelper();
|
|
|
|
int GetCoverSize();
|
|
|
|
List<string> GetSongFolder();
|
|
ESongSorting GetSongSorting();
|
|
EOffOn GetTabs();
|
|
EOffOn GetIgnoreArticles();
|
|
|
|
bool IsMicConfigured(int PlayerNr);
|
|
int GetMaxNumMics();
|
|
}
|
|
|
|
public interface ISettings
|
|
{
|
|
int GetRenderW();
|
|
int GetRenderH();
|
|
bool IsTabNavigation();
|
|
|
|
float GetZFar();
|
|
float GetZNear();
|
|
|
|
EGameState GetGameState();
|
|
|
|
int GetToneMin();
|
|
int GetToneMax();
|
|
|
|
int GetNumNoteLines();
|
|
int GetMaxNumPlayer();
|
|
|
|
float GetDefaultMedleyFadeInTime();
|
|
float GetDefaultMedleyFadeOutTime();
|
|
int GetMedleyMinSeriesLength();
|
|
float GetMedleyMinDuration();
|
|
}
|
|
|
|
public interface ITheme
|
|
{
|
|
string GetThemeScreensPath();
|
|
int GetSkinIndex();
|
|
STexture GetSkinTexture(string TextureName);
|
|
STexture GetSkinVideoTexture(string VideoName);
|
|
|
|
void SkinVideoResume(string VideoName);
|
|
void SkinVideoPause(string VideoName);
|
|
|
|
SColorF GetColor(string ColorName);
|
|
bool GetColor(string ColorName, int SkinIndex, ref SColorF Color);
|
|
SColorF GetPlayerColor(int PlayerNr);
|
|
|
|
void UnloadSkins();
|
|
void ListSkins();
|
|
void LoadSkins();
|
|
void LoadTheme();
|
|
}
|
|
|
|
public interface IHelper
|
|
{
|
|
}
|
|
|
|
public interface IBackgroundMusic
|
|
{
|
|
bool IsDisabled();
|
|
bool IsPlaying();
|
|
bool SongHasVideo();
|
|
bool VideoEnabled();
|
|
|
|
void Next();
|
|
void Previous();
|
|
void Pause();
|
|
void Play();
|
|
|
|
void ApplyVolume();
|
|
|
|
STexture GetVideoTexture();
|
|
}
|
|
|
|
public interface IDrawing
|
|
{
|
|
RectangleF GetTextBounds(CText text);
|
|
|
|
void DrawTexture(STexture Texture, SRectF Rect);
|
|
void DrawTexture(STexture Texture, SRectF Rect, SColorF Color);
|
|
void DrawTexture(STexture Texture, SRectF Rect, SColorF Color, SRectF Bounds);
|
|
void DrawTexture(STexture Texture, SRectF Rect, SColorF Color, SRectF Bounds, bool Mirrored);
|
|
void DrawTextureReflection(STexture Texture, SRectF Rect, SColorF Color, SRectF Bounds, float ReflectionSpace, float ReflectionHeight);
|
|
|
|
void RemoveTexture(ref STexture Texture);
|
|
|
|
void DrawColor(SColorF Color, SRectF Rect);
|
|
void DrawColorReflection(SColorF Color, SRectF Rect, float Space, float Height);
|
|
}
|
|
|
|
public interface IGraphics
|
|
{
|
|
void ReloadTheme();
|
|
void SaveTheme();
|
|
void FadeTo(EScreens NextScreen);
|
|
|
|
float GetGlobalAlpha();
|
|
}
|
|
|
|
public interface ILog
|
|
{
|
|
void LogError(string ErrorText);
|
|
}
|
|
|
|
public interface IFonts
|
|
{
|
|
void SetFont(string FontName);
|
|
void SetStyle(EStyle FontStyle);
|
|
|
|
RectangleF GetTextBounds(CText Text, float TextHeight);
|
|
|
|
void DrawText(string Text, float TextHeight, float x, float y, float z, SColorF Color);
|
|
void DrawTextReflection(string Text, float TextHeight, float x, float y, float z, SColorF Color, float ReflectionSpace, float ReflectionHeight);
|
|
void DrawText(string Text, float TextHeight, float x, float y, float z, SColorF Color, float Begin, float End);
|
|
}
|
|
|
|
public interface ILanguage
|
|
{
|
|
string Translate(string KeyWord);
|
|
string Translate(string KeyWord, int PartyModeID);
|
|
bool TranslationExists(string KeyWord);
|
|
}
|
|
|
|
public interface IGame
|
|
{
|
|
int GetNumPlayer();
|
|
void SetNumPlayer(int NumPlayer);
|
|
SPlayer[] GetPlayer();
|
|
float GetMidBeatD();
|
|
int GetCurrentBeatD();
|
|
|
|
int GetRandom(int Max);
|
|
double GetRandomDouble();
|
|
|
|
float GetTimeFromBeats(float Beat, float BPM);
|
|
|
|
void AddSong(int SongID, EGameMode GameMode);
|
|
void Reset();
|
|
void ClearSongs();
|
|
int GetNumSongs();
|
|
}
|
|
|
|
public interface IRecording
|
|
{
|
|
int GetToneAbs(int PlayerNr);
|
|
}
|
|
|
|
public interface IProfiles
|
|
{
|
|
SProfile[] GetProfiles();
|
|
}
|
|
|
|
public interface ISongs
|
|
{
|
|
int GetNumVisibleSongs();
|
|
int GetNumCategories();
|
|
int NumSongsInCategory(int CategoryIndex);
|
|
|
|
int GetCurrentCategoryIndex();
|
|
EOffOn GetTabs();
|
|
string GetSearchFilter();
|
|
|
|
void SetCategory(int CategoryIndex);
|
|
void UpdateRandomSongList();
|
|
|
|
CSong GetVisibleSong(int VisibleIndex);
|
|
CSong GetSongByID(int SongID);
|
|
CCategory GetCategory(int Index);
|
|
|
|
void AddPartySongSung(int SongID);
|
|
void ResetPartySongSung();
|
|
void ResetPartySongSung(int CatIndex);
|
|
|
|
void NextCategory();
|
|
void PrevCategory();
|
|
}
|
|
|
|
public interface IVideo
|
|
{
|
|
int Load(string VideoFileName);
|
|
bool Skip(int VideoStream, float StartPosition, float VideoGap);
|
|
bool GetFrame(int VideoStream, ref STexture VideoTexture, float Time, ref float VideoTime);
|
|
bool IsFinished(int VideoStream);
|
|
bool Close(int VideoStream);
|
|
}
|
|
|
|
public interface ISound
|
|
{
|
|
int Load(string SoundFile, bool Prescan);
|
|
void SetPosition(int SoundStream, float NewPosition);
|
|
void Play(int SoundStream);
|
|
void Fade(int SoundStream, float TargetVolume, float Duration);
|
|
|
|
bool IsFinished(int SoundStream);
|
|
float GetPosition(int SoundStream);
|
|
float GetLength(int SoundStream);
|
|
void FadeAndStop(int SoundStream, float TargetVolume, float Duration);
|
|
|
|
void SetStreamVolume(int SoundStream, float Volume);
|
|
void SetStreamVolumeMax(int SoundStream, float MaxVolume);
|
|
}
|
|
|
|
public interface ICover
|
|
{
|
|
STexture GetNoCover();
|
|
}
|
|
|
|
public interface IDataBase
|
|
{
|
|
bool GetCover(string FileName, ref STexture Texture, int CoverSize);
|
|
}
|
|
|
|
public interface IInputs
|
|
{
|
|
void SetRumble(float Duration);
|
|
}
|
|
|
|
public interface IPlaylist
|
|
{
|
|
string GetPlaylistName(int PlaylistID);
|
|
void SetPlaylistName(int PlaylistID, string Name);
|
|
void DeletePlaylist(int PlaylistID);
|
|
void SavePlaylist(int PlaylistID);
|
|
int GetNumPlaylists();
|
|
|
|
void AddPlaylistSong(int PlaylistID, int SongID);
|
|
void AddPlaylistSong(int PlaylistID, int SongID, EGameMode GameMode);
|
|
void InsertPlaylistSong(int PlaylistID, int PositionIndex, int SongID, EGameMode GameMode);
|
|
|
|
void MovePlaylistSong(int PlaylistID, int SourceIndex, int DestIndex);
|
|
void MovePlaylistSongDown(int PlaylistID, int SongIndex);
|
|
void MovePlaylistSongUp(int PlaylistID, int SongIndex);
|
|
void DeletePlaylistSong(int PlaylistID, int SongIndex);
|
|
|
|
int GetPlaylistSongCount(int PlaylistID);
|
|
CPlaylistSong GetPlaylistSong(int PlaylistID, int SongIndex);
|
|
}
|
|
|
|
[Flags]
|
|
public enum EModifier
|
|
{
|
|
None,
|
|
Shift,
|
|
Alt,
|
|
Ctrl
|
|
}
|
|
|
|
public enum ESender
|
|
{
|
|
Mouse,
|
|
Keyboard,
|
|
WiiMote,
|
|
Gamepad
|
|
}
|
|
|
|
public struct KeyEvent
|
|
{
|
|
public ESender Sender;
|
|
public bool ModALT;
|
|
public bool ModSHIFT;
|
|
public bool ModCTRL;
|
|
public bool KeyPressed;
|
|
public bool Handled;
|
|
public Keys Key;
|
|
public Char Unicode;
|
|
public EModifier Mod;
|
|
|
|
public KeyEvent(ESender sender, bool alt, bool shift, bool ctrl, bool pressed, char unicode, Keys key)
|
|
{
|
|
Sender = sender;
|
|
ModALT = alt;
|
|
ModSHIFT = shift;
|
|
ModCTRL = ctrl;
|
|
KeyPressed = pressed;
|
|
Unicode = unicode;
|
|
Key = key;
|
|
Handled = false;
|
|
|
|
EModifier mALT = EModifier.None;
|
|
EModifier mSHIFT = EModifier.None;
|
|
EModifier mCTRL = EModifier.None;
|
|
|
|
if (alt)
|
|
mALT = EModifier.Alt;
|
|
|
|
if (shift)
|
|
mSHIFT = EModifier.Shift;
|
|
|
|
if (ctrl)
|
|
mCTRL = EModifier.Ctrl;
|
|
|
|
if (!alt && !shift && !ctrl)
|
|
Mod = EModifier.None;
|
|
else
|
|
Mod = mALT | mSHIFT | mCTRL;
|
|
}
|
|
}
|
|
|
|
public struct MouseEvent
|
|
{
|
|
public ESender Sender;
|
|
public int X;
|
|
public int Y;
|
|
public bool LB; //left button click
|
|
public bool LD; //left button double click
|
|
public bool RB; //right button click
|
|
public bool MB; //middle button click
|
|
|
|
public bool LBH; //left button hold (when moving)
|
|
public bool RBH; //right button hold (when moving)
|
|
public bool MBH; //middle button hold (when moving)
|
|
|
|
public bool ModALT;
|
|
public bool ModSHIFT;
|
|
public bool ModCTRL;
|
|
|
|
public EModifier Mod;
|
|
public int Wheel;
|
|
|
|
public MouseEvent(ESender sender, bool alt, bool shift, bool ctrl, int x, int y, bool lb, bool ld, bool rb, int wheel, bool lbh, bool rbh, bool mb, bool mbh)
|
|
{
|
|
Sender = sender;
|
|
X = x;
|
|
Y = y;
|
|
LB = lb;
|
|
LD = ld;
|
|
RB = rb;
|
|
MB = mb;
|
|
|
|
LBH = lbh;
|
|
RBH = rbh;
|
|
MBH = mbh;
|
|
|
|
ModALT = alt;
|
|
ModSHIFT = shift;
|
|
ModCTRL = ctrl;
|
|
|
|
EModifier mALT = EModifier.None;
|
|
EModifier mSHIFT = EModifier.None;
|
|
EModifier mCTRL = EModifier.None;
|
|
|
|
if (alt)
|
|
mALT = EModifier.Alt;
|
|
|
|
if (shift)
|
|
mSHIFT = EModifier.Shift;
|
|
|
|
if (ctrl)
|
|
mCTRL = EModifier.Ctrl;
|
|
|
|
if (!alt && !shift && !ctrl)
|
|
Mod = EModifier.None;
|
|
else
|
|
Mod = mALT | mSHIFT | mCTRL;
|
|
|
|
Wheel = wheel;
|
|
}
|
|
}
|
|
|
|
public enum EGameState
|
|
{
|
|
Start,
|
|
Normal,
|
|
EditTheme
|
|
}
|
|
|
|
public enum EAspect
|
|
{
|
|
Crop,
|
|
LetterBox,
|
|
Stretch
|
|
}
|
|
|
|
#region Structs
|
|
public struct SColorF
|
|
{
|
|
public float R;
|
|
public float G;
|
|
public float B;
|
|
public float A;
|
|
|
|
public SColorF(float r, float g, float b, float a)
|
|
{
|
|
R = r;
|
|
G = g;
|
|
B = b;
|
|
A = a;
|
|
}
|
|
|
|
public SColorF(SColorF Color)
|
|
{
|
|
R = Color.R;
|
|
G = Color.G;
|
|
B = Color.B;
|
|
A = Color.A;
|
|
}
|
|
}
|
|
|
|
public struct SRectF
|
|
{
|
|
public float X;
|
|
public float Y;
|
|
public float W;
|
|
public float H;
|
|
public float Z;
|
|
public float Rotation; //0..360°
|
|
|
|
public SRectF(float x, float y, float w, float h, float z)
|
|
{
|
|
X = x;
|
|
Y = y;
|
|
W = w;
|
|
H = h;
|
|
Z = z;
|
|
Rotation = 0f;
|
|
}
|
|
|
|
public SRectF(SRectF rect)
|
|
{
|
|
X = rect.X;
|
|
Y = rect.Y;
|
|
W = rect.W;
|
|
H = rect.H;
|
|
Z = rect.Z;
|
|
Rotation = 0f;
|
|
}
|
|
}
|
|
|
|
public struct SPoint3f
|
|
{
|
|
public float X;
|
|
public float Y;
|
|
public float Z;
|
|
}
|
|
|
|
public struct SPoint3
|
|
{
|
|
public int X;
|
|
public int Y;
|
|
public int Z;
|
|
}
|
|
|
|
public struct STexture
|
|
{
|
|
public int index;
|
|
public int PBO;
|
|
public int ID;
|
|
|
|
public string TexturePath;
|
|
|
|
public float width;
|
|
public float height;
|
|
public SRectF rect;
|
|
|
|
public float w2; //power of 2 width
|
|
public float h2; //power of 2 height
|
|
public float width_ratio;
|
|
public float height_ratio;
|
|
|
|
public SColorF color;
|
|
|
|
public STexture(int Index)
|
|
{
|
|
index = Index;
|
|
PBO = 0;
|
|
ID = -1;
|
|
TexturePath = String.Empty;
|
|
|
|
width = 1f;
|
|
height = 1f;
|
|
rect = new SRectF(0f, 0f, 1f, 1f, 0f);
|
|
|
|
w2 = 2f;
|
|
h2 = 2f;
|
|
width_ratio = 0.5f;
|
|
height_ratio = 0.5f;
|
|
|
|
color = new SColorF(1f, 1f, 1f, 1f);
|
|
}
|
|
}
|
|
#endregion Structs
|
|
|
|
#region EnumsConfig
|
|
public enum ERenderer
|
|
{
|
|
#if WIN
|
|
TR_CONFIG_DIRECT3D,
|
|
#endif
|
|
TR_CONFIG_OPENGL,
|
|
TR_CONFIG_SOFTWARE
|
|
}
|
|
|
|
public enum EAntiAliasingModes
|
|
{
|
|
x0 = 0,
|
|
x2 = 2,
|
|
x4 = 4,
|
|
x8 = 8,
|
|
x16 = 16,
|
|
x32 = 32
|
|
}
|
|
|
|
public enum EColorDeep
|
|
{
|
|
Bit8 = 8,
|
|
Bit16 = 16,
|
|
Bit24 = 24,
|
|
Bit32 = 32
|
|
}
|
|
|
|
public enum ETextureQuality
|
|
{
|
|
TR_CONFIG_TEXTURE_LOWEST,
|
|
TR_CONFIG_TEXTURE_LOW,
|
|
TR_CONFIG_TEXTURE_MEDIUM,
|
|
TR_CONFIG_TEXTURE_HIGH,
|
|
TR_CONFIG_TEXTURE_HIGHEST
|
|
}
|
|
|
|
public enum EOffOn
|
|
{
|
|
TR_CONFIG_OFF,
|
|
TR_CONFIG_ON
|
|
}
|
|
|
|
public enum EDebugLevel
|
|
{
|
|
// don't change the order!
|
|
TR_CONFIG_OFF, //no debug infos
|
|
TR_CONFIG_ONLY_FPS,
|
|
TR_CONFIG_LEVEL1,
|
|
TR_CONFIG_LEVEL2,
|
|
TR_CONFIG_LEVEL3,
|
|
TR_CONFIG_LEVEL_MAX //all debug infos
|
|
}
|
|
|
|
public enum EBufferSize
|
|
{
|
|
b0 = 0,
|
|
b512 = 512,
|
|
b1024 = 1024,
|
|
b1536 = 1536,
|
|
b2048 = 2048,
|
|
b2560 = 2560,
|
|
b3072 = 3072,
|
|
b3584 = 3584,
|
|
b4096 = 4096
|
|
}
|
|
|
|
public enum EPlaybackLib
|
|
{
|
|
PortAudio,
|
|
OpenAL
|
|
}
|
|
|
|
public enum EWebcamLib
|
|
{
|
|
OpenCV,
|
|
AForgeNet
|
|
}
|
|
|
|
public enum ERecordLib
|
|
{
|
|
#if WIN
|
|
DirectSound,
|
|
#endif
|
|
PortAudio
|
|
}
|
|
|
|
public enum EVideoDecoder
|
|
{
|
|
FFmpeg
|
|
}
|
|
|
|
public enum ESongMenu
|
|
{
|
|
//TR_CONFIG_LIST, //a simple list
|
|
//TR_CONFIG_DREIDEL, //as in ultrastar deluxe
|
|
TR_CONFIG_TILE_BOARD, //chessboard like
|
|
//TR_CONFIG_BOOK //for playlists
|
|
}
|
|
|
|
public enum ESongSorting
|
|
{
|
|
TR_CONFIG_NONE,
|
|
//TR_CONFIG_RANDOM,
|
|
TR_CONFIG_FOLDER,
|
|
TR_CONFIG_ARTIST,
|
|
TR_CONFIG_ARTIST_LETTER,
|
|
TR_CONFIG_TITLE_LETTER,
|
|
TR_CONFIG_EDITION,
|
|
TR_CONFIG_GENRE,
|
|
TR_CONFIG_LANGUAGE,
|
|
TR_CONFIG_YEAR,
|
|
TR_CONFIG_DECADE
|
|
}
|
|
|
|
public enum ECoverLoading
|
|
{
|
|
TR_CONFIG_COVERLOADING_ONDEMAND,
|
|
TR_CONFIG_COVERLOADING_ATSTART,
|
|
TR_CONFIG_COVERLOADING_DYNAMIC
|
|
}
|
|
|
|
public enum EGameDifficulty
|
|
{
|
|
TR_CONFIG_EASY,
|
|
TR_CONFIG_NORMAL,
|
|
TR_CONFIG_HARD
|
|
}
|
|
|
|
public enum ETimerMode
|
|
{
|
|
TR_CONFIG_TIMERMODE_CURRENT,
|
|
TR_CONFIG_TIMERMODE_REMAINING,
|
|
TR_CONFIG_TIMERMODE_TOTAL
|
|
}
|
|
|
|
public enum ETimerLook
|
|
{
|
|
TR_CONFIG_TIMERLOOK_NORMAL,
|
|
TR_CONFIG_TIMERLOOK_EXPANDED
|
|
}
|
|
|
|
public enum EBackgroundMusicSource
|
|
{
|
|
TR_CONFIG_NO_OWN_MUSIC,
|
|
TR_CONFIG_OWN_MUSIC,
|
|
TR_CONFIG_ONLY_OWN_MUSIC
|
|
}
|
|
|
|
public enum EPlayerInfo
|
|
{
|
|
TR_CONFIG_PLAYERINFO_BOTH,
|
|
TR_CONFIG_PLAYERINFO_NAME,
|
|
TR_CONFIG_PLAYERINFO_AVATAR,
|
|
TR_CONFIG_PLAYERINFO_OFF
|
|
}
|
|
|
|
public enum EFadePlayerInfo
|
|
{
|
|
TR_CONFIG_FADEPLAYERINFO_ALL,
|
|
TR_CONFIG_FADEPLAYERINFO_INFO,
|
|
TR_CONFIG_FADEPLAYERINFO_OFF
|
|
}
|
|
|
|
public enum ELyricStyle
|
|
{
|
|
Fill,
|
|
Jump,
|
|
Slide,
|
|
Zoom
|
|
}
|
|
|
|
#endregion EnumsConfig
|
|
|
|
public enum EAlignment
|
|
{
|
|
Left,
|
|
Center,
|
|
Right
|
|
}
|
|
|
|
public enum EHAlignment
|
|
{
|
|
Top,
|
|
Center,
|
|
Bottom
|
|
}
|
|
|
|
public enum EStyle
|
|
{
|
|
Normal,
|
|
Italic,
|
|
Bold,
|
|
BoldItalic
|
|
}
|
|
|
|
public enum ENoteType
|
|
{
|
|
Normal,
|
|
Golden,
|
|
Freestyle
|
|
}
|
|
|
|
public struct SProfile
|
|
{
|
|
public string PlayerName;
|
|
public string ProfileFile;
|
|
|
|
public EGameDifficulty Difficulty;
|
|
public SAvatar Avatar;
|
|
public EOffOn GuestProfile;
|
|
public EOffOn Active;
|
|
}
|
|
|
|
public struct SAvatar
|
|
{
|
|
public string FileName;
|
|
public STexture Texture;
|
|
|
|
public SAvatar(int dummy)
|
|
{
|
|
FileName = String.Empty;
|
|
Texture = new STexture(-1);
|
|
}
|
|
}
|
|
|
|
public struct SPlayer
|
|
{
|
|
public int ProfileID;
|
|
public string Name;
|
|
public EGameDifficulty Difficulty;
|
|
public double Points;
|
|
public double PointsLineBonus;
|
|
public double PointsGoldenNotes;
|
|
public int NoteDiff;
|
|
public int LineNr;
|
|
public List<CLine> SingLine;
|
|
public int CurrentLine;
|
|
public int CurrentNote;
|
|
|
|
public int SongID;
|
|
public bool Medley;
|
|
public bool Duet;
|
|
public bool ShortSong;
|
|
public long DateTicks;
|
|
public bool SongFinished;
|
|
}
|
|
|
|
public struct SScores
|
|
{
|
|
public string Name;
|
|
public int Score;
|
|
public string Date;
|
|
public EGameDifficulty Difficulty;
|
|
public int LineNr;
|
|
public int ID;
|
|
}
|
|
|
|
public enum EGameMode
|
|
{
|
|
TR_GAMEMODE_NORMAL,
|
|
TR_GAMEMODE_MEDLEY,
|
|
TR_GAMEMODE_DUET,
|
|
TR_GAMEMODE_SHORTSONG
|
|
}
|
|
|
|
public struct SPartyModeInfos
|
|
{
|
|
public int PartyModeID;
|
|
public string Name;
|
|
public string Description;
|
|
public string TargetAudience;
|
|
public int MaxPlayers;
|
|
public int MinPlayers;
|
|
public int MaxTeams;
|
|
public int MinTeams;
|
|
|
|
public string Author;
|
|
public bool Playable;
|
|
public int VersionMajor;
|
|
public int VersionMinor;
|
|
}
|
|
|
|
public enum EScreens
|
|
{
|
|
ScreenTest = 0,
|
|
ScreenLoad = 1,
|
|
ScreenMain = 2,
|
|
ScreenSong = 3,
|
|
ScreenOptions = 4,
|
|
ScreenSing = 5,
|
|
ScreenProfiles = 6,
|
|
ScreenScore = 7,
|
|
ScreenHighscore = 8,
|
|
|
|
ScreenOptionsGame = 9,
|
|
ScreenOptionsSound = 10,
|
|
ScreenOptionsRecord = 11,
|
|
ScreenOptionsVideo = 12,
|
|
ScreenOptionsLyrics = 13,
|
|
ScreenOptionsTheme = 14,
|
|
|
|
ScreenNames = 15,
|
|
ScreenCredits = 16,
|
|
ScreenParty = 17,
|
|
ScreenPartyDummy = 18,
|
|
|
|
ScreenNull = -1
|
|
}
|
|
}
|