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,71 @@
/*=============================================================================
*
* Filename: CPAAction.hpp
* Version: 2.0 (VSS5)
* Date: 30/12/96
* Author: Marc Trabucato
*
* Description: description of CPA_Action class
*
*===========================================================================*/
#ifndef __CPAACTION_HPP__
#define __CPAACTION_HPP__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif
/******************************************/
#ifdef ACTIVE_EDITOR
class CPA_Family;
#define C_szActionSectionName "CreateNewEDTAction"
/*=============================================================================
* CPA_Action class
=============================================================================*/
class CPA_Action : public CPA_SaveObject
{
/* datas*/
public:
CPA_List<CPA_State> m_oListOfStates;
CPA_State *m_p_oDefaultState;
CPA_List<CPA_State> m_oListOfStatesInterrupted;
/* methods*/
public:
CPA_Action(CPA_EditorBase *p_oDLL, CPA_BaseObject *_p_oOwnerFamily, CString _csActionName);
/*void *GetEngineStruct ( void );*/
long GetDataType ( void ) { return 0; }
void* GetData ( void );
tdeMissingCriteria fn_eCheckUnicity ( const CString _csNewName ) { return fn_eCheckUnicityWithOwner( _csNewName ); }
void fn_vNotifyRename ( void );
static SCR_tde_Anl_ReturnValue fn_AddNewAction ( SCR_tdst_File_Description *_p_stFile, char *_p_szName, char *_ap_szParams[], SCR_tde_Anl_Action _eAction );
static void mfn_vCallBackSave ( SCR_tdst_File_Description *_p_stActionFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction);
void mfn_vAddState (CPA_State *_p_oState, BOOL _bModifyEngine = TRUE);
void mfn_vRemoveState (CPA_State *_p_oState, BOOL _bModifyEngine = TRUE);
void mfn_vSetDefaultState (CPA_State *_p_oState, BOOL _bInit =FALSE);
CPA_State *mfn_p_oGetDefaultState (void) { return m_p_oDefaultState ;}
CPA_Action *mfn_p_oDuplicateAction (void);
/* CPA_Ed_1 Mihaela Tancu begin */
void mfn_vSetListOfStates ();
void mfn_vSetListOfTransitionalStates (CPA_List<CPA_State>* p_oListOfStates, CPA_List<CPA_State>* p_oListOfStatesTransitional);
/* CPA_Ed_1 Mihaela Tancu end */
void mfn_vInterruptState (CPA_State *_p_oState);
void mfn_vDontInterruptState (CPA_State *_p_oState);
// Shaitan => state list in the level
public:
// End Shaitan => state list in the level
tdxHandleToState mfn_hGetStateFromLinkTable (char *_szStateName,char *_szFamilyName);
CPA_State *mfn_p_oCreateNewState (char *_szStateName);
};
#endif /* ACTIVE_EDITOR*/
#endif /* __CPAACTION_HPP__*/

View File

