mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-22 18:30:27 +01:00
583 lines
22 KiB
C++
583 lines
22 KiB
C++
/* Copyright (c) 2002-2012 Croteam Ltd. All rights reserved. */
|
|
|
|
// WorldEditorView.h : interface of the CWorldEditorView class
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#ifndef WORLDEDITORVIEW_H
|
|
#define WORLDEDITORVIEW_H 1
|
|
|
|
|
|
extern BOOL MyChooseColor( COLORREF &clrNewColor, CWnd &wndOwner);
|
|
|
|
#define WM_CHANGE_EDITING_MODE WM_USER
|
|
#define GRID_DISCRETE_VALUES (theApp.m_bDecadicGrid ? 10:8)
|
|
|
|
// mip modes (modes for setting or changing mip switch factors)
|
|
#define MM_NONE 0 // not active
|
|
#define MM_SETTING 1 // setting mip switch factor for current brush
|
|
#define MM_MANUAL 2 // setting manual mip factor
|
|
|
|
#define OVXF_CLOSEST (1L<<8)
|
|
#define OVXF_SELECTED (1L<<9)
|
|
|
|
enum InputAction {
|
|
IA_NONE = 0,
|
|
IA_DRAG_VERTEX_ON_PRIMITIVE,
|
|
IA_DRAG_VERTEX_ON_PRIMITIVE_BASE,
|
|
IA_SELECT_SINGLE_BRUSH_VERTEX,
|
|
IA_SELECT_LASSO_BRUSH_VERTEX,
|
|
IA_DRAG_BRUSH_VERTEX_IN_FLOOR_PLANE,
|
|
IA_DRAG_BRUSH_VERTEX_IN_VIEW_PLANE,
|
|
IA_ROTATE_BRUSH_VERTEX,
|
|
IA_STRETCH_BRUSH_VERTEX,
|
|
IA_STRETCHING_PRIMITIVE,
|
|
IA_SHEARING_PRIMITIVE,
|
|
IA_TERRAIN_EDITING_LMB,
|
|
IA_TERRAIN_EDITING_CTRL_LMB,
|
|
IA_MOVING_VIEWER_IN_FLOOR_PLANE,
|
|
IA_MOVING_VIEWER_IN_VIEW_PLANE,
|
|
IA_MOVING_SECOND_LAYER_IN_FLOOR_PLANE,
|
|
IA_MOVING_SECOND_LAYER_IN_VIEW_PLANE,
|
|
IA_MOVING_ENTITY_SELECTION_IN_FLOOR_PLANE,
|
|
IA_MOVING_ENTITY_SELECTION_IN_VIEW_PLANE,
|
|
IA_MOVING_POLYGON_MAPPING,
|
|
IA_ROTATING_VIEWER,
|
|
IA_ROTATING_ENTITY_SELECTION,
|
|
IA_ROTATING_SECOND_LAYER,
|
|
IA_ROTATING_POLYGON_MAPPING,
|
|
IA_MEASURING,
|
|
IA_CUT_MODE,
|
|
IA_MOVING_CUT_LINE_START,
|
|
IA_MOVING_CUT_LINE_END,
|
|
IA_SIZING_SELECT_BY_VOLUME_BOX,
|
|
IA_SELECTING_POLYGONS,
|
|
IA_SELECTING_SECTORS,
|
|
IA_SELECTING_ENTITIES,
|
|
IA_SELECT_LASSO_ENTITY,
|
|
IA_MIP_SETTING,
|
|
IA_MANUAL_MIP_SWITCH_FACTOR_CHANGING,
|
|
IA_CHANGING_RANGE_PROPERTY,
|
|
IA_CHANGING_ANGLE3D_PROPERTY,
|
|
};
|
|
|
|
class CWorldEditorView : public CView
|
|
{
|
|
protected: // create from serialization only
|
|
CWorldEditorView();
|
|
DECLARE_DYNCREATE(CWorldEditorView)
|
|
|
|
// Attributes
|
|
public:
|
|
InputAction m_iaInputAction;
|
|
InputAction m_iaLastInputAction;
|
|
BOOL m_bTestGameOn;
|
|
|
|
CBrushMip *m_pbmToSetMipSwitch;
|
|
COleDataSource m_DataSource; // to enable drag and drop
|
|
CTimerValue m_tvLastTime; // last time view was refreshed
|
|
CViewPrefs m_vpViewPrefs; // current rendering preferences
|
|
CTextureObject m_toBcgPicture;// used for background texture
|
|
CTString m_strMeasuring;
|
|
|
|
CChangeableRT m_chViewChanged;// when view has been rendered
|
|
BOOL m_bCutMode; // if we are in cut mode
|
|
|
|
// type of view
|
|
enum CSlaveViewer::ProjectionType m_ptProjectionType;
|
|
BOOL m_bWeDeselectedFirstPolygon;
|
|
BOOL m_bWeDeselectedFirstSector;
|
|
CPoint m_ptMouseDown; // mouse position at mouse down time
|
|
CStaticStackArray<PIX2D> m_avpixLaso; // coordinates for laso
|
|
BOOL m_bRequestVtxClickSelect; // if vertex select test requested from renderer
|
|
BOOL m_bRequestVtxLassoSelect; // if vertex laso select test requested from renderer
|
|
BOOL m_bRequestEntityLassoSelect; // if vertex laso select test requested from renderer
|
|
BOOL m_bOnSelectVertexAltDown; // if alt was down during vertex select start
|
|
BOOL m_bOnSelectVertexShiftDown; // if shift was down during vertex select start
|
|
BOOL m_bOnSelectEntityAltDown; // if alt was down during entity lasso select start
|
|
BOOL m_bOnSelectEntityShiftDown; // if shift was down during entity lasso select start
|
|
FLOAT3D m_vHitOnMouseDown;
|
|
CPoint m_ptMouse; // current mouse position
|
|
FLOAT m_fpixGridSteep; // steep in float pixels f of grid line
|
|
FLOAT3D m_f3dRotationOrigin; // used as rotation origin while changing mapping coordinates
|
|
FLOATplane3D m_plTranslationPlane; // plane used for polgon mapping translation
|
|
CPlacement3D m_plMouseMove; // used for continous mouse editting
|
|
CPlacement3D m_plMouseOffset; // used for offseted mouse editting
|
|
CBrushPolygon *m_pbpoTranslationPlane;
|
|
// current grid in meters
|
|
FLOAT m_fGridInMeters;
|
|
FLOAT m_fGridX;
|
|
FLOAT m_fGridY;
|
|
CTString m_strTest;
|
|
|
|
BOOL m_bEntityHitedOnContext;
|
|
CPlacement3D m_plEntityHitOnContext;
|
|
CEntity *m_penEntityHitOnContext;
|
|
CBrushPolygon *m_pbpoRightClickedPolygon;
|
|
CTString m_strTerrainDataPaneText;
|
|
|
|
// index of vertice on primitive base that user is currently dragging
|
|
INDEX m_iDragVertice;
|
|
INDEX m_iDragEdge;
|
|
// index of size control vertice
|
|
INDEX m_iSizeControlVertice;
|
|
FLOAT3D m_vMouseDownSecondLayer;
|
|
// position of vertice on primitive base before drag started
|
|
DOUBLE3D m_vStartDragVertice;
|
|
// position of edge center on primitive base before drag started
|
|
DOUBLE3D m_vStartDragEdge;
|
|
// position of vertice of object 3D before drag started
|
|
DOUBLE3D m_vStartDragO3DVertice;
|
|
|
|
// values for primitive are remembered here when LMB is pressed (for latere continous moving)
|
|
CValuesForPrimitive m_VFPMouseDown;
|
|
CDrawPort *m_pdpDrawPort;
|
|
CViewPort *m_pvpViewPort;
|
|
COleDropTarget m_DropTarget;
|
|
|
|
CTFileName m_fnWinBcgTexture;
|
|
COLORREF m_SelectionColor;
|
|
COLORREF m_PaperColor;
|
|
COLORREF m_InkColor;
|
|
BOOL m_IsWinBcgTexture;
|
|
// Operations
|
|
public:
|
|
// obtain draw port
|
|
inline CDrawPort *GetDrawPort( void) {
|
|
if( theApp.m_bChangeDisplayModeInProgress)
|
|
return NULL;
|
|
else
|
|
return m_pdpDrawPort;
|
|
};
|
|
// obtain view port
|
|
inline CViewPort *GetViewPort( void)
|
|
{
|
|
if( theApp.m_bChangeDisplayModeInProgress)
|
|
return NULL;
|
|
else
|
|
return m_pvpViewPort;
|
|
};
|
|
void GetToolTipText( char *pToolTipText);
|
|
// renders one picture
|
|
void RenderView( CDrawPort *pDP);
|
|
// obtain information about what was hit with mouse
|
|
CCastRay GetMouseHitInformation( CPoint point, BOOL bHitPortals = FALSE,
|
|
BOOL bHitModels = TRUE, BOOL bHitFields = TRUE, CEntity *penSourceEntity = NULL, BOOL bHitBrushes=TRUE);
|
|
FLOAT3D GetMouseHitOnPlane( CPoint point, const FLOATplane3D &plPlane);
|
|
// Start and stop functions that are called for start moving/rotating
|
|
void ToggleHittedPolygon( CCastRay &crRayHit);
|
|
void ToggleHittedSector( CCastRay &crRayHit);
|
|
void StartMouseInput( CPoint point);
|
|
void StopMouseInput( void);
|
|
void MarkClosestVtxOnPrimitive( BOOL bToggleSelection);
|
|
void MarkClosestVtxAndEdgeOnPrimitiveBase(CPoint point);
|
|
void DragVerticesOnPrimitive(FLOAT fDX,FLOAT fDY,FLOAT fDZ, BOOL bAbsolute, BOOL bSnap=TRUE);
|
|
void DragBrushVertex(FLOAT fDX,FLOAT fDY,FLOAT fDZ);
|
|
void RotateOrStretchBrushVertex(FLOAT fDX, FLOAT fDY, BOOL bRotate);
|
|
// Fills status line's editing data info pane
|
|
void SetEditingDataPaneInfo(BOOL bImidiateRepainting);
|
|
CWorldEditorDoc* GetDocument(void);
|
|
/* gets pointer to MDIFrameWnd main frame of application */
|
|
CMainFrame *GetMainFrame(void);
|
|
/* set parameters for projection depending on current rendering preferences. */
|
|
void SetProjection(CDrawPort *pDP);
|
|
/* called by document at the beginning of CSG */
|
|
void AtStartCSG(void);
|
|
/* called by document at the end of CSG */
|
|
void AtStopCSG(void);
|
|
/* get pointer to the child frame of this view */
|
|
CChildFrame *GetChildFrame(void);
|
|
/* if delete entity operation is allowed returns true */
|
|
BOOL IsDeleteEntityEnabled(void);
|
|
// remove given entity from linked chain
|
|
void RemoveFromLinkedChain(CEntity *pen);
|
|
/* Returns curently active mip factor (auto or manual one) */
|
|
FLOAT GetCurrentlyActiveMipFactor(void);
|
|
/* obtain point in the world where mouse pointed last time it was moved */
|
|
CPlacement3D GetMouseInWorldPlacement(void);
|
|
|
|
void CreatePrimitiveCalledFromPopup();
|
|
void RenderBackdropTexture(CDrawPort *pDP,FLOAT3D v0, FLOAT3D v1, FLOAT3D v2, FLOAT3D v3,
|
|
CTextureObject &to);
|
|
void OnAlignPrimitive(void);
|
|
void CenterSelected(void);
|
|
void AllignBox( FLOATaabbox3D bbox);
|
|
void AllignPolygon( CBrushPolygon *pbpo);
|
|
void EditCopy( BOOL bAlternative);
|
|
void CopyMapping(CBrushPolygon *pbpo);
|
|
void PasteMappingOnOnePolygon(CBrushPolygon *pbpo, BOOL bAsProjected);
|
|
void PasteMapping(CBrushPolygon *pbpo, BOOL bAsProjected);
|
|
void PasteOneLayerMapping(INDEX iLayer, CMappingDefinition &md,
|
|
FLOATplane3D &pl, CBrushPolygon *pbpo, BOOL bAsProjected);
|
|
void PasteTexture( CBrushPolygon *pbpoPolygon);
|
|
void CopySectorAmbient( CBrushSector *pbscSector);
|
|
void PasteSectorAmbient( CBrushSector *pbscSector);
|
|
void StorePolygonSelection(CBrushPolygonSelection &selPolygons,
|
|
CDynamicContainer<CBrushPolygon> &dcPolygons);
|
|
void RestorePolygonSelection(CBrushPolygonSelection &selPolygons,
|
|
CDynamicContainer<CBrushPolygon> &dcPolygons);
|
|
void DiscardShadows( CEntity *penEntity);
|
|
void DiscardShadows( CBrushSector *pbscSector);
|
|
void DiscardShadows( CBrushPolygon *pbpoPolygon);
|
|
void ApplyDefaultMapping(CBrushPolygon *pbpo, BOOL bRotation, BOOL bOffset, BOOL bStretch);
|
|
|
|
// get current brush mip of current csg target brush
|
|
CBrushMip *GetCurrentBrushMip(void);
|
|
void SetMipBrushFactor(void);
|
|
void OnAddMorePreciseMip(BOOL bClone);
|
|
void OnAddRougherMipLevel(BOOL bClone);
|
|
|
|
void OnNextPolygon(void);
|
|
void OnPreviousPolygon(void);
|
|
void Rotate( FLOAT fAngleLR, FLOAT fAngleUD, BOOL bSmooth=FALSE);
|
|
void MultiplyMappingOnPolygon( FLOAT fFactor);
|
|
void CallPopupMenu(CPoint point);
|
|
void DrawArrowAndTypeText( CProjection3D &prProjection,
|
|
const FLOAT3D &v0, const FLOAT3D &v1, COLOR colColor, CTString strText);
|
|
void DrawAxis( const PIX2D &pixC, PIX len, COLOR colColor, COLOR colTextColor, CTString strU, CTString strV);
|
|
|
|
void SnapVector(FLOAT3D &vToSnap);
|
|
void SnapVector(DOUBLE3D &vToSnap);
|
|
FLOAT3D ProjectVectorToWorldSpace(FLOAT fDX,FLOAT fDY,FLOAT fDZ);
|
|
FLOAT3D Get3DCoordinateFrom2D( POINT &pt);
|
|
POINT Get2DCoordinateFrom3D( FLOAT3D vPoint);
|
|
BOOL IsCutEnabled(CTString &strError);
|
|
void SelectAllTargetsOfEntity(CEntity *pen);
|
|
void SelectAllTargetsOfSelectedEntities(void);
|
|
BOOL IsSelectClonesOnContextEnabled( void);
|
|
BOOL IsSelectOfSameClassOnContextEnabled( void);
|
|
void ApplyFreeModeControls( CPlacement3D &pl, ANGLE3D &a, FLOAT &fSpeedMultiplier, BOOL bPrescan);
|
|
void PumpWindowsMessagesInFreeMode(BOOL &bRunning, FLOAT &fSpeedMultiplier);
|
|
void SelectWhoTargets( CDynamicContainer<CEntity> &dcTargetedEntities);
|
|
void OnRemainSelectedByOrientation(BOOL bBothSides);
|
|
void OnDropMarker(CPlacement3D plMarker);
|
|
// functions for mapping fitting
|
|
void AutoFitMapping(CBrushPolygon *pbpo, BOOL bInvert=FALSE, BOOL bFitBoth=FALSE);
|
|
void AutoFitMappingOnPolygon(CBrushPolygon &bpo, BOOL bInvert=FALSE, BOOL bFitBoth=FALSE);
|
|
void SetAsCsgTarget(CEntity *pen);
|
|
void ShowLinkTree(CEntity *pen, BOOL bWhoTargets=FALSE, BOOL bPropertyNames=FALSE);
|
|
BOOL SaveAutoTexture(FLOATaabbox3D boxBrush, CTFileName &fnTex);
|
|
void AutoApplyTexture(FLOATaabbox3D boxBrush, CTFileName &fnTex);
|
|
void AutoApplyTextureOntoPolygon(CBrushPolygon &bpo, FLOATaabbox3D boxBrush, CTFileName &fnTex);
|
|
BOOL SetAutoTextureBoxParams(FLOATaabbox3D boxBrush, CTFileName &fnTex);
|
|
void Align(BOOL bX,BOOL bY,BOOL bZ,BOOL bH,BOOL bP,BOOL bB);
|
|
void PolygonsToBrush(CBrushPolygonSelection &selPolygons, BOOL bDeleteSectors, BOOL bZoning);
|
|
void SnapSelectedVerticesToPlane(void);
|
|
void RenderAndApplyTerrainEditBrush(FLOAT3D vHit);
|
|
void InvokeSelectLayerCombo(void);
|
|
void OnIdle(void);
|
|
void UpdateCursor(void);
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CWorldEditorView)
|
|
public:
|
|
virtual void OnDraw(CDC* pDC); // overridden to draw this view
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
virtual void OnInitialUpdate();
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
protected:
|
|
virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);
|
|
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
|
|
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CWorldEditorView();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
public:
|
|
//{{AFX_MSG(CWorldEditorView)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnKillFocus(CWnd* pNewWnd);
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnDropFiles(HDROP hDropInfo);
|
|
afx_msg void OnIsometricFront();
|
|
afx_msg void OnIsometricBack();
|
|
afx_msg void OnIsometricBottom();
|
|
afx_msg void OnIsometricLeft();
|
|
afx_msg void OnIsometricRight();
|
|
afx_msg void OnIsometricTop();
|
|
afx_msg void OnPerspective();
|
|
afx_msg void OnZoomLess();
|
|
afx_msg void OnZoomMore();
|
|
afx_msg void OnMoveDown();
|
|
afx_msg void OnMoveUp();
|
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
afx_msg void OnMeasurementTape();
|
|
afx_msg void OnUpdateMeasurementTape(CCmdUI* pCmdUI);
|
|
afx_msg void OnCircleModes();
|
|
afx_msg void OnUpdateCircleModes(CCmdUI* pCmdUI);
|
|
afx_msg void OnDeselectAll();
|
|
afx_msg void OnDeleteEntities();
|
|
afx_msg void OnUpdateDeleteEntities(CCmdUI* pCmdUI);
|
|
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
|
afx_msg void OnTakeSs();
|
|
afx_msg void OnUpdateEntityMode(CCmdUI* pCmdUI);
|
|
afx_msg void OnSectorMode();
|
|
afx_msg void OnUpdateSectorMode(CCmdUI* pCmdUI);
|
|
afx_msg void OnPolygonMode();
|
|
afx_msg void OnUpdatePolygonMode(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditPaste();
|
|
afx_msg void OnEditCopy();
|
|
afx_msg void OnCloneCSG();
|
|
afx_msg void OnUpdateCloneCsg(CCmdUI* pCmdUI);
|
|
afx_msg void OnMeasureOn();
|
|
afx_msg void OnUpdateMeasureOn(CCmdUI* pCmdUI);
|
|
afx_msg void OnResetViewer();
|
|
afx_msg void OnCopyTexture();
|
|
afx_msg void OnPasteTexture();
|
|
afx_msg void OnCenterEntity();
|
|
afx_msg void OnFunction();
|
|
afx_msg void OnUpdateCenterEntity(CCmdUI* pCmdUI);
|
|
afx_msg void OnDropMarker();
|
|
afx_msg void OnUpdateDropMarker(CCmdUI* pCmdUI);
|
|
afx_msg void OnTestConnections();
|
|
afx_msg void OnUpdateTestConnections(CCmdUI* pCmdUI);
|
|
afx_msg void OnAlignVolume();
|
|
afx_msg void OnUpdateAlignVolume(CCmdUI* pCmdUI);
|
|
afx_msg void OnCurrentViewProperties();
|
|
afx_msg void OnDeleteMip();
|
|
afx_msg void OnUpdateDeleteMip(CCmdUI* pCmdUI);
|
|
afx_msg void OnPreviousMipBrush();
|
|
afx_msg void OnUpdatePreviousMipBrush(CCmdUI* pCmdUI);
|
|
afx_msg void OnNextMipBrush();
|
|
afx_msg void OnUpdateNextMipBrush(CCmdUI* pCmdUI);
|
|
afx_msg void OnCrossroadForC();
|
|
afx_msg void OnChooseColor();
|
|
afx_msg void OnUpdateChooseColor(CCmdUI* pCmdUI);
|
|
afx_msg void OnMenuCopyMapping();
|
|
afx_msg void OnMenuPasteMapping();
|
|
afx_msg void OnSetAsCsgTarget();
|
|
afx_msg void OnKeyPaste();
|
|
afx_msg void OnRButtonDblClk(UINT nFlags, CPoint point);
|
|
afx_msg void OnSelectByTextureAdjacent();
|
|
afx_msg void OnSelectByTextureInSector();
|
|
afx_msg void OnSelectByColorInSector();
|
|
afx_msg void OnConusPrimitive();
|
|
afx_msg void OnTorusPrimitive();
|
|
afx_msg void OnTerrainPrimitive();
|
|
afx_msg void OnSpherePrimitive();
|
|
afx_msg void OnStaircasePrimitive();
|
|
afx_msg void OnUpdateConusPrimitive(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateSpherePrimitive(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateTerrainPrimitive(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateTorusPrimitive(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateStaircasePrimitive(CCmdUI* pCmdUI);
|
|
afx_msg void OnPopupConus();
|
|
afx_msg void OnPopupSphere();
|
|
afx_msg void OnPopupStairs();
|
|
afx_msg void OnPopupTerrain();
|
|
afx_msg void OnPopupTorus();
|
|
afx_msg void OnUpdateMoveDown(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateMoveUp(CCmdUI* pCmdUI);
|
|
afx_msg void OnSelectLights();
|
|
afx_msg void OnDiscardShadows();
|
|
afx_msg void OnCopySectorAmbient();
|
|
afx_msg void OnPasteSectorAmbient();
|
|
afx_msg void OnSelectAllPolygons();
|
|
afx_msg void OnCopySectors();
|
|
afx_msg void OnDeleteSectors();
|
|
afx_msg void OnPasteSectors();
|
|
afx_msg void OnCenterBcgViewer();
|
|
afx_msg void OnMenuPasteAsProjectedMapping();
|
|
afx_msg void OnKeyPasteAsProjected();
|
|
afx_msg void OnSelectAllEntitiesInSectors();
|
|
afx_msg void OnSelectAllSectors();
|
|
afx_msg void OnLastPrimitive();
|
|
afx_msg void OnUpdateLastPrimitive(CCmdUI* pCmdUI);
|
|
afx_msg void OnCloneToMorePreciseMip();
|
|
afx_msg void OnCloneToRougherMipLevel();
|
|
afx_msg void OnCreateEmptyMorePreciseMip();
|
|
afx_msg void OnCreateEmptyRougherMip();
|
|
afx_msg void OnUpdateCloneToMorePreciseMip(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateCloneToRougherMipLevel(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateCreateEmptyMorePreciseMip(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateCreateEmptyRougherMip(CCmdUI* pCmdUI);
|
|
afx_msg void OnEditPasteAlternative();
|
|
afx_msg void OnSelectAllEntitiesInWorld();
|
|
afx_msg void OnUpdateEditPasteAlternative(CCmdUI* pCmdUI);
|
|
afx_msg void OnEntityMode();
|
|
afx_msg void OnFindTexture();
|
|
afx_msg void OnSelectSectorsWithSameName();
|
|
afx_msg void OnSelectSectorsArroundEntity();
|
|
afx_msg void OnSelectSectorsArroundEntityOnContext();
|
|
afx_msg void OnInsertVertex();
|
|
afx_msg void OnDeleteVertex();
|
|
afx_msg void OnSavePicturesForEnvironment();
|
|
afx_msg void OnUpdateSavePicturesForEnvironment(CCmdUI* pCmdUI);
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
afx_msg void OnCsgSelectSector();
|
|
afx_msg void OnMenuAlignMappingU();
|
|
afx_msg void OnMenuAlignMappingV();
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnFallDown();
|
|
afx_msg void OnPrevious();
|
|
afx_msg void OnNext();
|
|
afx_msg void OnUpdatePrevious(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateNext(CCmdUI* pCmdUI);
|
|
afx_msg void OnRemoveUnusedTextures();
|
|
afx_msg void OnRotate();
|
|
afx_msg void OnRotateBack();
|
|
afx_msg void OnSelectVisibleSectors();
|
|
afx_msg void OnEditCopyAlternative();
|
|
afx_msg void OnRotateLeft();
|
|
afx_msg void OnRotateRight();
|
|
afx_msg void OnRotateUp();
|
|
afx_msg void OnRotateDown();
|
|
afx_msg void OnSelectWhoTargets();
|
|
afx_msg void OnSelectInvalidTris();
|
|
afx_msg void OnTestConnectionsBack();
|
|
afx_msg void OnUpdateTestConnectionsBack(CCmdUI* pCmdUI);
|
|
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
|
|
afx_msg void OnSelectSectorsOtherSide();
|
|
afx_msg void OnSelectLinksToSector();
|
|
afx_msg void OnRemainSelectedByOrientation();
|
|
afx_msg void OnDeselectByOrientation();
|
|
afx_msg void OnVertexMode();
|
|
afx_msg void OnReoptimizeBrushes();
|
|
afx_msg void OnMergeVertices();
|
|
afx_msg void OnExportDisplaceMap();
|
|
afx_msg void OnCutMode();
|
|
afx_msg void OnUpdateCutMode(CCmdUI* pCmdUI);
|
|
afx_msg void OnSelectAllTargets();
|
|
afx_msg void OnSelectAllTargetsOnContext();
|
|
afx_msg void OnSelectClones();
|
|
afx_msg void OnSelectClonesOnContext();
|
|
afx_msg void OnUpdateSelectClones(CCmdUI* pCmdUI);
|
|
afx_msg void OnSelectAllVertices();
|
|
afx_msg void OnSelectOfSameClass();
|
|
afx_msg void OnSelectOfSameClassOnContext();
|
|
afx_msg void OnAlternativeMovingMode();
|
|
afx_msg void OnReTriple();
|
|
afx_msg void OnSelectWhoTargetsOnContext();
|
|
afx_msg void OnClearAllTargets();
|
|
afx_msg void OnSelectCsgTarget();
|
|
afx_msg void OnUpdateSelectCsgTarget(CCmdUI* pCmdUI);
|
|
afx_msg void OnRemainSelectedbyOrientationSingle();
|
|
afx_msg void OnUpdateReTriple(CCmdUI* pCmdUI);
|
|
afx_msg void OnTriangularizePolygon();
|
|
afx_msg void OnEntityContextHelp();
|
|
afx_msg void OnPopupAutoFitMapping();
|
|
afx_msg void OnTriangularizeSelection();
|
|
afx_msg void OnUpdateTriangularizeSelection(CCmdUI* pCmdUI);
|
|
afx_msg void OnPopupAutoFitMappingSmall();
|
|
afx_msg void OnPopupAutoFitMappingBoth();
|
|
afx_msg void OnResetMappingOffset();
|
|
afx_msg void OnResetMappingRotation();
|
|
afx_msg void OnResetMappingStretch();
|
|
afx_msg void OnCrossroadForL();
|
|
afx_msg void OnSelectUsingTargetTree();
|
|
afx_msg void OnTargetTree();
|
|
afx_msg void OnUpdateTargetTree(CCmdUI* pCmdUI);
|
|
afx_msg void OnSwapLayers12();
|
|
afx_msg void OnSwapLayers23();
|
|
afx_msg void OnSelectDescendants();
|
|
afx_msg void OnCrossroadForCtrlF();
|
|
afx_msg void OnRotateToTargetCenter();
|
|
afx_msg void OnRotateToTargetOrigin();
|
|
afx_msg void OnCopyOrientation();
|
|
afx_msg void OnCopyPlacement();
|
|
afx_msg void OnCopyPosition();
|
|
afx_msg void OnPasteOrientation();
|
|
afx_msg void OnPastePlacement();
|
|
afx_msg void OnPastePosition();
|
|
afx_msg void OnAlignB();
|
|
afx_msg void OnAlignH();
|
|
afx_msg void OnAlignP();
|
|
afx_msg void OnAlignX();
|
|
afx_msg void OnAlignY();
|
|
afx_msg void OnAlignZ();
|
|
afx_msg void OnAutotexturizeMips();
|
|
afx_msg void OnUpdateAutotexturizeMips(CCmdUI* pCmdUI);
|
|
afx_msg void OnRandomOffsetU();
|
|
afx_msg void OnRandomOffsetV();
|
|
afx_msg void OnStretchRelativeOffset();
|
|
afx_msg void OnDeselectHidden();
|
|
afx_msg void OnSelectHidden();
|
|
afx_msg void OnSectorsToBrush();
|
|
afx_msg void OnPolygonsToBrush();
|
|
afx_msg void OnClonePolygons();
|
|
afx_msg void OnDeletePolygons();
|
|
afx_msg void OnKeyU();
|
|
afx_msg void OnKeyD();
|
|
afx_msg void OnFlipPolygon();
|
|
afx_msg void OnTerrainMode();
|
|
afx_msg void OnUpdateTerrainMode(CCmdUI* pCmdUI);
|
|
afx_msg void OnKeyM();
|
|
afx_msg void OnKeyBackslash();
|
|
afx_msg void OnSelectBrush();
|
|
afx_msg void OnSelectTerrain();
|
|
afx_msg void OnAltitudeEditMode();
|
|
afx_msg void OnLayerTextureEditMode();
|
|
afx_msg void OnTbrushAltitude();
|
|
afx_msg void OnTbrushEquilaze();
|
|
afx_msg void OnTbrushErase();
|
|
afx_msg void OnTbrushNoise();
|
|
afx_msg void OnTbrushSmooth();
|
|
afx_msg void OnOptimizeTerrain();
|
|
afx_msg void OnRecalculateTerrainShadows();
|
|
afx_msg void OnViewHeightmap();
|
|
afx_msg void OnImportHeightmap();
|
|
afx_msg void OnExportHeightmap();
|
|
afx_msg void OnImportHeightmap16();
|
|
afx_msg void OnExportHeightmap16();
|
|
afx_msg void OnSelectLayer();
|
|
afx_msg void OnPickLayer();
|
|
afx_msg void OnKeyO();
|
|
afx_msg void OnUpdateKeyO(CCmdUI* pCmdUI);
|
|
afx_msg void OnPosterize();
|
|
afx_msg void OnFlatten();
|
|
afx_msg void OnApplyFilter();
|
|
afx_msg void OnTeSmooth();
|
|
afx_msg void OnEditTerrainPrefs();
|
|
afx_msg void OnUpdateEditTerrainPrefs(CCmdUI* pCmdUI);
|
|
afx_msg void OnKeyCtrlShiftE();
|
|
afx_msg void OnKeyCtrlShiftG();
|
|
afx_msg void OnUpdateKeyCtrlShiftG(CCmdUI* pCmdUI);
|
|
afx_msg void OnTerrainLayerOptions();
|
|
afx_msg void OnUpdateTerrainLayerOptions(CCmdUI* pCmdUI);
|
|
afx_msg void OnKeyCtrlShiftK();
|
|
afx_msg void OnApplyContinousNoise();
|
|
afx_msg void OnApplyMinimum();
|
|
afx_msg void OnApplyMaximum();
|
|
afx_msg void OnApplyFlatten();
|
|
afx_msg void OnApplyPosterize();
|
|
afx_msg void OnOptimizeLayers();
|
|
afx_msg void OnTbrushContinousNoise();
|
|
afx_msg void OnTbrushFilter();
|
|
afx_msg void OnTbrushFlatten();
|
|
afx_msg void OnTbrushMaximum();
|
|
afx_msg void OnTbrushMinimum();
|
|
afx_msg void OnTbrushPosterize();
|
|
afx_msg void OnTerrainProperties();
|
|
//}}AFX_MSG
|
|
|
|
afx_msg void OnKeyBuffer(UINT nID);
|
|
afx_msg void OnKeyEditBuffer(UINT nID);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
#ifndef _DEBUG // debug version in WorldEditorView.cpp
|
|
inline CWorldEditorDoc* CWorldEditorView::GetDocument()
|
|
{ return (CWorldEditorDoc*)m_pDocument; }
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#endif // WORLDEDITORVIEW_H
|