Add rayman2 source files

This commit is contained in:
2024-09-18 02:33:44 +08:00
parent bcc093f8ed
commit fb036c54fd
14339 changed files with 2596224 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : CurObj.hpp
//
// Definition of the cursor object
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// inherit from : CPA_Object
// CPA_EdMot<ACP_tdxHandleOfLink>
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 5 mar 1997 Author: J Th<54>noz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef __CursorOBJECT_HPP__
#define __CursorOBJECT_HPP__
// #include "itf.h"
//#include "gli.h"
// #include "cpalib.h"
// FBFFBF attention, include interdit !!!, priv<69>, moteur
// #include "geoobj.h"
// fin FBF
class Light_Interface;
class Light;
//----------- engine structure
typedef struct {} tdstCursor;
typedef tdstCursor* ACP_tdxHandleOfCursor;
//-----------
class Cursor : public CPA_Object, public CPA_EdMot<ACP_tdxHandleOfCursor>
{
protected:
MTH3D_tdstVector m_stVertex; // local Vertex of the cursor in the m_poParent axis
GLI_tdxValue m_xDim; // dim of the cursor
CPA_SuperObject* m_poParent; // parent object = physical parent : just for axis to store vertex
public:
// static
static void fn_vInitObject (void);
Cursor (CPA_MainWorld *p_oMainWorld, CPA_ObjectDLLBase *p_oDLL, CPA_ReachableObject *poOwner );
void *GetEngineStruct (void) { return NULL; }
Light_Interface* GetInterface (void);
Light* fn_pGetParentLight (void) { return (Light*)(m_poParent->GetObject()); }
//set
void fn_vSetAbsoluteVertex ( MTH3D_tdstVector* pAbsoluteVertex );
void fn_vSetLocalVertex ( MTH3D_tdstVector* pLocalVertex ) { m_stVertex = *pLocalVertex; }
//get
void fn_vGetAbsoluteVertex ( MTH3D_tdstVector* pAbsoluteVertex );
void fn_vGetLocalVertex ( MTH3D_tdstVector* pLocalVertex ) { *pLocalVertex = m_stVertex; }
// moves
void fn_vStartMove ( MTH3D_tdstVector* pstStartVertex );
void fn_vMove ( MTH3D_tdstVector* pstTranslation );
// draw
void fn_vDraw (void);
};
#endif //__OBJECT_HPP__

View File

@@ -0,0 +1,53 @@
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : EdLight.h
//
// Engine structure for Spots
//
///////////////////////////////////////////////////////////////////////////////////////////////////
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 11 feb 1997 Author: J Th<54>noz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef __EDLIGHT_H__
#define __EDLIGHT_H__
//#include "acp_base.h"
//#include "gli.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
//------------------------------------ Spots
GLI_tdxHandleToLight fn_hConstructLight (void);
void fn_vDestroyLight (GLI_tdxHandleToLight hSpot);
//ACP_tdxHandleOfLight fn_hDuplicateSpot (GLI_tdxHandleToLight hLight);
void fn_vCopyLight ( GLI_tdxHandleToLight hLightDest, GLI_tdxHandleToLight hLightSrc );
//void fn_vInvalidateLight(GLI_tdxHandleToLight* hLight);
//ACP_tdxBool fn_bIsLightValid (GLI_tdxHandleToLight hLight);
//------- Type of light
void fn_vSetTypeLight (long lType_);
long fn_lGetTypeLight (void);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif

View File

@@ -0,0 +1,517 @@
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// 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<54>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__

View File