@@ -0,0 +1,173 @@
/*=============================================================================
*
* Filename: CPAState.hpp
* Version: 2.0 (VSS5)
* Date: 30/12/96
* Author: Marc Trabucato
*
* Description: description of CPA_AnimAction class
*
*===========================================================================*/
#ifndef __CPASTATE_HPP__
#define __CPASTATE_HPP__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif
/******************************************/
#ifdef ACTIVE_EDITOR
#include "ITF.h"
#include "_ACTypes.hpp"
/*3dos*/
class CPA_State;
class CPA_Animation;
class CPA_Action;
class CPA_Family;
#define C_szStateSectionName "CreateNewState"
typedef struct tdstZAListInfo_
{
CPA_SaveObject *p_oZAList;
CPA_SaveObject *p_oZA;
} tdstZAListInfo;
typedef enum tdeTransitionState_
{
E_ts_Prohibited,
E_ts_Allowed,
/*ANNECY CT 11/02/98{*/
E_ts_Fluid,
/*ENDANNECY CT}*/
E_ts_Unknown
} tdeTransitionState;
typedef struct tdstTransitionStateInfo_
{
CPA_Action *p_oAction;
CPA_State *p_oStateToGo;
tdeTransitionState eState;
} tdstTransitionStateInfo;
typedef struct tdstTSIState_
{
CPA_State *p_oState;
tdstTransitionStateInfo *p_stTSI;
} tdstTSIState;
/*=============================================================================
* class CPA_AnimAction:
=============================================================================*/
class CPA_State : public CPA_SaveObject,
public CPA_EdElement<CPA_State,tdxHandleToState,LST2_M_StaticAnchorTo(tdxHandleToState)*>
{
/* datas*/
protected:
CPA_Animation *m_p_oAnimation;
CPA_State *m_p_oNextState;
BOOL m_bTransitional;
CPA_Action *m_p_oAction;
CPA_SaveObject *m_p_oMecaCard;
BOOL m_bMustRecomputeTransitions;
CPA_List<tdstTransitionStateInfo> m_oListOfTransitionStateInfo;
/* CPA_Ed_1 Mihaela Tancu begin*/
int m_iNumber; /*the number of spaces to put before a transitional state*/
/* CPA_Ed_1 Mihaela Tancu end*/
public:
CPA_List<CPA_State> m_oListOfUsedAsNextState;
CPA_List<CPA_State> m_oListOfUsedAsTransitional;
CPA_List<tdstZAListInfo> m_oListOfUsedOnZAList;
/* methods*/
public:
/* to create a new state or to use an existing engine state*/
CPA_State(CPA_EditorBase *p_oDLL, CPA_BaseObject *_p_oOwnerFamily, tdxHandleToState _hEngineState = NULL,
CPA_Animation *p_oAnimation = NULL, CString _csStateName = "");
~CPA_State(void);
/* CPA_Ed_1 Mihaela Tancu begin*/
/*get and set the number of spaces*/
int mfn_iGetSpaceNumbers () { return m_iNumber;}
void mfn_vSetSpaceNumbers (int _iNb) { m_iNumber = _iNb;}
/*for every transitional state determine the number of spaces before each transitional state*/
void mfn_vObtainSpaceNumbers();
/* CPA_Ed_1 Mihaela Tancu end*/
/* overloaded functions*/
long GetDataType ( void ) { return 0; }
void* GetData ( void ) { return (void*)GetStruct(); }
tdeMissingCriteria fn_eCheckUnicity ( const CString _csNewName ) { return fn_eCheckUnicityWithOwner( _csNewName ); }
void fn_vNotifyRename (void);
/* new functions*/
static void Init();
static void fn_vCallBackSave ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction);
CPA_State* mfn_p_oDuplicateState (void);
void mfn_vInitNextState (void);
void mfn_vInitMechanics (void);
/* set functions*/
void mfn_vSetAnimation (CPA_Animation *_p_oAnimation);
void mfn_vSetNextState (CPA_State *_p_oNextState, BOOL _bPreviousRemoved = FALSE);
void mfn_vSetReplay (unsigned char _ucReplay);
void mfn_vSetSpeed (signed char _cSpeed);
void mfn_vSetTransitional (BOOL _bTransitional , BOOL _bUpdateEngine = TRUE);
void mfn_vSetAction (CPA_Action *_p_oAction) { m_p_oAction = _p_oAction; }
void mfn_vSetMecaCard (CPA_SaveObject *_p_oMeca);
void mfn_vSetProhibitedByDefault (BOOL _bProhibit = FALSE);
void mfn_vSetCustomBits (unsigned char _ucCustomBits);
/* get functions*/
CPA_Family* mfn_p_oGetFamily (void) { return (CPA_Family*)GetOwner(); }
CPA_Action* mfn_p_oGetAction (void) { return m_p_oAction; }
CPA_Animation* mfn_p_oGetAnimation (void) { return m_p_oAnimation; }
CPA_State* mfn_p_oGetNextState (void) { return m_p_oNextState; }
CPA_SaveObject* mfn_p_oGetMecaCard (void) { return m_p_oMecaCard; }
unsigned char mfn_ucGetReplay (void);
signed char mfn_cGetSpeed (void);
BOOL mfn_bGetTransitional (void) { return m_bTransitional; }
BOOL mfn_bIsProhibitedByDefault (void) { return ( GetStruct() -> ucTransitionStatusFlag == C_ucProhibitedState ); }
unsigned char mfn_ucGetCustomBits (void) { return fn_ucGetStateCustomBits( GetStruct() ); }
/* Transitions functions*/
void mfn_vFillTransitionStateList ( void );
void mfn_vSetTransitionStateInfo ( CPA_Action *_p_oAction, tdeTransitionState _eState, CPA_State *_p_oState = NULL, BOOL _bOnInit = FALSE );
BOOL mfn_bUpdateTransitionStateList ( void );
void mfn_vRemoveActionFromTransition ( CPA_Action *_p_oAction );
tdstTransitionStateInfo *mfn_p_stGetTransitionStateInfo ( CPA_Action *_p_oAction );
BOOL mfn_bIsActionProhibited ( CPA_Action *_p_oAction );
tdeTransitionState mfn_eGetTransitionForAction ( CPA_Action *_p_oAction );
/* coherence functions*/
void mfn_vAddOnZAList ( CPA_SaveObject *_p_oZAList, CPA_SaveObject *_p_oZA );
void mfn_vDelOnZAList ( CPA_SaveObject *_p_oZAList );
CPA_SaveObject *mfn_p_oGetZAFromZAList ( CPA_SaveObject *_p_oZAList );
BOOL mfn_bCanUseAsNextState ( CPA_State *_p_oState );
/**/
/**/
protected:
void mfn_vInitAnimation (void);
void SetStruct (tdxHandleToState _hState);
void mfn_vRemoveStateFromTransition (CPA_State *_p_oState);
void mfn_vAddAsNextStateOf (CPA_State *_p_oState);
void mfn_vDelAsNextStateOf (CPA_State *_p_oState);
void mfn_vAddAsTransitionalStateOf (CPA_State *_p_oState);
void mfn_vDelAsTransitionalStateOf (CPA_State *_p_oState);
POSITION mfn_xGetPosOfZAListUsing (CPA_SaveObject *_p_oZAList);
void mfn_vResetTransitionStateInfoList ( void );
};
#endif /* ACTIVE_EDITOR*/
#endif /* __CPASTATE_HPP__*/

