NoteSkinManager.h
Go to the documentation of this file.00001
#ifndef NoteSkinMANAGER_H
00002
#define NoteSkinMANAGER_H
00003
00004
#include "Command.h"
00005
#include "RageTypes.h"
00006
#include "PlayerNumber.h"
00007
#include "IniFile.h"
00008
#include <map>
00009
#include <deque>
00010
00011
class Game;
00012
00013 class NoteSkinManager
00014 {
00015
public:
00016
NoteSkinManager();
00017
~NoteSkinManager();
00018
00019
void RefreshNoteSkinData(
const Game* game );
00020
void GetNoteSkinNames(
const Game* game,
CStringArray &AddTo,
bool bFilterDefault=
true );
00021
void GetNoteSkinNames(
CStringArray &AddTo );
00022
bool DoesNoteSkinExist(
const CString &sSkinName );
00023
00024
CString GetPathToFromNoteSkinAndButton(
const CString &sNoteSkin,
const CString &sButtonName,
const CString &sElement,
bool bOptional=
false );
00025
00026
CString GetMetric(
const CString &sNoteSkinName,
const CString &sButtonName,
const CString &sValue );
00027
int GetMetricI(
const CString &sNoteSkinName,
const CString &sButtonName,
const CString &sValueName );
00028
float GetMetricF(
const CString &sNoteSkinName,
const CString &sButtonName,
const CString &sValueName );
00029
bool GetMetricB(
const CString &sNoteSkinName,
const CString &sButtonName,
const CString &sValueName );
00030
RageColor GetMetricC(
const CString &sNoteSkinName,
const CString &sButtonName,
const CString &sValueName );
00031
Commands GetMetricA(
const CString &sNoteSkinName,
const CString &sButtonName,
const CString &sValueName );
00032
00033
CString GetNoteSkinDir(
const CString &sSkinName );
00034
00035
protected:
00036
CString GetPathToFromDir(
const CString &sDir,
const CString &sFileName );
00037
00038 struct NoteSkinData
00039 {
00040 CString sName;
00041 IniFile metrics;
00042
00043
00044 deque<CString>
vsDirSearchOrder;
00045 };
00046
void LoadNoteSkinData(
const CString &sNoteSkinName,
NoteSkinData& data_out );
00047
void LoadNoteSkinDataRecursive(
const CString &sNoteSkinName,
NoteSkinData& data_out );
00048 map<CString,NoteSkinData>
m_mapNameToData;
00049 const Game*
m_pCurGame;
00050 };
00051
00052
00053
00054 extern NoteSkinManager*
NOTESKIN;
00055
00056
#endif
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
Generated on Thu Jan 27 20:57:26 2005 for StepMania by
1.3.7