This repository has been archived on 2025-02-27. You can view files and clone it, but cannot push or open issues or pull requests.
CnC_Renegade/Code/Tools/W3DView/MainFrm.h

293 lines
10 KiB
C
Raw Permalink Normal View History

/*
** Command & Conquer Renegade(tm)
** Copyright 2025 Electronic Arts Inc.
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAINFRM_H__2BB39E2F_5D3A_11D2_9FC6_00104B791122__INCLUDED_)
#define AFX_MAINFRM_H__2BB39E2F_5D3A_11D2_9FC6_00104B791122__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "DataTreeView.H"
#include "Toolbar.H"
class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
protected:
CSplitterWnd m_wndSplitter;
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMainFrame)
public:
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
protected:
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnObjectProperties();
afx_msg void OnUpdateObjectProperties(CCmdUI* pCmdUI);
afx_msg void OnLodGenerate();
afx_msg void OnActivateApp(BOOL bActive, HTASK hTask);
afx_msg void OnFileOpen();
afx_msg void OnAniSpeed();
afx_msg void OnAniStop();
afx_msg void OnAniStart();
afx_msg void OnAniPause();
afx_msg void OnCameraBack();
afx_msg void OnCameraBottom();
afx_msg void OnCameraFront();
afx_msg void OnCameraLeft();
afx_msg void OnCameraReset();
afx_msg void OnCameraRight();
afx_msg void OnCameraTop();
afx_msg void OnObjectRotateZ();
afx_msg void OnObjectRotateY();
afx_msg void OnObjectRotateX();
afx_msg void OnLightAmbient();
afx_msg void OnLightScene();
afx_msg void OnBackgroundColor();
afx_msg void OnBackgroundBMP();
afx_msg void OnSaveSettings();
afx_msg void OnLoadSettings();
afx_msg void OnLODSetSwitch();
afx_msg void OnLODSave();
afx_msg void OnLODSaveAll();
afx_msg void OnBackgroundObject();
afx_msg void OnUpdateViewAnimationBar(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewObjectBar(CCmdUI* pCmdUI);
afx_msg void OnViewAnimationBar();
afx_msg void OnViewObjectBar();
afx_msg void OnAniStepFwd();
afx_msg void OnAniStepBkwd();
afx_msg void OnObjectReset();
afx_msg void OnCameraAllowRotateX();
afx_msg void OnCameraAllowRotateY();
afx_msg void OnCameraAllowRotateZ();
afx_msg void OnUpdateCameraAllowRotateX(CCmdUI* pCmdUI);
afx_msg void OnUpdateCameraAllowRotateY(CCmdUI* pCmdUI);
afx_msg void OnUpdateCameraAllowRotateZ(CCmdUI* pCmdUI);
afx_msg void OnUpdateObjectRotateX(CCmdUI* pCmdUI);
afx_msg void OnUpdateObjectRotateY(CCmdUI* pCmdUI);
afx_msg void OnUpdateObjectRotateZ(CCmdUI* pCmdUI);
afx_msg void OnDeviceChange();
afx_msg void OnViewFullscreen();
afx_msg void OnUpdateViewFullscreen(CCmdUI* pCmdUI);
afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
afx_msg void OnCreateEmitter();
afx_msg void OnEditEmitter();
afx_msg void OnUpdateEditEmitter(CCmdUI* pCmdUI);
afx_msg void OnSaveEmitter();
afx_msg void OnUpdateSaveEmitter(CCmdUI* pCmdUI);
afx_msg void OnBoneAutoAssign();
afx_msg void OnBoneManagement();
afx_msg void OnSaveAggregate();
afx_msg void OnCameraAnimate();
afx_msg void OnUpdateCameraAnimate(CCmdUI* pCmdUI);
afx_msg void OnUpdateLodSave(CCmdUI* pCmdUI);
afx_msg void OnUpdateSaveAggregate(CCmdUI* pCmdUI);
afx_msg void OnCameraResetOnLoad();
afx_msg void OnUpdateCameraResetOnLoad(CCmdUI* pCmdUI);
afx_msg void OnObjectRotateYBack();
afx_msg void OnObjectRotateZBack();
afx_msg void OnLightRotateY();
afx_msg void OnLightRotateYBack();
afx_msg void OnLightRotateZ();
afx_msg void OnLightRotateZBack();
afx_msg void OnDestroy();
afx_msg void OnDecLight();
afx_msg void OnIncLight();
afx_msg void OnDecAmbientLight();
afx_msg void OnIncAmbientLight();
afx_msg void OnMakeAggregate();
afx_msg void OnRenameAggregate();
afx_msg void OnCrashApp();
afx_msg void OnLODRecordScreenArea();
afx_msg void OnLODIncludeNull();
afx_msg void OnUpdateLODIncludeNull(CCmdUI* pCmdUI);
afx_msg void OnLodPrevLevel();
afx_msg void OnUpdateLodPrevLevel(CCmdUI* pCmdUI);
afx_msg void OnLodNextLevel();
afx_msg void OnUpdateLodNextLevel(CCmdUI* pCmdUI);
afx_msg void OnLodAutoswitch();
afx_msg void OnUpdateLodAutoswitch(CCmdUI* pCmdUI);
afx_msg void OnUpdateMakeMovie(CCmdUI* pCmdUI);
afx_msg void OnMakeMovie();
afx_msg void OnSaveScreenshot();
afx_msg void OnSlideshowDown();
afx_msg void OnSlideshowUp();
afx_msg void OnAdvancedAnim();
afx_msg void OnUpdateAdvancedAnim(CCmdUI* pCmdUI);
afx_msg void OnCameraSettings();
afx_msg void OnCopyScreenSize();
afx_msg void OnListMissingTextures();
afx_msg void OnCopyAssets();
afx_msg void OnUpdateCopyAssets(CCmdUI* pCmdUI);
afx_msg void OnLightingExpose();
afx_msg void OnUpdateLightingExpose(CCmdUI* pCmdUI);
afx_msg void OnTexturePath();
afx_msg void OnChangeResolution();
afx_msg void OnCreateSphere();
afx_msg void OnCreateRing();
afx_msg void OnUpdateEditPrimitive(CCmdUI* pCmdUI);
afx_msg void OnEditPrimitive();
afx_msg void OnExportPrimitive();
afx_msg void OnUpdateExportPrimitive(CCmdUI* pCmdUI);
afx_msg void OnKillSceneLight();
afx_msg void OnPrelitMultipass();
afx_msg void OnUpdatePrelitMultipass(CCmdUI* pCmdUI);
afx_msg void OnPrelitMultitex();
afx_msg void OnUpdatePrelitMultitex(CCmdUI* pCmdUI);
afx_msg void OnPrelitVertex();
afx_msg void OnUpdatePrelitVertex(CCmdUI* pCmdUI);
afx_msg void OnAddToLineup();
afx_msg void OnUpdateAddToLineup(CCmdUI* pCmdUI);
afx_msg void OnImportFacialAnims();
afx_msg void OnUpdateImportFacialAnims(CCmdUI* pCmdUI);
afx_msg void OnRestrictAnims();
afx_msg void OnUpdateRestrictAnims(CCmdUI* pCmdUI);
afx_msg void OnBindSubobjectLod();
afx_msg void OnUpdateBindSubobjectLod(CCmdUI* pCmdUI);
afx_msg void OnSetCameraDistance();
afx_msg void OnObjectAlternateMaterials();
afx_msg void OnCreateSoundObject();
afx_msg void OnEditSoundObject();
afx_msg void OnUpdateEditSoundObject(CCmdUI* pCmdUI);
afx_msg void OnExportSoundObj();
afx_msg void OnUpdateExportSoundObj(CCmdUI* pCmdUI);
afx_msg void OnWireframeMode();
afx_msg void OnUpdateWireframeMode(CCmdUI* pCmdUI);
afx_msg void OnUpdateBackgroundFog(CCmdUI* pCmdUI);
afx_msg void OnBackgroundFog();
afx_msg void OnUpdateScaleEmitter(CCmdUI* pCmdUI);
afx_msg void OnScaleEmitter();
afx_msg void OnUpdateToggleSorting(CCmdUI* pCmdUI);
afx_msg void OnToggleSorting();
afx_msg void OnCameraBonePosX();
afx_msg void OnUpdateCameraBonePosX(CCmdUI* pCmdUI);
afx_msg void OnViewPatchGapFill();
afx_msg void OnUpdateViewPatchGapFill(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision1();
afx_msg void OnUpdateViewSubdivision1(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision2();
afx_msg void OnUpdateViewSubdivision2(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision3();
afx_msg void OnUpdateViewSubdivision3(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision4();
afx_msg void OnUpdateViewSubdivision4(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision5();
afx_msg void OnUpdateViewSubdivision5(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision6();
afx_msg void OnUpdateViewSubdivision6(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision7();
afx_msg void OnUpdateViewSubdivision7(CCmdUI* pCmdUI);
afx_msg void OnViewSubdivision8();
afx_msg void OnUpdateViewSubdivision8(CCmdUI* pCmdUI);
afx_msg void OnMungeSortOnLoad();
afx_msg void OnUpdateMungeSortOnLoad(CCmdUI* pCmdUI);
afx_msg void OnEnableGammaCorrection();
afx_msg void OnUpdateEnableGammaCorrection(CCmdUI* pCmdUI);
afx_msg void OnSetGamma();
afx_msg void OnEditAnimatedSoundsOptions();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
//////////////////////////////////////////////////////////////////////
// Public methods
//////////////////////////////////////////////////////////////////////
CView *GetPane (int iRow, int iCol) const
{ return (CView *)m_wndSplitter.GetPane (iRow, iCol); }
void ShowObjectProperties (void);
void OnSelectionChanged (ASSET_TYPE newAssetType);
void Update_Frame_Time (DWORD milliseconds);
void UpdatePolygonCount (int iPolygons);
void Update_Particle_Count (int particles);
void UpdateCameraDistance (float cameraDistance);
void UpdateFrameCount (int iCurrentFrame, int iTotalFrames, float frame_rate);
void RestoreOriginalSize (void);
void Select_Device (bool show_dlg = true);
HMENU Get_Emitters_List_Menu (void) const { return m_hEmittersSubMenu; }
void Update_Emitters_List (void);
protected:
//////////////////////////////////////////////////////////////////////
// Protected methods
//////////////////////////////////////////////////////////////////////
void Restore_Window_State (void);
private:
//////////////////////////////////////////////////////////////////////
// Private member data
//////////////////////////////////////////////////////////////////////
ASSET_TYPE m_currentAssetType;
CFancyToolbar m_objectToolbar;
CFancyToolbar m_animationToolbar;
BOOL m_bShowAnimationBar;
RECT m_OrigRect;
HMENU m_hEmittersSubMenu;
BOOL m_bInitialized;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MAINFRM_H__2BB39E2F_5D3A_11D2_9FC6_00104B791122__INCLUDED_)