169 lines
5.1 KiB
C++
169 lines
5.1 KiB
C++
/*=========================================================================
|
|
File Name: DIAMECA.HPP
|
|
Purpose: Implements functions handling the mecanics characteristics
|
|
Implements Following Classes:
|
|
|
|
- DiaMeca
|
|
- tdoDeleteEngineMechanicsModif
|
|
- tdoCreateEngineMechanicsModif
|
|
|
|
Author: Yann Le Tensorer
|
|
Date: April/May,1997
|
|
==========================================================================*/
|
|
|
|
#ifndef __diameca_hpp
|
|
#define __diameca_hpp
|
|
|
|
/******************************************/
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif
|
|
/******************************************/
|
|
|
|
#include "matres.h"
|
|
#include "itf.h"
|
|
#include "gmatobj.hpp"
|
|
#include "MMatObj.hpp"
|
|
|
|
#ifndef __AFXEXT_H__
|
|
#include <afxext.h>
|
|
#endif
|
|
|
|
class tdoCopyBuffer;
|
|
|
|
/*===========================================================================
|
|
Class Name: DiaMeca
|
|
Used for: Main class of mecanics dialog
|
|
Author: Yann Le Tensorer
|
|
Date: April 1997
|
|
============================================================================*/
|
|
class DiaMeca : public CFormView
|
|
{
|
|
protected:
|
|
DiaMeca(); // protected constructor used by dynamic creation
|
|
DECLARE_DYNCREATE(DiaMeca)
|
|
|
|
// Form Data
|
|
public:
|
|
//{{AFX_DATA(DiaMeca)
|
|
enum { IDD = IDD_MECA_DIALOG };
|
|
CSliderCtrl m_oSliderAbsorption;
|
|
CButton m_CheckDisableMechanics;
|
|
double m_Rebound;
|
|
double m_Slide;
|
|
//}}AFX_DATA
|
|
//GMT_tdxHandleToGameMaterial m_hHandleToGameMaterial;
|
|
DNM_tdxHandleToMecMatCharacteristics m_hHandleToMecMatCharacteristics;
|
|
DNM_tdxHandleToMecMatCharacteristics m_hDefaultMechanicsMaterial;
|
|
CComboBox *m_p_oMaterialCombo;
|
|
|
|
// Attributes
|
|
private:
|
|
BOOL m_bAllSelected;
|
|
BOOL m_bAutoDispatch;
|
|
BOOL m_bEditColor(GLI_tdstColor *p_stColor);
|
|
//ANNECY Shaitan DisableFunctions (16/04/98) {
|
|
BOOL m_bCommonFile;
|
|
//ENDANNECY Shaitan DisableFunctions }
|
|
|
|
// Operations
|
|
public:
|
|
virtual ~DiaMeca();
|
|
tdoCopyBuffer *m_p_oCopyBuffer;
|
|
void m_vNotifyChangeToScripts();
|
|
void m_fn_vShowMaterial(GMT_tdxHandleToGameMaterial _hMat);
|
|
void m_fn_vSetMaterial(void);
|
|
void m_fn_vEnableWindowFields(BOOL bEnable);
|
|
// Load/Save functions
|
|
void m_fn_vSaveDefault();
|
|
static SCR_tde_Anl_ReturnValue fn_v_LoadMecaDefault(
|
|
SCR_tdst_File_Description *_p_stFile,
|
|
char *_p_szName,
|
|
char *_ap_szPars[],
|
|
SCR_tde_Anl_Action _eAction);
|
|
void m_fn_vInitLoad();
|
|
void m_fn_vLoadDefault();
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(DiaMeca)
|
|
public:
|
|
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
virtual int OnToolHitTest( CPoint point, TOOLINFO* pTI ) const;
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(DiaMeca)
|
|
afx_msg void OnCheckDisableMechanics();
|
|
afx_msg void OnChangeEdits();
|
|
afx_msg void OnButtonSetDefault();
|
|
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnButtonCopyMechanicsMaterial();
|
|
afx_msg void OnButtonRenameMechanicsMaterial();
|
|
afx_msg void OnButtonPasteMechanicsMaterial();
|
|
afx_msg void OnComboEditChange();
|
|
afx_msg void OnComboSelChange();
|
|
afx_msg void OnButtonHighlightColor();
|
|
afx_msg void OnCheckHighlight();
|
|
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
/*===========================================================================
|
|
Class Name: tdoDeleteEngineMechanicsModif
|
|
Used for: deletion of meca mini structure: DO/UNDO
|
|
Author: Yann Le Tensorer / Benoit Germain
|
|
Date: April 1997
|
|
============================================================================*/
|
|
class tdoDeleteEngineMechanicsModif : public CPA_Modif
|
|
{
|
|
public:
|
|
tdoDeleteEngineMechanicsModif(
|
|
GMT_tdxHandleToGameMaterial _MyMatHandle,
|
|
DNM_tdxHandleToMecMatCharacteristics _hMechanicsMaterial
|
|
);
|
|
~tdoDeleteEngineMechanicsModif();
|
|
BOOL Do();
|
|
BOOL Undo();
|
|
protected:
|
|
private:
|
|
GMT_tdxHandleToGameMaterial m_hEditedGameMaterial;
|
|
DNM_tdxHandleToMecMatCharacteristics m_hEditedMechanicsMaterial;
|
|
tdoEditorGameMaterial *m_p_oEditedGameMaterial;
|
|
tdoEditorMechanicsMaterial *m_p_oEditedMechanicsMaterial;
|
|
};
|
|
|
|
/*===========================================================================
|
|
Class Name: tdoCreateEngineMechanicsModif
|
|
Used for: creation of meca mini structure: DO/UNDO
|
|
Author: Yann Le Tensorer / Benoit Germain
|
|
Date: April 1997
|
|
============================================================================*/
|
|
|
|
class tdoCreateEngineMechanicsModif : public CPA_Modif
|
|
{
|
|
public:
|
|
tdoCreateEngineMechanicsModif(GMT_tdxHandleToGameMaterial _MyMatHandle);
|
|
~tdoCreateEngineMechanicsModif();
|
|
BOOL Do();
|
|
BOOL Undo();
|
|
protected:
|
|
private:
|
|
GMT_tdxHandleToGameMaterial m_hEditedGameMaterial;
|
|
DNM_tdxHandleToMecMatCharacteristics m_hMechanicsAfterDo;
|
|
tdoDeleteEngineMechanicsModif *m_p_oDestroyModif;
|
|
};
|
|
|
|
#endif
|