518 lines
23 KiB
C++
518 lines
23 KiB
C++
/*
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Description : Inter.hpp
|
|
//
|
|
// Interface DLL class.
|
|
// This class is implement the DLL class.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// inherit from CPA_ObjectDLLBase
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Creation date: 21 jan 1997 Author: J Thénoz
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Modification date: Author:
|
|
//
|
|
//
|
|
//
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
*/
|
|
|
|
#ifndef __WPINTERF_HPP__
|
|
#define __WPINTERF_HPP__
|
|
|
|
class Light;
|
|
class DiaLight;
|
|
class Geometry3D;
|
|
|
|
//-----------------------------------------------------------
|
|
// Definition of the types objects
|
|
//-----------------------------------------------------------
|
|
#define C_ucLightCursor 1974
|
|
|
|
|
|
//----------------------------------------------------------------------
|
|
// Definition of file extensions
|
|
#define c_Light_3DsMax_File_extension "lg2"
|
|
#define c_Light_File_extension "lgt"
|
|
//----------------------------------------------------------------------
|
|
|
|
class Light_ListBySector
|
|
{
|
|
private:
|
|
CPA_SuperObject *m_pSector;
|
|
CPA_BaseObjectList m_stList;
|
|
|
|
public:
|
|
|
|
Light_ListBySector(CPA_SuperObject *pSector);
|
|
~Light_ListBySector();
|
|
|
|
CPA_SuperObject * GetSector (void) { return m_pSector; }
|
|
CPA_BaseObjectList * GetList (void) { return &m_stList; }
|
|
|
|
void fn_vUpdateList (void);
|
|
};
|
|
|
|
//----------------------------------------------------------
|
|
// Object DLL interface class
|
|
//----------------------------------------------------------
|
|
class Light_Interface : public CPA_ObjectDLLBase
|
|
{
|
|
private :
|
|
static tdstKeyboardActionDef ms_a_stLightKeys[]; // keyboard mapping
|
|
|
|
//--- Flags
|
|
BOOL m_bModifInsertOk; // Force the acception of the AcceptModifInsert message
|
|
BOOL m_bRunEngine;
|
|
BOOL m_bStopDraw;
|
|
BOOL m_bGotoMouseMode; // The cursor show where the light is going to be orient
|
|
BOOL m_bMainDll; // This DLL is the active one when popup menu is called
|
|
BOOL m_bExistSaveFile; // The save file exist
|
|
BOOL m_bFirstBeforeEditor; // Before editor is first executed
|
|
BOOL m_bLoadLight; // create light in loading function
|
|
BOOL m_bSaveRLI; // RLI have change between previous save
|
|
BOOL m_bNotifyIPO; // Notify IPO when save
|
|
BOOL m_bSkipOnModifDelete; // Don't execute OnModifDelete call
|
|
BOOL m_bOrientLight; // We want to orient a light
|
|
BOOL m_bModifyAll; // All lights are modified
|
|
BOOL m_bDialogOnScreen; // is the dialog display on the screen ?
|
|
BOOL m_bClearStatus; // Status line must be cleaned
|
|
//ROMTEAM SelectMode (Ionut Grozea 25/02/98)
|
|
CString m_csLastSelectionType;
|
|
BOOL m_bSelectModeIsLight;
|
|
BOOL m_bPreviousLinkMode;
|
|
//ENDROMTEAM SelectMode (Ionut Grozea)
|
|
|
|
//ROMTEAM RealLights (Ionut Grozea 05/03/98)
|
|
BOOL m_bEditOnlyRealLights;
|
|
//ENDROMTEAM RealLights (Ionut Grozea)
|
|
//ROMTEAM color lights Ionut Grozea 10-08-1998
|
|
BOOL m_bIs2ColorMode;
|
|
//ROMTEAM color lights Ionut Grozea 10-08-1998
|
|
//--- General
|
|
Light* m_o_ModifRadiusLight; // We modify the radius of this light
|
|
CSplitFrame* m_p_oSplitFrameLight; // Main frame of the editor
|
|
CPA_DialogList* m_p_oDialogList; // dialog list
|
|
|
|
//--- popup
|
|
Light* m_poRClicLight; // we make a R button action on this light
|
|
Light* m_poLight; // Light that we edit
|
|
|
|
//--- CPA_List
|
|
CPA_List<Light> m_ListMovingLight; // light that move
|
|
CPA_List<Light> m_ListOfInvalideLight; // light that have an invalide matrix during loadings
|
|
CPA_List<CPA_SuperObject> m_ListDeleteLightBeforeEngine;
|
|
CPA_List<CPA_SuperObject> m_ListOfParentDeleteLightBeforeEngine;
|
|
CPA_List<CPA_SuperObject> m_oModifSectorList; // list of modified sector
|
|
CPA_List<Light> m_oErrorSectorLightList; // list of lights that can't be updated because over 50 lights/sectors
|
|
CPA_KeyActionConfiguration* m_poKeyboard;
|
|
CImageList m_oIconList;
|
|
//ROMTEAM RealLights (Ionut Grozea 05/03/98)
|
|
CPA_List<CPA_SuperObject> m_ListDeleteLight;
|
|
CPA_List<CPA_SuperObject> m_ListOfParentDeleteLight;
|
|
//ENDROMTEAM RealLights (Ionut Grozea)
|
|
|
|
// Shaitan
|
|
CPA_List<Light_ListBySector> m_stListBySector;
|
|
|
|
|
|
public:
|
|
Light_Interface(void);
|
|
~Light_Interface(void);
|
|
|
|
//ROMTEAM RealLights (Ionut Grozea 05/03/98)
|
|
void fn_vRefreshAllLights();
|
|
void fn_bSetRealLight(BOOL bFlag) {m_bEditOnlyRealLights = bFlag;}
|
|
BOOL fn_bGetRealLight() { return m_bEditOnlyRealLights ;}
|
|
void RefreshOnlyRealLights();
|
|
void fn_vSetCursor ( UINT i );
|
|
///ENDROMTEAM RealLights (Ionut Grozea)
|
|
//ROMTEAM color lights Ionut Grozea 10-08-1998
|
|
BOOL fn_bGetColorMode() {return m_bIs2ColorMode;}
|
|
void fn_SetColorMode(BOOL bValue) {m_bIs2ColorMode = bValue;}
|
|
//ROMTEAM color lights Ionut Grozea 10-08-1998
|
|
//ROMTEAM selection Ionut Grozea 14-08-1998
|
|
CPA_DialogList* fn_GetDialogList (void){return m_p_oDialogList;}
|
|
//ROMTEAM selection Ionut Grozea 14-08-1998
|
|
|
|
BOOL fn_bRunEngine (void) { return m_bRunEngine; }
|
|
|
|
CPA_BaseObjectList * fn_pGetListBySector (CPA_SuperObject *pSector);
|
|
void fn_vUpdateListsBySector();
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------------
|
|
// Dll Base
|
|
//----------------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
// BOOL fn_bPreTranslateMessage(MSG * /*p_stMsg*/);
|
|
void fn_vJustAfterRegistered(void);
|
|
void fn_vConstruct(void);
|
|
// void fn_vRefreshDatas(void);
|
|
// void fn_vLevelChanges (void);
|
|
void fn_vLevelHasChanged (void);
|
|
|
|
// Editor Modifs
|
|
void fn_vOnModifDelete (CPA_List<EDT_SaveParents> *pListObjects, tdeTypeModif eType, tdeStatus eStatus);
|
|
void fn_vOnModifParent (CPA_List<EDT_SaveParents> *pListObjects, tdeTypeModif eType, tdeStatus eStatus);
|
|
void fn_vOnModifCopy (CPA_List<EDT_SaveParents> *pListObjects, tdeTypeModif eType, tdeStatus eStatus);
|
|
// void fn_vOnModifName (CPA_SuperObject *pEdObj, CString csInitalName, CString csFinalName, tdeTypeModif eType, tdeStatus eStatus);
|
|
// void fn_vOnSelect (CPA_SuperObject *pEdObj, tdeTypeModif eType, tdeStatus eStatus);
|
|
|
|
void fn_vOnModifInsert (CPA_SuperObject *pEdObj, CPA_SuperObject *pParent,
|
|
tdstPosition *p_stPosition, tdeTypeModif eType, tdeStatus eStatus);
|
|
|
|
// Moves
|
|
void fn_vOnModifMove (CPA_List<EDT_SavePos> *pListObjects, CPA_List<EDT_SaveGlobalPos> *pListConcerned, tdeTypeModif eType, tdeStatus eStatus);
|
|
void fn_vOnBeginMove (CPA_List<CPA_SuperObject> *pListObjects, CPA_List<CPA_SuperObject> *pListConcerned, tdeStatus eStatus);
|
|
void fn_vOnMoving (CPA_List<CPA_SuperObject> *pListObjects, CPA_List<CPA_SuperObject> *pListConcerned, tdeStatus eStatus);
|
|
|
|
// permission
|
|
// BOOL fn_bAcceptModifDelete (CPA_List<CPA_SuperObject> *pListObjects, tdeStatus eStatus);
|
|
// BOOL fn_bAcceptModifParent (CPA_List<CPA_SuperObject> *pListObjects, tdeStatus eStatus);
|
|
// BOOL fn_bAcceptModifCopy (CPA_List<CPA_SuperObject> *pListObjects, tdeStatus eStatus);
|
|
// BOOL fn_bAcceptModifTranslate (CPA_List<CPA_SuperObject> *pListObjects, tdeStatus eStatus);
|
|
// BOOL fn_bAcceptModifRotate (CPA_List<CPA_SuperObject> *pListObjects, tdeStatus eStatus);
|
|
// BOOL fn_bAcceptModifInsert (CPA_SuperObject *pEdObj, CPA_SuperObject *pParent, tdeStatus eStatus);
|
|
BOOL fn_bAcceptModifScale (CPA_SuperObject *pEdObj, tdeStatus eStatus) { return FALSE; }
|
|
// BOOL fn_bAcceptModifName (CPA_SuperObject *pEdObj, tdeStatus eStatus);
|
|
// BOOL fn_bAcceptMultiSelect (void);
|
|
|
|
// to precise selection
|
|
tdeTypeAnswer fn_bAcceptSelect (CPA_SuperObject *pEdObj, ACP_tdxIndex xIndex, HIE_tdstPickInfo *pPicking, tdeStatus eStatus);
|
|
|
|
// orient
|
|
BOOL fn_bAcceptOrientInstance (CPA_SuperObject *pEdObj);
|
|
BOOL fn_bOnClickOrientPosition (CPA_SuperObject *pEdObj, tdstPosition *pOrientPosition);
|
|
BOOL fn_bOnOrientingObject (CPA_SuperObject *pEdObj, tdstPosition *pOrientPosition);
|
|
BOOL fn_bOnEndOrientObject (CPA_SuperObject *pEdObj, tdstPosition *pOrientPosition);
|
|
|
|
|
|
/*===========================================================================
|
|
Dialog List
|
|
=========================================================================*/
|
|
|
|
// BOOL fn_bSetCustomTest (CPA_DialogList *pDialog);
|
|
// BOOL fn_bCustomTestFunction (CString csCurrentType, CString csTestName, CPA_BaseObject *pEdObj);
|
|
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------------
|
|
// Editor Base
|
|
//----------------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
// focus
|
|
// void fn_vHasLostFocus (void);
|
|
// BOOL fn_bHasGainedFocus (void);
|
|
// engine - editor
|
|
void fn_vBeforeEngine (void);
|
|
void fn_vBeforeEditor (void);
|
|
// engine
|
|
// BOOL fn_bAcceptToRunEngine (void);
|
|
// BOOL fn_bAcceptToRunTimerEngine (void);
|
|
// end appli
|
|
// void fn_vJustBeforeClosing (void);
|
|
// BOOL fn_bAcceptToExit (void);
|
|
// save
|
|
// BOOL fn_bAcceptToSave (void);
|
|
void fn_vBeforeSaveAll (void);
|
|
void fn_vAfterSaveAll (void);
|
|
// keys
|
|
//CPA2 Corneliu Babiuc 21-05-98
|
|
BOOL _OnKeyDown (UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
//END CPA2 Corneliu Babiuc 21-05-98
|
|
BOOL _OnKeyUp (UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
// mouse
|
|
// BOOL _OnMouseMove (UINT nFlags, tdstMousePos *p_stPos, MTH3D_tdstVector *p_stVect);
|
|
// BOOL _OnLButtonDblClk (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo);
|
|
// BOOL _OnRButtonDblClk (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo);
|
|
BOOL _OnLButtonDown (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo);
|
|
BOOL _OnRButtonDown (UINT nFlags, tdstMousePos *p_stPos, ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stPickInfo);
|
|
BOOL _OnLButtonUp (UINT nFlags, tdstMousePos *p_stPos);
|
|
// BOOL _OnRButtonUp (UINT nFlags, tdstMousePos *p_stPos);
|
|
// command
|
|
// BOOL _OnCommand (UINT IDCmdMsg);
|
|
// BOOL _OnUpdateCommandUI (UINT uiID, CCmdUI *pCmdUI);
|
|
// dragdrop
|
|
// BOOL _OnDragDropEnd (WPARAM wParam, LPARAM lParam);
|
|
// BOOL _OnDragDropMove (WPARAM wParam, LPARAM lParam);
|
|
// BOOL _OnDragDropLooseFocus (WPARAM wParam, LPARAM lParam);
|
|
// BOOL _OnDragDropGainFocus (WPARAM wParam, LPARAM lParam);
|
|
// add objects to draw
|
|
// void fn_vAddObjectsToDraw (GLD_tdstViewportAttributes *p1, GLI_tdxHandleToLight p2);
|
|
// void fn_vAddObjectsToDraw2 (GLD_tdstViewportAttributes *p1, GLI_tdxHandleToLight p2);
|
|
|
|
/*===========================================================================
|
|
Reinit
|
|
=========================================================================*/
|
|
|
|
// void fn_vOnChangeDevice (void);
|
|
// void fn_vOnChangeWorld (void);
|
|
// void fn_vOnChangeRoot (void);
|
|
|
|
/*===========================================================================
|
|
Models
|
|
=========================================================================*/
|
|
|
|
// BOOL fn_bCanDeleteThisModel (CString csListName, CString csModelType, CString csModelName);
|
|
// void fn_vOnAddModelToList (CPA_ObjectDLLBase *pOwnerDLL, CString csListName, CString csModelName, tdeTypeModif eType);
|
|
|
|
/*===========================================================================
|
|
for Dialog List
|
|
=========================================================================*/
|
|
|
|
CPA_BaseObject * GetDialogSelection (CPA_DialogList *pDialog, CString csTypeName, tdeListDrawMode eDrawMode);
|
|
void GetListsForDialog (CPA_DialogList *pDialog);
|
|
|
|
BOOL fn_bOnSelChangeHierarchyTree (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pSelectedObject, CPA_BaseObject *pSelectedParent);
|
|
BOOL fn_bOnDblClkHierarchyTree (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pSelectedObject, CPA_BaseObject *pSelectedParent);
|
|
BOOL fn_bOnSelChangeListObjects (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pSelectedObject, BOOL bUnselect);
|
|
BOOL fn_bOnDblClkListObjects (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pSelectedObject);
|
|
// BOOL fn_bCanDragItemInHierarchyTree (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pObjectToDrag);
|
|
// BOOL fn_bCanDropItemInHierarchyTree (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pObjectToDrop, CPA_BaseObject *pTarget);
|
|
// BOOL fn_bOnDragDropInHierarchyTree (CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pObject, CPA_BaseObject *pTarget);
|
|
// BOOL fn_bOnSelChangeComboList (CPA_DialogList *pDialog, CString csTypeName);
|
|
// BOOL fn_bOnButtonTest (CPA_DialogList *pDialog, CString csTypeName, tdeListDrawMode eDraw);
|
|
|
|
BOOL fn_bOnKeyDownInDialog (CPA_DialogList *pDialog, CString csTypeName, tdeListDrawMode eDraw,
|
|
CPA_BaseObject *pSelectedObject, UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
// BOOL fn_bOnKeyUpInDialog (CPA_DialogList *pDialog, CString csTypeName, tdeListDrawMode eDraw,
|
|
// CPA_BaseObject *pSelectedObject, UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
// void fn_vInitDefaultParameters (CPA_DialogList *pDialog);
|
|
|
|
// void fn_vSetANewTest (CPA_DialogList *pDialog, CString csCurrentList);
|
|
BOOL fn_bTestFunction (CString csCurrentType, CString csTestName, CPA_BaseObject *pEdObj);
|
|
|
|
// CString GetInfoForListItem (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pObject);
|
|
// int GetIconForListItem (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pObject);
|
|
int GetStateForListItem (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pObject);
|
|
|
|
// CPA_BaseObject * GetTreeNodeFirstChild (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pParent);
|
|
// CPA_BaseObject * GetTreeNodeNextChild (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pParent, CPA_BaseObject *pCurrentChild);
|
|
// int GetIconForTreeItem (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pObject);
|
|
// int GetStateForTreeItem (CPA_DialogList *pDialog, CString csListName, CPA_BaseObject *pObject);
|
|
|
|
|
|
|
|
|
|
/*===========================================================================
|
|
Current Editor
|
|
=========================================================================*/
|
|
|
|
tdePermission fn_eAcceptNewEditor (CPA_EditorBase *pNewEditor);
|
|
|
|
// BOOL fn_bCanActivateEditor (CPA_List<CPA_BaseObject> *pParams);
|
|
void fn_vOnActivateEditor (CPA_List<CPA_BaseObject> *pParams, BOOL bBackActivated=FALSE);
|
|
|
|
// BOOL fn_bCanCloseEditor (void);
|
|
void fn_vOnCloseEditor (void);
|
|
|
|
// void fn_vBackActiveMe (void *pMyData);
|
|
// void fn_vEraseWalkDataStructure (void *pMyData);
|
|
|
|
/*===========================================================================
|
|
Dialog Bar - Mircea Dunka 31 Aug. 1998
|
|
=========================================================================*/
|
|
void fn_vDefineDlgBarBtnIcon (tde_DlgBarCategory wCategory, tds_DlgBarBtn *_pDlgBarBtn);
|
|
|
|
/*===========================================================================
|
|
SubMenus and PopupMenu
|
|
=========================================================================*/
|
|
|
|
BOOL fn_bDefineSubMenu (EDT_SubMenu *_p_oEDTSubMenu);
|
|
void _OnSubMenuCommand (EDT_SubMenu *_p_oEDTSubMenu,UINT uiMsgID);
|
|
|
|
BOOL fn_bDefinePopupMenu (EDT_PopUpMenu *pPopup, CPA_List<CPA_SuperObject> *pSelection, BOOL bAsCurrentEditor);
|
|
void _OnPopUpMenuCommand (UINT m_IDCmdMsg);
|
|
|
|
/*===========================================================================
|
|
Coherence
|
|
=========================================================================*/
|
|
|
|
// BOOL fn_bOnInvalidateLink (CPA_BaseObject *pOwner, CPA_BaseObject *pReferencedObject, BOOL bDestroyed);
|
|
// void fn_vOnRestoreLink (CPA_BaseObject *pOwner, CPA_BaseObject *pReferencedObject);
|
|
// void fn_vOnModifyChild (CPA_BaseObject *pOwner, CPA_BaseObject *pReferencedObject, unsigned long _ulData);
|
|
|
|
|
|
/*===========================================================================
|
|
Draw Flag
|
|
=========================================================================*/
|
|
|
|
// void fn_vOnModifDrawFlag (CPA_SuperObject *pSuperObject);
|
|
|
|
/*===========================================================================
|
|
General Purpose
|
|
=========================================================================*/
|
|
|
|
long OnQueryAction (CPA_EditorBase * /*p_oSender*/, WPARAM, LPARAM);
|
|
// long OnQueryInfos (CPA_EditorBase * /*p_oSender*/, WPARAM, LPARAM);
|
|
// long OnQueryOpen (CPA_EditorBase * /*p_oSender*/, WPARAM, LPARAM);
|
|
// long OnQueryClose (CPA_EditorBase * /*p_oSender*/, WPARAM, LPARAM);
|
|
|
|
/*===========================================================================
|
|
Reachable Objects
|
|
=========================================================================*/
|
|
|
|
// BOOL fn_bLoadBaseObject (CPA_BaseObject *p_oObject);
|
|
|
|
|
|
//----------------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------------
|
|
// Object DllBase
|
|
//----------------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------------
|
|
|
|
// hierarchy
|
|
// CPA_SuperObject * GetNewEditorInstance (HIE_tdxHandleToSuperObject pEngineInstance);
|
|
void fn_vBuildNewEditorInstance (CPA_SuperObject *pEditorInstance, HIE_tdxHandleToSuperObject pEngineInstance);
|
|
// void fn_vUpdateEditorInstance (CPA_SuperObject *pEditorInstance, HIE_tdxHandleToSuperObject pEngineInstance);
|
|
// BOOL fn_bCanHandleThisType (long lEngineType);
|
|
// models & instances
|
|
void fn_vInitListByType (CPA_World *pWorld);
|
|
void fn_vInitListsOfModels (void);
|
|
// void fn_vSaveListModels (CString csListName, CPA_List<EDT_Model> *pListModels);
|
|
// CString fn_csLoadListModels (void);
|
|
// EDT_Model * GetNewModel (CString csListName);
|
|
// BOOL fn_bCanLoadNewModel (CString csListName);
|
|
// BOOL fn_bCanDeleteModel (CString csListName);
|
|
// BOOL fn_bCanSaveListModels (CString csListName);
|
|
// BOOL fn_bCanLoadListModels (void);
|
|
// void fn_vOnLoadNewModel (CString csListName, EDT_Model *pNewModel);
|
|
|
|
CPA_SuperObject * GetNewInstance (CString csTypeName, CString csModelName, CPA_SuperObject *pParent);
|
|
tdeTypeSO GetTypeInstance (CString csTypeName, CString csModelName);
|
|
//ANNECY Shaitan EmptySectors 25/02/98
|
|
tdeSaveStatus GetStatusInstance (CString csTypeName, CString csModelName);
|
|
//ENDANNECY Shaitan EmptySectors
|
|
CPA_SuperObject * GetParentForInsertion (CString csTypeName, CString csModelName, tdstPosition *p_stPosition);
|
|
// BOOL fn_bChooseInsertPosition (CPA_SuperObject *pNewInstance, CPA_SuperObject *pParent, tdstPosition *p_stPosition);
|
|
|
|
// objects
|
|
CPA_BaseObject * GetNewObject (CString csObjectFile, CString csObjectName, FILE *p_fFile, CPA_MainWorld *p_oMainWorld);
|
|
CPA_BaseObject * Duplicate (CPA_BaseObject *pObject, CPA_SuperObject *pNewSuperObject);
|
|
|
|
CPA_SuperObject * GetCopyOfProtectedChild (CPA_SuperObject *pInitialChild, CPA_SuperObject *pNewOwner);
|
|
|
|
// permissions for EvtEditor
|
|
// BOOL fn_bAcceptAsParent (CPA_BaseObject *pChild, CPA_BaseObject *pParent);
|
|
// BOOL fn_bAcceptAsChild (CPA_BaseObject *pParent, CPA_BaseObject *pChild);
|
|
|
|
// for bounding volumes
|
|
// void fn_vComputeBoundingVolume(CPA_BaseObject *pObject);
|
|
ACP_tdxHandleOfObject fn_hGetBoundingVolume(CPA_BaseObject *_pObj);
|
|
|
|
// when insertion is canceled
|
|
// void fn_vOnCancelInsertion (CPA_SuperObject *pInstance);
|
|
|
|
// Shaitan Scale {
|
|
// to scale editor objects
|
|
CPA_SuperObject * GetVisualSuperObject (CPA_SuperObject *pInstance);
|
|
//End Shaitan Scale }
|
|
|
|
BOOL fn_bIsExistFile (void) { return m_bExistSaveFile; }
|
|
void fn_vSetExistFile (BOOL bExistSaveFile) { m_bExistSaveFile=bExistSaveFile; }
|
|
|
|
// Redefinition
|
|
EDT_Model * fn_pstLoadNewDescriptor (void);
|
|
|
|
|
|
//----------------------------------------------------------- Loading
|
|
void fn_vLoadStaticLight (void);
|
|
CPA_SuperObject* fn_pCreateNewLightFromEngineHandle ( GLI_tdxHandleToLight hStaticLight );
|
|
|
|
//-------------------------------------------------------- save preferences
|
|
void fn_vSaveDialogsPreferences (void);
|
|
|
|
//----------------------------------------------------------- Edition
|
|
void fn_vEdit (Light* poLight,BOOL bSelectInList=TRUE);
|
|
void fn_vSetRLIDrawMask (BOOL bOnlyRLI );
|
|
|
|
//---------------------------------------------------------- Sector
|
|
void fn_vAddModifSectorList ( CPA_List<CPA_SuperObject>* poList ) { m_oModifSectorList.AddTail(poList); }
|
|
|
|
//--------------------------------------------------- status line
|
|
void fn_vSetClearStatus (BOOL bClearStatus) { m_bClearStatus = bClearStatus; }
|
|
void fn_vClearStatus (void);
|
|
|
|
//--------------------------------------------------- other functions
|
|
void fn_vComputeAbsoluteMatrix (CPA_SuperObject* psoWP);
|
|
void fn_vComputeNewRelativeMatrix (HIE_tdxHandleToSuperObject _hSprObj);
|
|
void fn_vComputeInsertMatrix (CPA_SuperObject* poInsertSuperObject, CPA_SuperObject* poFatherSuperObject );
|
|
|
|
//--------------------------------------- Get new graphical instances
|
|
CPA_SuperObject* fn_pGetNewSpotGraphicObject (GLI_tdstLight_ *p_stLight = NULL);
|
|
CPA_SuperObject* fn_pGetNewSphericalGraphicObject (GLI_tdstLight_ *p_stLight = NULL);
|
|
CPA_SuperObject* fn_pGetNewParallelGraphicObject (GLI_tdstLight_ *p_stLight = NULL);
|
|
CPA_SuperObject* fn_pGetNewAmbientGraphicObject (GLI_tdstLight_ *p_stLight = NULL);
|
|
CPA_SuperObject* fn_pGetNewFogGraphicObject (GLI_tdstLight_ *p_stLight = NULL);
|
|
CPA_SuperObject* fn_pGetNewConeGraphicObject (void);
|
|
CPA_SuperObject* fn_pGetNewSphereGraphicObject (void);
|
|
|
|
CPA_SuperObject* fn_pGetNewCursorGraphicObject (GLI_tdstLight_ *p_stLight = NULL);
|
|
|
|
//CHINA WFQ (MT) 16-02-98 {
|
|
CPA_SuperObject* fn_pGetNewParallelBoxGraphicObject (void);
|
|
CPA_SuperObject* fn_pGetNewBoxGraphicObject (void);
|
|
//ENDCHINA WFQ }
|
|
//ROMTEAM Z_Light Ionut Grozea 01-05-1998
|
|
CPA_SuperObject* fn_pGetNewZGraphicObject (void);
|
|
//ENDROMTEAM Z_Light Ionut Grozea 01-05-1998
|
|
inline void fn_vRefreshHierarchyList (void);
|
|
|
|
|
|
//------------------------------------ Edition
|
|
void fn_vRefreshLight (Light* poLight=NULL, BOOL bDelete=FALSE, BOOL bDraw=TRUE );
|
|
|
|
void fn_vRefreshGameLight (void);
|
|
void fn_vRefreshGameLight (Light* poLight, BOOL bDelete=FALSE, BOOL bSaveRLI=TRUE);
|
|
void fn_vMakeLightArray ( long* lNbLight, GLI_tdxHandleToLight* d_hLight );
|
|
void fn_vSwitchOnLight ( Light* poLight, BOOL bOn );
|
|
|
|
|
|
//-------------------------- RLI
|
|
void fn_vComputeRLI (BOOL bSave=TRUE);
|
|
|
|
CString fn_csGetSaveFileName (void); // return current file name
|
|
|
|
void fn_vGiveProgressInfo(CString csMessage, signed char cPercentage, BOOL _bNoHighlight = TRUE );
|
|
|
|
|
|
protected :
|
|
void fn_vPick ( ACP_tdxIndex* pxNbPicked, HIE_aDEF_stTabOfPickInfo& ra_stPickInfo, tdstMousePos *p_stPos);
|
|
CPA_SuperObject* fn_pExplorePicking (ACP_tdxIndex xIndex, HIE_tdstPickInfo *p_stObject, long lTypeObject, ACP_tdxIndex* pxFindIndex=NULL );
|
|
|
|
void fn_vInitListOfLightSectionSector (void);
|
|
void fn_vDeleteInvalideLight (void);
|
|
|
|
void fn_vCreate3DSMaxLights (void);
|
|
|
|
// extract a reachable object from the list
|
|
CPA_BaseObject* fn_pSelectLightParam ( CPA_List<CPA_BaseObject> *pParams );
|
|
unsigned short fn_iKeyAction ( UINT cKey ) { return m_poKeyboard->mfn_uwKeyToAction(cKey); }
|
|
void fn_vExistSaveFile (void);
|
|
|
|
BOOL fn_bIs3DsMaxLight (void);
|
|
void fn_vUpDateAllLight (void);
|
|
|
|
void fn_vSaveRLIModifyIPO (void);
|
|
|
|
public:
|
|
//ROMTEAM color lights Ionut Grozea 10-08-1998
|
|
void fn_vInitGameMaterial ( Geometry3D* poGeomObject, ACP_tdxHandleOfElement hElement, float fR, float fG, float fB );
|
|
//ENDROMTEAM color lights Ionut Grozea 10-08-1998
|
|
|
|
};
|
|
|
|
extern tdstDLLIdentity g_stLightIdentity;
|
|
|
|
|
|
#endif // __WPINTERF_HPP__
|
|
|
|
|
|
|
|
|