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,123 @@
// Class CPA_Grid
#ifndef __CPA_GRID_HPP__
#define __CPA_GRID_HPP__
#ifdef ACTIVE_EDITOR
class DEV_MultiDevice3D;
class DEV_SingleDevice3D;
class CPA_SuperObject;
#include "mth.h"
#include "GLD.h"
// ALX
//#include "CPACont.hpp"
// End ALX
//**************************************
/*#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
*///**************************************
// Keyboard entry ID
#define KA_ID_NAVMODE 10
#define KA_ID_LEFT 11
#define KA_ID_RIGHT 12
#define KA_ID_UP 13
#define KA_ID_DOWN 14
class /*CPA_EXPORT*/ CPA_Grid : public CPA_Contact
{
// Constructor/Destructor
//-----------------------
public:
CPA_Grid(CPA_KeyActionConfiguration *p_oKeyboard, DEV_MultiDevice3D *p_oDevice = NULL);
// Member variables
//-----------------
private:
DEV_MultiDevice3D *m_p_oMultiDevice; // Single device associate with contact
MTH_tdxReal m_xMaxSphereBoxRadius; // The max radius of sphere box of module
MTH_tdxReal m_xGridSquareSize; // The size of a square
MTH_tdxReal m_xFirstCenterX; // Distance from center of grid to center of first object in X
MTH_tdxReal m_xFirstCenterZ; // Distance from center of grid to center of first object in Z
MTH_tdxReal m_xLastCenterX; // Distance from center of grid to center of last object in X
MTH_tdxReal m_xLastCenterZ; // Distance from center of grid to center of last object in Z
BOOL m_bShowSelection; // There's a selection ?
BOOL m_bShowGrid; // Grid is visible ?
short m_wNbOfRows; // Number of rows in grid
short m_wNbOfColumns; // Number of columns in grid
CPA_KeyActionConfiguration * m_p_oKeyboard;
BOOL m_bNavigationMode;
public:
// override
// BOOL _OnCommand(UINT);
// BOOL _OnUpdateCommandUI(CCmdUI *);
BOOL _OnKeyDown(UINT, UINT, UINT);
// BOOL _OnKeyUp(UINT, UINT, UINT);
// BOOL _OnMouseMove(UINT, tdstMousePos *);
// BOOL _OnLButtonDblClk(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
BOOL _OnLButtonDown(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
// BOOL _OnLButtonUp(UINT, tdstMousePos *);
// BOOL _OnRButtonDblClk(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
// BOOL _OnRButtonDown(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
// BOOL _OnRButtonUp(UINT, tdstMousePos *);
// BOOL _OnDragDropEnd(WPARAM wParam, LPARAM lParam);
// BOOL _OnDragDropMove(WPARAM wParam, LPARAM lParam);
// BOOL _OnDragDropLooseFocus(WPARAM wParam, LPARAM lParam);
// BOOL _OnDragDropGainFocus(WPARAM wParam, LPARAM lParam);
void fn_vAddObjectsToDraw(GLD_tdstViewportAttributes *, GLI_tdxHandleToLight, DEV_ViewPort *);
// owner methods
void m_fn_vSetMultiDevice (DEV_MultiDevice3D *_p_oMulti) { m_p_oMultiDevice = _p_oMulti; }
// ALX
DEV_MultiDevice3D *m_fn_p_oGetMultiDevice () { return m_p_oMultiDevice; }
// End ALX
BOOL m_fn_bIsGridShowed (void) { return m_bShowGrid; }
BOOL m_fn_bIsSelectionShowed (void) { return m_bShowSelection; }
void m_fn_vShowGrid (void) { m_bShowGrid = TRUE; }
void m_fn_vHideGrid (void) { m_bShowGrid = FALSE; }
void m_fn_vShowSelection (void) { m_bShowSelection = TRUE; }
void m_fn_vHideSelection (void) { m_bShowSelection = FALSE; }
void m_fn_vPositionWorldOnGrid (void);
void m_fn_vResetContent (void);
void m_fn_vDisplay (GLD_tdstViewportAttributes *);
void m_fn_vCenterOnGrid (void);
void m_fn_vCenterOnSuperObject (CPA_SuperObject *_p_SprObj);
CPA_SuperObject* m_fn_p_oGetSuperObjectFromPos (tdstMousePos *p_stPos);
protected:
void m_fn_vComputeObjectsPosition(void);
void m_fn_vConvertRowColumnTo3D(short _wRow, short _wColumn, MTH3D_tdstVector *_p_st3D);
void m_fn_vComputeMaxSphereBoxRadius(void);
BOOL m_fn_bGetSphereBoxCenter(CPA_SuperObject *_p_oSprObj, MTH3D_tdstVector *_p_stCenter);
MTH_tdxReal m_fn_xGetSphereBoxRadius(CPA_SuperObject *_p_oSprObj);
void m_fn_vComputeFirstAndLastCenters(void);
void m_fn_vComputeRowColumn(void);
void m_fn_vCompute3DPosOfSuperObject(CPA_SuperObject *_p_SprObj,MTH_tdxReal *_p_xLeftX, MTH_tdxReal *_p_xLeftZ,
MTH_tdxReal *_p_xRightX, MTH_tdxReal *_p_xRightZ,
MTH_tdxReal *_p_xXL, MTH_tdxReal *_p_xZL);
void m_fn_vComputeGridPosOfSuperObject(CPA_SuperObject *_p_SprObj,short *_p_wRow,short *_p_wColumn);
void m_fn_vDisplayGrid(GLD_tdstViewportAttributes *);
void m_fn_vDisplaySelection(GLD_tdstViewportAttributes *);
void m_fn_vDrawOneLine(GLD_tdstViewportAttributes *_p_stViewAttrib, long lColor,
MTH3D_tdstVector *_p_stVxA, MTH3D_tdstVector *_p_stVxB,
MTH3D_tdstVector *_p_stDepl, ACP_tdxIndex _xNbLines);
void m_fn_vComputePickedSquare(GLI_tdst2DVertex *_p_st2DMousePos, short *_p_wRow, short *_p_wColumn);
void m_fn_vGetPosOnGridPlane(GLD_tdhDevice hDev, GLD_tdhViewport hVp, GLI_tdst2DVertex *_p_st2DMousePos,
MTH3D_tdstVector *p_stDstVertex);
};
#endif //ACTIVE_EDITOR
#endif //__CPA_GRID_HPP__

View File

@@ -0,0 +1,81 @@
// DlgVwCt.h : header file
//
#ifndef __DLGVWCT_HPP__
#define __DLGVWCT_HPP__
#include "T3d_Res.h"
#include "T3Dinterf.hpp"
#define C_OPENVIEWER 20
/////////////////////////////////////////////////////////////////////////////
// CDlgViewerContent dialog
class CPA_ReachableObjectList;
class CDlgViewerContent : public CDialog
{
protected:
CPA_List<tdst_VW_ObjInfo> *m_p_oListOfInitialObjects;
CPA_MainWorld *m_p_oMainWorld;
CString m_ocstTreeName;
BOOL m_bTreeUsed;
CImageList m_stImageList;
CBitmap m_oBmpEdNoObject;
CBitmap m_oBmpEdSupObj;
CBitmap m_oBmpNoEdNoObject;
CBitmap m_oBmpNoEdSupObj;
CBitmap m_oBmpPEdNoObject;
CBitmap m_oBmpPEdSupObj;
CBitmap m_oBmpPNoEdNoObject;
CBitmap m_oBmpPNoEdSupObj;
// Construction
public:
CDlgViewerContent(CPA_MainWorld *_p_oMainWorld, CPA_List<tdst_VW_ObjInfo> *_p_oListOfInitialObjects,CWnd* pParent = NULL); // standard constructor
~CDlgViewerContent();
// Dialog Data
//{{AFX_DATA(CDlgViewerContent)
enum { IDD = IDD_DLG_VIEWERCONTENT };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDlgViewerContent)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDlgViewerContent)
virtual BOOL OnInitDialog();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnGetMinMaxInfo( MINMAXINFO FAR* lpMMI );
virtual void OnOK();
afx_msg void OnBtdelete();
afx_msg void OnBtadd();
afx_msg void OnSelchangeComboType();
afx_msg void OnDblClkListObjects();
afx_msg void OnDblclkListContent();
afx_msg void OnBtOpen();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void mfn_vFillChoiceList(CPA_List<CPA_SuperObject> *_p_oList);
void mfn_vShowHierarchyTree();
void mfn_vAddListOfType(CString _csTypeName, CString _csListName);
void mfn_vAddHierarchyTree(CString _csListName);
void mfn_vFillHierarchyTree (CPA_SuperObject *pEdParent, HTREEITEM hTreeParent);
void mfn_vAddSelectionFromList();
void mfn_vAddSelectionFromTree();
void mfn_vUpdateList();
};
#endif // __DLGVWCT_HPP__

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,47 @@
#ifndef __T3DFRMBS_HPP__
#define __T3DFRMBS_HPP__
//**************************************
#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
//**************************************
#ifdef ACTIVE_EDITOR
class Tool3D_Interface;
// ALX
//#include "FRMBsMn.hpp"
// End ALX
class Tool3D_FRMBaseMenu : public FRMBaseMenu
{
protected:
Tool3D_Interface *m_p_oTool3D;
public:
Tool3D_FRMBaseMenu();
~Tool3D_FRMBaseMenu();
void mfn_vSetTool3D(Tool3D_Interface *_p_oTool3D) { m_p_oTool3D = _p_oTool3D; }
void fn_vInitGeneralMenuWithContext(void);
void mfn_vUpdateDeviceToolBar(void);
DECLARE_DYNCREATE(Tool3D_FRMBaseMenu);
protected:
//{{AFX_MSG(CPA_MainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSysCommand( UINT nID, LPARAM lParam );
afx_msg void OnSize( UINT nType, int cx, int cy );
afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#endif ACTIVE_EDITOR
#endif __T3DFRMBS_HPP__

View File

@@ -0,0 +1,26 @@
// T3DFrame.hpp: interface for the Tool3D_Frame class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_T3DFRAME_HPP__2A23345F_F475_11D1_95F0_00A02416A985__INCLUDED_)
#define AFX_T3DFRAME_HPP__2A23345F_F475_11D1_95F0_00A02416A985__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class Tool3D_Frame : public CSplitFrame
{
public:
CPA_DialogList *m_p_clDialogList;
CPA_BaseObjectList *m_p_clBaseObjectList;
BOOL m_bDisplayAllFam;
virtual BOOL OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext);
Tool3D_Frame();
virtual ~Tool3D_Frame();
private:
CSplitterWnd m_clSplitter;
};
#endif // !defined(AFX_T3DFRAME_HPP__2A23345F_F475_11D1_95F0_00A02416A985__INCLUDED_)