View File

@@ -0,0 +1,205 @@
/*=============================================================================
*
* Filename: CPAZnAtv.hpp
* Version: 2.0 (VSS5)
* Date: 30/12/96
* Author: Marc Trabucato
*
* Description: description of CPA_ZonesActivating class
* && description of CPA_ZonesActivatingList class
*
* version with engine struct link
*===========================================================================*/
#ifndef __CPAZNACT_HPP__
#define __CPAZNACT_HPP__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif
/******************************************/
#include <afxtempl.h>
class CPA_State;
class CPA_MainWorld;
class CPA_Family;
class CPA_ZonesActivatingList;
class CPA_tdoNameList;
/*=============================================================================
*
* local structures
*
*===========================================================================*/
typedef struct tdstLoadInfo_
{
CPA_tdoNameList *m_p_oNameList;
char *m_szName;
} tdstLoadInfo;
typedef struct tdstZAUsed_
{
CPA_ZonesActivatingList *p_oZAList;
CPA_State *p_oState;
} tdstZAUsed;
/*=============================================================================
*
* Description: description of CPA_ZdxIndex class
* an index
*===========================================================================*/
class CPA_ZdxIndex : public CPA_EdElement<CPA_ZdxIndex,ZDX_tdxHandleToZdxIndexList,LST2_M_StaticAnchorTo(ZDX_tdxHandleToZdxIndexList)*>
{
public:
CPA_ZdxIndex(ZDX_tdxHandleToZdxIndexList _hEngineStruct = NULL);
~CPA_ZdxIndex();
static void Init();
void mfn_vSetIndex(unsigned short usIndex);
unsigned short mfn_usGetIndex(void);
};
/*=============================================================================
*
* Description: description of CPA_ZonesActivating class
te * a list of index : (actived zones from one list during one state)
*===========================================================================*/
class CPA_ZonesActivating : public CPA_SaveObject, public CPA_EdMot<ZDX_tdxHandleToZoneSetList>
{
public:
CPA_EdList<CPA_ZdxIndex,ZDX_tdxHandleToZdxIndexList,LST2_M_StaticAnchorTo(ZDX_tdxHandleToZdxIndexList)*> m_oListOfZDxNameIdx;
CPA_List<tdstZAUsed> m_oListOfZAListUsing;
public:
/* constructor/destructor*/
/* to create new ZA*/
CPA_ZonesActivating(CPA_EditorBase *_p_oDLL, CPA_BaseObject *_p_oOwnerNamesList, CString _csName = "");
/* to use an existing engine ZA*/
CPA_ZonesActivating(CPA_EditorBase *_p_oDLL, CPA_BaseObject *_p_oOwnerNamesList, CString _csName,
ZDX_tdxHandleToZoneSetList hZdxIndexList);
~CPA_ZonesActivating();
/* overload methods*/
long GetDataType ( void ) { return 0; }
void* GetData ( void ) { return (void*)GetStruct(); }
tdeMissingCriteria fn_eCheckUnicity ( const CString csNewName );
/* new methods*/
static void Init();
static void fn_vCallBackSave( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName,
void *_p_vData, SCR_tde_Ntfy_Action _eAction);
CPA_ZonesActivating *mfn_p_oDuplicateZA (void);
CPA_ZonesActivating *mfn_p_oGetDefaultZA(void);
/* set function*/
void mfn_vSetZoneActivation (unsigned short _usZoneIndex, BOOL _bActivation);
void mfn_vRemoveZone (unsigned short _usZoneIndex);
void mfn_vInsertZone (unsigned short _usZoneIndex);
/* coherence methods*/
void mfn_vUsedByZAList (CPA_ZonesActivatingList *_p_oZAList, CPA_State *_p_oState);
void mfn_vDontUsedByZAList (CPA_ZonesActivatingList *_p_oZAList, CPA_State *_p_oState);
protected:
void SetStruct (ZDX_tdxHandleToZoneSetList hZdxIndexList);
POSITION mfn_xGetPosZoneActivation (unsigned short _usZoneIndex);
POSITION mfn_xGetZAListPos (CPA_ZonesActivatingList *_p_oZAList, CPA_State *_p_oState);
};
/*=============================================================================
*
* Description: description of CPA_ActivationState class
* a couple << state , ZA >>
*===========================================================================*/
class CPA_ActivationState : public CPA_SectionObject,
public CPA_EdElement<CPA_ActivationState,ZDX_tdxHandleToZoneSetEncapsulation,LST2_M_StaticAnchorTo(ZDX_tdxHandleToZoneSetEncapsulation)*>
{
private:
CPA_ZonesActivatingList *m_p_oZAList;
CPA_State *m_p_oState;
CPA_ZonesActivating *m_p_oZA;
public:
CPA_ActivationState (CPA_ZonesActivatingList *_p_oZAList, CPA_State *_p_oState, CPA_ZonesActivating *_p_oZA, BOOL _bSectionExists);
CPA_ActivationState (CPA_ZonesActivatingList *_p_oZAList, ZDX_tdxHandleToZoneSetEncapsulation _hZoneSetEncapsulation = NULL);
CPA_ActivationState (CPA_ActivationState &_r_oSource);
void mfn_vSetZA (CPA_ZonesActivating *_p_oZA);
BOOL mfn_bUpdate (CPA_ZonesActivating *_p_oDefaultZA);
CPA_State *mfn_p_oGetState (void);
CPA_ZonesActivating *mfn_p_oGetZA (void);
CPA_ZonesActivatingList *mfn_p_oGetZAList (void);
void mfn_vComputeReferencedSectionName( char * _p_szSectionName, CPA_State *_p_oState );
static void Init ( void );
static void fn_vCallBackSave ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName,
void *_p_vData, SCR_tde_Ntfy_Action _eAction);
protected:
void mfn_vInitZA (void);
void mfn_vInitState (void);
};
/*=============================================================================
*
* Description: description of CPA_ZonesActivatingList class
* a list of CPA_ActivationState ( couple << state , ZA >> )
*===========================================================================*/
class CPA_ZonesActivatingList : public CPA_SaveObject, public CPA_EdMot<ZDX_tdxHandleToCsaList>
{
private:
BOOL m_bMustBeUpdated;
CPA_SectionObject *m_p_oSectionFile;
public:
CPA_EdList<CPA_ActivationState,ZDX_tdxHandleToZoneSetEncapsulation,LST2_M_StaticAnchorTo(ZDX_tdxHandleToZoneSetEncapsulation)*> m_oListOfZAState;
CPA_List<CPA_ActivationState> m_oListOfUnusedZAState;
/* methods*/
public:
/* constructor/destructor*/
CPA_ZonesActivatingList(CPA_EditorBase *_p_oDLL, CPA_BaseObject *_p_oOwnerNamesList, CString _csName = "",
ZDX_tdxHandleToCsaList _hEngineCsaList = NULL);
~CPA_ZonesActivatingList();
/* overloaded methods*/
/*void *GetEngineStruct ( void ) { return GetStruct(); }*/
long GetDataType ( void ) { return 0; }
void* GetData ( void ) { return (void*)GetStruct(); }
tdeMissingCriteria fn_eCheckUnicity ( const CString csNewName );
void fn_vNotifySave ( void );
void fn_vNotifyUnSave ( void );
void fn_vNotifyRename ( void );
void fn_vNotifyRestore ( void );
void fn_vUpdateReference ( CPA_SaveObject *_p_oObject );
/* new methods*/
static void Init ( void );
static void fn_vCallBackSave ( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName,
void *_p_vData, SCR_tde_Ntfy_Action _eAction);
CPA_ZonesActivatingList *mfn_p_oDuplicateZAList();
/* get functions*/
CPA_tdoNameList *mfn_p_oGetZDxNameList (void) { return (CPA_tdoNameList *)GetOwner(); }
int mfn_iGetNbZDxNames (void);
/**/
void mfn_vFillZAList (void);
void mfn_vZARenamed (CPA_ZonesActivating *_p_oZA);
void mfn_vStateRenamed (CPA_State *_p_oState);
void mfn_vSetZAFromState (CPA_ZonesActivating *_p_oZA, CPA_State *_p_oState);
void mfn_vRemoveState (CPA_State *_p_oState);
CPA_ZonesActivating *mfn_p_oGetZAFromState (CPA_State *_p_oState);
void mfn_vUpdateEditorList (void);
void mfn_vMustBeUpdated (void) { m_bMustBeUpdated = TRUE; }
BOOL mfn_bUpdate (void);
/**/
protected:
void SetStruct (ZDX_tdxHandleToCsaList hCsaList);
CPA_ZonesActivating *mfn_p_oGetZAWithEngineZdxIndexList (LST2_M_StaticAnchorDeclaration(ZDX_tdxHandleToZdxIndexList) hEngineZdxIndexListList, BOOL _bUseEngine = TRUE);
CPA_ActivationState *mfn_p_oGetActivationStateFromState (CPA_State *_p_oState, BOOL _bWithUnused = FALSE);
POSITION mfn_xGetPosActivationStateFromState(CPA_State *_p_oState);
POSITION mfn_xGetPosUnusedActivationStateFromState(CPA_State *_p_oState);
void mfn_vInsertActivationState(CPA_ActivationState *_p_oStZA, BOOL _bEngine = TRUE);
};
#endif /* __CPAZNACT_HPP__*/

