123
This commit is contained in:
168
Editor/TerrainTexture.h
Normal file
168
Editor/TerrainTexture.h
Normal file
@@ -0,0 +1,168 @@
|
||||
#if !defined(AFX_TERRAINTEXTURE_H__44644B20_29E9_4005_9F28_003914D5FE37__INCLUDED_)
|
||||
#define AFX_TERRAINTEXTURE_H__44644B20_29E9_4005_9F28_003914D5FE37__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
// TerrainTexture.h : header file
|
||||
//
|
||||
#include <XTToolkit.h>
|
||||
#include "TerrainTexGen.h"
|
||||
|
||||
// forward declarations.
|
||||
class CLayer;
|
||||
|
||||
// Internal resolution of the final texture preview
|
||||
#define FINAL_TEX_PREVIEW_PRECISION_CX 256
|
||||
#define FINAL_TEX_PREVIEW_PRECISION_CY 256
|
||||
|
||||
// Hold / fetch temp file
|
||||
#define HOLD_FETCH_FILE_TTS "Temp\\HoldStateTemp.lay"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CTerrainTexture dialog
|
||||
|
||||
enum SurfaceGenerateFlags {
|
||||
GEN_USE_LIGHTING = 1,
|
||||
GEN_SHOW_WATER = 1<<2,
|
||||
GEN_SHOW_WATERCOLOR = 1<<3,
|
||||
GEN_KEEP_LAYERMASKS = 1<<4,
|
||||
GEN_ABGR = 1<<5,
|
||||
GEN_STATOBJ_SHADOWS = 1<<6
|
||||
};
|
||||
|
||||
class CTerrainTexture : public CDialog
|
||||
{
|
||||
// Construction
|
||||
public:
|
||||
static void ClearTexturePreview();
|
||||
bool GenerateSurface(DWORD *pSurface, UINT iWidth, UINT iHeight, int flags,CBitArray *pLightingBits = NULL, float **ppHeightmapData = NULL);
|
||||
void ReloadLayerList();
|
||||
void ExportLargePreview();
|
||||
|
||||
CTerrainTexture(CWnd* pParent = NULL); // standard constructor
|
||||
~CTerrainTexture();
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CTerrainTexture)
|
||||
enum { IDD = IDD_TERRAIN_TEXTURE };
|
||||
CComboBox m_surfaceType;
|
||||
CXTEditListBox m_lstLayers;
|
||||
//}}AFX_DATA
|
||||
|
||||
CSliderCtrl m_slopeSlider;
|
||||
CSliderCtrl m_altSlider;
|
||||
CEdit m_slopeSliderPos;
|
||||
CEdit m_altSliderPos;
|
||||
|
||||
CCustomButton m_slopeStartBtn;
|
||||
CCustomButton m_slopeEndBtn;
|
||||
CCustomButton m_altStartBtn;
|
||||
CCustomButton m_altEndBtn;
|
||||
CCustomButton m_editSrurfaceTypesBtn;
|
||||
CCustomButton m_loadTextureBtn;
|
||||
CCustomButton m_importMaskBtn;
|
||||
CCustomButton m_exportMaskBtn;
|
||||
CButton m_smoothBtn;
|
||||
|
||||
CNumberCtrl m_slopeStart;
|
||||
CNumberCtrl m_slopeEnd;
|
||||
CNumberCtrl m_altStart;
|
||||
CNumberCtrl m_altEnd;
|
||||
|
||||
CStatic m_texInfo;
|
||||
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CTerrainTexture)
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
// Dialog control related functions
|
||||
void UpdateControlData();
|
||||
void EnableControls();
|
||||
void DrawLayerPreview( LPRECT rcPos, CDC *pDC );
|
||||
|
||||
// The currently active layer (syncronized with the list box selection)
|
||||
CLayer *m_pCurrentLayer;
|
||||
CCryEditDoc* m_doc;
|
||||
|
||||
CTerrainTexGen m_texGen;
|
||||
|
||||
// Preview of the final texture
|
||||
static CBitmap m_bmpFinalTexPrev;
|
||||
static CDC m_dcFinalTexPrev;
|
||||
|
||||
// Apply lighting to the previews ?
|
||||
static bool m_bUseLighting;
|
||||
|
||||
// Show water in the preview ?
|
||||
static bool m_bShowWater;
|
||||
|
||||
bool m_bLayerTexClicked;
|
||||
bool m_bLayerTexSelected;
|
||||
|
||||
// Layer mask preview
|
||||
CBitmap m_bmpLayerPreview;
|
||||
CDC m_dcLayerPreview;
|
||||
bool m_bMaskPreviewValid;
|
||||
|
||||
// Generated message map functions
|
||||
//{{AFX_MSG(CTerrainTexture)
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnSelchangeLayerList();
|
||||
afx_msg void OnSelStart();
|
||||
afx_msg void OnSelEnd();
|
||||
afx_msg void OnLoadTexture();
|
||||
afx_msg void OnPaint();
|
||||
afx_msg void OnSlopeSelStart();
|
||||
afx_msg void OnSlopeSelEnd();
|
||||
afx_msg void OnImport();
|
||||
afx_msg void OnExport();
|
||||
afx_msg void OnFileExportLargePreview();
|
||||
afx_msg void OnGeneratePreview();
|
||||
afx_msg void OnApplyLighting();
|
||||
afx_msg void OnSetWaterLevel();
|
||||
afx_msg void OnLayerExportTexture();
|
||||
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||||
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
|
||||
afx_msg void OnHold();
|
||||
afx_msg void OnFetch();
|
||||
afx_msg void OnUseLayer();
|
||||
afx_msg void OnOptionsSetLayerBlending();
|
||||
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
||||
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
||||
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
||||
afx_msg void OnAutoGenMask();
|
||||
afx_msg void OnLoadMask();
|
||||
afx_msg void OnExportMask();
|
||||
afx_msg void OnShowWater();
|
||||
afx_msg void OnEditSurfaceTypes();
|
||||
afx_msg void OnSelendokSurfaceType();
|
||||
afx_msg void OnLayerSetWaterColor();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
afx_msg void OnDestroy();
|
||||
|
||||
afx_msg void OnLayersLabelEditEnd();
|
||||
afx_msg void OnLayersLabelEditCancel();
|
||||
afx_msg void OnLayersNewItem();
|
||||
afx_msg void OnLayersDeleteItem();
|
||||
afx_msg void OnLayersMoveItemUp();
|
||||
afx_msg void OnLayersMoveItemDown();
|
||||
|
||||
afx_msg void OnLayerValuesChange();
|
||||
afx_msg void OnLayerValuesUpdate();
|
||||
afx_msg void OnBnClickedSmooth();
|
||||
};
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_TERRAINTEXTURE_H__44644B20_29E9_4005_9F28_003914D5FE37__INCLUDED_)
|
||||
Reference in New Issue
Block a user