View File

@@ -0,0 +1,105 @@
// definition of special world class for the 3DTool Dll
#ifndef __T3DWORLD_HPP__
#define __T3DWORLD_HPP__
#ifdef ACTIVE_EDITOR
#include "T3DInterf.hpp"
#include "X:\Cpa\Main\inc\_EditID.h"
class CPA_MainWorld;
class Evt_Editor;
class CPA_ObjectDLLBase;
class CPA_List;
class CPA_BaseObject;
typedef enum
{
C_eNone,
C_eActor,
C_eSuperObject,
C_eGridActor,
C_eGridList,
C_eObject,
C_eViewer,
C_eAnimOK,
C_eAnimTemp
} tde_WorldType;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class Tool3D_World : public CPA_World
{
protected:
public:
CPA_SuperObject *m_p_oBaseFromAnim;
tde_WorldType m_eWorldType;
CPA_List<CPA_SuperObject> m_oListOfSO;
POSITION m_xLastSOUsedPosition;
tdstEngineObject *m_p_stEngineObject;
tdstState m_stState;
CPA_Interface *m_p_oInterface;
CPA_EditorBase *m_p_oDLLPO;
CPA_SuperObject *m_p_oRootFromAnim;
public:
Tool3D_World(CPA_MainWorld *_p_oMainWorld);
~Tool3D_World();
// Editor Messages Functions overload
BOOL fn_bAcceptModifDelete (CPA_ObjectDLLBase *pDLLBase) { return mfn_bAcceptModif( pDLLBase ); }
BOOL fn_bAcceptModifParent (CPA_ObjectDLLBase *pDLLBase) { return mfn_bAcceptModif( pDLLBase ); }
// ALX
BOOL fn_bAcceptModifCopy (CPA_ObjectDLLBase *pDLLBase) { return TRUE; }
// End ALX
BOOL fn_bAcceptModifTranslate (CPA_ObjectDLLBase *pDLLBase) { return mfn_bAcceptModif( pDLLBase ); }
BOOL fn_bAcceptModifRotate (CPA_ObjectDLLBase *pDLLBase) { return mfn_bAcceptModif( pDLLBase ); }
BOOL fn_bAcceptModifScale (CPA_ObjectDLLBase *pDLLBase) { return mfn_bAcceptModif( pDLLBase ); }
BOOL fn_bAcceptModifInsert (CPA_ObjectDLLBase *pDLLBase) { return mfn_bAcceptModif( pDLLBase ); }
BOOL fn_bAcceptModifName (CPA_ObjectDLLBase *pDLLBase) { return FALSE;}
BOOL fn_bAcceptSelect (CPA_ObjectDLLBase *pDLLBase) { return TRUE; }
BOOL fn_bAcceptMultiSelect (void) { return TRUE; }
// Called before editor timer execution
BOOL fn_bAcceptToRunTimerEngine (void) { return TRUE; };
public:
void mfn_vCreateHierarchyFromActor (CPA_SuperObject *_p_oSprObj);
void mfn_vCreateHierarchyFromSuperObject (CPA_SuperObject *_p_oSprObj);
void mfn_vCreateHierarchyFromObject (CPA_BaseObject *_p_oObject);
void mfn_vCreateGridHierarchyFromActor (CPA_SuperObject *_p_oSprObj);
void mfn_vCreateGridHierarchyFromList (CPA_List<CPA_BaseObject> *_p_oList, CPA_MainWorld *_p_oMainWorld);
void mfn_vCreateGridHierarchyFromTable (CPA_BaseObject *_p_oTable, CPA_MainWorld *_p_oMainWorld);
void mfn_vCreateViewerHierarchyFromVWOIList (CPA_List<tdst_VW_ObjInfo> *_p_oListOfVWOI, CPA_MainWorld *_p_oMainWorld);
//
CPA_SuperObject *mfn_p_oCreateHierarchyFromAnim (CPA_SuperObject *_p_oSprObjActor);
void mfn_vUpdateHierarchyFromAnim (struct tdstAnim3d_* _pstAnim, unsigned short _uwFrame);
void mfn_vPlayAnim (struct tdstAnim3d_* _pstAnim, unsigned short _uwFrame);
//
void mfn_vResetWorld (void);
void mfn_vComputeSuperObjectPosFromViewer (void);
MTH_tdxReal m_fn_xGetSphereBoxRadius (CPA_SuperObject *_p_oSprObj);
BOOL m_fn_bGetSphereBoxCenter (CPA_SuperObject *_p_oSprObj, MTH3D_tdstVector *_p_stCenter);
BOOL mfn_bComputeCenterAndRadiusBoundingBox (CPA_SuperObject *_p_oSprObj, MTH3D_tdstVector *_p_stCenter = NULL, MTH_tdxReal *_xRadius = NULL);
protected:
BOOL mfn_bAcceptModif (CPA_ObjectDLLBase *pDLLBase);
void mfn_vDuplicateHierarchy (CPA_SuperObject *_p_oNewFather, CPA_SuperObject *_p_oPreviousFather);
void mfn_vLinearizeHierarchy (CPA_SuperObject *_p_oNewFather, CPA_SuperObject *_p_oPreviousFather);
void mfn_vDeleteHierarchy (CPA_SuperObject *_p_oFather );
MTH_tdxReal m_fn_vComputeMaxSphereBoxRadius (void);
//
void mfn_vResetHierarchy (CPA_SuperObject *_p_oRootSO);
void mfn_vFillHierarchyWithEngineAnim(CPA_SuperObject *_p_oRootSO, BOOL _bWithObject = TRUE);
void mfn_vFillHierarchy (CPA_SuperObject *_p_oRootSO, BOOL _bWithObject = TRUE);
void mfn_vClearHierarchy (CPA_SuperObject *p_oRootSO, BOOL _bDelete = FALSE);
};
#endif //ACTIVE_EDITOR
#endif //__T3DWORLD_HPP__

