816 lines
24 KiB
C++
816 lines
24 KiB
C++
/*=========================================================================
|
|
*
|
|
* SECmodif.hpp : Definition of Editor Modifications
|
|
*
|
|
*
|
|
* Version 1.0
|
|
* Creation date
|
|
* Revision date
|
|
*
|
|
* Shaitan
|
|
*=======================================================================*/
|
|
#ifndef __SECT_MODIF_HPP__
|
|
#define __SECT_MODIF_HPP__
|
|
|
|
#include "incITF.h"
|
|
#include "incGAM.h"
|
|
|
|
//**************************************
|
|
#ifndef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CPA_EXPORT
|
|
#endif
|
|
#endif
|
|
//**************************************
|
|
|
|
#include "SECTint.hpp"
|
|
|
|
#define TYPE_SECTORLINKS 1
|
|
#define TYPE_SECTORPARAMS 2
|
|
//Shaitan Clean Env
|
|
/*
|
|
#define TYPE_ENVANDSRF 3
|
|
#define TYPE_MODIFENV 4
|
|
#define TYPE_MODIFSRF 5
|
|
#define TYPE_SRFPARAMS 6
|
|
#define TYPE_ENVPARAMS 7
|
|
#define TYPE_MECENV 8
|
|
#define TYPE_APPLY 9
|
|
*/
|
|
#define TYPE_SYMETRICLINKS 10
|
|
#define TYPE_SYMETRICSELECT 11
|
|
#define TYPE_VIRTUALSTATUS 12
|
|
#define TYPE_FULLLINK 13
|
|
//Shaitan Clean Env
|
|
//#define TYPE_REPLACE 14
|
|
#define TYPE_COPYLIST 15
|
|
|
|
|
|
typedef enum
|
|
{
|
|
// sector links
|
|
E_mt_AddSectorInList,
|
|
E_mt_DelSectorInList,
|
|
E_mt_AddFullLink,
|
|
E_mt_DelFullLink,
|
|
// sector params
|
|
E_mt_ChangeLevelOfDetail,
|
|
E_mt_ChangeGraphicMode,
|
|
E_mt_ChangeSoundVolume,
|
|
E_mt_AddSoundEvent,
|
|
E_mt_DelSoundEvent,
|
|
//Shaitan Clean Env
|
|
/*
|
|
// env and srf
|
|
E_mt_AddEnvAndSrf,
|
|
E_mt_DelEnvAndSrf,
|
|
E_mt_ChangeEnv,
|
|
E_mt_ChangeSrf,
|
|
// srf params
|
|
E_mt_ChangeSrfHeight,
|
|
// env params
|
|
E_mt_ChangeMecEnv,
|
|
E_mt_ChangeVisEnv,
|
|
E_mt_ChangeSndEnv,
|
|
// mec env
|
|
E_tm_ModifMecEnv,
|
|
// vis env
|
|
E_tm_ModifVisEnv,
|
|
// apply to sector
|
|
E_tm_ApplyToSectors,
|
|
*/
|
|
// symetric links
|
|
E_tm_SymetricLinks,
|
|
E_tm_SymetricSelect,
|
|
// virtual status
|
|
E_tm_VirtualStatus,
|
|
//Shaitan Clean Env
|
|
// replace env
|
|
// E_tm_Replace,
|
|
E_tm_CopyList,
|
|
// unknown
|
|
E_tm_Unknown
|
|
}
|
|
tdeSectModifType;
|
|
|
|
//#################################################################################
|
|
// SECTORS LINK
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: save sector links
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_SaveSectorLinks : public CObject
|
|
{
|
|
public:
|
|
Sector_Object *m_pSector;
|
|
SECT_ElementBase *m_pNewElement;
|
|
SECT_ElementBase *m_pOldElement;
|
|
int m_iNewParam;
|
|
int m_iOldParam;
|
|
int m_iNewMode;
|
|
int m_iOldMode;
|
|
|
|
SECT_SaveSectorLinks (CPA_SuperObject *pSector, CPA_SuperObject *pModel, tdeTypeList eList);
|
|
~SECT_SaveSectorLinks ();
|
|
|
|
};
|
|
|
|
/*===========================================================================
|
|
* Description: Add or remove sector in sector links
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifSectorLinks : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
SECT_ElementBase * m_aElements[C_NumberOfLists];
|
|
SECT_ElementBase * m_aSymElems[C_NumberOfLists];
|
|
CPA_SuperObject *m_pEditedSector;
|
|
CPA_SuperObject *m_pSectorToAdd;
|
|
tdeSectModifType m_eModifType;
|
|
tdeEditMode m_eCurrentEditMode;
|
|
BOOL m_bSymetric;
|
|
BOOL m_aHadSymElem[C_NumberOfLists];
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bAdded;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifSectorLinks (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pEditedSector, CPA_SuperObject *pSectorToAdd,
|
|
tdeTypeList eTypeList);
|
|
~SECT_ModifSectorLinks (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vInitSymetricLinks (void);
|
|
void fn_vUpdateSymetricLinks (BOOL bDo);
|
|
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
|
|
/*===========================================================================
|
|
* Description: save sector links
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_SaveFullLink : public CObject
|
|
{
|
|
public:
|
|
Sector_Object *m_pSector;
|
|
SECT_ElementBase *m_pElement;
|
|
tdeTypeList m_eListToUpdate;
|
|
|
|
SECT_SaveFullLink (Sector_Object *pSector, SECT_ElementBase *pElement, tdeTypeList eList);
|
|
~SECT_SaveFullLink ();
|
|
};
|
|
|
|
/*===========================================================================
|
|
* Description: Add or remove sector in sector links
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifFullLink : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
tdeTypeList m_eListToUpdate;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bSymetric;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bAdded;
|
|
BOOL m_bDone;
|
|
|
|
CPA_List<SECT_ElementBase> m_oListOfSectors;
|
|
CPA_List<SECT_SaveFullLink> m_oListOfSymetrics;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifFullLink (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pEditedSector, tdeTypeList eTypeList);
|
|
~SECT_ModifFullLink (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vInitSymetricLinks (void);
|
|
void fn_vUpdateSymetricLinks (BOOL bDo);
|
|
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
/*===========================================================================
|
|
* Description: modify parameter in sector links
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifSectorParams : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
SECT_ElementBase *m_pElementToUpdate;
|
|
CPA_SuperObject *m_pEditedSector, *m_pSelectedSector;
|
|
SECT_SoundEvent *m_pSoundEvent;
|
|
tdeSectModifType m_eModifType;
|
|
tdeTypeList m_eListToUpdate;
|
|
int m_iNewValue, m_iOldValue, m_iOldSymetric;
|
|
BOOL m_bSymetricLink;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifSectorParams (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
tdeTypeList eListToUpdate, SECT_ElementBase *pElem,
|
|
int iNewValue, SECT_SoundEvent *pSoundEvent);
|
|
~SECT_ModifSectorParams (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
|
|
};
|
|
|
|
//#################################################################################
|
|
// ENV AND SRF
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: add or remove environment element
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifEnvAndSrf : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
SECT_SurfElem *m_pNewSurfElem, *m_pOldSurfElem;
|
|
SECT_EnvElem *m_pNewEnvElem, *m_pOldEnvElem;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifEnvAndSrf (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pEditedSector, long lNumEnvElem,
|
|
SECT_Environment *pNewEnv, SECT_Surface *pNewSurf);
|
|
~SECT_ModifEnvAndSrf (void);
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: change environment element
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
SECT_Environment *m_pNewEnv, *m_pOldEnv;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
SECT_EnvElem *m_pEnvElem;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
long m_lNumEnvElem;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifEnvElem (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_EnvElem *pEnvElem, SECT_Environment *pNewEnv, long lNumEnvElem);
|
|
~SECT_ModifEnvElem (void);
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: change surface element
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifSurfElem : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
SECT_SurfElem *m_pSurfElem;
|
|
SECT_Surface *m_pNewSurf, *m_pOldSurf;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
long m_lOldNum, m_lNewNum;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifSurfElem (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_SurfElem *pSurfElem, SECT_Surface *pNewSurf, long lNumEnvElem);
|
|
~SECT_ModifSurfElem (void);
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
|
|
//#################################################################################
|
|
// SURFACE
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: modify surface parameters
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifSrfParams : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
tdeSectModifType m_eModifType;
|
|
SECT_Surface *m_pSurface;
|
|
MTH_tdxReal m_xNewHeight, m_xOldHeight;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifSrfParams (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_Surface *pSurface, MTH_tdxReal xNewHeight);
|
|
~SECT_ModifSrfParams (void);
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
//#################################################################################
|
|
// ENVIRONMENT
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: modify environment parameters
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifEnvParams : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
SECT_Environment *m_pEnvironment;
|
|
SECT_MecEnvironment *m_pNewMecEnv, *m_pOldMecEnv;
|
|
SECT_VisEnvironment *m_pNewVisEnv, *m_pOldVisEnv;
|
|
SECT_SndEnvironment *m_pNewSndEnv, *m_pOldSndEnv;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifEnvParams (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_Environment *pEnvironment, SECT_MecEnvironment *pNewMecEnv,
|
|
SECT_VisEnvironment *pNewVisEnv, SECT_SndEnvironment *pNewSndEnv);
|
|
~SECT_ModifEnvParams (void);
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: modify mechanic environment parameters
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifMecEnvParams : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
SECT_MecEnvironment *m_pMecEnv;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
CString m_csNewName, m_csOldName;
|
|
MTH_tdxReal m_xNewGravity, m_xOldGravity;
|
|
DNM_tdstVector m_stNewVertical, m_stOldVertical;
|
|
MTH_tdxReal m_xNewViscosity, m_xOldViscosity;
|
|
MTH_tdxReal m_xNewDensity, m_xOldDensity;
|
|
MTH_tdxReal m_xNewLevel, m_xOldLevel;
|
|
DNM_tdstVector m_stNewStream, m_stOldStream;
|
|
CString m_csNewVolumic, m_csOldVolumic;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifMecEnvParams (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_MecEnvironment *pMecEnv, CString csName,
|
|
MTH_tdxReal xGravity, DNM_tdstVector *pVertical,
|
|
MTH_tdxReal xViscosity, MTH_tdxReal xDensity,
|
|
MTH_tdxReal xLevel, DNM_tdstVector *pStream,
|
|
CString csVolumic);
|
|
~SECT_ModifMecEnvParams (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
/*===========================================================================
|
|
* Description: modify visual environment parameters
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifVisEnvParams : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
SECT_VisEnvironment *m_pVisEnv;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
CString m_csNewName, m_csOldName;
|
|
MTH_tdxReal m_xNewNear, m_xOldNear;
|
|
MTH_tdxReal m_xNewFar, m_xOldFar;
|
|
MTH_tdxReal m_xNewBlendNear, m_xOldBlendNear;
|
|
MTH_tdxReal m_xNewBlendFar, m_xOldBlendFar;
|
|
MTH_tdxReal m_xNewInfinite, m_xOldInfinite;
|
|
GLI_tdstColor m_stNewColor, m_stOldColor;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifVisEnvParams (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_VisEnvironment *pVisEnv, CString csName,
|
|
MTH_tdxReal xNear, MTH_tdxReal xFar,
|
|
MTH_tdxReal xBlendNear, MTH_tdxReal xBlendFar,
|
|
MTH_tdxReal xInfinite, GLI_tdstColor *pColor);
|
|
~SECT_ModifVisEnvParams (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
//#################################################################################
|
|
// APPLY
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: save env lists
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_SaveEnvList : public CObject
|
|
{
|
|
public:
|
|
Sector_Object *m_pSector;
|
|
CPA_List<SECT_Surface> m_oListSrf;
|
|
CPA_List<SECT_Environment> m_oListEnv;
|
|
|
|
SECT_SaveEnvList (Sector_Object *pSector);
|
|
~SECT_SaveEnvList ();
|
|
};
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: apply envlist to sectors
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifApplyToSectors : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pModel;
|
|
CPA_List<SECT_Surface> m_oListSrf;
|
|
CPA_List<SECT_Environment> m_oListEnv;
|
|
CPA_List<SECT_SaveEnvList> m_oListSectors;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifApplyToSectors (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pModel, CPA_List<CPA_SuperObject> *pListSectors);
|
|
~SECT_ModifApplyToSectors (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
|
|
//#################################################################################
|
|
// SYMETRIC
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: apply symetric links to sectors
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifSymetricLinks : public CPA_Modif
|
|
{
|
|
protected:
|
|
CPA_List<SECT_SaveSectorLinks> m_oListSectors;
|
|
Sector_Interface *m_pSectorInterface;
|
|
tdeSectModifType m_eModifType;
|
|
CPA_SuperObject *m_pModel;
|
|
tdeTypeList m_eListToUpdate;
|
|
tdeEditMode m_eCurrentEditMode;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifSymetricLinks (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pModel, tdeTypeList eList);
|
|
~SECT_ModifSymetricLinks (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
|
|
/*===========================================================================
|
|
* Description: apply symetric links to sectors
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifSymetricSelect : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
CPA_SuperObject *m_pSelectedSector;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
SECT_SoundElement *m_pNewSoundElement;
|
|
SECT_GraphicElement *m_pNewGraphicElement;
|
|
SECT_ActivityElement *m_pNewActivityElement;
|
|
SECT_CollisionElement *m_pNewCollisionElement;
|
|
SECT_SoundEventElement *m_pNewSndEvtElement;
|
|
|
|
SECT_SoundEventElement *m_pOldSndEvtElement;
|
|
int m_iOldGraphic, m_iNewGraphic;
|
|
int m_iOldGMode, m_iNewGMode;
|
|
int m_iOldSound, m_iNewSound;
|
|
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifSymetricSelect (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pEditedSector, CPA_SuperObject *pSelectedSector);
|
|
~SECT_ModifSymetricSelect (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
|
|
|
|
//#################################################################################
|
|
// VIRTUAL
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: update virtual sector
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifVirtualSector : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
CPA_SuperObject *m_pBorder;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bNewStatus;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
//constructors
|
|
SECT_ModifVirtualSector (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_SuperObject *pEditedSector, BOOL bNewState);
|
|
|
|
~SECT_ModifVirtualSector (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
|
|
//#################################################################################
|
|
// REPLACE
|
|
//#################################################################################
|
|
//#define C_lMaxEnvironments 20
|
|
|
|
/*===========================================================================
|
|
* Description: save initial sector
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_SaveInitEnv: public CObject
|
|
{
|
|
public:
|
|
Sector_Object *m_pSector;
|
|
long m_aNumEnv[C_lMaxEnvironments];
|
|
long m_lNbEnv;
|
|
|
|
SECT_SaveInitEnv (Sector_Object *pSector, SECT_Environment *pInitEnv);
|
|
~SECT_SaveInitEnv ();
|
|
};
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: apply envlist to sectors
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
class SECT_ModifReplaceEnvironment : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
SECT_Environment *m_pInitEnv;
|
|
SECT_Environment *m_pNewEnv;
|
|
CPA_List<SECT_SaveInitEnv> m_oListSectors;
|
|
tdeSectModifType m_eModifType;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifReplaceEnvironment (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
SECT_Environment *pInitEnv, SECT_Environment *pNewEnv,
|
|
CPA_List<CPA_SuperObject> *pListSectors);
|
|
~SECT_ModifReplaceEnvironment (void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
*/
|
|
|
|
//#################################################################################
|
|
// COPY LIST
|
|
//#################################################################################
|
|
/*===========================================================================
|
|
* Description: apply envlist to sectors
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class SECT_ModifCopyList : public CPA_Modif
|
|
{
|
|
protected:
|
|
Sector_Interface *m_pSectorInterface;
|
|
CPA_SuperObject *m_pEditedSector;
|
|
tdeSectModifType m_eModifType;
|
|
tdeEditMode m_eCurrentEditMode;
|
|
BOOL m_bSymetric;
|
|
BOOL m_bFirstTime;
|
|
BOOL m_bDone;
|
|
|
|
CPA_List<SECT_ElementBase> m_aListOfElements[C_NumberOfLists];
|
|
CPA_List<SECT_ElementBase> m_aListOfSymElems[C_NumberOfLists];
|
|
|
|
public:
|
|
// constructors
|
|
SECT_ModifCopyList (Sector_Interface *pInterface, tdeSectModifType eModifType,
|
|
CPA_List<CPA_SuperObject> *pCopyOfSectorList, tdeTypeList eList);
|
|
~SECT_ModifCopyList(void);
|
|
|
|
// actions
|
|
BOOL Do (void);
|
|
BOOL Undo (void);
|
|
|
|
// functions
|
|
void fn_vReinitEditorState (void);
|
|
void fn_vUpdateEditorState (void);
|
|
};
|
|
|
|
#endif //__SECT_MODIF_HPP__
|