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,83 @@
/*=========================================================================
* 3DOSLkTb.h : Link tables structures
*
*
*
*
* Version 1.0
* Creation date 25/03/97
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1997
*=======================================================================*/
#if !defined(__3DOSLkTb_H__)
#define __3DOSLkTb_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
typedef struct tdst3DOSLinkTable_
{
/**** Those link-tables are for the editors and for the engine ****/
#if !defined(U64)
SCR_tdst_Link_Table stCharacter;
SCR_tdst_Link_Table stState;
SCR_tdst_Link_Table stAnimation;
#endif /* U64 */
/**** Familly, Model and Personnal engine object's types (used in abjtype.c) ****/
/*
unsigned long ulNumberOfFamily;
SCR_tdst_Link_Table stFamilyType;
unsigned long ulNumberOfModel;
SCR_tdst_Link_Table stModelType;
unsigned long ulNumberOfPersonal;
SCR_tdst_Link_Table stPersonnalType;
*/
/**** Those link-tables are only used by the editors ****/
#if !defined(U64)
SCR_tdst_Link_Table stACZ;
#else /* U64 */
char cNotEmpty;
#endif /* U64 */
#if !defined(U64)
#if defined(ACTIVE_EDITOR)||defined(BIN_SaveBin)
SCR_tdst_Link_Table stCharacterZone;
SCR_tdst_Link_Table stLipsSynchroList;
/* JO 06/11/97*/
SCR_tdst_Link_Table stPrtGenLinkTable;
SCR_tdst_Link_Table stPrtSrcLinkTable;
SCR_tdst_Link_Table stPrtSysLinkTable;
SCR_tdst_Link_Table stPrtSysSpriteLinkTable;
SCR_tdst_Link_Table stPrtEnvLinkTable;
SCR_tdst_Link_Table stZDXList;
SCR_tdst_Link_Table stACZList;
#endif /* ACTIVE_EDITOR || BIN_SaveBin */
#endif /* U64 */
} tdst3DOSLinkTable;
#ifndef _FIRE_DEADCODE_U64_
EXTERN CPA_EXPORT tdst3DOSLinkTable g_st3DOSLinkTable;
#endif /* _FIRE_DEADCODE_U64_ */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __3DOSLkTb_H__ */

View File

@@ -0,0 +1,188 @@
/*=========================================================================
* Anim_s.h : Define the engine anim's structure.
* This is a part of the Game project.
*
* Version 2.0
* Creation date 09/08/96
* Revision date 24/10/96 DVD (Gizmo)
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__ANIM_S_H__)
#define __ANIM_S_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "ACP_Base.h" /*AR9808 Must be included before all includes*/
#include "POS.H"
#include "GLI.H"
#include "SCT.H"
#include "GAM/Header.h"
#include "../PlayAnim/PLA_dbg.h"
#include "GAM/Macros.h"
#define C_ucSOUND_EVENT 0
#define C_ucMECHANIC_EVENT 1
#define C_ucGENERATE_EVENT 2
#define C_ucGENERIC_EVENT 3
#define C_ucNeverPlay 255
/* MR1206*/
#define C_ucTAKE_OBJECT_EVENT 1
#define C_ucTAKE_IN_OBJECT_EVENT 2
#define C_ucTAKE_OUT_OBJECT_EVENT 3
#define C_ucDROP_OBJECT_EVENT 4
#define C_ucTHROW_OBJECT_EVENT 5
/*ANNECY VL 26/11/97{*/
#define C_ucEvent_User0 6
#define C_ucEvent_User1 7
#define C_ucEvent_User2 8
#define C_ucEvent_User3 9
#define C_ucEvent_User4 10
#define C_ucEvent_User5 11
#define C_ucEvent_User6 12
#define C_ucEvent_User7 13
/*ENDANNECY VL }*/
/* structure describing a all events*/
typedef struct tdstEventInTable_
{
void* p_xEvent; /* pointer to the event*/
unsigned char ucTypeOfEvent;
unsigned char ucPriority;
unsigned char ucFirstCall; /* number of anim loop before event*/
unsigned char ucPeriod; /* number of loop after FirstCall*/
#ifndef U64
unsigned long ulBinaryEventId; /* used for the binarisation only*/
#endif
} tdstEventInTable;
typedef struct tdstEvent_
{
tdstEventInTable* p_stfEventInTBL;
unsigned short usEventNumberInTBL;
unsigned short uwFrameNumber;
unsigned short uwChannelNumber;
} tdstEvent;
/*
* structure describing a 3d element
*/
M_BeginDeclareEnumerate( tdeTypeOfElement )
TE_GraphicObject = 0,
TE_SubAnimation,
TE_EmptyObject,
TE_Event,
TE_Light, /* MR2908*/
TE_Fake,
TE_Undefined
M_EndDeclareEnumerate( tdeTypeOfElement, unsigned char )
/* structure Couple (Child,Father) for Hierarchy*/
typedef struct tdstCouple_
{
unsigned short wChild,wFather;
} tdstCouple;
/* structure Hierarchy*/
typedef struct tdstPLA_Hierarchy_
{
unsigned long ulNbOfCouples;
tdstCouple * d_stCouples;
} tdstPLA_Hierarchy;
#include "Specif/Elem_3d.h"
struct tdstAnim3d_;
typedef struct tdstFrame3d_
{
/**** array of 3d element structure ****/
struct tdstElement3d_ *p_stArrayOfElts3d;
#ifndef U64
struct MTH3D_tdstMatrix_ *p_stAngularSpeedMatrix;
struct MTH3D_tdstVector_ *p_stLinearSpeedVector;
#endif /*U64*/
tdstPLA_Hierarchy stHierarchy;
/* ref of the information of the frame*/
struct tdstAnim3d_ * p_stAnim;
unsigned short uwFrameNumber;
unsigned char ucMatrixUpdated;
unsigned char ucCacheEntry; /*AR9902 This is to be sure that the animation is still loaded into the same cache entry*/
} tdstFrame3d;
typedef struct stMorphData
{
unsigned char ucTarget; /* index of the target PO into the objects table*/
unsigned char ucMorphingAmount; /* ratio for the morphing*/
unsigned short uwChannelNumber;
unsigned short uwFrameNumber;
unsigned short uwAlign;
} tdstMorphData;
/*
* structure describing an animation sequence
*/
typedef struct tdstAnim3d_
{
#ifdef _DEBUG_STRING_FOR_PLA_
char szAnimName[LEN_DEBUG_STRING];
#endif
/**** Number of frames in the animation ****/
unsigned short uwNumberOfFrames;
unsigned char ucFrameRate;
unsigned char ucMaxNumberOfElements; /* total number of channels for this anim*/
/**** point to the first event (sound or other) ****/
struct tdstEvent_ *d_stAnimEvent;
/* POS_tdstCompletePosition stOffsetMatrix;*/
/* AR9811 Only the translation of this position is used*/
/* I have replaced it by a simple vector*/
MTH3D_tdstVector stOffsetMatrix;
/* BOOL bCompressedAnim;*/
/* MR2908*/
/* tdstAnimLights *p_stLights; // Array of lights*/
/**** morph array *** AR980304*/
tdstMorphData *d_stMorphDataArray; /* WARNING ! FOR PC, A3B VERSION MUST BE CHANGED !!!*/
unsigned short uwNumOfA3dGENERAL; /* For interpolation*/
unsigned char ucNumberOfEvents;
unsigned char ucUnused; /* alignment*/
} tdstAnim3d;
/*
* structure describing an sub-animation sequence
*/
/*typedef struct tdstSubAnim3d_
{
// current animation infos
unsigned short uwCurrentFrame; // current frame in the current animation
unsigned char ucRepeatAnimation; // how many animation after this one finished
unsigned char ucElement;
struct tdstState_ *p_stCurrentState;
} tdstSubAnim3d;
*/
#endif /* !__ANIM_S_H__ */

View File

