#if !defined(AFX_EDITMLRSTATEDLG_H__13CCAF64_6905_11D2_8409_00A0C933BCAC__INCLUDED_)
#define AFX_EDITMLRSTATEDLG_H__13CCAF64_6905_11D2_8409_00A0C933BCAC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// EditMLRStateDlg.h : header file
//
#include <GameOS\GameOS.hpp>
#include <MLR\MLR.hpp>

/////////////////////////////////////////////////////////////////////////////
// CEditMLRStateDlg dialog

class CEditMLRStateDlg : public CDialog
{
	// Construction
public:
	void UpdateState(int idx);
	CEditMLRStateDlg(CWnd* pParent = NULL);   // standard constructor
	Stuff::DynamicArrayOf<MidLevelRenderer::MLRState> *States;
	CButton m_Alpha10, m_Alpha11, m_Alpha1A, m_AlphaA1, m_AlphaAIA;
	CButton m_LightOff, m_LightClassic, m_LightMap,m_LightMapClass;
	CButton m_FilterNone,m_FilterBiLinear,m_FilterTriLinear;
	CButton m_WFOff, m_WFOnly, m_WFAdd;
	void SetStates(Stuff::DynamicArrayOf<MidLevelRenderer::MLRState> *stt);

	// Dialog Data
	//{{AFX_DATA(CEditMLRStateDlg)
	enum { IDD = IDD_EDITMLRSTATE };
	CListBox	m_StateList;
	CComboBox	m_FogNum;
	CStatic	m_TextureText;
	int		m_AlphaList;
	int		m_BackFaceList;
	int		m_DitherList;
	int		m_FilterList;
	int		m_LightList;
	int		m_TCorrectList;
	int		m_TextureList;
	int		m_ZBWriteList;
	int		m_ZBCompareList;
	int		m_WireFrameList;
	int		m_FogList;
	int		m_PriList;
	BOOL	m_PAlpha;
	BOOL	m_PBackFace;
	BOOL	m_PDither;
	BOOL	m_PFilter;
	BOOL	m_PFog;
	BOOL	m_PLight;
	BOOL	m_PPriority;
	BOOL	m_PTCorrect;
	BOOL	m_PTexture;
	BOOL	m_PWireFrame;
	BOOL	m_PZBWrite;
	BOOL	m_PZBCompare;
	BOOL	m_PColoring;
	BOOL	m_PSpecular;
	int		m_ColoringList;
	int		m_SpecularList;
	//}}AFX_DATA
	
	
	// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CEditMLRStateDlg)
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
	
	// Implementation
protected:
	void DisableControls();
	void ReadState(int stidx);
	int LastState;
	// Generated message map functions
	//{{AFX_MSG(CEditMLRStateDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSavebut();
	virtual void OnOK();
	afx_msg void OnFogDisable();
	afx_msg void OnFogOfog();
	afx_msg void OnFogOfogcolor();
	afx_msg void OnSelchangeStatelist();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_EDITMLRSTATEDLG_H__13CCAF64_6905_11D2_8409_00A0C933BCAC__INCLUDED_)