View File

@@ -0,0 +1,181 @@
//**************************************
// This is the base class of your DLL interface
// All methods of CPA_ToolDLLBase are
// present in that class.
//**************************************
#ifndef __T3DINTERF_HPP__
#define __T3DINTERF_HPP__
#ifdef ACTIVE_EDITOR
// if you want only one instance of your DLL
// activate the next line
#define DLL_ONLY_ONE_INSTANCE
class CPA_SuperObject;
class Evt_Editor;
class CPA_World;
class CPA_Contact;
class DEV_MultiDevice;
class Tool3D_FRMBaseMenu;
class Tool3D_World;
//Stefan Dumitrean 26-05-98
class Tool3D_Frame;
//End Stefan Dumitrean 26-05-98
class CAnimationView;
class CPA_Family;
class CPA_Animation;
class EditorObjectTable;
// Query Info
#define C_wTool3D_QI_CanOpenChar 1
#define C_wTool3D_QI_CanOpenMod 2
#define C_wTool3D_QI_CanOpenGeom 3
#define C_wTool3D_QI_CanOpenTable 4
#define C_wTool3D_QI_CanOpenViewer 5
#define C_wTool3D_QI_CanOpenObject 6
#define C_wTool3D_QI_GetState 10
#define C_wTool3D_QI_GetWorld 11
#define C_wTool3D_QI_GetDevice 12
#define C_wTool3D_QI_GetContact 13
// Type of Tool used
#define C_wTool3D_None 0
#define C_wTool3D_Char 1
#define C_wTool3D_Mod_Object 2
#define C_wTool3D_Mod_List 3
#define C_wTool3D_Table 4
#define C_wTool3D_Geom_Object 5
#define C_wTool3D_Viewer 6
#define C_wTool3D_Object 7
// General Actions
// Actions for 3DModTool
#define C_wTool3D_QA_ShowGrid 11
#define C_wTool3D_QA_HideGrid 12
#define C_wTool3D_QA_ShowSelect 13
#define C_wTool3D_QA_HideSelect 14
#define C_wTool3D_QA_NewChar 20
#define C_wTool3D_QA_NewSuperObject 21
#define C_wTool3D_QA_NewTable 22
#define C_wTool3D_QA_NewObject 23
typedef struct tdst_VW_ObjInfo_
{
CPA_SuperObject *m_p_oSuperObject; // target object
BOOL m_bUsePos; //
POS_tdstCompletePosition stMatrix;
} tdst_VW_ObjInfo;
//----------------------------------------------------------
// Tool DLL interface class
//----------------------------------------------------------
class Tool3D_Interface : public CPA_ToolDLLBase
{
private:
WORD m_wTypeOfTool;
CPA_SuperObject *m_p_InitialRoot; // just reference
Tool3D_World *m_p_Tool3DWorld; // created Here
CPA_Contact *m_p_Tool3DContact; // created Here
DEV_MultiDevice3D *m_p_Tool3DMultiDevice; // created Here
DEV_MultiDevice *m_p_PreviousMultiDevice;
Tool3D_FRMBaseMenu *m_p_FRMBase; // created here
FRMBaseMenu *m_p_PreviousFRMBase;
CPA_List<tdst_VW_ObjInfo> m_oListOfVWObjInfo;
CString m_csLastSelectMode;
GLI_tdxHandleToLight m_hLightUp;
GLI_tdxHandleToLight m_hLightDown;
CPA_SuperObject *m_p_oSprObjActor;
CAnimationView *m_p_oAnimView;
//Stefan Dumitrean 26-05-98
// FRMBase *m_p_oAnimFrame;
Tool3D_Frame *m_p_oAnimFrame;
CPA_Family *m_p_CurrentFamily;
BOOL m_bAnimPlayerInvoked;
//End Stefan Dumitrean 26-05-98
CPA_KeyActionConfiguration *m_p_oKeyboard;
public:
//Stefan Dumitrean 27-05-98
virtual void GetListsForDialog(CPA_DialogList *pDialog);
virtual void fn_vInitDefaultParameters(CPA_DialogList *pDialog);
virtual BOOL fn_bOnButtonTest( CPA_DialogList *pDialog, CString csTypeName, tdeListDrawMode eDraw );
virtual CPA_BaseObject* GetDialogSelection (CPA_DialogList *pDialog, CString csTypeName, tdeListDrawMode eDrawMode);
virtual BOOL fn_bOnSelChangeListObjects(CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pSelectedObject, BOOL bUnselect);
virtual BOOL fn_bOnDblClkListObjects(CPA_DialogList *pDialog, CString csTypeName, CPA_BaseObject *pSelectedObject);
private:
void fn_vOnActivateEditorAnim();
public:
//End Stefan Dumitrean 27-05-98
Tool3D_Interface(void);
// ~Tool3D_Interface(void);
// ACP MEssages Functions overload
// BOOL fn_bPreTranslateMessage(MSG *);
// void fn_vJustAfterRegistered(void);
void fn_vConstruct(void);
// void fn_vRefreshDatas(void);
// void fn_vAddObjectsToDraw(GLD_tdstViewportAttributes *, GLI_tdstLight *);
// void fn_vAddObjectsToDraw2(GLD_tdstViewportAttributes *, GLI_tdstLight *);
BOOL fn_bAcceptToRunEngine(void) { return (m_wTypeOfTool==C_wTool3D_None); }
// void fn_vBeforeEngine(void);
void fn_vBeforeEditor(void);
// void fn_vHasLostFocus(void);
// BOOL fn_bHasGainedFocus(void);
// BOOL fn_bAcceptToExit(void);
void fn_vJustBeforeClosing(void);
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);
// Current Editor
tdePermission fn_eAcceptNewEditor (CPA_EditorBase *pNewEditor);
BOOL fn_bCanActivateEditor (CPA_List<CPA_BaseObject> *pParams);
BOOL fn_bCanCloseEditor (void);
void fn_vOnActivateEditor (CPA_List<CPA_BaseObject> *pParams, BOOL bBackActivated = FALSE);
void fn_vOnCloseEditor (void);
long OnQueryAction (CPA_EditorBase*, WPARAM, LPARAM);
long OnQueryInfos (CPA_EditorBase*, WPARAM, LPARAM);
long OnQueryOpen (CPA_EditorBase*, WPARAM, LPARAM);
long OnQueryClose (CPA_EditorBase*, WPARAM, LPARAM);
// Menus
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 bIsAlone);
void _OnPopUpMenuCommand (UINT m_IDCmdMsg);
protected:
BOOL fn_bTypeOfToolOK (long _wType);
BOOL fn_bCanUseObject (long _wType, long _lParam);
BOOL fn_bCanOpenTool (long _wType);
BOOL fn_bToolActive (long _wType);
void mfn_vAddAnObject (CPA_SuperObject *_p_oSprObj, BOOL _bUsePos = TRUE);
void mfn_vAddAListOfSuperObject (CPA_List<CPA_SuperObject> *_p_oList, BOOL _bUsePos = TRUE);
void mfn_vEditViewerContent (void);
void mfn_vCenterCamera (DEV_Device *p_oDevice, CPA_SuperObject *_p_oSprObj);
void mfn_vCenterCameraOnTarget (tdst_VW_ObjInfo *_p_stObjInfo);
void mfn_vRestoreCameraOnTarget (int _iTarget);
void mfn_vResetViewerContent (void);
void mfn_vOpenAnim (CPA_SuperObject *_p_oSprObjActor);
BOOL mfn_bFindInfoAboutActor (CPA_SuperObject *_p_oSprObj, CPA_Family **_p_p_oFamily,
CPA_Animation **_p_p_oAnim, EditorObjectTable **_p_p_oObjectTable,
unsigned short *_p_uwFrame);
};
extern tdstDLLIdentity g_stTool3DIdentity;
#endif // ACTIVE_EDITOR
#endif // __T3DINTERF_HPP__