@@ -0,0 +1,247 @@
/*=========================================================================
* EngMode.h : Define the engine modes structure.
* This is a part of the Game project.
*
* Version 1.0
* Creation date 09/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
/*
*=======================================================================
Modifications: New LST2_M_??? Macros / Micha<68>l / 070297
*=======================================================================*/
#if !defined(__ENGMODE_H__)
#define __ENGMODE_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#ifdef __cplusplus
extern "C" {
#endif
#include "TMR.h"
#include "GAM/Header.h"
#include "GAM/GAMHandl.h"
#define C_NumberOfCounter 16
M_BeginDeclareEnumerate(tdeEngineMode)
EM_ModeInvalid = 0,
EM_ModeStartingProgram, /* first init*/
EM_ModeStoppingProgram, /* last desinit*/
EM_ModeEnterGame, /* init game loop*/
EM_ModeQuitGame, /* desinit game loop*/
EM_ModeEnterLevel, /* init level loop*/
EM_ModeChangeLevel, /* desinit level loop*/
EM_ModeDeadLoop, /* init dead loop*/
EM_ModePlayerDead, /* desinit dead loop*/
EM_ModePlaying, /* playing game*/
/* FBF {*/
/*EM_ModeEnterMenu, // Init the menu
EM_ModeMenu, // In the start menu
EM_ModeQuitMenuToEnterGame, // Go to the game from the menu
EM_ModeEnterMenuWhenPlaying, // Init the menu when playing
EM_ModeEnterMenuWhenPlayingWithoutPause, // Init the menu by AI
EM_ModeMenuWhenPlaying, // In the menu when playing
EM_ModeMenuWhenPlayingWithoutPause, // In the menu when playing without pause
EM_ModeResumeGameFromMenu, // Return to the game from the menu
*/
/* FBF }*/
NbTotalEngineMode
M_EndDeclareEnumerate(tdeEngineMode, unsigned char)
M_BeginDeclareEnumerate(tdeInputMode)
IM_Normal,
IM_Commands,
IM_NumberOfMode
M_EndDeclareEnumerate(tdeInputMode, unsigned char)
/**** This enum is used as a bitfield ****/
M_BeginDeclareEnumerate(tdeDisplayFixMode)
DFM_DisplayAll = 0xff,
DFM_DisplayHitPoints = 0x01,
DFM_DisplayGameSave = 0x02,
DFM_DisplayNothing = 0x00,
DFM_NumberOfMode
M_EndDeclareEnumerate(tdeDisplayFixMode, unsigned char)
/*********************************************************************/
/**** This structures define the differents mode or state of play ****/
/**** and the options of game ****/
/*********************************************************************/
typedef struct tdstEngineTimerStructure_
{
unsigned long ulTrameNumber; /* Number of the frame */
short sTimerHandle;
unsigned long ulCurrentTimerCount; /* Current trame timer in msec*/
unsigned long ulDeltaTimerCount; /*Between two trames in msec*/
unsigned long a_ulCounter[C_NumberOfCounter]; /*Other frequencies counters*/
unsigned long ulUsefulDeltaTime;/* computed time in msec*/
unsigned long ulPauseTime; /* When engine is in pause */
MTH_tdxReal xFrameLength; /* frame length in s ( 60Hz -> 1/60 s ) */
#ifndef U64
struct _stTimerCount stRealTimeCount; /* Current trame timer in tick*/
struct _stTimerCount stPauseTime;
unsigned long ulTickPerMS;
#endif /* U64 */
} tdstEngineTimerStructure;
typedef struct tdstLanguageStructure_
{
char szLanguageCode[20];
char szLanguageText[20];
}tdstLanguageStructure;
#define M_ulGetUsefulDeltaTimeInMilliSeconds(stTimer) ((stTimer).ulUsefulDeltaTime)
#define M_xGetUsefulDeltaTimeInSeconds(stTimer)\
(MTH_M_xDiv(MTH_M_xLongToReal(stTimer.ulUsefulDeltaTime),\
MTH_M_xFloatToReal(1000.f)))
#define M_xGetFrameLength(stTimer) ((stTimer).xFrameLength)
/*ANNECY BBB 24/10/97 {*/
/*#define C_ucMaxNbSubLevels 10*/
/*ENDANNECY BBB 24/10/97 }*/
#define _MAX_NAME_LEVEL 30
typedef struct tdstEngineStructure_
{
tdeEngineMode eEngineMode;
char szLevelName[_MAX_NAME_LEVEL];
char szNextLevelName[_MAX_NAME_LEVEL];
char szFirstLevelName[_MAX_NAME_LEVEL];
/*ANNECY BBB 24/10/97 {*/
/*char szSubLevelName[C_ucMaxNbSubLevels][_MAX_PATH];*/
/*ENDANNECY BBB 24/10/97 }*/
/*char szCreditsLevelName[_MAX_PATH];*/
/*char szNextLevelPositionPersoName[50];*/
/*char szNextLevelPositionCameraName[50];*/
tdeInputMode eInputMode;
tdeDisplayFixMode eDisplayFixMode;
unsigned long ulDisplayMode;
/*unsigned char bSkipMainMenu;*/
tdstEngineTimerStructure stEngineTimer;
/* XB 23/06/99 */
/* not used in N64 engine */
#ifndef U64
GLD_tdhDevice hGLDDevice;
GLD_tdhViewport hGLDViewport;
#endif /* U64 */
/* End XB 23/06/99 */
GLD_tdstViewportAttributes stViewportAttr;
struct GLI_tdstCamera_ *p_stGameViewportCamera;
/* XB 23/06/99 */
/* not used in N64 engine */
#ifndef U64
void * hDrawSem;
#endif /* U64 */
/* End XB 23/06/99 */
GLD_tdhViewport hGLDFixViewport;
GLD_tdstViewportAttributes stFixViewportAttr;
GLI_tdstSpecificAttributesFor3D stFixAttributes3D;
struct GLI_tdstCamera_ *p_stFixCamera;
/* camera's management */
tdxHandleToViewportManagement a_hViewportArray;
LST2_M_DynamicAnchorDeclaration(tdxHandleToNodeCamera) hCameraList;
/* *************** */
LST2_M_DynamicAnchorDeclaration(tdxHandleToFamilyList) hFamilyList;
LST2_M_DynamicAnchorDeclaration(MC_tdxHandleToMainCharacterNode) hMainCharacterList;
LST2_M_DynamicAnchorDeclaration(tdxHandleToAlwaysActiveCharacterNode) hAlwaysActiveCharactersList;
/* *************** */
HIE_tdxHandleToSuperObject h_StdCamCaracter; /* Standard camera caracter description */
tdstLanguageStructure *p_stLanguageTable;
/*FIL_tdxHandleToFileNameList hGameSavedNameList;*/
FIL_tdxHandleToFileNameList hLevelNameList;
/* To restore positions after resurection*/
POS_tdstCompletePosition stMainCharacterPosition;
POS_tdstCompletePosition stMainCameraPosition;
long lSubMapNumber;
unsigned char bEngineIsInPaused;
unsigned char bEngineHasInPaused;
char a_szLevelName[80][_MAX_NAME_LEVEL];
unsigned char ucNumberOfLevels;
unsigned char ucCurrentLevel;
/* used to know which level we come from, if relevant: should be initialized to 0 at program start*/
/*then only modified by AI calls or level change requests (no save required)*/
unsigned char ucPreviousLevel;
unsigned char ucExitIdToQuitPrevLevel;
unsigned char ucLevelGlobalCounter;
ACP_tdxBool xDemoMode; /*AR9807*/
unsigned char ucCurrentLanguage; /*for multilanguage texts*/
unsigned char ucNbLanguages; /*for multilanguage texts*/
ACP_tdxBool bEngineFrozen; /* if true, unprotected characters are not treated in the engine loop*/
/* To restore positions after resurection*/
ACP_tdxBool bResurection;
/* Begin Shaitan ModeLook*/
/* For camera mode*/
char cCameraMode;
/* End Shaitan ModeLook*/
} tdstEngineStructure;
/* Begin Shaitan ModeLook*/
#define C_CamModeNormal 0
#define C_CamModeLook 1
/* End Shaitan ModeLook*/
EXTERN CPA_EXPORT struct tdstEngineStructure_ g_stEngineStructure;
/* Globals varaibles for binarisation*/
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
EXTERN CPA_EXPORT char g_cIsLevelOk;
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
EXTERN CPA_EXPORT char g_cMemMode;
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
EXTERN CPA_EXPORT char g_a64_cGameDataDirectory[64];
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
EXTERN CPA_EXPORT char g_cUseBinary;
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
/*
0 : Normal Memory
1 : Binary Memory
2 : Binary Memory for pass 1
3 : Binary Memory for pass 2
*/
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* !__ENGMODE_H__ */

View File

@@ -0,0 +1,311 @@
/*=========================================================================
* ErrGame.h : Management of the errors for GAME
*
* This is a part of the Game project.
*
* Version 1.0
* Creation date 20/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__ERRGAME_H_)
#define __ERRGAME_H_
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#ifdef __cplusplus
extern "C" {
#endif
#include "GAM/Header.h"
#define __FATAL_ERR_GAME__
#define __INFORMATION_ERR_GAME__ /**** Treat as a level 1 warning ****/
#define __WARNING_ERR_GAME__ /**** Treat as a level 2 warning ****/
enum e_uwGameErrNumber
{
E_uwGameFatalErr,
#if defined(__FATAL_ERR_GAME__)
/**** Error's errors ****/
E_uwGameFatalErrorNotAFatalError,
E_uwGameInformationErrorIsNotAInformationError,
E_uwGameWarningErrorIsNotAWarningError,
/**** Memory's errors ****/
E_uwGameInitMemoryCheckAlign,
E_uwGameGameMallocBadBlock,
E_uwGameGameMallocBadSize,
E_uwGameGameMallocAlloc,
E_uwGameIncreaseNumberOfSource,
/**** Object's errors ****/
E_uwGameScriptCallBackStateActionsAlreadyRead,
E_uwGameInitAllObjectTreeNullPointer,
E_uwGameInitAllObjectTreeBadInitType,
E_uwGameInitDesinitOneObjectNullPointer,
E_uwGameMiniStructAllocAlreadyAlloc,
E_uwGameMiniStructObjectNull,
E_uwGameMiniStructNull,
E_uwGameCineInfoSuperObjectNull,
/**** Engine's errors ****/
E_uwGameChooseTheGoodInitInvalidMode,
E_uwGameChooseTheGoodDesinitInvalidMode,
E_uwGameChangeEngineModeNewMode,
E_uwGameExploreWorldTreeInvalidSuperObject,
E_uwGameVerifySomeProgramVariableHandleFunction,
E_uwGameLanguage,
E_uwGameLanguageDefinition,
/**** Basic functions errors ****/
E_uwGameAToIBadEntry,
E_uwGameAToFBadEntry,
/**** Script errors ****/
E_uwGameScriptBadNumberOfArg,
E_uwGameScriptBadIPTLinkNumber,
/**** Animations ****/
E_uwGameErrorWhileLoadingAnimation,
E_uwGameBadAnimationGeneralInfo,
E_uwGameBadFrameNumber,
E_uwGameBadChannelNumber,
E_uwGameTooManyAnimations,
E_uwGameCurrentActorNotSet,
E_uwGameNoMorePLAObj,
E_uwGamePLA_NoWantedState,
E_uwGameStateNotInLinkTable,
E_uwGameScriptCallBackCreateNewStateBadNextState,
E_uwGameScriptCallBackCreateNewStateBadTargetState,
E_uwGameScriptCallBackCreateNewStateBadStateToGo,
/**** ViewPort errors ****/
E_uwGameCantCreateFixViewPort,
E_uwGameCantClearViewPort,
E_uwGameCantWriteToViewPort,
E_uwGameCantWriteToViewPortFinished,
E_uwGameCantFlipDevice,
/**** Always errors ****/
E_uwGameKillAlwaysByPersonalType,
/**** Dynamics ****/
E_uwGameDynamScriptCallBackBadParameter,
/**** SubMap ****/
E_uwGameUnCoherentSubMap,
#endif /* __FATAL_ERR_GAME__ */
E_uwGameStartOfWarning,
#if defined(__WARNING_ERR_GAME__)
/**** Engine's warning ****/
E_uwGameChangeEngineModeOldMode,
/**** memory's warning ****/
E_uwGameMallocUserDataAlreadyAllocated,
/**** Input's warning ****/
E_uwGameReadInputKeyboard,
E_uwGameReadInputJoystick,
/**** Object's warning ****/
E_uwGameAddAnAlwaysModelAlreadyExist,
E_uwGameAllocateAlwaysUnknownModel,
E_uwGameAllocateAlwaysNoMorePlace,
E_uwGameKillOneEngineObjectInvalid,
E_uwGameFreeEngineSuperObjectNoCharacter,
E_uwGameFirstInitFamilyStructureNoNull,
E_uwGameFreeUnknownSuperObjectType,
E_uwGameSaveOneEngineCharacters,
E_uwGameSaveAllEngineCharacters,
E_uwGameCreateSOFromEngineObjectAndParentBadSO,
E_uwGameChangeOfMechanicsDuringOneFrame,
E_uwGameBadNumberOfStatesInActivationList,
E_uwGamePLA_BadInitialState,
/*E_uwGameProblemsWithStartingPosition,*/
E_uwGameDebugDynamicAllocation,
#endif /* __WARNING_ERR_GAME__ */
E_uwGameStartOfInformationWarning,
#if defined(__INFORMATION_ERR_GAME__)
/**** Input's information ****/
E_uwGameInitInputKeyboard,
E_uwGameInitInputJoystick,
/**** Memory's information ****/
E_uwGameGameFreeNullPointer,
/**** Object's information ****/
E_uwGameInitOneObjectInvalidObject,
E_uwGameKillAlwaysByRankInvalidObject,
/**** Script's information ****/
E_uwGameScriptCallBackDescriptionUnknownAction,
E_uwGameScriptCallBackDescriptionScriptError,
/**** Sector errors ****/
E_uwGameCurrentSectorInOwnSoundList,
E_uwGameSectorTwiceInSoundList,
E_uwGameCurrentSectorInOwnActivityList,
E_uwGameSectorTwiceInActivityList,
E_uwGameCurrentSectorInOwnCollisionList,
E_uwGameSectorTwiceInCollisionList,
E_uwGameCurrentSectorInOwnGraphicList,
E_uwGameSectorTwiceInGraphicList,
#endif /* __INFORMATION_ERR_GAME__ */
E_uwGameErrNumber,
};
/*------------------*/
/* Global Variables*/
/*------------------*/
EXTERN unsigned char g_ucGameModuleId /* number of identification of the Game module*/
#if defined(D_GameGlobals)
= C_ucModuleNotInitialized
#endif /* D_GameGlobals */
;
#if defined(__ERROR_STRINGS__)
EXTERN CPA_EXPORT char * g_a_szGameInformationModule []
#if defined(D_GameGlobals) && !defined(CPA_WANTS_IMPORT)
= {C_szGamVersion, C_szGamFullName, C_szGamDate}
#endif /* D_GameGlobals && CPA_WANTS_IMPORT */
;
EXTERN char * g_szGameModuleName /* Obliged syntax 'sz'+[Abbreviation of ModuleName]+'ModuleName'*/
#if defined(D_GameGlobals)
= {C_szGamFullName}
#endif /* D_GameGlobals */
;
EXTERN tdstErrorMsg g_a_stGameTabErr[] /* Obliged syntax 'a_sz'+[Abbreviation of ModuleName]+'TabErr'*/
#if defined(D_GameGlobals)
=
{
#if defined(__FATAL_ERR_GAME__)
/* --------------------*/
/**** Error's errors ****/
E_uwGameFatalErrorNotAFatalError,"M_GameFatalError : Try to raise a warning or an information",
E_uwGameInformationErrorIsNotAInformationError,"M_GameInformationError : Try to raise a fatal or a warning",
E_uwGameWarningErrorIsNotAWarningError,"M_GameWarningError : Try to raise a fatal or a information",
/**** Memory's errors ****/
E_uwGameInitMemoryCheckAlign,"fn_vInitMemory : Bad alignment memory",
E_uwGameGameMallocBadBlock,"fnp_vGameMalloc : Bad block memory",
E_uwGameGameMallocBadSize,"fnp_vGameMalloc : Bad size allocation",
E_uwGameGameMallocAlloc,"fnp_vGameMalloc : Null pointer returned",
E_uwGameIncreaseNumberOfSource,"GAM_fn_vMemoryLogFile : Increase number of source",
/**** Object's errors ****/
E_uwGameScriptCallBackStateActionsAlreadyRead,"fn_vScriptCallBackStateActions : Two lines have the same state in script",
E_uwGameInitAllObjectTreeNullPointer,"fn_vInitAllObjectTree : Null pointer",
E_uwGameInitAllObjectTreeBadInitType,"fn_vInitAllObjectTree : Bad initialisation's type",
E_uwGameInitDesinitOneObjectNullPointer,"fn_v(Des)InitOneObject : A object must have p_st3dDatas and p_stStandardGame",
E_uwGameMiniStructAllocAlreadyAlloc,"fn_v####Alloc : Attempt to realloc a mini structure",
E_uwGameMiniStructObjectNull,"Attempt to used a NULL object's pointer",
E_uwGameMiniStructNull,"Attempt to used a NULL object mini-structure's pointer",
E_uwGameCineInfoSuperObjectNull,"Attempt to used CineInfo with no SuperObject",
/**** Engine's errors ****/
E_uwGameChooseTheGoodInitInvalidMode,"fn_vChooseTheGoodInit : invalid engine mode",
E_uwGameChooseTheGoodDesinitInvalidMode,"fn_vChooseTheGoodDesInit : invalid engine mode",
E_uwGameChangeEngineModeNewMode,"fn_vChangeEngineMode : bad new engine mode",
E_uwGameExploreWorldTreeInvalidSuperObject,"fn_vExploreWorldTree : unknown SuperObject type",
E_uwGameVerifySomeProgramVariableHandleFunction,"fn_vVerifySomeProgramVariable : size of tdstEngineObject and stStructureHandleFunction are not compatible",
E_uwGameLanguage,"Array of languages is full.",
E_uwGameLanguageDefinition, "Redefinition of the array of languages." ,
/**** Basic functions errors ****/
E_uwGameAToIBadEntry,"fn_lAToI : string in number.",
E_uwGameAToFBadEntry,"fn_lAToF : string in number.",
/**** Script errors ****/
E_uwGameScriptBadNumberOfArg,"Script callback : bad number of arguments",
E_uwGameScriptBadIPTLinkNumber,"fn_eScriptCallBackIPTLink : Bad link number",
/**** Animations ****/
E_uwGameErrorWhileLoadingAnimation,"",
E_uwGameBadAnimationGeneralInfo,"",
E_uwGameBadFrameNumber,"",
E_uwGameBadChannelNumber,"",
E_uwGameTooManyAnimations,"",
E_uwGameCurrentActorNotSet,"",
E_uwGameNoMorePLAObj,"SuperObjects heap Overflow : increase constant at the top of PlayAnim.h",
E_uwGamePLA_NoWantedState,"WantedState == NULL, a state has ended and no new state has been positionned",
E_uwGameScriptCallBackCreateNewStateBadNextState,"fn_eScriptCallBackCreateNewState : Bad Next State",
E_uwGameScriptCallBackCreateNewStateBadTargetState,"fn_eScriptCallBackCreateNewState : Bad Target State",
E_uwGameScriptCallBackCreateNewStateBadStateToGo,"fn_eScriptCallBackCreateNewState : Bad StateToGo State",
/**** ViewPort errors ****/
E_uwGameCantCreateFixViewPort,"fn_vCreateFixViewPort : failed.",
E_uwGameCantClearViewPort,"fn_vEngine : Can't clear ViewPort.",
E_uwGameCantWriteToViewPort,"fn_vEngine : Can't write to ViewPort.",
E_uwGameCantWriteToViewPortFinished,"fn_vDisplayAll : can't write to ViewPort finished",
E_uwGameCantFlipDevice,"fn_vDisplayAll : can't write to ViewPort finished",
/**** Always errors ****/
E_uwGameKillAlwaysByPersonalType,"fn_vKillAlwaysByPersonalType : Bad SO type founded",
/**** Dynamics ****/
E_uwGameDynamScriptCallBackBadParameter,"fn_eDynamScriptCallBack : Bad parameters",
/**** Submap ****/
E_uwGameUnCoherentSubMap,"fn_vVerifySubMapCoherence : Some loaded sectors are not child of root",
#endif /* __FATAL_ERR_GAME__ */
#ifdef __WARNING_ERR_GAME__
/* --------------------*/
/**** Engine's warning ****/
E_uwGameChangeEngineModeOldMode,"fn_vChangeEngineMode : bad old engine mode",
/**** memory's warning ****/
E_uwGameMallocUserDataAlreadyAllocated,"fn_vMallocUserData : User data already allocated.",
/**** Input's warning ****/
E_uwGameReadInputKeyboard,"fn_vReadInput : keyboard is read but not initialized",
E_uwGameReadInputJoystick,"fn_vReadInput : joystick is read but not initialized",
/**** Object's warning ****/
E_uwGameAddAnAlwaysModelAlreadyExist,"fn_vAddAnAlwaysModel : Always model already exist (ignored)",
E_uwGameAllocateAlwaysUnknownModel,"fn_p_stAllocateAlways : Unknown always model",
E_uwGameAllocateAlwaysNoMorePlace,"fn_p_stAllocateAlways : No more place",
E_uwGameKillOneEngineObjectInvalid,"fn_vKillOneEngineObject : Attempt to kill a invalid object (ignored)",
E_uwGameFreeEngineSuperObjectNoCharacter,"fn_p_stFreeEngineSuperObject : Attempt to free a no character SuperObject (ignored)",
E_uwGameFirstInitFamilyStructureNoNull,"fn_vFirstInitFamilyStructure : g_p_stFamily is not NULL (lost memory) !!!",
E_uwGameFreeUnknownSuperObjectType,"fn_vDestroyAllHierarchy : Unknown super object type (ignored).",
E_uwGameSaveOneEngineCharacters,"fn_vSaveOneEngineCharacters : Can not save character (ignored).",
E_uwGameSaveAllEngineCharacters,"fn_vSaveAllEngineAndAlwaysCharacters : Can not save characters (ignored).",
E_uwGameCreateSOFromEngineObjectAndParentBadSO,"fn_hCreateSOFromEngineObjectAndParent : Try to put a Character SO above a not Physical SO",
E_uwGameChangeOfMechanicsDuringOneFrame,"fn_vMakeCharacterReact : Kind of Mechanics should change at beginning of Frame !",
/* JO 29/05/97*/
E_uwGameBadNumberOfStatesInActivationList,"fn_eScriptCallBackCreateNewZoneSetArray : Will bug in few minuts!!",
E_uwGamePLA_BadInitialState,"Bad Initial State in .car : it doesn't exist in .sta",
/*E_uwGameProblemsWithStartingPosition,"Problem with starting point",*/
E_uwGameDebugDynamicAllocation,"Debug version : dynamic allocation in bloc GAM (don't forget to increase the bloc)",
#endif /* __WARNING_ERR_GAME__ */
#ifdef __INFORMATION_ERR_GAME__
/* --------------------*/
/**** Input's information ****/
E_uwGameInitInputKeyboard,"fn_vInitInput : no keyboard !",
E_uwGameInitInputJoystick,"fn_vInitInput : no joystick !",
/**** Memory's information ****/
E_uwGameGameFreeNullPointer,"fn_vGameFree : Try to free a null pointer !",
/**** Object's information ****/
E_uwGameInitOneObjectInvalidObject,"fn_vInitOneObject : init a invalid object",
E_uwGameKillAlwaysByRankInvalidObject,"fn_vKillAlwaysByRank : attempt to destroy invalid always object",
/**** Script's information ****/
E_uwGameScriptCallBackDescriptionUnknownAction,"fn_eScriptCallBackXxx : unknown action (ignored)",
E_uwGameScriptCallBackDescriptionScriptError,"fn_eScriptCallBackXxx : internal script error (file skipped)",
/**** Sector errors ****/
E_uwGameCurrentSectorInOwnSoundList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Sound list",
E_uwGameSectorTwiceInSoundList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Sound list",
E_uwGameCurrentSectorInOwnActivityList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Activity list",
E_uwGameSectorTwiceInActivityList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Activity list",
E_uwGameCurrentSectorInOwnCollisionList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Collision list",
E_uwGameSectorTwiceInCollisionList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Collision list",
E_uwGameCurrentSectorInOwnGraphicList,"fn_vTestAllSectorsListForIncoherences: Current sector is in its own Graphic list",
E_uwGameSectorTwiceInGraphicList,"fn_vTestAllSectorsListForIncoherences: Sector is twice in Graphic list",
#endif /* __INFORMATION_ERR_GAME__ */
0xffff,"\0"/*fin*/
}
#endif /* D_GameGlobals */
;
#endif /* __ERROR_STRINGS__ */
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* !__ERRGAME_H_ */

View File

@@ -0,0 +1,175 @@
/*=========================================================================
* GameScript.h : Contain all section and section entry of all Game script
* This is a part of the Game project.
*
* Version 1.0
* Creation date 09/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__GameScpt_h__)
#define __GameScpt_h__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#define GAM_C_FixScriptPriority 1
#define GAM_C_LevelScriptPriority 2
#define GAM_C_FixDynamicScriptPriority 11
#define GAM_C_LevelDynamicScriptPriority 12
/************************************************************/
/**** IMPORTANT : ****/
/**** All this sections must be registred in ****/
/**** fn_vRegisterAllScriptSections in Basic.c file ****/
/************************************************************/
/**** Directories script ****/
#define C_Section_DirectoriesDescription "DirectoriesDescription"
/**** Memory script ****/
#define C_Section_MemoryDescription "NewMemoryDescription"
#define C_Section_BinaryMemoryDescription "NewBinaryMemoryDescription"
#define C_Section_BinaryMemoryDescriptionPass1 "NewBinaryMemoryDescriptionPass1"
#define C_Section_BinaryMemoryDescriptionPass2 "NewBinaryMemoryDescriptionPass2"
#define C_Entry_GAM_FixMemory "GameFixMemorySize"
#define C_Entry_GAM_LevelMemory "GameLevelMemorySize"
#define C_Entry_MenuMemory "MenuMemorySize"
#define C_Entry_FontMemory "FontMemorySize"
#define C_Entry_SAIFixMemory "SAIFixMemorySize"
#define C_Entry_SAILevelMemory "SAIMemorySize"
#define C_Entry_AIFixMemory "AIFixMemory"
#define C_Entry_AIMemory "AIMemory"
#define C_Entry_TMPFixMemory "TMPFixMemory"
#define C_Entry_TMPLevelMemory "TMPLevelMemory"
#define C_Entry_ACPTextMemory "ACPTextMemory"
#define C_Entry_ACPFixMemory "ACPFixMemory"
#define C_Entry_ACPLevelMemory "ACPMemory"
#define C_Entry_POSMemory "PositionMemorySize"
#define C_Entry_ScriptMemory "ScriptMemorySize"
#define C_Entry_IPTMemory "IPTMemorySize"
/* MR0912*/
#define C_Entry_LipsSynchMemory "LipsSynchMemory"
/* For BIN*/
#define C_Entry_UseMemorySnapshot "UseMemorySnapshot"
/**** Input devices manager ****/
#define C_Section_InputDeviceManagerDescription "InputDeviceManagerDescription"
#define C_Entry_InitInputDeviceManager "InitInputDeviceManager"
#define C_Entry_AddInputDeviceFile "AddInputDeviceFile"
#define C_Entry_Computable "Computetable"
/**** Random manager ****/
#define C_Section_RandomManagerDescription "RandomManagerDescription"
#define C_Entry_InitRandomManager "InitRandomManager"
/**** Game Options ****/
#define C_Section_GameOptionsFile "GameOptionsFile"
#define C_Entry_GameOptionsDefault "DefaultFile"
#define C_Entry_GameOptionsCurrent "CurrentFile"
/*#define C_Entry_CreditsLevel "CreditsLevelName"*/
#define C_Entry_FrameSynchro "FrameSynchro"
#define C_Section_BigFile "BigFiles"
#define C_Entry_BigFileVignettes "Vignettes"
#define C_Entry_BigFileTextures "Textures"
/**** Anim Stacks ****/
#define C_Section_Animstacks "AnimStacks"
#define C_Entry_A3dGeneral "A3dGeneral"
#define C_Entry_Vertexes "Vertexes"
#define C_Entry_Quaternions "Quaternions"
#define C_Entry_Hierarchies "Hierarchies"
#define C_Entry_NTTO "NTTO"
#define C_Entry_OnlyFrames "OnlyFrames"
#define C_Entry_Channels "Channels"
#define C_Entry_Frames "Frames"
#define C_Entry_FramesKF "FramesKF"
#define C_Entry_KeyFrames "KeyFrames"
#define C_Entry_Events "Events"
#define C_Entry_MorphData "MorphData"
/******************/
/**** Filename ****/
/******************/
#ifdef ACTIVE_EDITOR
#define C_GameMemoryFile "GameData\\Game.mem"
#define C_GameScriptFile "GameData\\Game.dsc"
#define C_GameVignetteFile "GameData\\Game.pgb"
#endif /* ACTIVE_EDITOR*/
#define C_DefaultDirGameData "GameData"
#define C_GameMemoryFileName "Game.mem"
#define C_GameScriptFileName "Game.dsc"
#define C_GameVignetteFileName "Game.pgb"
#define C_GameFixScriptFile "Game.Fix"
/*#define C_WorldScriptFile "World.dsc"*/
#define C_ScriptCharacterDirectory "Charact"
#define C_MemoryDescriptionSuffixe "mem" /**** Suffixe for memories filenames ****/
#define C_ScriptDescriptionSuffixe "dsc" /**** Suffixe for descriptions filenames ****/
#define C_ScriptCharacterSuffixe "car" /**** Suffixe for characters filenames ****/
#define C_ScriptLevelSuffixe "lvl" /**** Suffixe for level filenames ****/
#define C_ScriptAlwaysSuffixe "alw" /**** Suffixe for always filenames ****/
#define C_MecaLevelSuffixe "ame"
/*#define C_ScriptPgbSuffixe "pgb"*/
/*****************************************************************************************/
/**** Below : macros used to read script. ****/
/**** to use them, the callback function must have there parameters as next : ****/
/**** FILE *p_stHandle,char *szAction,char *d_szPars[],char cIsTitle ****/
/*****************************************************************************************/
#define C_GrandChildSection ( 2)
#define C_ChildSection ( 1)
#define C_ThisSection ( 0)
#define C_ParentSection (-1)
#define C_GrandParentSection (-2)
#define C_GrandChildContext ( 2)
#define C_ChildContext ( 1)
#define C_ThisContext ( 0)
#define C_ParentContext (-1)
#define C_GrandParentContext (-2)
#define M_IsTitle (_eAction==SCR_EA_Anl_BeginSection)
#define M_IsEnd (_eAction==SCR_EA_Anl_EndSection)
#define M_IsBegSubSection (_eAction==SCR_EA_Anl_BeginSubSection)
#define M_IsEndSubSection (_eAction==SCR_EA_Anl_EndSubSection)
#define M_IsEntry (_eAction==SCR_EA_Anl_Entry)
#define M_ActionIs(szActionAsked) (!strcmpi(_p_szName,szActionAsked))
#define M_CheckScriptParamNumber(ulNumber) \
{ \
if (SCR_fn_uc_RdL0_GetNumberOfParameters(_ap_szParams)!=ulNumber) \
M_GameFatalError(E_uwGameScriptBadNumberOfArg); \
}
#ifndef _FIRE_DEADCODE_U64_
EXTERN unsigned long g_SCR_a9MemTable[9]
#if defined(D_GameGlobals)
={0,0,0,0,0,0,0,0,0}
#endif /* D_GameGlobals */
;
#endif /* _FIRE_DEADCODE_U64_ */
#endif /* __GameScpt_h__ */

View File

@@ -0,0 +1,170 @@
#if !defined(__INPUT_S_H__)
#define __INPUT_S_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
/****************************************************************************
*** WARNING : ***
*** ***
*** If you modifie this structure, thing to modifie the file link.ipt ***
*** ***
****************************************************************************/
struct tdst_EntryActions_
{
#if !defined (U64)
IPT_tdxHandleToEntryElement hScreenSnapShot;
/* ANNECY AV {*/
/* IPT_tdxHandleToEntryElement hDisplayBench;*/
/* END ANNECY AV }*/
#endif /*!defined (U64)*/
#if !defined(PRESS_DEMO)
/* ANNECY AV {*/
/* IPT_tdxHandleToEntryElement hPause;*/
/* END ANNECY AV }*/
/**** Toggle wired/solid rendering ****/
IPT_tdxHandleToEntryElement hDisplayModeToggle;
/* ANNECY AV {*/
/*
IPT_tdxHandleToEntryElement hDisplayFixMode;
IPT_tdxHandleToEntryElement hIncScreenSize;
IPT_tdxHandleToEntryElement hDecScreenSize;
IPT_tdxHandleToEntryElement hStopTheVideo;
*/
/* END ANNECY AV }*/
/**** Debug handle ****/
IPT_tdxHandleToEntryElement hDisplayRaster;
IPT_tdxHandleToEntryElement hDisplayRasterMode;
IPT_tdxHandleToEntryElement hDisplayRasterPCU64;
#endif /* PRESS_DEMO */
IPT_tdxHandleToEntryElement hReinitTheMap;
#if !defined(PRESS_DEMO)
#ifdef U64
IPT_tdxHandleToEntryElement hRecordDemo;
IPT_tdxHandleToEntryElement hPlayDemo;
#endif
IPT_tdxHandleToEntryElement hDisplayOnlyStatic;
IPT_tdxHandleToEntryElement hDisplayLight;
IPT_tdxHandleToEntryElement hDisplayZDC;
IPT_tdxHandleToEntryElement hDisplaySectorInfos;
IPT_tdxHandleToEntryElement hDisplayWaypoints;
IPT_tdxHandleToEntryElement hDisplayBoundingVolumes;
#ifndef U64
IPT_tdxHandleToEntryElement hDisplayRayTraceSegments;
#endif /*U64*/
/*ENDANNECY TQ}*/
/*ANNECY CG KEY 4 ACTIVATED GENDOORS 18/06/98{*/
IPT_tdxHandleToEntryElement hDisplayActivatedGendoors;
/*ENDANNECY CG}*/
/*ANNECY CG 20/10/98{*/
/* Oliv' - Portage v14*/
#ifndef U64
IPT_tdxHandleToEntryElement hClearOptionsDisplayed;
#endif /* U64 */
/* EndOfOliv'*/
/*ENDANNECY CG}*/
#endif /* PRESS_DEMO */
/*ANNECY VL 24/05/98{*/
/**** changing map menu*/
IPT_tdxHandleToEntryElement hChooseLevel;
IPT_tdxHandleToEntryElement hChooseLevelUp;
IPT_tdxHandleToEntryElement hChooseLevelDown;
IPT_tdxHandleToEntryElement hChooseLevelValidate;
IPT_tdxHandleToEntryElement hChooseLevelInvalidate;
/*ENDANNECY VL}*/
#if !defined(PRESS_DEMO)
/**** Flying mode cheat code ****/
IPT_tdxHandleToEntryElement hFlyingMode;
IPT_tdxHandleToEntryElement hFlyingModeForward;
IPT_tdxHandleToEntryElement hFlyingModeBackward;
IPT_tdxHandleToEntryElement hFlyingModeUp;
IPT_tdxHandleToEntryElement hFlyingModeDown;
IPT_tdxHandleToEntryElement hFlyingModeLeft;
IPT_tdxHandleToEntryElement hFlyingModeRight;
IPT_tdxHandleToEntryElement hFlyingModeStrafeLeft;
IPT_tdxHandleToEntryElement hFlyingModeStrafeRight;
/* ANNECY AV {*/
/* IPT_tdxHandleToEntryElement hFlyingModeSpeedIncrease;*/
/* IPT_tdxHandleToEntryElement hFlyingModeSpeedDecrease;*/
/* END ANNECY AV }*/
IPT_tdxHandleToEntryElement hFlyingModeDoubleSpeed;
#ifndef U64 /* Oliv' - don't need that */
/* add to stop the game pause (for DC)*/
IPT_tdxHandleToEntryElement hEndPause;
/* add to do a soft reset using the pad (for DC)*/
IPT_tdxHandleToEntryElement hSoftReset;
#endif /* U64 */
/* *** Log For Anim Memory Stack ****/
#ifdef WIN32
IPT_tdxHandleToEntryElement hMemoryStackLog;
#endif /* WIN32*/
/* Oliv' - Portage v15 : Please, I removed warnings in the following comment. Keep this like it :-)*/
/* ANNECY AV {*/
/*
// *** Memory cheat code ***
IPT_tdxHandleToEntryElement hTestMemory;
// *** Borders gothrough ***
IPT_tdxHandleToEntryElement hBorderActive;
IPT_tdxHandleToEntryElement hConstantAnimSpeed;
*/
/* END ANNECY AV }*/
#ifdef WIN32
IPT_tdxHandleToEntryElement hDisplayTextOverScanLimit ;
IPT_tdxHandleToEntryElement hAltDisplayTextOverScanLimit ;
IPT_tdxHandleToEntryElement hGliMenu_Activate ;
IPT_tdxHandleToEntryElement hGliMenu_Next ;
IPT_tdxHandleToEntryElement hGliMenu_Prev ;
IPT_tdxHandleToEntryElement hGliMenu_Select ;
IPT_tdxHandleToEntryElement hGliMenu_Zoom ;
IPT_tdxHandleToEntryElement hGliMenu_Goto ;
IPT_tdxHandleToEntryElement hStartStopStep ;
IPT_tdxHandleToEntryElement hPulseStep ;
#endif /* WIN32 */
#endif /* PRESS_DEMO */
};
EXTERN struct tdst_EntryActions_ g_st_3DOS_EntryActions;
//XB 01/06/99
//EXTERN unsigned char g_ucSCTDisplaySectors;
extern unsigned char g_ucSCTDisplaySectors;
//End XB 01/06/99
#ifndef RETAIL
EXTERN char g_cChooseLevel;
#endif /* !RETAIL */
#endif /* __INPUT_S_H__ */

View File

@@ -0,0 +1,49 @@
/*///////////////////////////////////////////////////////////*/
/* //*/
/* Memory Management of the Module : Game //*/
/* // */
/* File Name : MemGame.h //*/
/* Date : 03/10/96 //*/
/* Author : First_Name Last_Name //*/
/* //*/
/*///////////////////////////////////////////////////////////*/
#ifndef __MemGame_H__
#define __MemGame_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
enum e_ucGameStaticBlocks
{
E_ucFirstMemoryBlock = 0,
E_ucFirstFixMemoryBlock = E_ucFirstMemoryBlock,
E_ucGameFixMemory = E_ucFirstFixMemoryBlock,
/* E_ucGameTempFixMemory,*/
E_ucLastFixMemoryBlock = E_ucGameFixMemory,
E_ucFirstLevelMemoryBlock,
E_ucGameLevelMemory = E_ucFirstLevelMemoryBlock,
/*E_ucGameTempLevelMemory,*/
E_ucLastLevelMemoryBlock = E_ucGameLevelMemory,
E_ucLastMemoryBlock = E_ucLastLevelMemoryBlock,
E_ucGameMaxBlocksNb /* maximum number of static block, You have to follow this syntax 'E_uc+ Abbreviation Module +MaxBlocksNb'*/
};
#ifndef _FIRE_DEADCODE_U64_
EXTERN tdstBlockInfo g_a_stGameBlocksInfo[E_ucGameMaxBlocksNb];
#endif /* _FIRE_DEADCODE_U64_ */
#ifdef __DYNAMIC_MALLOC_ALLOWED__
#ifdef __DEBUG_MALLOC_MODE__
EXTERN tdstDynInfo g_stGameDynInfo;
#endif /* __DEBUG_MALLOC_MODE__ */
#endif /* __DYNAMIC_MALLOC_ALLOWED__ */
#endif /* __MemGame_H__ */

View File

@@ -0,0 +1,160 @@
/*=========================================================================
* Objects.h : Define the engine object structure.
* This is a part of the Game project.
*
* Version 1.0
* Creation date 20/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__OBJECTS_H__)
#define __OBJECTS_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#include "GAM/Actions/Animfx.h"
#include "GAM/actions/allacts.h"
#include "GAM/actions/3ddata.h"
/*
* this structure is for each object in a level (ie all events)
* when a structure pointer is added, not forget to add its handle's functions (see below)
*/
typedef struct tdstEngineObject_
{
/* pointer to the 3d datas, animations ... */
MS_tdxHandleTo3dData h_3dData;
/* pointer to the standard game structure (hitpoints ...) */
MS_tdxHandleToStandardGame h_StandardGame;
/***********************************************************************************/
/**** All next fields are structures pointer and must be in alphabetical order. ****/
/***********************************************************************************/
/*** pointer to the dynamic system ***/
MS_tdxHandleToDynam h_Dynam;
/*** pointer to intelligence structure ***/
MS_tdxHandleToBrain h_Brain;
/*** pointer to the cineinfo structure ***/
MS_tdxHandleToCineinfo h_Cineinfo;
/*** pointer to the Collide Set structure ***/
MS_tdxHandleToCollSet h_CollSet;
/*** pointer to the way structure ***/
MS_tdxHandleToMSWay h_MSWay;
/*** pointer to the light structure ***/
MS_tdxHandleToMSLight h_MSLight;
/*** pointer to the Sector structure ***/
MS_tdxHandleToSectInfo h_SectInfo;
/*** pointer to the Micro structure ***/
MS_tdxHandleToMicro h_Micro;
#ifndef D_THROW_PRT
/*** pointer to the particle source structure JO 10/09/97 ***/
MS_tdxHandleToMSPrtSrc h_MSPrtSrc;
#endif /* D_THROW_PRT */
/*** pointer to the sound structure JO 08/12/97 ***/
MS_tdxHandleToMSSound h_MSSound;
#ifndef D_THROW_ANIM_EFFECT
/*** pointer to the anim effect structure ***/
MS_tdxHandleToAnimEffect h_AnimEffect;
#endif /* D_THROW_ANIM_EFFECT */
/*XB980824*/
#ifndef D_THROW_MGT
/*** pointer to the magnet structure ***/
MS_tdxHandleToMSMagnet h_MSMagnet;
#endif /* D_THROW_MGT */
} tdstEngineObject;
/* a basic handler function used to load the objects structures */
#if !defined(U64)
typedef SCR_tde_Anl_ReturnValue (tdfn_eScriptCallBackHandleFunction)(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/* a basic handler function used to alloc the objects structures */
/*typedef void (tdfn_vSaveMSFunction)(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
typedef void (tdfn_vCopyCloneMSFunction)(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/* a basic handler function used to size of the objects mini-structures */
typedef unsigned long (tdfn_ulSizeofHandleFunction)();
/* a basic handler function used to alloc the objects structures */
typedef void (tdfn_vAllocHandleFunction)(struct tdstEngineObject_ *p_stObject);
/* a basic handler function used to init the objects structures */
typedef void (tdfn_vInitHandleFunction)(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
unsigned long fn_ulEmptySizeOf();
void fn_vEmptyAlloc(struct tdstEngineObject_ *p_stObject);
void fn_vEmptyFree(struct tdstEngineObject_ *p_stObject);
void fn_vEmptyInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
void fn_vEmptyDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
void fn_vEmptyCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
typedef struct tdstStructureHandleFunction_
{
tdfn_vCopyCloneMSFunction *p_fn_vCopyCloneMSFunction;
tdfn_ulSizeofHandleFunction *p_fn_ulSizeOfFunction;
tdfn_vAllocHandleFunction *p_fn_vAllocFunction;
tdfn_vAllocHandleFunction *p_fn_vFreeFunction;
tdfn_vInitHandleFunction *p_fn_vInitFunction;
tdfn_vInitHandleFunction *p_fn_vDesinitFunction;
} tdstStructureHandleFunction;
EXTERN tdstStructureHandleFunction g_a_stStructureHandleFunction[]
#if defined(D_GameGlobals)
=
{
/*h_3dData*/
{fn_v3dDataCopyClone,fn_ul3dDataSizeOf,fn_v3dDataAlloc,fn_v3dDataFree,fn_v3dDataInit,fn_v3dDataDesinit},
/*h_StandardGame*/
{fn_vStdGameCopyClone,fn_ulStdGameSizeOf,fn_vStdGameAlloc,fn_vStdGameFree,fn_vStdGameInit,fn_vStdGameDesinit},
/*h_Dynamics*/
{fn_vDynamCopyClone,fn_ulDynamSizeOf,fn_vDynamAlloc,fn_vDynamFree,fn_vDynamInit,fn_vDynamDesinit},
/*h_Brain*/
{fn_vBrainCopyClone,fn_ulBrainSizeOf,fn_vBrainAlloc,fn_vBrainFree,fn_vBrainInit,fn_vBrainDesinit},
/*h_Cineinfo*/
{CAM_fn_vCineinfoCopyClone,CAM_fn_ulCineinfoSizeOf,CAM_fn_vCineinfoAlloc,CAM_fn_vCineinfoFree,CAM_fn_vCineinfoInit,CAM_fn_vCineinfoDesinit},
/*h_CollSet*/
{fn_vCollSetCopyClone,fn_ulCollSetSizeOf,fn_vCollSetAlloc,fn_vCollSetFree,fn_vCollSetInit,fn_vCollSetDesinit},
/*h_MSWay*/
{fn_vMSWayCopyClone,fn_ulMSWaySizeOf,fn_vMSWayAlloc,fn_vMSWayFree,fn_vMSWayInit,fn_vMSWayDesinit},
/*h_Light*/
{fn_vLightCopyClone,fn_ulLightSizeOf,fn_vLightAlloc,fn_vLightFree,fn_vLightInit,fn_vLightDesinit},
/*h_SectInfo*/
{fn_vSectInfoCopyClone,fn_ulSectInfoSizeOf,fn_vSectInfoAlloc,fn_vSectInfoFree,fn_vSectInfoInit,fn_vSectInfoDesinit},
/*h_Micro*/
{fn_vMicroCopyClone,fn_ulMicroSizeOf,fn_vMicroAlloc,fn_vMicroFree,fn_vMicroInit,fn_vMicroDesinit},
#ifndef D_THROW_PRT
/*h_MSPrtSrc*/
{fn_vMSPrtSrcCopyClone,fn_ulMSPrtSrcSizeOf,fn_vMSPrtSrcAlloc,fn_vMSPrtSrcFree,fn_vMSPrtSrcInit,fn_vMSPrtSrcDesinit},
#endif /* D_THROW_PRT */
/*h_MSSound JO 08/12/97*/
{fn_vMSSoundCopyClone,fn_ulMSSoundSizeOf,fn_vMSSoundAlloc,fn_vMSSoundFree,fn_vMSSoundInit,fn_vMSSoundDesinit},
#ifndef D_THROW_ANIM_EFFECT
/*h_AnimEffect*/
{fn_vAnimEffectCopyClone,fn_ulAnimEffectSizeOf,fn_vAnimEffectAlloc,fn_vAnimEffectFree,fn_vAnimEffectInit,fn_vAnimEffectDesinit},
#endif /* D_THROW_ANIM_EFFECT */
/*XB980824*/
#ifndef D_THROW_MGT
/*** pointer to the magnet structure ***/
/*h_MSMagnet*/
{fn_vMSMagnetCopyClone,fn_ulMSMagnetSizeOf,fn_vMSMagnetAlloc,fn_vMSMagnetFree,fn_vMSMagnetInit,fn_vMSMagnetDesinit},
#endif /* D_THROW_MGT */
/*End XB*/
/*End structure*/
{(tdfn_vCopyCloneMSFunction*)0x00000001,(tdfn_ulSizeofHandleFunction *)0x00000002,(tdfn_vAllocHandleFunction *)0x00000003,(tdfn_vAllocHandleFunction *)0x00000004,(tdfn_vInitHandleFunction *)0x00000005,(tdfn_vInitHandleFunction *)0x00000006}
}
#endif /* D_GameGlobals */
;
#endif /* __OBJECTS_H__ */

View File

@@ -0,0 +1,157 @@
/*=========================================================================
* ObjsTbls.h : Define the engine state structure.
* This is a part of the Game project.
*
* Version 1.0
* Creation date 25/03/97
* Revision date
* Author Sebastien DAVID
*
* That file needs to be compatible for all platforms.
* (c) Ubi Studios 1997
*=======================================================================*/
#if !defined(__OBJSTBLS_H__)
#define __OBJSTBLS_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#include "GAM/GAMHandl.h"
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#define C_wTdO_Undefined 0xffff
#define C_wTdO_PhysicalObject 0
#define C_wTdO_Animation 1
#define C_wTdO_Light 2
#define C_wTdO_Camera 3
#define C_wTdO_Mirror 4
#define C_wTdO_Event 5
/* ANNECY AV {*/
#define C_wObjectTableHasZdd 0x0001
#define C_wObjectTableHasZde 0x0002
/* END ANNECY AV }*/
/**************************/
/**** Structure define ****/
/**************************/
#if defined(D_ObjsTbls_Define)
typedef struct tdstObjectsTableElement_
{
MTH3D_tdstVector * p_stCustomZoom; /* AR971014 Changed for alignment*/
/* to create an Array of POs ...*/
tdxHandleToVoid h_Target;
unsigned long uwChannelNumber; /* AR971107 Warning ! Bad prefix !!!*/
unsigned short wTypeOfTarget; /* AR971014 Changed for alignment*/
#ifndef U64
unsigned char ucPhoneme;
unsigned char ucIntensity;
unsigned char ucExpression;
#endif //U64
#ifdef _DEBUG
unsigned short wCounter;
#endif
} tdstObjectsTableElement;
typedef struct tdstObjectsTablesList_
{
/* to use a List of Objects Tables ...*/
LST2_M_StaticElementDeclaration(tdxHandleToObjectsTablesList)
/*BOOL bDuplicateTable; // MR0707*/
struct tdstObjectsTableElement_ * d_stObjectsTable;
#ifndef U64 //AR9904 Useless !
struct tdstObjectsTableElement_ * d_stInitObjectsTable;
#endif //U64
/* to access to an Objects Table ...*/
unsigned short wNumberOfElement; /* AR971014 Changed for alignment*/
/* ANNECY AV {*/
unsigned short wZDxUsed; /* can be C_wObjectTableHasZdd | C_wObjectTableHasZde*/
/* END ANNECY AV }*/
} tdstObjectsTablesList;
#endif /* D_ObjsTbls_Define */
/*******************************/
/**** Base functions define ****/
/*******************************/
/* ************* ObjectsTablesList *************/
extern CPA_EXPORT tdxHandleToObjectsTablesList fn_hObjectsTablesListAlloc();
extern CPA_EXPORT void fn_hObjectsTablesListFree(tdxHandleToObjectsTablesList h_ObjectsTableElement);
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT void fn_vInitObjectsTablesList(struct tdstFamilyList_ *p_stFamily);
extern CPA_EXPORT void fn_vAddAnObjectsTablesInList( struct tdstFamilyList_ *p_stFamily
, tdxHandleToObjectsTablesList h_ObjectsTablesListElement);
extern CPA_EXPORT void fn_vObjectsTablesAlloc(tdxHandleToObjectsTablesList h_ObjectsTablesListElement,unsigned short wNumberOfElement);
extern CPA_EXPORT void fn_vChangeObjectsTableForCharacter(HIE_tdxHandleToSuperObject p_stSuperObject, long l_Number);
extern CPA_EXPORT void fn_vExchangeTwoObjectsInCurrentObjectsTable(HIE_tdxHandleToSuperObject p_stSuperObject
,unsigned short w_ObjectA ,unsigned short w_ObjectB);
extern CPA_EXPORT void fn_vCopyObjectDestFromSourceOfObjectsTable(HIE_tdxHandleToSuperObject p_stSuperObject
,unsigned short w_ObjectDest ,unsigned short w_ObjectSource);
extern CPA_EXPORT void fn_vCopyObjectFromObjectTabletoAnother(tdxHandleToObjectsTablesList, tdxHandleToObjectsTablesList, unsigned short, unsigned short);
extern CPA_EXPORT unsigned short fn_uwGetObjectTableNumberOfelements(tdxHandleToObjectsTablesList _hTargetTable);
/* ANNECY AV {*/
extern CPA_EXPORT ACP_tdxBool fn_bObjectTableHasZdd (tdxHandleToObjectsTablesList _hObjectTableList);
extern CPA_EXPORT ACP_tdxBool fn_bObjectTableHasZde (tdxHandleToObjectsTablesList _hObjectTableList);
/* END ANNECY AV }*/
/* ***** ACCESS FUNCTIONS BY HANDLES ***** */
extern CPA_EXPORT tdxHandleToObjectsTableElement fn_d_hGetObjectsTable(tdxHandleToObjectsTablesList h_ObjectsTablesListElement);
extern CPA_EXPORT tdxHandleToObjectsTableElement fn_d_hGetInitObjectsTable(tdxHandleToObjectsTablesList h_ObjectsTablesListElement);
extern CPA_EXPORT tdxHandleToObjectsTableElement fn_d_hGetElementByNumberInObjectsTable(tdxHandleToObjectsTablesList h_ObjectsTablesListElement
,unsigned short wNumberInTable);
extern CPA_EXPORT unsigned short fn_wObjectsTableGetTypeOfTarget(tdxHandleToObjectsTableElement h_ObjectsTablesElement);
extern CPA_EXPORT void fn_vObjectsTableSetTypeOfTarget(tdxHandleToObjectsTableElement h_ObjectsTablesElement
,unsigned short wTypeOfTarget);
extern CPA_EXPORT tdxHandleToVoid fn_hObjectsTableGetTarget(tdxHandleToObjectsTableElement h_ObjectsTablesElement);
extern CPA_EXPORT void fn_vObjectsTableSetTarget(tdxHandleToObjectsTableElement h_ObjectsTablesElement
,tdxHandleToVoid h_Target);
extern CPA_EXPORT void fn_vDuplicateObjectTable(tdxHandleToObjectsTablesList hObjTableList);
extern CPA_EXPORT void fn_vReInitObjectTable(tdxHandleToObjectsTablesList hObjTableList);
#ifndef U64
// Shaitan => module list in the level
extern CPA_EXPORT void fn_vFindUsedIndexes(short *wArrayOfIndexes, short wMaxElements, struct tdstAnim3d_ *p_stAnim, struct tdst3dData_ * h3dData);
// End Shaitan => module list in the level
#endif
/*
extern CPA_EXPORT void fn_vSetObjectTableListDuplicate(tdxHandleToObjectsTablesList hObjTableList,BOOL bDuplicate);
extern CPA_EXPORT BOOL fn_bGetObjectTableListDuplicate(tdxHandleToObjectsTablesList hObjTableList);
*/
extern void fn_vCheckObjectsTables(struct tdstEngineObject_ *p_stEngineObject);
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* !__OBJSTBLS_H__ */

View File

@@ -0,0 +1,204 @@
/*=========================================================================
* State.h : Define the engine state structure.
* This is a part of the Game project.
*
* Version 1.0
* Creation date 09/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__STATE_H__)
#define __STATE_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#ifdef __cplusplus
extern "C" {
#endif
#include "GAM/Header.h"
#include "../PlayAnim/PLA_dbg.h"
#define C_ucAllowedState 0
#define C_ucProhibitedState 1
/*ANNECY CT 11/02/98{*/
#define C_ucStandardLink 0
#define C_ucProportionalLink 1
/*ENDANNECY CT}*/
/***********************/
/**** Handle define ****/
/***********************/
#if defined(D_State_Define)
/* structure to determined which transitional state to use*/
typedef struct tdstTransition_ /* maj 15/11 DVD (Gizmo)*/
{
LST2_M_StaticElementDeclaration(tdxHandleToTransition)
tdxHandleToState h_TargetState;
tdxHandleToState h_StateToGo;
/*ANNECY CT 11/02/98{*/
unsigned char ucLinkingType; /* C_ucStandardLink or C_ucProportionalLink*/
/*ENDANNECY CT}*/
} tdstTransition;
/* structure to determined which states are prohibited*/
typedef struct tdstProhibit_
{
LST2_M_StaticElementDeclaration(tdxHandleToProhibit)
tdxHandleToState h_ProhibitedState;
} tdstProhibit;
typedef struct tdstState_
{
#ifdef _DEBUG_STRING_FOR_PLA_
char szStateName[LEN_DEBUG_STRING];
#endif
/* Macro to create chain list for State Array */
LST2_M_StaticElementDeclaration(tdxHandleToState)
/* pointer of the animation for this state in the model's animation array */
struct tdstAnim3d_ *p_stAnim;
/*
* array of States can be doing in this state
* NULL pointer : None
*/
LST2_M_StaticAnchorDeclaration(tdxHandleToTransition) hForTransitionArray;
/*
* array of States can't be doing in this state
* NULL pointer : None
*/
LST2_M_StaticAnchorDeclaration(tdxHandleToProhibit) hForProhibitArray;
/*
* next state in the automaton when the animation ends
*/
tdxHandleToState h_NextState;
/* maj 23/01/97 S<>bastien DAVID (Gizmo)*/
/* dynamic array of unsigned char (length=NumberOfModule) for the moment,*/
/* in final there will be a bit-field array.*/
/* unsigned char * d_ucModuleCollsetActivationFlags;*/
DNM_tdxHandleToMecIdentityCard h_LinkedMechanicsIdCard;
/*
* How many time the animation must be repeated.
* if ucRepeatAnimation = 0, the animation is played 1 time.
* if ucRepeatAnimation = 1, the animation is played 2 times.
* and so on...
*/
unsigned char ucRepeatAnimation;
/*
* animation playback speed in VBLs per frame
*/
signed char scSpeedAnim;
unsigned char ucTransitionStatusFlag; /* C_ucAllowedState or C_ucProhibitedState*/
/* ANNECY MT - 24/11/98 {*/
unsigned char ucCustomBits; /* new */
/* END ANNECY MT }*/
} tdstState;
#endif /* D_State_Define */
/*******************************/
/**** Base functions define ****/
/*******************************/
/* ************* STATE *************/
extern CPA_EXPORT unsigned long fn_ulStateSizeOf();
extern CPA_EXPORT tdxHandleToState fn_h_StateAlloc();
extern CPA_EXPORT void fn_h_StateFree(tdxHandleToState h_State);
/* ************ Transition ************** */
extern CPA_EXPORT unsigned long fn_ulTransitionSizeOf();
extern CPA_EXPORT tdxHandleToTransition fn_h_TransitionAlloc();
extern CPA_EXPORT void fn_h_TransitionFree(tdxHandleToTransition h_Transition);
/* ************ Prohibited State ************** */
extern CPA_EXPORT unsigned long fn_ulProhibitSizeOf();
extern CPA_EXPORT tdxHandleToProhibit fn_h_ProhibitAlloc();
extern CPA_EXPORT void fn_h_ProhibitFree(tdxHandleToProhibit h_Prohibit);
/*********************************/
/**** Access functions define ****/
/*********************************/
/*################################## STATE #############*/
/* ************ Name *************/
extern CPA_EXPORT char* fn_p_szGetStateName(tdxHandleToState h_State);
/* ************ Anim *************/
extern CPA_EXPORT struct tdstAnim3d_* fn_p_stGetAnimInState(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetAnimInState(tdxHandleToState h_State,struct tdstAnim3d_ *p_stAnim);
/********** NextState ************/
extern CPA_EXPORT tdxHandleToState fn_hGetNextStateInState(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetNextStateInState(tdxHandleToState h_State,tdxHandleToState h_NextState);
/* ******* RepeatAnimation *******/
extern CPA_EXPORT unsigned char fn_ucGetRepeatAnimationInState(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetRepeatAnimationInState(tdxHandleToState h_State,unsigned char ucRepeatAnimation);
/* ******* TransitionStatusFlag *******/
extern CPA_EXPORT unsigned char fn_ucGetTransitionStatusFlagInState(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetTransitionStatusFlagInState(tdxHandleToState h_State,unsigned char ucTransitionStatusFlag);
/* ********* SpeedAnim ***********/
extern CPA_EXPORT signed char fn_scGetSpeedInState(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetSpeedInState(tdxHandleToState h_State,signed char scSpeedAnim);
/* ******* MechanicsIdCard *******/
extern CPA_EXPORT DNM_tdxHandleToMecIdentityCard fn_hGetStateMechanicsIdCard(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetStateMechanicsIdCard(tdxHandleToState h_State,DNM_tdxHandleToMecIdentityCard h_LinkedMechanicsIdCard);
/* ANNECY MT - 24/11/98 {*/
/* ******* CustomBits *******/
extern CPA_EXPORT unsigned char fn_ucGetStateCustomBits(tdxHandleToState h_State);
extern CPA_EXPORT void fn_vSetStateCustomBits(tdxHandleToState h_State,unsigned char ucCustomBits);
/* END ANNECY MT }*/
/*################################## TRANSITION #############*/
/*********** TargetState *******************/
extern CPA_EXPORT tdxHandleToState fn_hGetTargetStateInTransition(tdxHandleToTransition h_Transition);
extern CPA_EXPORT void fn_vSetTargetStateInTransition(tdxHandleToTransition h_Transition,tdxHandleToState h_TargetState);
/*************** StateToGo *******************/
extern CPA_EXPORT tdxHandleToState fn_hGetStateToGoInTransition(tdxHandleToTransition h_Transition);
extern CPA_EXPORT void fn_vSetStateToGoInTransition(tdxHandleToTransition h_Transition,tdxHandleToState h_StateToGo);
/*ANNECY CT 11/02/98{*/
/*************** LinkingType *******************/
extern CPA_EXPORT unsigned char fn_ucGetLinkingTypeInTransition(tdxHandleToTransition h_Transition);
extern CPA_EXPORT void fn_vSetLinkingTypeInTransition(tdxHandleToTransition h_Transition,unsigned char ucLinkingType);
/*ENDANNECY CT}*/
extern CPA_EXPORT tdxHandleToState fn_hGetProhibitedStateInProhibit( tdxHandleToProhibit _hProhibit );
extern CPA_EXPORT void fn_vSetProhibitedStateInProhibit( tdxHandleToProhibit _hProhibit, tdxHandleToState _hState );
extern CPA_EXPORT tdxHandleToTransition fn_hGetTransitionalWithTargetState( tdxHandleToState _hState, tdxHandleToState _hTargetState );
/*ANNECY CT 11/02/98{*/
/*extern CPA_EXPORT tdxHandleToState fn_hIfExistTransitionalWithTargetState(tdxHandleToState h_State, tdxHandleToState h_TargetState);*/
extern CPA_EXPORT tdxHandleToTransition fn_hIfExistTransitionalWithTargetState(tdxHandleToState h_State, tdxHandleToState h_TargetState);
/*ENDANNECY CT}*/
extern CPA_EXPORT long fn_hIfExistProhibitedState(tdxHandleToState h_State, tdxHandleToState h_TargetState);
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* !__STATE_H__ */

View File

@@ -0,0 +1,42 @@
/*=========================================================================
* StdObjSt.h : Define standard objects structures
*
* This is a part of the Game project.
*
* Version 1.0
* Creation date 01/10/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__STDOBJST_H__)
#define __STDOBJST_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
M_BeginDeclareEnumerate(tdeObjectinitInit)
OI_WhenPlayerGoOutOfActionZone = 0,
OI_Always,
OI_WhenPlayerIsDead,
OI_WhenMapJustLoaded,
OI_WhenSavedGameJustLoaded,
OI_NeverBackWhenTaken,
OI_NumberOfObjectInit,
OI_WhenGeneratorIsDesactivated
M_EndDeclareEnumerate(tdeObjectinitInit,unsigned char)
typedef long tdObjectType;
#define C_InvalidObjectType -1
#define C_AlwaysObjectType 0x00010000
#endif /* __STDOBJST_H__ */

View File

@@ -0,0 +1,10 @@
typedef struct tdstElement3d_
{
/* POS_tdxHandleToPosition stMatrix; //AR970707 (Use compressed position)*/
unsigned short wElement:15;
unsigned short bf1ActiveStatus:1;
unsigned char ucChannelNumber;
tdeTypeOfElement eTypeOfElement; /*3D module, 2D-3D sprite, 2D facing sprite or animation*/
unsigned char ucTransparency;
} tdstElement3d;