View File

@@ -0,0 +1,81 @@
/*=============================================================================
*
* Filename: _ACTypes.hpp
* Version: 2.0 (VSS5)
* Date: 30/12/96
* Author: Marc Trabucato
*
* Description: description of TAction_Interface class, which is the
* base class of action DLL (inherit CPA_ToolDLLBase
*
*===========================================================================*/
#ifndef __ACTYPES_HPP__
#define __ACTYPES_HPP__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif
/******************************************/
/*----------------------------------------------------------*/
/* TYPES & ENUMS*/
/*----------------------------------------------------------*/
/* type of State modification*/
typedef enum
{
C_iAnim,
C_iSpeed,
C_iSpeedW,
C_iReplay,
C_iReplayW,
C_iNextState,
C_iInterruptState,
C_iMeca,
C_iTPList,
C_iDefaultStatus,
C_iCustomBits
} tdeChangingState;
/* type of zone*/
typedef enum
{
C_eZDd,
C_eZDe,
C_eZDm,
C_eZDr,
C_eError
} tde_ZoneType;
/* zone modification (OnQuery)*/
class CPA_tdoNameList;
typedef struct tdstModifZone_
{
CPA_tdoNameList *p_oNameList;
short wIndex;
} tdstModifZone;
/*----------------------------------------------------------*/
/* CONSTANTS*/
/*----------------------------------------------------------*/
#define C_szActionTypeName "Action"
#define C_szStateTypeName "State"
#define C_szZATypeName "ZA"
#define C_szZAListTypeName "ZAList"
#define C_uiLoadAllActions 1
#define C_uiSaveAction 2
#define C_uiSaveStates 3
#define C_uiRemoveZone 4
#define C_uiLoadZA 5
#define C_uiLoadZAList 6
#define C_uiInsertZone 7
#define C_uiOpenWithNone 10
#define C_uiOpenWithFamily 11
#define C_uiOpenWithAction 12
#define C_uiOpenWithState 13
#define C_szTACModuleNameErO "TAC Module"
#endif /*__ACTYPES_HPP__*/