Add rayman2 source files
This commit is contained in:
151
Rayman_X/cpa/public/OAC/CPA_NLL.hpp
Normal file
151
Rayman_X/cpa/public/OAC/CPA_NLL.hpp
Normal file
@@ -0,0 +1,151 @@
|
||||
/*#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER >= 1000
|
||||
*/
|
||||
#include "ITF.h"
|
||||
|
||||
#include "EdtList.hpp"
|
||||
|
||||
/*TODO-B 28/02/97: define this when the coherence manager is fully available*/
|
||||
#define D_UseCoherenceManager
|
||||
#if defined ( D_UseCoherenceManager )
|
||||
#include "ITF\cohemngr.hpp"
|
||||
#endif /* D_UseCoherenceManager */
|
||||
|
||||
#ifndef __CPANLL_HPP__
|
||||
#define __CPANLL_HPP__
|
||||
|
||||
class EdActors_EditorActor;
|
||||
|
||||
#if !defined(enum_tdeUpdateReason)
|
||||
#define enum_tdeUpdateReason
|
||||
typedef enum tdeUpdateReason_
|
||||
{
|
||||
E_ur_NoReasonGiven = 0,
|
||||
E_ur_ButtonClicked,
|
||||
E_ur_ComboSelChanged,
|
||||
E_ur_ModelChangedNameList,
|
||||
E_ur_ModelEditedNameList,
|
||||
E_ur_InstanciatedFromModel
|
||||
|
||||
} tdeUpdateReason;
|
||||
#endif /* enum_tdeUpdateReason */
|
||||
|
||||
typedef enum tdeShareMode_
|
||||
{
|
||||
E_sm_FirstShareMode,
|
||||
E_sm_Common = E_sm_FirstShareMode,
|
||||
E_sm_Shared,
|
||||
E_sm_Virge,
|
||||
E_sm_LastShareMode = E_sm_Virge,
|
||||
E_sm_None
|
||||
} tdeShareMode;
|
||||
|
||||
class tdoObjectName : public CPA_BaseObject
|
||||
{
|
||||
public:
|
||||
tdoObjectName &operator =(CString &r_csString);
|
||||
tdoObjectName(
|
||||
CPA_BaseObject *p_oOwner, /*the owner name list*/
|
||||
CString oName = "",
|
||||
tdeShareMode eMode = E_sm_None
|
||||
);
|
||||
tdoObjectName(tdoObjectName *p_oOriginalName);
|
||||
~tdoObjectName() {};
|
||||
/* Virtual functions of CPA_BaseObject*/
|
||||
long GetDataType () { return 0; }
|
||||
void * GetData () { return NULL; }
|
||||
/*this one is pure: we have to overload it to be able to instanciate the class...*/
|
||||
static void StaticInit();
|
||||
void m_vSetShareMode(tdeShareMode eNewMode) { m_eShareMode = eNewMode; }
|
||||
tdeShareMode m_eGetShareMode() { return m_eShareMode; }
|
||||
tdeMissingCriteria fn_eCheckUnicity(const CString _csNewName) { return fn_eCheckUnicityWithOwner(_csNewName); }
|
||||
protected:
|
||||
private:
|
||||
tdeShareMode m_eShareMode;
|
||||
|
||||
};
|
||||
|
||||
/*==========================================================
|
||||
Class name: CPA_tdoNameList
|
||||
Description: List of names
|
||||
Author: Benoit Germain
|
||||
Date: february 14, 1997
|
||||
Revision:
|
||||
==========================================================*/
|
||||
class CPA_tdoNameList : public CPA_SaveObject, public CPA_List<tdoObjectName>
|
||||
{
|
||||
private:
|
||||
CPA_SectionObject *m_p_oLevelSection;
|
||||
CPA_SectionObject *m_p_oNamesSection;
|
||||
public:
|
||||
/* Constructor*/
|
||||
CPA_tdoNameList(
|
||||
/*EdActors_EditorActor *p_oCreatorEditorActor,*/
|
||||
CString csObjectType,
|
||||
CPA_BaseObject *p_oOwner,
|
||||
BOOL bSectionExist,
|
||||
CString csName = "" /*MT 17/04/97 plus de fichier ni de section*/
|
||||
);
|
||||
/* Destructor*/
|
||||
~CPA_tdoNameList();
|
||||
static void StaticInit();
|
||||
|
||||
/* Virtual functions of CPA_BaseObject*/
|
||||
long GetDataType () { return 0; }
|
||||
void * GetData () { return NULL; }
|
||||
|
||||
tdeMissingCriteria fn_eCheckUnicity( const CString csNewName );
|
||||
|
||||
void fn_vNotifySave (void);
|
||||
void fn_vNotifyUnSave (void);
|
||||
void fn_vNotifyRestore (void);
|
||||
void fn_vNotifyRename (void);
|
||||
|
||||
short m_wGetIndexOfName(CString csNameToFind);
|
||||
|
||||
/* handler of the object lists associated to the name list.*/
|
||||
EdtListHandler *m_pEdtListHandler;
|
||||
void m_vDisplayChildLists(BOOL bNewValue = TRUE) { m_bDisplayChildObjectLists = bNewValue; }
|
||||
BOOL m_bGetChildListsDisplay() { return m_bDisplayChildObjectLists; }
|
||||
BOOL m_bIsNameValid(CString csName);
|
||||
|
||||
/* CallBack loading*/
|
||||
static SCR_tde_Anl_ReturnValue m_fne_CallBackLoad( SCR_tdst_File_Description *_p_stFile, char *_p_szName, char *_ap_szParams[], SCR_tde_Anl_Action _eAction );
|
||||
static SCR_tde_Anl_ReturnValue m_fne_CallBackLoadOnLevel( SCR_tdst_File_Description *_p_stFile, char *_p_szName, char *_ap_szParams[], SCR_tde_Anl_Action _eAction );
|
||||
static SCR_tde_Anl_ReturnValue m_fne_CallBackLoadNamesList( SCR_tdst_File_Description *_p_stFile, char *_p_szName, char *_ap_szParams[], SCR_tde_Anl_Action _eAction );
|
||||
static SCR_tde_Anl_ReturnValue m_fne_CallBackLoadSubSection( SCR_tdst_File_Description *_p_stFile, char *_p_szName, char *_ap_szParams[], SCR_tde_Anl_Action _eAction );
|
||||
|
||||
/* CallBack Saving*/
|
||||
static void m_fnv_CallBackSave( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction);
|
||||
static void m_fnv_CallBackSaveNamesList( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction); /* unused*/
|
||||
static void m_fnv_CallBackSaveAddENL( SCR_tdst_File_Description *_p_stFile, char *_p_szSectionName, void *_p_vData, SCR_tde_Ntfy_Action _eAction);
|
||||
/**/
|
||||
/* load & save section on family File*/
|
||||
|
||||
|
||||
/* load & save section on level File*/
|
||||
|
||||
|
||||
BOOL m_bHasAVirgeField();
|
||||
BOOL m_bHasACommonField();
|
||||
unsigned long m_ulGetNumberOfVirgeFields();
|
||||
void fn_vUpdateReference (CPA_SaveObject *pReferencedObject);
|
||||
/* ALX*/
|
||||
void m_fnv_SetDefaultZA(CPA_BaseObject *_p_oZA) { m_p_oDefaultZA = _p_oZA; }
|
||||
CPA_BaseObject* m_fnp_oGetDefaultZA() { return m_p_oDefaultZA; }
|
||||
protected:
|
||||
CPA_SaveObject *m_fnp_oCreateNewZA(char *_szSectionName);
|
||||
CPA_SaveObject *m_fnp_oCreateNewZAList(char *_szSectionName);
|
||||
EdtList *m_fnp_oCreateNewZoneList(char* _szSectionName);
|
||||
|
||||
private:
|
||||
/*EdActors_EditorActor *m_p_oCreatorEditorActor;*/
|
||||
BOOL m_bDisplayChildObjectLists;
|
||||
CPA_BaseObject *m_p_oDefaultZA;
|
||||
};
|
||||
|
||||
#define M_bIsListNameValidForFamily(csName, p_oFamily) \
|
||||
(!g_pclInterface->GetMainWorld()->fn_bExist(csName, "", p_oFamily))
|
||||
|
||||
#endif
|
164
Rayman_X/cpa/public/OAC/EdtList.hpp
Normal file
164
Rayman_X/cpa/public/OAC/EdtList.hpp
Normal file
@@ -0,0 +1,164 @@
|
||||
/*=========================================================================================
|
||||
File: EdtList.hpp
|
||||
Prupose: Handle lists in editor
|
||||
Author: Yann Le Tensorer
|
||||
Creation Date: february 11, 1997 (it's my birthday!!)
|
||||
Version: 1.0
|
||||
===========================================================================================
|
||||
Revisions: Version Date Author
|
||||
----------------------------------------------------------------
|
||||
|
||||
=========================================================================================*/
|
||||
|
||||
|
||||
/*=========================================================================================
|
||||
Notes:
|
||||
=========================================================================================*/
|
||||
|
||||
|
||||
#ifndef __EDTLIST_HPP__
|
||||
#define __EDTLIST_HPP__
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif /* _MSC_VER >= 1000*/
|
||||
|
||||
class CPA_tdoNameList;
|
||||
class EdtList;
|
||||
class EdtListHandler;
|
||||
class EdActors_EditorActor;
|
||||
|
||||
/* desol<6F>, on ne peut pas <20>viter celui-l<>...*/
|
||||
#include "cpa_nll.hpp"
|
||||
|
||||
/* Type of owner (modele or instance)*/
|
||||
#define C_ucModele 0
|
||||
#define C_ucInstance 1
|
||||
|
||||
/* constantes d'erreur */
|
||||
#define C_ucActorHasNoModel 1
|
||||
#define C_ucNullPointerError 2
|
||||
#define C_ucActorHasNoNameList 3
|
||||
|
||||
/* Enum for SetEdtList*/
|
||||
typedef enum eConstraintType_ { eNormal , eModifyAllActors , eModifyOneActor } tdeConstraintType;
|
||||
|
||||
/*=======================================================================
|
||||
Structure passee en parametres lors des messages onquery pour g<>r<EFBFBD>r les listes
|
||||
editeur
|
||||
=======================================================================*/
|
||||
typedef struct stEdtListMess_
|
||||
{
|
||||
CString csListType; /* type de liste <20> cr<63>er (Zdd,Zde,Zdm,Chemin)*/
|
||||
CPA_BaseObject* pActor; /* Acteur ou le modele*/
|
||||
unsigned long ulIndexInList; /* index de l'objet dans la liste*/
|
||||
CPA_BaseObject* pObject; /* objet <20> inserer*/
|
||||
EdtList* pList; /* liste a obtenir*/
|
||||
tdeConstraintType eConstraintType; /* pour SetEdtList*/
|
||||
} tdstEdtListMess;
|
||||
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
/* class EdtList*/
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
class EdtList : public CPA_SaveObject , public CPA_List<CPA_SaveObject>
|
||||
{
|
||||
public:
|
||||
EdtList(
|
||||
CPA_tdoNameList *pNameList, /* pointer to the list of names (owner of the edtlist)*/
|
||||
CString csListType, /* type de la liste <20> cr<63>er (Zdd,Zde,Zdm,Chemins)*/
|
||||
CString csEdtListName, /* name of the list to create*/
|
||||
BOOL _bSectionExist,
|
||||
BOOL _bForModel = FALSE
|
||||
);
|
||||
|
||||
/* Pure virtual fonctions*/
|
||||
long GetDataType (); /* Convert m_csListType to a type used by the engine*/
|
||||
void * GetData () { return m_hMotorList; }
|
||||
|
||||
unsigned long fn_ulGetNumberOfActorsUsingThisList();
|
||||
CString fn_csGetListType() { return m_csListType; }
|
||||
CPA_tdoNameList *fn_oGetNameList() {return m_pNameList; }
|
||||
BOOL fn_bMakeActorUseThisList(EdActors_EditorActor* pActor , BOOL bNotifySave = TRUE);
|
||||
BOOL fn_bMakeActorNotUseThisList(EdActors_EditorActor* pActor , BOOL bNotifySave = TRUE);
|
||||
void fn_vInformEditorForAllActors(
|
||||
long ulIndexInList,
|
||||
CPA_BaseObject *OldObject,
|
||||
EdActors_EditorActor *pNotToBeTreatedActor
|
||||
);
|
||||
CPA_List<EdActors_EditorActor> *fn_oGetListOfActorsUsingThisList();
|
||||
void *fn_hGetMotorList () { return m_hMotorList; }
|
||||
void fn_vSetMotorList (void * _hMotorList) { fn_vUpdateData(_hMotorList); m_hMotorList = _hMotorList; }
|
||||
CPA_BaseObject *fn_oGetFirstActorUsingThisList ();
|
||||
void fn_vSetDrawObjects ( long lDrawObjects ) { m_lDrawObjects = lDrawObjects; }
|
||||
long fn_lGetDrawObjects ( void ) { return m_lDrawObjects; }
|
||||
|
||||
private:
|
||||
void *m_hMotorList; /* handle sur la liste moteur*/
|
||||
CString m_csListType; /* type de liste (Zdd,Zde,Zdm,Chemins)*/
|
||||
CPA_tdoNameList *m_pNameList; /* list of names*/
|
||||
EdtListHandler *m_pListHandler; /* List handler*/
|
||||
unsigned long m_ulNumberOfActorsUsingThisList; /* number of actors using this list*/
|
||||
CPA_List<EdActors_EditorActor> *m_p_oListOfReferencingEditorActors; /* list of the actors using this list*/
|
||||
long m_lDrawObjects; /* The objects of the list must be draw (only used for way) ?*/
|
||||
BOOL m_bForModelOnly;
|
||||
|
||||
/* Callback to save an object list*/
|
||||
void static CallbackToSaveObjectList(
|
||||
SCR_tdst_File_Description *_p_stFile,
|
||||
char *_p_szSectionName,
|
||||
void *_p_vData,
|
||||
SCR_tde_Ntfy_Action _eAction
|
||||
);
|
||||
/* Callback to the file*/
|
||||
void static CallbackToCreateZDxFile ( SCR_tdst_File_Description * _pFile ,
|
||||
char * _szSectionName ,
|
||||
void * _pData ,
|
||||
SCR_tde_Ntfy_Action _eAction);
|
||||
|
||||
|
||||
public:
|
||||
void AddObjectInZoneMotorList(short wInsertIndex);
|
||||
void RemoveObjectInZoneMotorList(short wIndex);
|
||||
void fn_vNotifyRename (); /* Called when a fn_eRename is done*/
|
||||
void fn_vNotifySave ();
|
||||
tdeMissingCriteria fn_eCheckUnicity (const CString csNewName);
|
||||
BOOL fn_bForModelOnly (void) { return m_bForModelOnly; }
|
||||
};
|
||||
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
/* class EdtListHandler*/
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
class EdtListHandler
|
||||
{
|
||||
public:
|
||||
EdtListHandler (); /* Constructor*/
|
||||
EdtList* fn_poCreateEdtList(tdstEdtListMess* p_ListMess);
|
||||
EdtList* fn_poCreateEdtList (CPA_tdoNameList * p_NameList , CString csName , void * p_vEngineList ,
|
||||
BOOL _bSectionExists);
|
||||
EdtList* fn_poGetEdtList(tdstEdtListMess* p_ListMess);
|
||||
void fn_vSetEdtList(tdstEdtListMess* p_ListMess);
|
||||
unsigned char fn_ucDeleteEdtList(tdstEdtListMess* p_ListMess);
|
||||
unsigned char fn_ucModifyEdtList(tdstEdtListMess* p_ListMess);
|
||||
CPA_tdoNameList* fn_oGetNameList() {return m_pNameList;}
|
||||
void fn_vSetNameList(CPA_tdoNameList* _NameList) {m_pNameList=_NameList;}
|
||||
CPA_List<EdtList>* fn_oGetListOfEdtLists() {return m_pListOfEdtLists;}
|
||||
void fn_vAddObjectInEdtList(CPA_BaseObject* _pObject);
|
||||
void /*CPA_List<CPA_BaseObject>**/m_vRemoveObjectFromAllLists(unsigned long ulIndex);
|
||||
void fn_vAddObjectToAllLists(tdoObjectName *p_oNewObjectName, short wInsertIndex = -1/*, CPA_List<CPA_BaseObject> *p_oReferencesList = NULL*/);
|
||||
BOOL fn_bChangeNameListShareMode(unsigned long ulIndex,
|
||||
tdeShareMode NewAttribute,
|
||||
EdtList *pModelList);
|
||||
BOOL fn_bSetObjectInAllLists(unsigned long ulIndex,
|
||||
CPA_SaveObject *pObject);
|
||||
BOOL fn_bSetObjectInModelListForSharedField(unsigned long ulIndex,
|
||||
CPA_SaveObject *pObject,EdtList
|
||||
*pModelList);
|
||||
|
||||
private:
|
||||
BOOL fn_bUserWantsANewList(); /* function that asks to the user if he wants a new list to be created, when modifying a shared field.*/
|
||||
CPA_tdoNameList* m_pNameList; /* list of names*/
|
||||
CPA_List<EdtList>* m_pListOfEdtLists; /* list of EdtLists*/
|
||||
CString fn_csConvertNameListTypeToEdtListType (CString csNameListType);
|
||||
};
|
||||
|
||||
#endif /* __EDTLIST_HPP__*/
|
404
Rayman_X/cpa/public/OAC/_Actors.hpp
Normal file
404
Rayman_X/cpa/public/OAC/_Actors.hpp
Normal file
@@ -0,0 +1,404 @@
|
||||
/* (c) Ubi Studios 1996*/
|
||||
/*/////////////////////////////////*/
|
||||
|
||||
#ifndef __ACTOR_OBJECT_HPP__
|
||||
#define __ACTOR_OBJECT_HPP__
|
||||
|
||||
#if _MSC_VER >= 1000
|
||||
#pragma once
|
||||
#endif /* _MSC_VER >= 1000*/
|
||||
|
||||
#ifdef _ACTORS_DLL_
|
||||
#ifdef CPA_WANTS_IMPORT
|
||||
#pragma message("========================================================")
|
||||
#pragma message("== WARNING ! You are importing the ACTOR object class ==")
|
||||
#pragma message("========================================================")
|
||||
#endif /*CPA_WANTS_IMPORT*/
|
||||
#endif /*_ACTORS_DLL_*/
|
||||
|
||||
/****************************************/
|
||||
#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
|
||||
/****************************************/
|
||||
|
||||
/*BEGIN ROMTEAM Cristi Petrescu 98-05-*/
|
||||
/* For "IncAI.h" !!*/
|
||||
#include "ACP_Base.h"
|
||||
#include "IncAI.h"
|
||||
/* End For "IncAI.h" !!*/
|
||||
/*END ROMTEAM Cristi Petrescu 98-05-*/
|
||||
|
||||
typedef tdstEngineObject * EdActors_tdhHandleToActor;
|
||||
|
||||
class CTL_Editor_EnumDescriptor;
|
||||
class EditorObjectTable;
|
||||
class EdActors_EditorActor;
|
||||
class EdActors_EditorActorModel;
|
||||
class EdActors_EditorActorInstance;
|
||||
class CPA_Family;
|
||||
class CPA_SuperObject;
|
||||
class CPA_State;
|
||||
class CPA_Action;
|
||||
class CPA_tdoNameList;
|
||||
/*BEGIN ROMTEAM Cristi Petrescu 98-05-*/
|
||||
class CPA_EdIR_DebugInfo;
|
||||
/*END ROMTEAM Cristi Petrescu 98-05-*/
|
||||
|
||||
class CPA_EXPORT CPA_Actor : public CPA_SaveObject,
|
||||
public CPA_EdMot<EdActors_tdhHandleToActor>
|
||||
{
|
||||
|
||||
public:
|
||||
/*Normal constructor*/
|
||||
CPA_Actor(EdActors_tdhHandleToActor hObj,
|
||||
EdActors_EditorActor *pclEditorActor,
|
||||
CString csType,
|
||||
CPA_Actor *pclBaseModel = NULL,
|
||||
CPA_Family *pclBaseFamily = NULL,
|
||||
CPA_SuperObject *_p_oSuperObject = NULL,
|
||||
CString csName = "",
|
||||
BOOL _bActorIsAvailable = TRUE);
|
||||
|
||||
/*Copy constructor*/
|
||||
CPA_Actor(CPA_Actor *_pclSourceActor,
|
||||
CPA_SuperObject *_p_oSuperObject,
|
||||
CString _csName);
|
||||
|
||||
~CPA_Actor();
|
||||
|
||||
void SetEngineStruct(EdActors_tdhHandleToActor);
|
||||
|
||||
static void StaticInit();
|
||||
|
||||
/*Attributes*/
|
||||
public:
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
EdActors_EditorActor *m_pclEditorActor;
|
||||
|
||||
BOOL m_bDisplayZone;
|
||||
|
||||
CString m_csFamilyName;
|
||||
|
||||
BOOL m_bIsAnAlways;
|
||||
|
||||
BOOL m_bIsAGenDoor;
|
||||
|
||||
BOOL m_pri_bIsAlwaysActive;
|
||||
|
||||
/* ANNECY MT - 19/11/98 {*/
|
||||
BOOL m_pri_bIsInAllSubMaps;
|
||||
/* END ANNECY MT }*/
|
||||
|
||||
/*A (keeped) pointer on the SO isolated before engine mode*/
|
||||
/*Only useful for GenDoors type Actors*/
|
||||
/*This So is child of the Actor*/
|
||||
CPA_SuperObject *m_pclIsolatedSuperObject;
|
||||
|
||||
/*This SO represents the Actro in the Hierarchy*/
|
||||
CPA_SuperObject *m_pclSuperObject;
|
||||
|
||||
/*The Current Object Table*/
|
||||
EditorObjectTable *m_pri_pclCurrentObjectTable;
|
||||
|
||||
/*The Initial Object Table*/
|
||||
EditorObjectTable *m_pri_pclInitialObjectTable;
|
||||
|
||||
/*The Current Action*/
|
||||
CPA_Action *m_pri_pclCurrentAction;
|
||||
|
||||
/*The Initial Action*/
|
||||
CPA_Action *m_pri_pclInitialAction;
|
||||
|
||||
/*The Current State*/
|
||||
CPA_State *m_pri_pclCurrentState;
|
||||
|
||||
/*The Initial State*/
|
||||
CPA_State *m_pri_pclInitialState;
|
||||
|
||||
/*The Family of the Actor*/
|
||||
CPA_Family *m_pri_pclFamily;
|
||||
|
||||
/*Indicates whether the Actor is an Instance (TRUE) or a Model (FALSE)*/
|
||||
BOOL m_bIsAnInstance;
|
||||
|
||||
/*Internal Object, used to notify the file (and not the section)*/
|
||||
CPA_SectionObject *m_pclSectionSubObject;
|
||||
|
||||
/*Indicates whether the Actor must be saved in "_Common" directory, or in Level*/
|
||||
BOOL m_pri_bIsCommon;
|
||||
|
||||
/*Indicates whether the Actor must be saved in "Game.fix" file*/
|
||||
BOOL m_pri_bIsInFix;
|
||||
|
||||
/*Indicates whether this Actor must be saved or not*/
|
||||
BOOL m_pri_bHasBeenModified;
|
||||
|
||||
/*CPA2 Stegaru Cristian 98-06*/
|
||||
/*hide variable option*/
|
||||
BOOL m_bHideVariable;
|
||||
static CString m_csINIFileName;
|
||||
static CString m_csHideVariableSection;
|
||||
BOOL m_bCheckZonesAgainstBV;
|
||||
/*End CPA2 Stegaru Cristian 98-06*/
|
||||
|
||||
/*Functions*/
|
||||
public:
|
||||
/*//////////////////////////////////////////////////////////////*/
|
||||
/* PUBLIC FUNCTIONS //*/
|
||||
/*//////////////////////////////////////////////////////////////*/
|
||||
/*Returns the Model of the Actor(or NULL if the Actor is a Model)*/
|
||||
CPA_Actor *m_fn_pclGetModel();
|
||||
|
||||
/*Returns TRUE if the Actor is an Instance, else returns FALSE*/
|
||||
BOOL m_fn_bIsAnInstance();
|
||||
/*Returns TRUE if the Actor is a Model, else returns FALSE*/
|
||||
BOOL m_fn_bIsAModel();
|
||||
|
||||
/*Returns the Editor's Actor (a priori, not needed out of Actors DLL)*/
|
||||
void m_fn_vSetEditorActor(EdActors_EditorActor *);
|
||||
EdActors_EditorActor *m_fn_pclGetEditorActor();
|
||||
EdActors_EditorActorModel *m_fn_pclGetEditorModel();
|
||||
EdActors_EditorActorInstance *m_fn_pclGetEditorInstance();
|
||||
|
||||
/*To set a new name for an Actor*/
|
||||
BOOL m_fn_bRename(CString csNewName);
|
||||
|
||||
/*To finish loading a Model*/
|
||||
void m_fn_vFinishLoading();
|
||||
|
||||
/**/
|
||||
CString m_fn_csGetFamilyName();
|
||||
void m_fn_vSetFamilyName(CString csNewFamilyName);
|
||||
|
||||
/**/
|
||||
void m_fn_vMakeAlways(BOOL bIsAnAlways = TRUE);
|
||||
BOOL m_fn_bIsAnAlways();
|
||||
BOOL m_fn_bCanBeAnAlways();
|
||||
|
||||
/*Get/Set for pointer on the SO isolated before engine mode*/
|
||||
/*Only useful for GenDoors type Actors*/
|
||||
CPA_SuperObject *m_fn_pclGetIsolatedSuperObject();
|
||||
void m_fn_vSetIsolatedSuperObject(CPA_SuperObject *);
|
||||
|
||||
/*Gen Doors*/
|
||||
void m_fn_vMakeGenDoor(BOOL bIsAGenDoor = TRUE);
|
||||
BOOL m_fn_bIsAGenDoor();
|
||||
|
||||
/*Always active*/
|
||||
BOOL m_pub_fn_bIsAlwaysActive();
|
||||
void m_pub_fn_vSetAlwaysActive(BOOL _bAlwaysActive, BOOL _bIsLoading = FALSE);
|
||||
|
||||
/*In All SubMaps*/
|
||||
BOOL m_pub_fn_bIsInAllSubMaps();
|
||||
void m_pub_fn_vSetInAllSubMaps(BOOL _bInAllSubMaps, BOOL _bIsLoading = FALSE);
|
||||
|
||||
/*To get the Motor status of Actors*/
|
||||
BOOL m_fn_bIsTheCurrentMotorCamera();
|
||||
BOOL m_fn_bIsAPrincipalActor();
|
||||
/*BOOL m_fn_bIsTheWorldActor();*/
|
||||
|
||||
/*To add childs to an Actor, according to its status*/
|
||||
void m_pub_fn_vAddChildsFromEngineChilds();
|
||||
void m_pub_fn_vAddChildsForGenDoors();
|
||||
/*To remove editor childs*/
|
||||
void m_pub_fn_vRemoveAllEditorChilds();
|
||||
/*To compare the two hierarchies (motor and editor) when back from motor mode*/
|
||||
/* returns TRUE only if hierarchies are the same*/
|
||||
BOOL m_pub_fn_bCompareEditorAndMotorChilds();
|
||||
|
||||
/*To handle the Object Tables of an Actor*/
|
||||
CTL_Editor_EnumDescriptor *m_pub_fn_pclGetEnumDescriptorForObjectsTables();
|
||||
void m_pub_fn_vConstructEnumDescriptorForObjectsTables();
|
||||
|
||||
/*Object Tables*/
|
||||
EditorObjectTable *m_pub_fn_pclGetCurrentObjectTable();
|
||||
void m_pub_fn_vSetCurrentObjectTable(EditorObjectTable *);
|
||||
EditorObjectTable *m_pub_fn_pclGetInitialObjectTable();
|
||||
void m_pub_fn_vSetInitialObjectTable(EditorObjectTable *);
|
||||
|
||||
void m_pub_fn_vUpdateObjectTablesList(EditorObjectTable *pclOT = NULL);
|
||||
|
||||
/*Action*/
|
||||
CPA_Action *m_pub_fn_pclGetCurrentAction();
|
||||
void m_pub_fn_vSetCurrentAction(CPA_Action *);
|
||||
CPA_Action *m_pub_fn_pclGetInitialAction();
|
||||
void m_pub_fn_vSetInitialAction(CPA_Action *);
|
||||
|
||||
/*State*/
|
||||
CPA_State *m_pub_fn_pclGetCurrentState();
|
||||
void m_pub_fn_vSetCurrentState(CPA_State *);
|
||||
CPA_State *m_pub_fn_pclGetInitialState();
|
||||
void m_pub_fn_vSetInitialState( CPA_State *,
|
||||
BOOL _bMustNotifyLevel = FALSE);
|
||||
|
||||
/*To get Motor and Editor SuperObjects*/
|
||||
HIE_tdxHandleToSuperObject m_pub_fn_hGetMotorSuperObject();
|
||||
CPA_SuperObject *m_pub_fn_pclGetSuperObject();
|
||||
void m_pub_fn_vSetSuperObject(CPA_SuperObject *);
|
||||
|
||||
/*To get/set the Family*/
|
||||
/*Returns the Family of the Actor (Model or Instance)*/
|
||||
CPA_Family *m_pub_fn_pclGetFamily();
|
||||
void m_pub_fn_vSetFamily(CPA_Family *pclNewFamily);
|
||||
|
||||
/*For a Model, indicates wether it can be instantiated or not*/
|
||||
BOOL m_pub_fn_bCanBeInstantiated();
|
||||
|
||||
/**/
|
||||
BOOL m_pub_fn_bIsCommon();
|
||||
void m_pub_fn_vSetCommon( BOOL _bCommon = TRUE,
|
||||
BOOL _bIsLoading = FALSE);
|
||||
|
||||
/**/
|
||||
BOOL m_pub_fn_bIsInFix();
|
||||
void m_pub_fn_vSetInFix( BOOL _bIsInFix = TRUE,
|
||||
BOOL _bIsLoading = FALSE);
|
||||
|
||||
/*Indicates whether this Actor must be saved or not*/
|
||||
BOOL m_pub_fn_bHasBeenModified();
|
||||
|
||||
/*To re-init the Actor as if it was in its intial state*/
|
||||
void m_pub_fn_vReInitActor();
|
||||
|
||||
/*Returns the number of Instances of a Model, and -1 for an Instance*/
|
||||
long m_pub_fn_lGetNumberOfInstances();
|
||||
|
||||
/*Checks Model before Instanciation*/
|
||||
BOOL m_pub_fn_bCheckModelForInstanciation();
|
||||
|
||||
/* //Returns the name of a Designer Variable, knowing its ID
|
||||
// ... For IAD ...
|
||||
CString m_pub_fn_csGetDsgVarNameFromID(long _lID);
|
||||
|
||||
//Displays the IA editor with the good behaviour
|
||||
// ... For IAD ...
|
||||
void m_pub_fn_vShowBehaviour(struct tdstNodeInterpret_ *_pstNode);*/
|
||||
|
||||
/*BEGIN ROMTEAM Cristi Petrescu 98-05-*/
|
||||
/*CPA_EdIR_DebugInfo *m_fn_pGetDebugInfo (tdstNodeInterpret *_pstNode);*/
|
||||
/* initialize the debugger*/
|
||||
void m_fn_vMustBuildDebugInfo (BOOL);
|
||||
/* for building behaviour nodes*/
|
||||
CString m_fn_csGetBehaviourName (tdstNodeInterpret *);
|
||||
/* for diplaying in the IA window the executed code*/
|
||||
/*void m_fn_vStartExecutedCodeDisplay (CString);*/
|
||||
/*void m_fn_vStopExecutedCodeDisplay (CString);*/
|
||||
void m_fn_vClearExecutedNodes (CString);
|
||||
void m_fn_vSetOneExecutedNode (tdstNodeInterpret *);
|
||||
void m_fn_vShowBehaviour (struct tdstNodeInterpret_ *);
|
||||
void m_fn_vShowBehaviour (CString);
|
||||
/*END ROMTEAM Cristi Petrescu 98-05-*/
|
||||
|
||||
/*Get ???*/
|
||||
/*For TIA*/
|
||||
CPA_tdoNameList *m_pub_fn_pclGetNameList(CString _csName);
|
||||
|
||||
/*CPA2 Stegaru Cristian 98-06*/
|
||||
BOOL mfn_bIsHideVarChecked ();
|
||||
void mfn_vCheckHideVar (BOOL bHideVar);
|
||||
static CString mfn_csGetINIFileName () { return m_csINIFileName;}
|
||||
BOOL mfn_bSet_CheckZonesAgainstBV (BOOL bCheck) { return m_bCheckZonesAgainstBV = bCheck;}
|
||||
BOOL mfn_bGet_CheckZonesAgainstBV () { return m_bCheckZonesAgainstBV;}
|
||||
/*End CPA2 Stegaru Cristian 98-06*/
|
||||
|
||||
/*SHAITAN*/
|
||||
void mfn_vUpdateAIModel (AI_tdstAIModel *p_stAIModel);
|
||||
void mfn_vUpdateAllInstancesForFastC (void);
|
||||
/*SHAITAN*/
|
||||
/*//////////////////////////////////////////////////////////////*/
|
||||
/* end of PUBLIC FUNCTIONS //*/
|
||||
/*//////////////////////////////////////////////////////////////*/
|
||||
|
||||
public:
|
||||
/*Virtual Functions*/
|
||||
virtual long GetDataType(void);
|
||||
virtual void *GetData(void);
|
||||
|
||||
virtual void fn_vNotifySave(void);
|
||||
virtual void fn_vNotifyUnSave(void);
|
||||
virtual void fn_vNotifyRestore(void);
|
||||
virtual void fn_vNotifyRename(void);
|
||||
|
||||
/*CPA2 Stegaru Cristian 98-06*/
|
||||
virtual tdeMissingCriteria fn_eCheckValidity (const CString csNewName);
|
||||
/*End CPA2 Stegaru Cristian 98-06*/
|
||||
|
||||
virtual CString fn_csComputeReferencedSectionName(const CString csNewName);
|
||||
|
||||
/*Specific Functions*/
|
||||
static void s_m_fn_vCallBackSaveActor(SCR_tdst_File_Description *_p_stFile,
|
||||
char *_p_szSectionName,
|
||||
void *_p_vData,
|
||||
SCR_tde_Ntfy_Action _eAction);
|
||||
|
||||
BOOL GetDisplayZone() {return m_bDisplayZone;};
|
||||
void SetDisplayZone(BOOL _bDisplayZone) {m_bDisplayZone = _bDisplayZone;};
|
||||
|
||||
BOOL m_pub_fn_bCanBeRenamed();
|
||||
|
||||
/* Shaitan Correction {*/
|
||||
void fn_vSetExistingSectionSubObject (BOOL bExist);
|
||||
/*End Shaitan Correction }*/
|
||||
|
||||
void m_fn_vSetModelDefaultValues (void);
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
CString m_pri_fn_csComputeReferencedSectionName(CString csName = "",
|
||||
CPA_Family *pclFamily = NULL);
|
||||
CString m_pri_fn_csComputeCompleteSectionName(CString csName = "",
|
||||
CPA_Family *pclFamily = NULL);
|
||||
|
||||
CString m_pri_fn_csComputeCompleteFileName(void);
|
||||
CString m_pri_fn_csComputeReferencedFileName(void);
|
||||
|
||||
|
||||
|
||||
/*To build (recursively) the hierarchy of Modules childs for the Actor*/
|
||||
void m_pri_fn_vBuildChildOfOneLevel(CPA_SuperObject *_pclEditorSoFather);
|
||||
/*To remove (recursively) editor childs of one SuperObject*/
|
||||
void m_pri_fn_vRemoveAllChildsForOneSO(CPA_SuperObject *_pclEditorSoFather);
|
||||
/*To compare (recursively) editor and motor childs of ONE SuperObject*/
|
||||
BOOL m_pri_fn_bCompareOneLevelOfEditorAndMotorChilds(CPA_SuperObject *_pclFatherSO);
|
||||
|
||||
/*CPA2 Stegaru Cristian 98-06*/
|
||||
void mfn_vSaveToINI ();
|
||||
void mfn_vLoadFromINI ();
|
||||
/*End CPA2 Stegaru Cristian 98-06*/
|
||||
|
||||
};
|
||||
|
||||
class EdActors_MyDocument;
|
||||
|
||||
class CPA_MakeAlways : public CPA_Modif
|
||||
{
|
||||
private:
|
||||
EdActors_MyDocument *m_pDocument;
|
||||
CPA_List<CPA_Actor> m_lstActors;
|
||||
BOOL m_bMakeAlways;
|
||||
/* CPA2 ASilvescu 98-04-24*/
|
||||
BOOL m_bIsCommon;
|
||||
/* End CPA2 ASilvescu 98-04-24*/
|
||||
|
||||
public:
|
||||
CPA_MakeAlways (EdActors_MyDocument *pDocument, CPA_List<CPA_SuperObject> *pSOActors, BOOL bMakeAlways);
|
||||
CPA_MakeAlways (EdActors_MyDocument *pDocument, CPA_Actor *pActor, BOOL bMakeAlways);
|
||||
~CPA_MakeAlways (void);
|
||||
|
||||
BOOL Do (void);
|
||||
BOOL Undo (void);
|
||||
};
|
||||
|
||||
|
||||
#endif /*__ACTOR_OBJECT*/
|
Reference in New Issue
Block a user