0
|
1 #include<string>
|
|
2
|
|
3 /* CD Track 名 <-> Track 番号の変換を行う */
|
|
4 class TrackName {
|
|
5 char** track;
|
|
6 int* track_num;
|
|
7 char** track_wave;
|
|
8 int* track_start;
|
|
9 int deal;
|
|
10 void Expand(void);
|
|
11 char** se_track;
|
|
12 int se_deal;
|
|
13 void ExpandSE(int num);
|
|
14 public:
|
|
15 TrackName(void);
|
|
16 ~TrackName(void);
|
|
17 void AddCDROM(char* name, int track);
|
|
18 void AddWave(char* name, char* wave, int start_pt);
|
|
19 void AddSE(int num, char* se);
|
|
20 int CDTrack(char* name);
|
|
21 int TrackStart(char* name);
|
|
22 const char* WaveTrack(char* name);
|
|
23 const char* SETrack(int num);
|
|
24 };
|
|
25 /* gameexe.ini で設定されるパラメータ */
|
|
26 /* まず初めに、設定項目を SetOrigPara* でセットする
|
|
27 ** ただし、設定名は255文字以下である必要がある。
|
|
28 **
|
|
29 ** SetPara* で設定項目は変更できる
|
|
30 ** また、GetPara* で設定項目を得られる。
|
|
31 */
|
|
32
|
|
33 class AyuSysConfig {
|
|
34 friend class Conf2; /* テスト用のクラス */
|
|
35 int change_flag;
|
|
36 int dirty_flag;
|
|
37 class AyuSysConfigString* str_config;
|
|
38 class AyuSysConfigIntlist* int_config;
|
|
39
|
|
40 public:
|
|
41 TrackName track_name;
|
|
42
|
|
43 public:
|
|
44 AyuSysConfig(void);
|
9
|
45 ~AyuSysConfig();
|
0
|
46 bool LoadInitFile(void);
|
|
47 /* パラメータを検索する */
|
|
48 /* str なら 1, int なら 2, 見つからないなら 0 */
|
|
49 int SearchParam(const char* name) const;
|
|
50 /* パラメータを得る */
|
|
51 const char* GetParaStr(const char* name) const; /* str */
|
|
52 int GetParam(const char* name, int deal, ...) const; /* int, error -> return -1, no error -> return 0 */
|
|
53 int GetOriginalParam(const char* name, int deal, ...) const; /* int, error -> return -1, no error -> return 0 */
|
|
54 int GetParaInt(const char* name) const {
|
|
55 int n;
|
|
56 if (GetParam(name,1,&n)) return 0;
|
|
57 return n;
|
|
58 }
|
|
59 const int* GetParamArray(const char* name, int& deal) const;
|
|
60 /* パラメータを変更する */
|
|
61 void SetParaStr(const char* name, const char* var); /* str */
|
|
62 void SetParam(const char* name, int deal, ...); /* int */
|
|
63 private:
|
|
64 friend class AyuSys;
|
|
65 /* 元設定を行う */
|
|
66 /* AyuSys からのみ可能 */
|
|
67 void SetOrigParaStr(const char* name, const char* var); /* str */
|
|
68 void SetOrigParam(const char* name, int para_deal, ...); /* int */
|
|
69 void SetOrigParamArray(const char* name, int deal, int* array); /* 上とおなじ */
|
|
70 public:
|
|
71
|
|
72 /* オリジナルの設定関係
|
|
73 ** SetOriginal : 全ての設定を初めの状態に戻す
|
|
74 ** DiffOriginal : 初めの状態と現在の状態の変更分を得る
|
|
75 ** PatchOriginal: DiffOriginal で得た文字列を引数に
|
|
76 ** 渡す。DiffOriginal 呼び出し時の状態に戻す
|
|
77 */
|
|
78 void SetOriginal(void);
|
|
79 void DiffOriginal(std::string&);
|
|
80 const char* PatchOriginal(const char*);
|
|
81 /* config の内容を表示する */
|
|
82 void Dump(FILE* f) const;
|
|
83 };
|
|
84
|