/* ** 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 . */ // MainFrm.h : interface of the CMainFrame class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_MAINFRM_H__6D711A27_651E_11D2_9FC8_00104B791122__INCLUDED_) #define AFX_MAINFRM_H__6D711A27_651E_11D2_9FC8_00104B791122__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include "formtoolbar.h" #include "maindialogbar.h" #include "vector.h" #include "wwstring.h" ////////////////////////////////////////////////////////////////////////////////////////// // Forward declarations ////////////////////////////////////////////////////////////////////////////////////////// class Vector3; class CLevelEditDoc; ////////////////////////////////////////////////////////////////////////////////////////// // // CMainFrame // ////////////////////////////////////////////////////////////////////////////////////////// class CMainFrame : public CFrameWnd { protected: // create from serialization only CMainFrame(); DECLARE_DYNCREATE(CMainFrame) // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMainFrame) public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); virtual void OnFinalRelease(); protected: virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); virtual LRESULT WindowProc(UINT message, 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 OnClose(); afx_msg void OnObjectManipulate(); afx_msg void OnUpdateObjectManipulate(CCmdUI* pCmdUI); afx_msg void OnModeCamera(); afx_msg void OnUpdateModeCamera(CCmdUI* pCmdUI); afx_msg void OnDeleteSelection(); afx_msg void OnModeOrbit(); afx_msg void OnUpdateModeOrbit(CCmdUI* pCmdUI); afx_msg void OnCoordWorld(); afx_msg void OnUpdateCoordWorld(CCmdUI* pCmdUI); afx_msg void OnCoordView(); afx_msg void OnUpdateCoordView(CCmdUI* pCmdUI); afx_msg void OnCoordObject(); afx_msg void OnUpdateCoordObject(CCmdUI* pCmdUI); afx_msg void OnRestrictX(); afx_msg void OnRestrictY(); afx_msg void OnRestrictZ(); afx_msg void OnUpdateRestrictZ(CCmdUI* pCmdUI); afx_msg void OnUpdateRestrictY(CCmdUI* pCmdUI); afx_msg void OnUpdateRestrictX(CCmdUI* pCmdUI); afx_msg void OnCameraFront(); afx_msg void OnCameraBack(); afx_msg void OnCameraLeft(); afx_msg void OnCameraRight(); afx_msg void OnCameraTop(); afx_msg void OnCameraBottom(); afx_msg void OnDropToGround(); afx_msg void OnUpdateDropToGround(CCmdUI* pCmdUI); afx_msg void OnModeWalkthrough(); afx_msg void OnUpdateModeWalkthrough(CCmdUI* pCmdUI); afx_msg void OnViewChangeDevice(); afx_msg void OnLevelExport(); afx_msg void OnViewFullscreen(); afx_msg void OnUpdateViewFullscreen(CCmdUI* pCmdUI); afx_msg void OnViewAmbientLightDlg(); afx_msg void OnUpdateViewAmbientLightDlg(CCmdUI* pCmdUI); afx_msg void OnUpdateViewToolbarCameraSettings(CCmdUI* pCmdUI); afx_msg void OnViewToolbarCameraSettings(); afx_msg void OnCameraDepthLess(); afx_msg void OnCameraDepthMore(); afx_msg void OnSavePresets(); afx_msg void OnUpdateSavePresets(CCmdUI* pCmdUI); afx_msg void OnToggleSnappoints(); afx_msg void OnUpdateToggleSnappoints(CCmdUI* pCmdUI); afx_msg void OnAlwaysExport(); afx_msg void OnDestroy(); afx_msg void OnChangeBase(); afx_msg void OnCamSpeedIncrease(); afx_msg void OnCamSpeedDecrease(); afx_msg void OnCamReset(); afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); afx_msg void OnGenVis(); afx_msg void OnToggleVisWindow(); afx_msg void OnAniBackFrame(); afx_msg void OnAniFirstFrame(); afx_msg void OnAniFwdFrame(); afx_msg void OnAniLastFrame(); afx_msg void OnAniPause(); afx_msg void OnAniPlay(); afx_msg void OnAniStop(); afx_msg void OnEditUndo(); afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI); afx_msg void OnEditCopy(); afx_msg void OnUpdateEditCopy(CCmdUI* pCmdUI); afx_msg void OnEditCut(); afx_msg void OnUpdateEditCut(CCmdUI* pCmdUI); afx_msg void OnEditPaste(); afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI); afx_msg void OnCreateGroup(); afx_msg void OnUpdateCreateGroup(CCmdUI* pCmdUI); afx_msg void OnToggleLights(); afx_msg void OnUpdateToggleLights(CCmdUI* pCmdUI); afx_msg void OnRepartition(); afx_msg void OnAllowAutoUpdates(); afx_msg void OnUpdateAllowAutoUpdates(CCmdUI* pCmdUI); afx_msg void OnRotateLeft(); afx_msg void OnRotateRight(); afx_msg void OnCalcAllLights(); afx_msg void OnCalcSelLights(); afx_msg void OnUpdateCalcSelLights(CCmdUI* pCmdUI); afx_msg void OnLockObjects(); afx_msg void OnUnlockObjects(); afx_msg void OnUpdateLockObjects(CCmdUI* pCmdUI); afx_msg void OnUpdateUnlockObjects(CCmdUI* pCmdUI); afx_msg void OnEditIncludes(); afx_msg void OnVolDec(); afx_msg void OnVolInc(); afx_msg void OnBackgroundSettings(); afx_msg void OnToggleMusic(); afx_msg void OnUpdateToggleMusic(CCmdUI* pCmdUI); afx_msg void OnToggleSounds(); afx_msg void OnUpdateToggleSounds(CCmdUI* pCmdUI); afx_msg void OnViewAggregateChildren(); afx_msg void OnUpdateViewAggregateChildren(CCmdUI* pCmdUI); afx_msg void OnToggleSunlight(); afx_msg void OnUpdateToggleSunlight(CCmdUI* pCmdUI); afx_msg void OnEditSunlight(); afx_msg void OnAutoGenVis(); afx_msg void OnVisualOptions(); afx_msg void OnVisInvert(); afx_msg void OnViewVisPoints(); afx_msg void OnUpdateViewVisPoints(CCmdUI* pCmdUI); afx_msg void OnSpecifyAssetDatabase(); afx_msg void OnUpdateVisInvert(CCmdUI* pCmdUI); afx_msg void OnToggleBackfaces(); afx_msg void OnUpdateToggleBackfaces(CCmdUI* pCmdUI); afx_msg void OnToggleWireframeMode(); afx_msg void OnUpdateToggleWireframeMode(CCmdUI* pCmdUI); afx_msg void OnViewVisErrors(); afx_msg void OnUseVisCamera(); afx_msg void OnUpdateUseVisCamera(CCmdUI* pCmdUI); afx_msg void OnGenerateObstacleVolumes(); afx_msg void OnVisDisable(); afx_msg void OnUpdateVisDisable(CCmdUI* pCmdUI); afx_msg void OnDisplayPaths(); afx_msg void OnUpdateDisplayPaths(CCmdUI* pCmdUI); afx_msg void OnTestPathfind(); afx_msg void OnDisplayPathfindSectors(); afx_msg void OnUpdateDisplayPathfindSectors(CCmdUI* pCmdUI); afx_msg void OnDisplayPathfindPortals(); afx_msg void OnUpdateDisplayPathfindPortals(CCmdUI* pCmdUI); afx_msg void OnDisplayPathfindRawData(); afx_msg void OnUpdateDisplayPathfindRawData(CCmdUI* pCmdUI); afx_msg void OnExportPathfind(); afx_msg void OnImportPathfind(); afx_msg void OnImportVis(); afx_msg void OnExportVis(); afx_msg void OnViewVisWindow(); afx_msg void OnUpdateViewVisWindow(CCmdUI* pCmdUI); afx_msg void OnToggleManVisPoints(); afx_msg void OnUpdateToggleManVisPoints(CCmdUI* pCmdUI); afx_msg void OnDiscardPathfind(); afx_msg void OnDoDebug1(); afx_msg void OnDoDebug2(); afx_msg void OnImportDynObjs(); afx_msg void OnExportDynObjs(); afx_msg void OnTestGoto(); afx_msg void OnImportStatic(); afx_msg void OnExportStatic(); afx_msg void OnDisplayWeb(); afx_msg void OnUpdateDisplayWeb(CCmdUI* pCmdUI); afx_msg void OnUpdateDisplayFullPaths(CCmdUI* pCmdUI); afx_msg void OnDisplayFullPaths(); afx_msg void OnEscape(); afx_msg void OnDisplayVisGrid(); afx_msg void OnUpdateDisplayVisGrid(CCmdUI* pCmdUI); afx_msg void OnDisplayVisSectors(); afx_msg void OnUpdateDisplayVisSectors(CCmdUI* pCmdUI); 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 OnDebugScriptsMode(); afx_msg void OnUpdateDebugScriptsMode(CCmdUI* pCmdUI); afx_msg void OnImportLights(); afx_msg void OnViewSoundSpheres(); afx_msg void OnUpdateViewSoundSpheres(CCmdUI* pCmdUI); afx_msg void OnViewLightSpheres(); afx_msg void OnUpdateViewLightSpheres(CCmdUI* pCmdUI); afx_msg void OnImportSunlight(); afx_msg void OnDiscardVis(); afx_msg void OnIncreaseSphere(); afx_msg void OnUpdateIncreaseSphere(CCmdUI* pCmdUI); afx_msg void OnDecreaseSphere(); afx_msg void OnUpdateDecreaseSphere(CCmdUI* pCmdUI); afx_msg void OnRunJob(); afx_msg void OnGotoLocation(); afx_msg void OnExportThumbnails(); afx_msg void OnVisStats(); afx_msg void OnSetNodeIdStart(); afx_msg void OnBuildDynaCullsys(); afx_msg void OnImportVisRemapData(); afx_msg void OnExportVisRemapData(); afx_msg void OnUpdateBulkReplace(CCmdUI* pCmdUI); afx_msg void OnBulkReplace(); afx_msg void OnCheckIds(); afx_msg void OnExportLights(); afx_msg void OnOptimizeVisData(); afx_msg void OnDisplayVisGridLittleBoxes(); afx_msg void OnUpdateDisplayVisGridLittleBoxes(CCmdUI* pCmdUI); afx_msg void OnEditStringsTable(); afx_msg void OnExportStringIds(); afx_msg void OnImportStringIds(); afx_msg void OnBuildFlightInfo(); afx_msg void OnToggleAttenuationSpheres(); afx_msg void OnUpdateToggleAttenuationSpheres(CCmdUI* pCmdUI); afx_msg void OnFixIdCollisions(); afx_msg void OnResetDynaCullSystem(); afx_msg void OnDisplayLightVectors(); afx_msg void OnUpdateDisplayLightVectors(CCmdUI* pCmdUI); afx_msg void OnDisplayStaticAnimObjects(); afx_msg void OnUpdateDisplayStaticAnimObjects(CCmdUI* pCmdUI); afx_msg void OnEditConversations(); afx_msg void OnBuildingPowerOn(); afx_msg void OnUpdateBuildingPowerOn(CCmdUI* pCmdUI); afx_msg void OnCreateProxies(); afx_msg void OnUpdateCreateProxies(CCmdUI* pCmdUI); afx_msg void OnCheckInPresetChanges(); afx_msg void OnUpdateCheckInPresetChanges(CCmdUI* pCmdUI); afx_msg void OnImmediatePresetCheckin(); afx_msg void OnUpdateImmediatePresetCheckin(CCmdUI* pCmdUI); afx_msg void OnRemapIds(); afx_msg void OnUpdateRemapIds(CCmdUI* pCmdUI); afx_msg void OnVerifyCulling(); afx_msg void OnEnableVisSectorFallback(); afx_msg void OnUpdateEnableVisSectorFallback(CCmdUI* pCmdUI); afx_msg void OnRunManualVisPoints(); afx_msg void OnShowEditorObjects(); afx_msg void OnUpdateShowEditorObjects(CCmdUI* pCmdUI); afx_msg void OnAddChildNode(); afx_msg void OnUpdateAddChildNode(CCmdUI* pCmdUI); afx_msg void OnCheckMemlog(); afx_msg void OnMakeVisPoint(); afx_msg void OnExportStringTable(); afx_msg void OnGotoObject(); afx_msg void OnExportPresets(); afx_msg void OnImportPresets(); afx_msg void OnBatchExport(); afx_msg void OnLockVisSamplePoint(); afx_msg void OnUpdateLockVisSamplePoint(CCmdUI* pCmdUI); afx_msg void OnToggleTerrainSelection(); afx_msg void OnUpdateToggleTerrainSelection(CCmdUI* pCmdUI); afx_msg void OnExportPresetFileDependencies(); afx_msg void OnImportStrings(); afx_msg void OnExportTileList(); afx_msg void OnRemapUnimportantIds(); afx_msg void OnEditLevelSettings(); afx_msg void OnExportTranslationData(); afx_msg void OnImportTranslationData(); afx_msg void OnCompressTextures(); afx_msg void OnUpdateCompressTextures(CCmdUI* pCmdUI); afx_msg void OnExportFileUsageReport(); afx_msg void OnExportMissingTranslationReport(); afx_msg void OnExportLanguage(); afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu); afx_msg void OnAlwaysLocalExport(); afx_msg void OnExportInstallerLanguageVersion(); afx_msg void OnExtractInstallerRcStrings(); afx_msg void OnExtractRcStrings(); afx_msg void OnCameraPerspective(); afx_msg void OnCameraOrthographic(); afx_msg void OnUpdateCameraOrthographic(CCmdUI* pCmdUI); afx_msg void OnUpdateCameraPerspective(CCmdUI* pCmdUI); afx_msg void OnModExport(); afx_msg void OnSaveLevel(); afx_msg void OnComputeVertexSolve(); afx_msg void OnModeHeightEdit(); afx_msg void OnUpdateModeHeightEdit(CCmdUI* pCmdUI); //}}AFX_MSG DECLARE_MESSAGE_MAP() public: ///////////////////////////////////////////////////////////////////////// // Public methods ///////////////////////////////////////////////////////////////////////// FormToolbarClass & Get_Output_Toolbar (void) { return m_OutputToolbar; } FormToolbarClass & Get_Camera_Toolbar (void) { return m_CameraSettingsToolbar; } FormToolbarClass & Get_Ambient_Light_Toolbar (void) { return m_AmbientLightToolbar; } MainDialogBarClass & Get_Main_Dialog_Bar (void) { return m_TestBar; } CLevelEditDoc * Get_Current_Document (void) { return m_pCurrentDoc; } void Show_Ani_Toolbar (bool bshow); void Update_Ani_Frame (int frame, int max_frames); void Update_Poly_Count (void); void Update_Texture_Mem (void); void Update_Camera_Location (const Vector3 &position); CImageList * Get_Image_List (void) { return &m_ImageList; } void Expand_Attenuation_Spheres (float amount); void Toggle_Static_Anims (void) { OnDisplayStaticAnimObjects (); } protected: ///////////////////////////////////////////////////////////////////////// // Protected methods ///////////////////////////////////////////////////////////////////////// void Create_Toolbars (void); void Adjust_Growth_Rate (void); void Restore_Window_State (void); void Configure_File_Factories (void); void Create_Camera_Menu (void); private: ///////////////////////////////////////////////////////////////////////// // Private member data ///////////////////////////////////////////////////////////////////////// FormToolbarClass m_OutputToolbar; FormToolbarClass m_AmbientLightToolbar; FormToolbarClass m_CameraSettingsToolbar; CToolBar m_wndBottomToolBar; CToolBar m_AniToolbar; CReBar m_DialogBar; CLevelEditDoc * m_pCurrentDoc; CImageList m_ImageList; MainDialogBarClass m_TestBar; DWORD m_UpdateTimer; float m_GrowthRate; int m_MaxCamProfiles; DynamicVectorClass m_CameraProfiles; }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_MAINFRM_H__6D711A27_651E_11D2_9FC8_00104B791122__INCLUDED_)