View File

@@ -0,0 +1,181 @@
//Microsoft Developer Studio generated resource script.
//
#include "T3d_Res.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// French (France) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
#ifdef _WIN32
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DLG_VIEWERCONTENT DIALOG DISCARDABLE 0, 0, 274, 158
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
CAPTION "Viewer Content"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,7,137,50,14
LISTBOX IDC_LIST_CHOICE,7,25,118,105,LBS_NOINTEGRALHEIGHT |
LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP
DEFPUSHBUTTON "Cancel",IDCANCEL,217,137,50,14
DEFPUSHBUTTON "<<",ID_BT_DELETE,129,74,14,14
LISTBOX IDC_LIST_CONTENT,148,7,118,124,LBS_NOINTEGRALHEIGHT |
LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON ">>",ID_BT_ADD,129,45,14,14
COMBOBOX IDC_COMBO_TYPE,7,7,118,89,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
CONTROL "Tree1",IDC_TREE_HIERARCHY,"SysTreeView32",
TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
TVS_SHOWSELALWAYS | NOT WS_VISIBLE | WS_DISABLED |
WS_BORDER | WS_TABSTOP,7,25,118,105
DEFPUSHBUTTON "Open Viewer",ID_BT_OPEN,112,137,50,14
END
IDD_DIALOG_ANIM DIALOGEX 0, 0, 461, 108
STYLE WS_CHILD
FONT 8, "MS Sans Serif"
BEGIN
LISTBOX IDC_LIST_ANIMS,119,20,112,84,LBS_SORT |
LBS_OWNERDRAWFIXED | LBS_HASSTRINGS |
LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |
WS_TABSTOP
LTEXT "Channels",IDC_STATIC,247,16,30,8,0,WS_EX_RIGHT
LTEXT "Frames",IDC_STATIC,253,49,24,8,0,WS_EX_RIGHT
EDITTEXT IDC_EDIT_CHANNEL,287,14,20,12,ES_AUTOHSCROLL |
ES_READONLY | ES_NUMBER | NOT WS_BORDER,WS_EX_STATICEDGE
EDITTEXT IDC_EDIT_FRAME,287,47,20,12,ES_AUTOHSCROLL | ES_READONLY |
ES_NUMBER | NOT WS_BORDER,WS_EX_STATICEDGE
PUSHBUTTON "Load...",IDC_BUTTON_LOAD,260,86,32,14
LTEXT "",IDC_STATIC_CURRENTFRAME,426,16,20,10,WS_DISABLED,
WS_EX_STATICEDGE
PUSHBUTTON "Button1",IDC_BUTTON_REWIND,322,24,20,20,BS_BITMAP
SCROLLBAR IDC_SCROLLBAR_FRAME,322,11,100,10
PUSHBUTTON "Button1",IDC_BUTTON_REVERSE,342,24,20,20,BS_BITMAP
PUSHBUTTON "Button1",IDC_BUTTON_STOP,362,24,20,20,BS_BITMAP
PUSHBUTTON "Button1",IDC_BUTTON_PLAY,382,24,20,20,BS_BITMAP
PUSHBUTTON "Button1",IDC_BUTTON_FORWARD,402,24,20,20,BS_BITMAP
PUSHBUTTON "Help",IDC_BUTTON_HELP,292,86,21,14
PUSHBUTTON "Show All Animations",IDC_BT_ANIM,119,5,112,12
LTEXT "Speed",IDC_STATIC,255,65,22,8,0,WS_EX_RIGHT
EDITTEXT IDC_EDIT_SPEED,287,63,20,12,ES_AUTOHSCROLL | ES_READONLY |
ES_NUMBER | NOT WS_BORDER,WS_EX_STATICEDGE
LTEXT "",IDC_STATIC_CURRENTSPEED,426,61,20,10,0,
WS_EX_STATICEDGE
CONTROL "Slider1",IDC_SLIDER,"msctls_trackbar32",TBS_TOP |
TBS_NOTICKS | WS_TABSTOP,319,62,105,15
PUSHBUTTON "Reinit",IDC_BT_REINIT,236,86,24,14
GROUPBOX "",IDC_STATIC,236,2,77,81
GROUPBOX "Current Speed",IDC_STATIC,317,50,134,33
GROUPBOX "",IDC_STATIC,317,2,133,46
LISTBOX IDC_LIST_ACTIONS,3,20,112,84,LBS_SORT |
LBS_OWNERDRAWFIXED | LBS_HASSTRINGS |
LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |
WS_TABSTOP
PUSHBUTTON "Action/Family anim. sel.",IDC_BT_ACTION,3,5,112,12
LTEXT "Animations",IDC_STATIC,242,33,35,8,0,WS_EX_RIGHT
EDITTEXT IDC_EDIT_ANIMATIONS,287,31,20,12,ES_AUTOHSCROLL |
ES_READONLY | ES_NUMBER | NOT WS_BORDER,WS_EX_STATICEDGE
EDITTEXT IDC_EDIT_SELECTION_STATUS,317,87,134,13,ES_CENTER |
ES_AUTOHSCROLL | ES_READONLY
LTEXT "",IDC_STATIC_CURRENTANIMATION,426,35,20,10,WS_DISABLED,
WS_EX_STATICEDGE
LTEXT "Frame",IDC_STATIC,426,8,20,8
LTEXT "Anim.",IDC_STATIC,427,27,18,8
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DLG_VIEWERCONTENT, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 267
TOPMARGIN, 7
BOTTOMMARGIN, 151
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"T3d_Res.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDB_EDIT_NOOBJECT BITMAP DISCARDABLE "edit_noo.bmp"
IDB_EDIT_SUPOBJ BITMAP DISCARDABLE "edit_sup.bmp"
IDB_NOEDIT_NOOBJECT BITMAP DISCARDABLE "noedit_n.bmp"
IDB_NOEDIT_SUPOBJ BITMAP DISCARDABLE "noedit_s.bmp"
IDB_PEDIT_NOOBJECT BITMAP DISCARDABLE "pedit_no.bmp"
IDB_PEDIT_SUPOBJ BITMAP DISCARDABLE "pedit_su.bmp"
IDB_PNOEDIT_NOOBJECT BITMAP DISCARDABLE "pnoedit_.bmp"
IDB_PNOEDIT_SUPOBJ BITMAP DISCARDABLE "pnoedsup.bmp"
IDB_BITMAP_FORWARD BITMAP DISCARDABLE "..\\res\\forward.bmp"
IDB_BITMAP_PLAY BITMAP DISCARDABLE "..\\res\\play.bmp"
IDB_BITMAP_REVERSE BITMAP DISCARDABLE "..\\res\\reverse.bmp"
IDB_BITMAP_REWIND BITMAP DISCARDABLE "..\\res\\rewind.bmp"
IDB_BITMAP_STOP BITMAP DISCARDABLE "..\\res\\stop.bmp"
#endif // French (France) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -0,0 +1,62 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by T3D.rc
//
#define ID_BT_DELETE 3
#define ID_BT_OPEN 4
#define IDD_DLG_VIEWERCONTENT 101
#define IDB_BITMAP_FORWARD 107
#define IDB_BITMAP_REWIND 108
#define IDB_BITMAP_PLAY 109
#define IDB_BITMAP_REVERSE 110
#define IDB_BITMAP_STOP 111
#define IDB_EDIT_NOOBJECT 120
#define IDB_EDIT_SUPOBJ 121
#define IDB_NOEDIT_NOOBJECT 122
#define IDB_NOEDIT_SUPOBJ 123
#define IDB_PEDIT_NOOBJECT 124
#define IDB_PEDIT_SUPOBJ 125
#define IDB_PNOEDIT_NOOBJECT 126
#define IDB_PNOEDIT_SUPOBJ 127
#define IDD_DIALOG_ANIM 400
#define ID_BT_ADD 1001
#define IDC_EDIT_CHANNEL 1001
#define IDC_COMBO_TYPE 1002
#define IDC_EDIT_FRAME 1002
#define IDC_TREE_HIERARCHY 1003
#define IDC_EDIT_SPEED 1003
#define IDC_BUTTON_LOAD 1004
#define IDC_BUTTON_SAVEBIN 1005
#define IDC_SLIDER 1005
#define IDC_BUTTON_HELP 1006
#define IDC_BT_REINIT 1007
#define IDC_EDIT_ANIMATIONS 1008
#define IDC_BUTTON_REWIND 1010
#define IDC_EDIT_SELECTION_STATUS 1011
#define IDC_LIST_FAMILIES 1012
#define IDC_LIST_ANIMS 1013
#define IDC_LIST_ACTIONS 1014
#define IDC_STATIC_CURRENTFRAME 1015
#define IDC_SCROLLBAR_FRAME 1016
#define IDC_BT_FAMILY 1017
#define IDC_STATIC_CURRENTSPEED 1017
#define IDC_BUTTON_REVERSE 1018
#define IDC_BUTTON_STOP 1019
#define IDC_BUTTON_PLAY 1020
#define IDC_BUTTON_FORWARD 1021
#define IDC_BT_ANIM 1022
#define IDC_BT_ACTION 1023
#define IDC_STATIC_CURRENTANIMATION 1024
#define IDC_LIST_CHOICE 1217
#define IDC_LIST_CONTENT 1218
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 121
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1012
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@@ -0,0 +1,145 @@
/*
*=============================================================================
*
* Filename: AnimView.h
* Version: 1.0
* Date: 11/03/97
* Author: Vincent Lhullier
*
* Description: view box to display list of animations
* and control to display animation
*
*===========================================================================
*/
#ifndef __ANIMVIEW2_H__
#define __ANIMVIEW2_H__
/*---------------------------------------------------------------------------*/
#ifndef __AFXEXT_H__
#include <afxext.h>
#endif
#include "T3D_res.h"
/*---------------------------------------------------------------------------*/
#define D_State_Define
#define D_ObjsTbls_Define
#define D_ZdxStuff_StructureDefine
//#include "DNM.h"
#include "incGAM.h"
#undef D_ZdxStuff_StructureDefine
#undef D_ObjsTbls_Define
#undef D_State_Define
class CPA_Animation;
class CPA_Action;
class CPA_Family;
class Tool3D_World;
/*
*=============================================================================
* CAnimationView form view
*=============================================================================
*/
class CAnimationView : public CFormView
{
protected:
DECLARE_DYNCREATE(CAnimationView)
private:
BOOL bInitialUpdate;
BOOL m_bActionPlay; //Mircea Dunka 12.10.98
UINT m_uiNumberOfAnimations;
UINT m_uiTotalNumberOfFrames;
CPA_EditorBase *m_p_oT3DInterf;
Tool3D_World *m_p_oTool3DWorld;
CPA_Animation *m_p_oCurrentAnim;
CPA_Action *m_p_oCurrentAction;//Mircea Dunka 6.10.98
CPA_Family *m_p_oFamily;
//Stefan Dumitrean 28-05-98
CFormView *m_p_oFamilySelDialog;
//End Stefan Dumitrean 28-05-98
unsigned short m_uwInitFrame;
CBitmap m_oBitmapPlay;
CBitmap m_oBitmapStop;
CBitmap m_oBitmapReverse;
CBitmap m_oBitmapForward;
CBitmap m_oBitmapRewind;
BOOL m_bAllAnims;
BOOL m_bAllActions;
public:
UINT m_uiPlayTimer;
UINT m_uiElapseTime;
BOOL m_bPlay;
BOOL m_bReverse;
// Form Data
public:
enum { IDD = IDD_DIALOG_ANIM };
CAnimationView();
~CAnimationView();
void mfn_vSetEditor(CPA_EditorBase *_p_oEditor ) { m_p_oT3DInterf = _p_oEditor; }
void mfn_vSetWorld( Tool3D_World *_p_oWorld ) { m_p_oTool3DWorld = _p_oWorld; }
//Stefan Dumitrean 28-05-98
void mfn_vSetFamilySelDialog( CFormView * _p_oDialogList ) { m_p_oFamilySelDialog = _p_oDialogList; }
//End Stefan Dumitrean 28-05-98
void mfn_vInitDialog( CPA_Family *_p_oCurrentFamily, CPA_Animation *_p_oAnimation = NULL, unsigned short _uwFrame = 0);
void m_fn_vStopAnim();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAnimationView)
public:
virtual void OnInitialUpdate();
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
private:
void fn_vBeginAnim( unsigned short _uwFrame = 0);
void fn_vShowFrame(unsigned short _uwFrame);
void m_fn_vEnableControl( BOOL _bEnable );
void fn_vFillAnimList();
void mfn_vFillActionList();
protected:
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
//{{AFX_MSG(CAnimationView)
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSelchangeListAnims();
afx_msg void OnSelchangeListActions(); //Mircea Dunka 6.10.98
afx_msg void OnButtonLoad();
afx_msg void OnButtonPlay();
afx_msg void OnButtonReinit();
afx_msg void OnButtonAction(); //Mircea Dunka 8.10.98
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnButtonAnim();
afx_msg void OnButtonStop();
afx_msg void OnButtonForward();
afx_msg void OnButtonReverse();
afx_msg void OnButtonRewind();
afx_msg void OnDblclkListAnims();
afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDIS);
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnButtonHelp();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#endif /*__ANIMVIEW2_H__*/