Mercurial > otakunoraifu
comparison system/system_config.h @ 52:15a18fbe6f21
* Known bugs added to the README
* Code cleaning (0 -> NULL when needed, indentation, spaces, ...)
author | thib |
---|---|
date | Sat, 18 Apr 2009 18:35:39 +0000 |
parents | 5ae5533b3a9a |
children | ddbcbd000206 |
comparison
equal
deleted
inserted
replaced
51:cbb301016a4e | 52:15a18fbe6f21 |
---|---|
20 * with this program; if not, write to the Free Software Foundation, Inc., | 20 * with this program; if not, write to the Free Software Foundation, Inc., |
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
22 * | 22 * |
23 */ | 23 */ |
24 | 24 |
25 #include<string> | 25 #include <string> |
26 | 26 |
27 /* CD Track 名 <-> Track 番号の変換を行う */ | 27 /* CD Track 名 <-> Track 番号の変換を行う */ |
28 class TrackName { | 28 class TrackName { |
29 char** track; | 29 private: |
30 int* track_num; | 30 char** track; |
31 char** track_wave; | 31 int* track_num; |
32 int* track_start; | 32 char** track_wave; |
33 int deal; | 33 int* track_start; |
34 void Expand(void); | 34 int deal; |
35 char** se_track; | 35 void Expand(void); |
36 int se_deal; | 36 char** se_track; |
37 void ExpandSE(int num); | 37 int se_deal; |
38 public: | 38 void ExpandSE(int num); |
39 TrackName(void); | 39 |
40 ~TrackName(void); | 40 public: |
41 void AddCDROM(char* name, int track); | 41 TrackName(void); |
42 void AddWave(char* name, char* wave, int start_pt); | 42 ~TrackName(void); |
43 void AddSE(int num, char* se); | 43 void AddCDROM(char* name, int track); |
44 int CDTrack(char* name); | 44 void AddWave(char* name, char* wave, int start_pt); |
45 int TrackStart(char* name); | 45 void AddSE(int num, char* se); |
46 const char* WaveTrack(char* name); | 46 int CDTrack(char* name); |
47 const char* SETrack(int num); | 47 int TrackStart(char* name); |
48 const char* WaveTrack(char* name); | |
49 const char* SETrack(int num); | |
48 }; | 50 }; |
49 /* gameexe.ini で設定されるパラメータ */ | 51 /* gameexe.ini で設定されるパラメータ */ |
50 /* まず初めに、設定項目を SetOrigPara* でセットする | 52 /* まず初めに、設定項目を SetOrigPara* でセットする |
51 ** ただし、設定名は255文字以下である必要がある。 | 53 ** ただし、設定名は255文字以下である必要がある。 |
52 ** | 54 ** |
53 ** SetPara* で設定項目は変更できる | 55 ** SetPara* で設定項目は変更できる |
54 ** また、GetPara* で設定項目を得られる。 | 56 ** また、GetPara* で設定項目を得られる。 |
55 */ | 57 */ |
56 | 58 |
57 class AyuSysConfig { | 59 class AyuSysConfig { |
58 friend class Conf2; /* テスト用のクラス */ | 60 private: |
59 int change_flag; | 61 int change_flag; |
60 int dirty_flag; | 62 int dirty_flag; |
61 class AyuSysConfigString* str_config; | 63 class AyuSysConfigString* str_config; |
62 class AyuSysConfigIntlist* int_config; | 64 class AyuSysConfigIntlist* int_config; |
63 | 65 |
64 public: | 66 public: |
65 TrackName track_name; | 67 TrackName track_name; |
66 | 68 |
67 public: | 69 public: |
68 AyuSysConfig(void); | 70 AyuSysConfig(void); |
69 ~AyuSysConfig(); | 71 ~AyuSysConfig(); |
70 bool LoadInitFile(void); | 72 bool LoadInitFile(void); |
71 /* パラメータを検索する */ | 73 /* パラメータを検索する */ |
72 /* str なら 1, int なら 2, 見つからないなら 0 */ | 74 /* str なら 1, int なら 2, 見つからないなら 0 */ |
73 int SearchParam(const char* name) const; | 75 int SearchParam(const char* name) const; |
74 /* パラメータを得る */ | 76 /* パラメータを得る */ |
75 const char* GetParaStr(const char* name) const; /* str */ | 77 const char* GetParaStr(const char* name) const; /* str */ |
76 int GetParam(const char* name, int deal, ...) const; /* int, error -> return -1, no error -> return 0 */ | 78 int GetParam(const char* name, int deal, ...) const; /* int, error -> return -1, no error -> return 0 */ |
77 int GetOriginalParam(const char* name, int deal, ...) const; /* int, error -> return -1, no error -> return 0 */ | 79 int GetOriginalParam(const char* name, int deal, ...) const; /* int, error -> return -1, no error -> return 0 */ |
78 int GetParaInt(const char* name) const { | 80 int GetParaInt(const char* name) const { |
79 int n; | 81 int n; |
80 if (GetParam(name,1,&n)) return 0; | 82 if (GetParam(name,1,&n)) return 0; |
81 return n; | 83 return n; |
82 } | 84 } |
83 const int* GetParamArray(const char* name, int& deal) const; | 85 const int* GetParamArray(const char* name, int& deal) const; |
84 /* パラメータを変更する */ | 86 /* パラメータを変更する */ |
85 void SetParaStr(const char* name, const char* var); /* str */ | 87 void SetParaStr(const char* name, const char* var); /* str */ |
86 void SetParam(const char* name, int deal, ...); /* int */ | 88 void SetParam(const char* name, int deal, ...); /* int */ |
87 private: | |
88 friend class AyuSys; | |
89 /* 元設定を行う */ | |
90 /* AyuSys からのみ可能 */ | |
91 void SetOrigParaStr(const char* name, const char* var); /* str */ | |
92 void SetOrigParam(const char* name, int para_deal, ...); /* int */ | |
93 void SetOrigParamArray(const char* name, int deal, int* array); /* 上とおなじ */ | |
94 public: | |
95 | 89 |
96 /* オリジナルの設定関係 | 90 private: |
97 ** SetOriginal : 全ての設定を初めの状態に戻す | 91 /* 元設定を行う */ |
98 ** DiffOriginal : 初めの状態と現在の状態の変更分を得る | 92 /* AyuSys からのみ可能 */ |
99 ** PatchOriginal: DiffOriginal で得た文字列を引数に | 93 void SetOrigParaStr(const char* name, const char* var); /* str */ |
100 ** 渡す。DiffOriginal 呼び出し時の状態に戻す | 94 void SetOrigParam(const char* name, int para_deal, ...); /* int */ |
101 */ | 95 void SetOrigParamArray(const char* name, int deal, int* array); /* 上とおなじ */ |
102 void SetOriginal(void); | 96 |
103 void DiffOriginal(std::string&); | 97 public: |
104 const char* PatchOriginal(const char*); | 98 /* オリジナルの設定関係 |
105 /* config の内容を表示する */ | 99 ** SetOriginal : 全ての設定を初めの状態に戻す |
106 void Dump(FILE* f) const; | 100 ** DiffOriginal : 初めの状態と現在の状態の変更分を得る |
101 ** PatchOriginal: DiffOriginal で得た文字列を引数に | |
102 ** 渡す。DiffOriginal 呼び出し時の状態に戻す | |
103 */ | |
104 void SetOriginal(void); | |
105 void DiffOriginal(std::string&); | |
106 const char* PatchOriginal(const char*); | |
107 /* config の内容を表示する */ | |
108 void Dump(FILE* f) const; | |
107 }; | 109 }; |
108 | 110 |