| 1 |
#ifndef CCONFIGMODE_H_INCLUDED |
| 2 |
#define CCONFIGMODE_H_INCLUDED |
| 3 |
|
| 4 |
#include "CStaticCtrl.h" |
| 5 |
#include "CEditCtrl.h" |
| 6 |
#include "CGroupBox.h" |
| 7 |
#include "CCheckBox.h" |
| 8 |
#include "CRadioButton.h" |
| 9 |
#include "CWindowDivInfo.h" |
| 10 |
#include "CInterfaceMode.h" |
| 11 |
|
| 12 |
const int RES_MODE_NUM = 4; // 解像度タイプ数 |
| 13 |
const int MIPMAP_NUM = 4; // ミップマップ区分数 |
| 14 |
const int PISND_NUM = 4; // プラグインサウンド区分数 |
| 15 |
const int STEREO_METHOD_NUM = 2; // ステレオ手法数 |
| 16 |
|
| 17 |
/* |
| 18 |
* 環境設定モード |
| 19 |
*/ |
| 20 |
class CConfigMode: public CInterfaceMode{ |
| 21 |
private: |
| 22 |
CWindowCtrl m_ConfigWindow1; // 窓 1 |
| 23 |
|
| 24 |
CGroupBox m_InterfaceGroup; // インターフェイス |
| 25 |
CCheckBox m_HideTopPanel; // 上パネルを隠す |
| 26 |
CCheckBox m_HideRightPanel; // 右パネルを隠す |
| 27 |
CCheckBox m_WindowShadow; // ウィンドウの影 |
| 28 |
|
| 29 |
CGroupBox m_DeviceGroup; // デバイス |
| 30 |
CStaticCtrl m_NeedRestart; // 要再起動 |
| 31 |
CCheckBox m_FullScreen; // フルスクリーン |
| 32 |
CStaticCtrl m_ResLabel; // 解像度 |
| 33 |
CRadioButton m_Resolution[RES_MODE_NUM]; // 解像度チェック |
| 34 |
CStaticCtrl m_MipMapLabel; // ミップマップ |
| 35 |
CCheckBox m_MipMap[MIPMAP_NUM]; // ミップマップチェック |
| 36 |
|
| 37 |
CGroupBox m_AccessoryGroup; // アクセサリ |
| 38 |
CCheckBox m_Compass; // コンパス |
| 39 |
CCheckBox m_WindMeter; // 風力計 |
| 40 |
CCheckBox m_ShowMap; // 地図 |
| 41 |
|
| 42 |
CGroupBox m_EffectGroup; // 視覚効果 |
| 43 |
CCheckBox m_Shadow; // 影 |
| 44 |
CCheckBox m_LinearFilter; // テクスチャフィルタ |
| 45 |
CCheckBox m_EnvMap; // 環境マッピング |
| 46 |
CCheckBox m_SpecularLight; // 鏡面反射光 |
| 47 |
CCheckBox m_SunLensFlare; // 太陽レンズフレア |
| 48 |
CCheckBox m_SunWhiteout; // 太陽ホワイトアウト |
| 49 |
CCheckBox m_MiscLensFlare; // その他レンズフレア |
| 50 |
CCheckBox m_MiscParticle; // パーティクル |
| 51 |
CCheckBox m_Wind; // 風 |
| 52 |
CGroupBox m_SoundGroup; // サウンド |
| 53 |
CCheckBox m_InterfaceSound; // インターフェイス |
| 54 |
CCheckBox m_PluginSound[PISND_NUM]; // プラグインサウンド |
| 55 |
|
| 56 |
CGroupBox m_MiscGroup; // その他 |
| 57 |
CCheckBox m_UseUndo; // アンドゥ使用 |
| 58 |
|
| 59 |
CWindowCtrl m_ConfigWindow2; // 窓 2 |
| 60 |
CGroupBox m_StereoGroup; // ステレオ |
| 61 |
CCheckBox m_StereoEnabled; // ステレオ有効 |
| 62 |
CStaticCtrl m_StereoMethodLabel; // ステレオ手法 |
| 63 |
CRadioButton m_StereoMethod[STEREO_METHOD_NUM]; // ステレオ手法 |
| 64 |
CStaticCtrl m_StereoIntervalLabel; // ステレオ手法 |
| 65 |
CEditCtrl m_StereoIntervalEdit; // 視点間隔 |
| 66 |
|
| 67 |
CWindowInfo m_RootWindow; // 画面分割情報 |
| 68 |
CWindowInfo* m_ActiveWindow; // ポイントしている画面 |
| 69 |
|
| 70 |
public: |
| 71 |
CConfigMode(); |
| 72 |
~CConfigMode(); |
| 73 |
void EnterInterface(); |
| 74 |
void ScanInputInterface(); |
| 75 |
int ScanInputWindowDiv(); |
| 76 |
void RenderInterface(); |
| 77 |
void RenderWindowDiv(); |
| 78 |
bool Load(); |
| 79 |
bool Save(); |
| 80 |
int GetHideTopPanel(){ return m_HideTopPanel.GetCheck(); } |
| 81 |
int GetHideRightPanel(){ return m_HideRightPanel.GetCheck(); } |
| 82 |
int GetWindowShadow(){ return m_WindowShadow.GetCheck(); } |
| 83 |
int GetCompass(){ return m_Compass.GetCheck(); } |
| 84 |
int GetWindMeter(){ return m_WindMeter.GetCheck(); } |
| 85 |
int GetShowMap(){ return m_ShowMap.GetCheck(); } |
| 86 |
void SetShowMap(int s){ m_ShowMap.SetCheck(s); } |
| 87 |
int GetShadow(){ return m_Shadow.GetCheck(); } |
| 88 |
void SetShadow(int s){ m_Shadow.SetCheck(s); } |
| 89 |
void SetTexFilter(); |
| 90 |
int GetEnvMap(){ return m_EnvMap.GetCheck(); } |
| 91 |
void SetSpecularLight(){ devSetSpecular(m_SpecularLight.GetCheck()); } |
| 92 |
int GetSunLensFlare(){ return m_SunLensFlare.GetCheck(); } |
| 93 |
int GetSunWhiteout(){ return m_SunWhiteout.GetCheck(); } |
| 94 |
int GetMiscLensFlare(){ return m_MiscLensFlare.GetCheck(); } |
| 95 |
int GetMiscParticle(){ return m_MiscParticle.GetCheck(); } |
| 96 |
int GetWind(){ return m_Wind.GetCheck(); } |
| 97 |
int GetInterfaceSound(){ return m_InterfaceSound.GetCheck(); } |
| 98 |
int GetRailSound(){ return m_PluginSound[0].GetCheck(); } |
| 99 |
int GetTrainSound(){ return m_PluginSound[1].GetCheck(); } |
| 100 |
int GetStructSound(){ return m_PluginSound[2].GetCheck(); } |
| 101 |
int GetSurfaceSound(){ return m_PluginSound[3].GetCheck(); } |
| 102 |
int GetUseUndo(){ return m_UseUndo.GetCheck(); } |
| 103 |
int GetStereo(){ return m_StereoEnabled.GetCheck(); } |
| 104 |
void SetStereo(int s){ m_StereoEnabled.SetCheck(s); } |
| 105 |
int GetStereoMethod(){ return m_StereoMethod->GetNumber(); } |
| 106 |
float GetStereoInterval(); |
| 107 |
void CheckHardware(); |
| 108 |
CWindowInfo* GetRootWindow() { return &m_RootWindow; } |
| 109 |
bool IsWindowDiv() { return m_RootWindow.GetDiv()!=NULL; } |
| 110 |
CWindowInfo* GetActiveWindow() { return m_ActiveWindow; } |
| 111 |
void SetActiveWindow(CWindowInfo* wnd) { m_ActiveWindow = wnd; } |
| 112 |
void FreeWindowDiv(); |
| 113 |
}; |
| 114 |
|
| 115 |
// 外部グローバル |
| 116 |
extern char *g_ConfigBuffer; |
| 117 |
extern char *g_ConfigScript; |
| 118 |
extern float g_ConfigVersion; |
| 119 |
extern bool g_RailMipMap; |
| 120 |
extern bool g_TrainMipMap; |
| 121 |
extern bool g_StructMipMap; |
| 122 |
extern bool g_SurfaceMipMap; |
| 123 |
extern bool g_NamedObjectMipMap; |
| 124 |
extern CConfigMode *g_ConfigMode; |
| 125 |
|
| 126 |
#endif |