@@ -0,0 +1,202 @@
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : SpotMod.hpp
//
// Modification classes
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// inherit from CPA_Modif
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 11 feb 1997 Author: J Th<54>noz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef __SPOTMOD_HPP__
#define __SPOTMOD_HPP__
#define TYPE_CHANGE_RGB 15
#define TYPE_CHANGE_NEARFAR 16
#define TYPE_CHANGE_ALPHA 17
#define TYPE_CHANGE_STATE 18
#define TYPE_CHANGE_INTENSITY 19
//CHINA WFQ (MT) 16/02/98 {
#define TYPE_CHANGE_INTER_MIN 20
#define TYPE_CHANGE_INTER_MAX 21
#define TYPE_CHANGE_EXTER_MIN 22
#define TYPE_CHANGE_EXTER_MAX 23
#define TYPE_CHANGE_INTENSITY_MIN_MAX 24
//ENDCHINA WFQ }
class Light;
class ModifLightRGB : public CPA_Modif
{
protected:
Light* m_poLight;
GEO_tdstColor m_stColor;
GEO_tdstColor m_stOldColor;
BOOL m_bRedo;
public :
ModifLightRGB (Light* poLight, GEO_tdstColor& stColor, BOOL pBlock=0);
void fn_vSetLightRGB ( GEO_tdstColor& stColor );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLightIntensity : public CPA_Modif
{
Light* m_poLight;
float m_fIntensity;
float m_fOldIntensity;
GEO_tdstColor m_stColor;
BOOL m_bRedo;
public:
ModifLightIntensity (Light* poLight, float& fIntensity, BOOL pBlock=0);
void fn_vSetLightIntensity (float& fIntensity);
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
protected:
void fn_vChangeIntensity (float& fIntensity);
};
class ModifLightNearFar : public CPA_Modif
{
protected:
Light* m_poLight;
MTH_tdxReal m_stNearValue;
MTH_tdxReal m_stFarValue;
MTH_tdxReal m_stOldNearValue;
MTH_tdxReal m_stOldFarValue;
BOOL m_bRedo;
public :
ModifLightNearFar (Light* poLight, MTH_tdxReal& xNearValue, MTH_tdxReal& xFarValue, BOOL pBlock=0);
void fn_vSetLightNearFar ( MTH_tdxReal& xNearValue, MTH_tdxReal& xFarValue );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLightAlpha : public CPA_Modif
{
protected:
Light* m_poLight;
MTH_tdxReal m_stBigAlpha;
MTH_tdxReal m_stLittleAlpha;
MTH_tdxReal m_stOldBigAlpha;
MTH_tdxReal m_stOldLittleAlpha;
BOOL m_bRedo;
public :
ModifLightAlpha (Light* poLight, MTH_tdxReal& xLittleAplha, MTH_tdxReal& xBigAlpha, BOOL pBlock=0);
void fn_vSetLightAlpha ( MTH_tdxReal& xLittleAplha, MTH_tdxReal& xBigAlpha );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLightOnOff : public CPA_Modif
{
protected:
Light* m_poLight;
BOOL m_bState;
BOOL m_bRedo;
public :
ModifLightOnOff (Light* poLight, BOOL bState, BOOL pBlock=0);
void fn_vSetLightOnOff ( BOOL bState );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
//CHINA WFQ (MT) 16/02/98 {
class ModifLight_Intensity_Min_Max : public CPA_Modif
{
protected:
Light* m_poLight;
MTH_tdxReal m_stIntensity_Min;
MTH_tdxReal m_stIntensity_Max;
MTH_tdxReal m_stOldIntensity_Min;
MTH_tdxReal m_stOldIntensity_Max;
public :
ModifLight_Intensity_Min_Max (Light* poLight, MTH_tdxReal& xIntensity_Min, MTH_tdxReal& xIntensity_Max, BOOL pBlock=0);
void fn_vSetLight_Intensity_Min_Max ( MTH_tdxReal& xIntensity_Min, MTH_tdxReal& xIntensity_Max );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLight_Inter_Min_Pos : public CPA_Modif
{
protected:
Light* m_poLight;
MTH3D_tdstVector m_stInter_Min_Pos;
MTH3D_tdstVector m_stOldInter_Min_Pos;
public :
ModifLight_Inter_Min_Pos (Light* poLight, MTH3D_tdstVector xInter_Min_Pos, BOOL pBlock=0);
void fn_vSetLight_Inter_Min_Pos ( MTH3D_tdstVector xInter_Min_Pos );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLight_Inter_Max_Pos : public CPA_Modif
{
protected:
Light* m_poLight;
MTH3D_tdstVector m_stInter_Max_Pos;
MTH3D_tdstVector m_stOldInter_Max_Pos;
public :
ModifLight_Inter_Max_Pos (Light* poLight, MTH3D_tdstVector xInter_Max_Pos, BOOL pBlock=0);
void fn_vSetLight_Inter_Max_Pos ( MTH3D_tdstVector xInter_Max_Pos );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLight_Exter_Min_Pos : public CPA_Modif
{
protected:
Light* m_poLight;
MTH3D_tdstVector m_stExter_Min_Pos;
MTH3D_tdstVector m_stOldExter_Min_Pos;
public :
ModifLight_Exter_Min_Pos (Light* poLight, MTH3D_tdstVector xExter_Min_Pos, BOOL pBlock=0);
void fn_vSetLight_Exter_Min_Pos ( MTH3D_tdstVector xExter_Min_Pos );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
class ModifLight_Exter_Max_Pos : public CPA_Modif
{
protected:
Light* m_poLight;
MTH3D_tdstVector m_stExter_Max_Pos;
MTH3D_tdstVector m_stOldExter_Max_Pos;
public :
ModifLight_Exter_Max_Pos (Light* poLight, MTH3D_tdstVector xExter_Max_Pos, BOOL pBlock=0);
void fn_vSetLight_Exter_Max_Pos ( MTH3D_tdstVector xExter_Max_Pos );
Light* fn_pGetLight (void) { return m_poLight; }
BOOL Do (void);
BOOL Undo (void);
};
//ENDCHINA WFQ }
#endif

View File

@@ -0,0 +1,223 @@
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : WPObj.hpp
//
// Definition of the Light editors objects
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// inherit from : CPA_Object
// CPA_EdMot<ACP_tdxHandleOfLink>
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 11 feb 1997 Author: J Th<54>noz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef __WPOBJECT_HPP__
#define __WPOBJECT_HPP__
//----------------------------------------------------------------------
// Definition of the name of the models
static CString csSpotModelName = "Spot";
static CString csSphericalModelName = "Spherical";
static CString csParallelModelName = "Parallel";
static CString csAmbientModelName = "Ambient";
//CHINA WFQ (MT) 16/02/98 {
static CString csParallelBoxModelName = "ParallelBox";
//ENDCHINA WFQ }
//ROMTEAM Z_Light Ionut Grozea 01-05-1998
static CString csZModelName = "Z_Light";
//ENDROMTEAM Z_Light Ionut Grozea 01-05-1998
//ANNECY jt {
static CString csFogModelName = "Fog";
//ENDANNECY jt }
//----------------------------------------------------------------------
class DiaLight;
class Light_Interface;
class Light : public CPA_SaveObject, public CPA_EdMot<GLI_tdxHandleToLight>
{
protected:
static Light_Interface* ms_poInterface;
static DiaLight* ms_poDiaLight; // dialog
static BOOL ms_bNotifyHeader; // header of this file is already notify
static BOOL ms_bStopNotification; // Stop notification
static CPA_List<CPA_SectionObject> ms_oListOfSectionObject;// List of all the sector sections
BOOL m_b3DsMaxLight; // light created with 3DsMax
BOOL m_bLightOn; // The light is on ?
BOOL m_bModify; // the light has been changed since last load
CPA_SuperObject* m_poSuperObject; // Super Object
CPA_SectionObject* m_poMatrixSection;
CPA_List<CPA_SuperObject> m_oSectorList; // list of affected sectors
CPA_List<CPA_SectionObject> m_oListOfSectorSection; // list of sector SectionObject
float m_fIntensity; // light intensity ( 0-10 )
long m_lType; // type of the light
//ROMTEAM BlendRLI (Ionut Grozea 24/02/98)
long m_lIsTypePaint; // is type of the light Paint
//ENDROMTEAM BlendRLI (Ionut Grozea)
public:
CPA_SuperObject* m_poNearSuperObject; // near edit objetct
CPA_SuperObject* m_poFarSuperObject; // far edit object
//CHINA WFQ (MT) 16/02/98 {
CPA_SuperObject* m_poInterSuperObject;
CPA_SuperObject* m_poExterSuperObject;
//ENDCHINA WFQ }
BOOL m_bSelect; // Is this light selected ?
//--- static
static void fn_vInitObject (void);
static void fn_vSetDialog ( DiaLight* poDiaLight, Light_Interface* pInterface );
static DiaLight* fn_pGetDialog ( void ) { return ms_poDiaLight; }
static void fn_vSetNotifyHeader (BOOL bNotifyHeader) { ms_bNotifyHeader=bNotifyHeader; }
static void fn_vStopNotification (BOOL bStopNotification) { ms_bStopNotification = bStopNotification; }
static Light_Interface* GetInterface (void) { return ms_poInterface; }
static void fn_vInitListOfSectionObject (void);
static void fn_vFreeListOfSectionObject (void);
static CPA_SectionObject* fn_poFindSectionObject ( CPA_SuperObject* poSector );
static void fn_vUpdateSectorSection (void);
// load save
static SCRIPT_tdeReturnValue CallBackLoad (FILE *p_fFile, char *szAction, char *szParams[], SCRIPT_tdeAction cType);
static void fn_vCallbackHeader ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData,SCR_tde_Ntfy_Action _eAction );
static void fn_vCallbackSave ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData,SCR_tde_Ntfy_Action _eAction );
static void fn_vCallBackSaveSector ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData,SCR_tde_Ntfy_Action _eAction );
static void fn_vCallbackSaveMatrix ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData,SCR_tde_Ntfy_Action _eAction );
Light(CPA_MainWorld *p_oMainWorld, CPA_ObjectDLLBase *p_oDLL, CString csFileName );
Light(CPA_MainWorld *p_oMainWorld, CPA_ObjectDLLBase *p_oDLL, GLI_tdxHandleToLight hEngineLight, CString csName, CString csFileName, CString csSectionName );
Light( Light& rLight);
~Light();
//--- data
long GetDataType (void);
void* GetData (void);
//--- get
long fn_lGetType (void) { return m_lType; }
CPA_List<CPA_SuperObject>* fn_pGetSectorList ( void ) { return &m_oSectorList; }
BOOL fn_vAddSector ( CPA_SuperObject* poObject );
BOOL fn_bIsAffectedSector ( CPA_SuperObject* poSuperSector ) { return m_oSectorList.Find(poSuperSector)!=NULL; }
CPA_SuperObject* GetSuperObject (void) { return m_poSuperObject; }
CPA_SectionObject* GetMatrixSection (void) { return m_poMatrixSection; }
BOOL fn_bIs3DsMaxLight (void) { return m_b3DsMaxLight; }
BOOL fn_bIsLightOn (void) { return m_bLightOn; }
BOOL fn_bIsModify (void) { return m_bModify; }
//--- set
void SetSuperObject ( CPA_SuperObject* poSuperObject ) { m_poSuperObject = poSuperObject; }
void Set3DsMaxLight (BOOL b3DsMaxLight) { m_b3DsMaxLight=b3DsMaxLight; }
void fn_vSetLightOn (BOOL bOn) { m_bLightOn=bOn; }
void fn_vSetModify ( BOOL bModify ) { m_bModify=bModify; }
//--- Save notify
void fn_vUpDateSectorSection (void);
void fn_vNotifySave (void);
void fn_vNotifyUnSave (void);
void fn_vNotifyRestore (void);
void fn_vNotifyRename (void);
void fn_vUpdateReference (CPA_SaveObject *pReferencedObject);
//--- color -> control edit manager
void fn_vSetColor ( GEO_tdxColorValue xR, GEO_tdxColorValue xG, GEO_tdxColorValue xB, GEO_tdxColorValue xA );
void fn_vGetColor ( GEO_tdxColorValue* xR, GEO_tdxColorValue* xG, GEO_tdxColorValue* xB, GEO_tdxColorValue* xA );
//--- intensity
void fn_vSetIntensity ( float fIntensity ) { m_fIntensity = fIntensity; }
float fn_fGetIntensity (void) { return m_fIntensity; }
//--- intensity -> control edit manager
void fn_vSetLightIntensity ( float& fIntensity );
//--- alpha / near-far -> control edit manager
void fn_vSetLightAlpha ( MTH_tdxReal& xLittleAlpha, MTH_tdxReal& xBigAlpha );
void fn_vSetLightNearFar ( MTH_tdxReal& xNear, MTH_tdxReal& xFar );
//CHINA WFQ (MT) 16/02/98 {
void fn_vSetLight_Intensity_Min_Max ( MTH_tdxReal& xIntensity_Min, MTH_tdxReal& xIntensity_Max );
void fn_vSetLight_Inter_Min_Pos ( MTH3D_tdstVector& xInter_Min_Pos);
void fn_vSetLight_Inter_Max_Pos ( MTH3D_tdstVector& xInter_Max_Pos);
void fn_vSetLight_Exter_Min_Pos ( MTH3D_tdstVector& xExter_Min_Pos);
void fn_vSetLight_Exter_Max_Pos ( MTH3D_tdstVector& xExter_Max_Pos);
//ENDCHINA WFQ }
//--- change radius of lights
void fn_vSetMouseControl (MTH3D_tdstVector* pstTranslation, BOOL bModifNearRadius, BOOL bModifFarRadius );
//--- On/Off
void fn_vSetOnOff (BOOL bState);
BOOL fn_bGetOnOff (void);
//ROMTEAM BlendRLI (Ionut Grozea 24/02/98)
BOOL fn_bIsPaint(void);
BOOL fn_bIsAlphaLight(void);
BOOL fn_bIsNoAlphaLight(void);
void fn_vSetTypePaint();
void fn_vSetLightForAlpha();
void fn_vSetTypeNormal();
//ENDROMTEAM BlendRLI (Ionut Grozea)
//ROMTEAM color lights Ionut Grozea 10-08-1998
void SetMultiColor();
void Set2Colors();
//ENDROMTEAM color lights Ionut Grozea 10-08-1998
//--- On decor
void fn_vSetOnDecor (BOOL bState);
BOOL fn_bGetOnDecor (void);
//---- selection of light
void fn_vSelect (void);
void fn_vUnSelect (BOOL bDraw=TRUE);
//--- draw edit objects
void fn_vDrawEditObject (void);
//--- light move
void fn_vOrientLight ( MTH3D_tdstVector* pstVertex );
//--- Paint sectors
void fn_vPaintSector (BOOL bColor=TRUE);
//--- Compute sectors
ACP_tdxBool fn_bSphericalLightAffectSector(HIE_tdxHandleToSuperObject hSuperSector);
void fn_vComputeSector (void);
void fn_vComputeSector ( MTH3D_tdstVector* pstVertex );
//--- Update light from .lg2 file
void fn_vUpdateLight (BOOL bComputeRLI=TRUE,BOOL bUpdateScreen=TRUE);
void *GetEngineStruct() { return GetStruct(); };
//------------------------------- compute motor object
void fn_vSetEngineMatrix (BOOL bDraw=TRUE);
//--- Referenced light ?
BOOL fn_bReferenced (void) { return m_oSectorList.GetCount()>0; }
protected :
void fn_vSetNearFar ( MTH_tdxReal xNear, MTH_tdxReal xFar );
// color a sector
void fn_vColorSector ( CPA_SuperObject* poSuperSector, tdeLocalColor eColor );
// Is pSector see pIsVisibleSector ?
BOOL fn_bIsSectorVisible ( CPA_SuperObject *pSector, CPA_SuperObject *pIsVisibleSector);
// Check if engine sector limit
BOOL fn_bCheckEngineLimit (CPA_SuperObject* poSuperObject);
};
extern CPA_List<Light> g_ListLight;
#endif //__OBJECT_HPP__

View File

@@ -0,0 +1,61 @@
#if !defined(AFX_RLIDIA_HPP__E534C5DB_D8C4_11D0_9542_006097367311__INCLUDED_)
#define AFX_RLIDIA_HPP__E534C5DB_D8C4_11D0_9542_006097367311__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// Rlidia.hpp : header file
//
/////////////////////////////////////////////////////////////////////////////
// RliDia dialog
class Light_Interface;
class RliDia : public CDialog
{
protected:
Light_Interface* m_poInterface;
// Construction
public:
RliDia(Light_Interface* poInterface, CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(RliDia)
enum { IDD = IDD_LIGHT_RLI };
CSliderCtrl m_oColorScaleSlider;
CButton m_oCommandButton;
float m_fColorScale;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(RliDia)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(RliDia)
virtual BOOL OnInitDialog();
afx_msg void OnCommandButton();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnKillfocusLightColorScaleEdit();
afx_msg void OnCommandAllButton();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_RLIDIA_HPP__E534C5DB_D8C4_11D0_9542_006097367311__INCLUDED_)

View File

@@ -0,0 +1,18 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#ifndef __STDAAFX_H__
#define __STDAAFX_H__
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows 95 Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#endif //__STDAAFX_H__

View File

@@ -0,0 +1,305 @@
/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : LightDia.hpp
//
// Dialog edition the waypoints
//
///////////////////////////////////////////////////////////////////////////////////////////////////
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 11 feb 1997 Author: J Th<54>noz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef LIGHTDIA_HPP
#define LIGHTDIA_HPP
class Light;
class Light_Interface;
/////////////////////////////////////////////////////////////////////////////
// DiaLight dialog
class DiaLight : public CFormView
{
protected:
Light* m_poLight;
Light_Interface* m_pInterface;
BOOL m_bUpdate; // to avoid several dialog that check the validity of the edit control
BOOL m_bNearHasFocus;
BOOL m_bFarHasFocus;
BOOL m_bNearFarTab;
BOOL m_bNameEditHasFocus;
BOOL m_bIntensityEditHasFocus;
BOOL m_bREditHasFocus;
BOOL m_bGEditHasFocus;
BOOL m_bBEditHasFocus;
BOOL m_bAEditHasFocus;
//CHINA WFQ (MT) 16/02/98 {
BOOL m_bMaxXHasFocus;
BOOL m_bMinXHasFocus;
BOOL m_bMaxYHasFocus;
BOOL m_bMinYHasFocus;
BOOL m_bMaxZHasFocus;
BOOL m_bMinZHasFocus;
BOOL m_bInterExtraTab;
BOOL m_bAlphaTab;
//ENDCHINA WFQ }
//ANNECY jt {
BOOL m_bFogNearHasFocus;
BOOL m_bFogFarHasFocus;
BOOL m_bFogInfiniteHasFocus;
BOOL m_bFogBlendNearHasFocus;
BOOL m_bFogBlendFarHasFocus;
//ENDANNECY }
// Construction
public:
DiaLight(CWnd* pParent = NULL); // standard constructor
DECLARE_DYNCREATE ( DiaLight );
void fn_vInitDialog (Light_Interface* pInterface); // jack's function to init the dialog
//ROMTEAM BlendRLI (Ionut Grozea 24/02/98)
void fn_vInitType();
//ENDROMTEAM BlendRLI (Ionut Grozea)
void fn_vEdit (Light* poLight);
Light* fn_pGetEditLight (void) { return m_poLight; }
BOOL fn_bIsEditSpot (Light* poLight) { return m_poLight==poLight; }
void fn_vRefreshDialog (void);
void fn_vSetColor (void);
void fn_vGetColor (void);
void fn_vSetOnOff (Light* poLight);
void fn_vClicSector (CPA_BaseObject* poSector);
void fn_vInitOnOff (void);
// Dialog Data
//{{AFX_DATA(DiaLight)
enum { IDD = IDD_SPOT_DIALOG };
CStatic m_cMin_Z;
CStatic m_cMin_Y;
CStatic m_cMin_X;
CStatic m_cMax_Z;
CStatic m_cMax_Y;
CStatic m_cMax_X;
CSliderCtrl m_oASlider;
CSliderCtrl m_oIntensitySlider;
CStatic m_oNearStatic;
CStatic m_oFarStatic;
CTabCtrl m_oTabControl;
CSliderCtrl m_oFarSlider;
CSliderCtrl m_oNearSlider;
CButton m_oSee;
CButton m_oDisplayAllControl;
CListBox m_SectorList;
CSliderCtrl m_oBSlider;
CSliderCtrl m_oRSlider;
CSliderCtrl m_oGSlider;
float m_fBValue;
float m_fGValue;
float m_fRValue;
CString m_csEditName;
float m_fFarValue;
float m_fNearValue;
float m_fIntensity;
float m_fAValue;
float m_Max_X;
float m_Max_Z;
float m_Max_Y;
float m_Min_X;
float m_Min_Y;
float m_Min_Z;
float m_Get_Max_x;
float m_Get_Max_y;
float m_Get_Max_z;
float m_Get_Max_X;
float m_Get_Max_Y;
float m_Get_Max_Z;
float m_Get_Min_x;
float m_Get_Min_y;
float m_Get_Min_z;
float m_Get_Min_X;
float m_Get_Min_Y;
float m_Get_Min_Z;
float m_Get_Min_I;
float m_Get_Max_I;
float m_fFogBlendFar;
float m_fFogBlendNear;
float m_fFogFar;
float m_fFogInfinite;
float m_fFogNear;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(DiaLight)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext);
virtual void OnDestroy();
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// BOOL OnCommand(WPARAM wParam, LPARAM lParam);
// Generated message map functions
//{{AFX_MSG(DiaLight)
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnKillfocusLightBEdit();
afx_msg void OnKillfocusLightGEdit();
afx_msg void OnKillfocusLightREdit();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnLightColorDefinition();
afx_msg void OnLightAmbientButton();
afx_msg void OnLightDisplayAll();
afx_msg void OnLightAffectAll();
afx_msg void OnSelchangeLightSectorList();
afx_msg void OnLightSEE();
afx_msg void OnLightDefault();
afx_msg void OnKillfocusLightNameEdit();
afx_msg void OnKillfocusLightFarEdit();
afx_msg void OnKillfocusLightNearEdit();
afx_msg void OnSetfocusLightFarEdit();
afx_msg void OnSetfocusLightNearEdit();
afx_msg void OnSelchangeLightTab(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnLightRealRadio();
afx_msg void OnLightRliRadio();
afx_msg void OnSetfocusLightNameEdit();
afx_msg void OnLightOnRadio();
afx_msg void OnLightOffRadio();
afx_msg void OnKillfocusLightIntensityEdit();
afx_msg void OnSetfocusLightIntensityEdit();
afx_msg void OnKillfocusLightAEdit();
afx_msg void OnLightActiveOffRadio();
afx_msg void OnLightActiveOnRadio();
afx_msg void OnSetfocusLightAEdit();
afx_msg void OnSetfocusLightBEdit();
afx_msg void OnSetfocusLightGEdit();
afx_msg void OnSetfocusLightREdit();
afx_msg void OnMapOffRadio();
afx_msg void OnMapOnRadio();
afx_msg void OnSetfocusMaxXEdit();
afx_msg void OnSetfocusMaxYEdit();
afx_msg void OnSetfocusMaxZEdit();
afx_msg void OnSetfocusMinXEdit();
afx_msg void OnSetfocusMinYEdit();
afx_msg void OnSetfocusMinZEdit();
afx_msg void OnKillfocusMinZEdit();
afx_msg void OnKillfocusMinYEdit();
afx_msg void OnKillfocusMinXEdit();
afx_msg void OnKillfocusMaxZEdit();
afx_msg void OnKillfocusMaxYEdit();
afx_msg void OnKillfocusMaxXEdit();
afx_msg void OnButtonNormal();
afx_msg void OnButtonPaint();
afx_msg void OnButtonBack();
afx_msg void OnButtonRealLight();
afx_msg void OnKillfocusBlendFarEdit();
afx_msg void OnSetfocusBlendFarEdit();
afx_msg void OnKillfocusBlendNearEdit();
afx_msg void OnSetfocusBlendNearEdit();
afx_msg void OnKillfocusFarEdit();
afx_msg void OnSetfocusFarEdit();
afx_msg void OnKillfocusInfiniteEdit();
afx_msg void OnSetfocusInfiniteEdit();
afx_msg void OnKillfocusNearEdit();
afx_msg void OnSetfocusNearEdit();
afx_msg void OnButtonComputeAll();
//ROMTEAM color lights Ionut Grozea 10-08-1998
afx_msg void OnButtonMode();
//ENDROMTEAM color lights Ionut Grozea 10-08-1998
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void fn_vInitSlider (void);
void fn_vInitTabControl (void);
void fn_vInitNearFarValue (void);
void fn_vCheckLimit (void);
//CHINA WFQ (MT) 16/02/98 {
void fn_vInitAlphaValue(void);
void fn_vInitInternalValue(void);
void fn_vInitExternalValue(void);
void fn_vInitIntensityValue(void);
//ENDCHINA WFQ }
//ANNECY jt {
void fn_vInitFogValue (void);
//ENDANNECY jt }
// sector management
void fn_vRefreshSectorList (void);
void fn_vChangeSectorList (void);
// intensity
void fn_vSetIntensity (void);
// name edit
void fn_vInitEditName (void);
float fn_iSlider2Value ( int iSlider );
int fn_lValue2Slider ( float fValue );
void fn_vSetNearFar (void);
//CHINA WFQ (MT) 16/02/98 {
void fn_vSetMaxXYZ (void);
void fn_vSetMaxxyz (void);
void fn_vSetMinXYZ (void);
void fn_vSetMinxyz (void);
void fn_vSetMinMaxI (void);
//ENDCHINA WFQ }
//ROMTEAM parallel box Ionut Grozea 1-08-1998
void fn_vSetxyzXYZ (void);
//ROMTEAM parallel box Ionut Grozea 1-08-1998
// icons
void fn_vDisplayIcon (void);
protected:
void fn_vDisplayFogControl (BOOL bState);
void fn_vSwapLightTab();
void fn_vDisplayInternalExternalControls(BOOL _bShow );
void fn_vDisplayNearFarControls(BOOL _bShow );
void fn_vDisplayCommonControls(BOOL _bShow );
void fn_vDisplayCommonIcons(int _iState );
};
//ROMTEAM Color edition Ionut Grozea 1-08-1998
class DiaColor : public CColorDialog
{
public:
DiaColor(DiaLight * pDiaLight){ ::CColorDialog();m_pDiaLight=pDiaLight;};
DiaLight *m_pDiaLight;
void RestoreDefaultColor();
//{{AFX_VIRTUAL(DiaColor)
protected:
virtual BOOL OnInitDialog();
virtual void OnOK();
//}}AFX_MSG
};
//ROMTEAM Color edition Ionut Grozea 1-08-1998
#endif