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,160 @@
/*///////////////////////////////////////////////////////////*/
/* //*/
/* Management of the Module : GMT //*/
/* // */
/* File Name : ErrGmt.h //*/
/* Date : 07/10/97 //*/
/* Author : Alain Robin //*/
/* //*/
/*///////////////////////////////////////////////////////////*/
/* //*/
/* abbreviation of the module-name. Used in macro is 'Gmt' //*/
/* //*/
/*///////////////////////////////////////////////////////////*/
#ifndef __ERRGMT_H__
#define __ERRGMT_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define C_szGmtVersion "GMT V5.0.0" /* The format is XXX Va.b.c with Xxx is the Tag of the module */
#define C_szGmtFullName "Game material module"/* the complete and clear name of the module */
#define C_szGmtDate __DATE__ /*The format is "Mmm dd yyyy".You can use __DATE__ but be careful that you have the control of the compilation*/
/* For DLLs who are using this module : */
#undef 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
#include "ERM.h"
#define __FATAL_ERR_GMT__
#define __WARNING1_ERR_GMT__
#define __WARNING2_ERR_GMT__
#define __WARNING3_ERR_GMT__
/*----------*/
/* Constant */
/*----------*/
/* error of the Gmt Module*/
typedef enum e_uwGmtErrNumber_{
E_uwGmtFatalErr,
#ifdef __FATAL_ERR_GMT__
/* -----------------*/
E_uwGmtFatalError1,
E_uwGmtFatalError2,
E_uwGmtFatalError3,
E_uwGmtFatalError4,
#endif /*__FATAL_ERR_GMT__*/
E_uwGmtStartOfWarning,/* important constant, it allows to recognize if an error is fatal or not.*/
#ifdef __WARNING1_ERR_GMT__
/* -------------------*/
E_uwGmtWarning1Error1,
E_uwGmtWarning1Error2,
E_uwGmtWarning1Error3,
#endif /*__WARNING1_ERR_GMT__*/
#ifdef __WARNING2_ERR_GMT__
/* -------------------*/
E_uwGmtWarning2Error1,
E_uwGmtWarning2Error2,
E_uwGmtWarning2Error3,
E_uwGmtWarning2Error4,
E_uwGmtWarning2Error5,
#endif /*__WARNING2_ERR_GMT__*/
#ifdef __WARNING3_ERR_GMT__
/* -------------------*/
E_uwGmtWarning3Error1,
E_uwGmtWarning3Error2,
#endif /*__WARNING3_ERR_GMT__*/
E_uwGmtErrNumber
} e_uwGmtErrNumber;
/*------------------*/
/* Global Variables*/
/*------------------*/
#undef __ERRGMT_EXTERN
#ifndef __DeclareGlobalVariableErmGmt_h__
#define __ERRGMT_EXTERN extern /*external declaration*/
#else /*__DeclareGlobalVariableErmGmt_h__*/
#define __ERRGMT_EXTERN /*replace by nothing : we have to declare*/
#endif /*__DeclareGlobalVariableErmGmt_h__*/
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
__ERRGMT_EXTERN CPA_EXPORT unsigned char g_ucGmtModuleId /*number of identification of the Erm module*/
#if defined(__DeclareGlobalVariableErmGmt_h__) && !defined(CPA_WANTS_IMPORT)
= C_ucModuleNotInitialized
#endif /*__DeclareGlobalVariableErrGmt_h__&& CPA_WANTS_IMPORT*/
;
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
#ifdef __ERROR_STRINGS__
__ERRGMT_EXTERN CPA_EXPORT char * g_a_szGmtInformationModule []
#if defined(__DeclareGlobalVariableErmGmt_h__) && !defined(CPA_WANTS_IMPORT)
= {C_szGmtVersion, C_szGmtFullName, C_szGmtDate}
#endif /*__DeclareGlobalVariableErrGmt_h__ && CPA_WANTS_IMPORT*/
;
__ERRGMT_EXTERN CPA_EXPORT char * g_szGmtModuleName /* Mandatory syntax 'g_sz'+[Abbreviation of ModuleName]+'ModuleName'*/
#if defined(__DeclareGlobalVariableErmGmt_h__) && !defined(CPA_WANTS_IMPORT)
= "Module Gmt"
#endif /*__DeclareGlobalVariableErrGmt_h__ && CPA_WANTS_IMPORT*/
;
__ERRGMT_EXTERN CPA_EXPORT struct tdstErrorMsg_ g_a_stGmtTabErr [] /* Mandatory syntax 'g_a_st'+[Abbreviation of ModuleName]+'TabErr'*/
#if defined(__DeclareGlobalVariableErmGmt_h__) && !defined(CPA_WANTS_IMPORT)
={
#ifdef __FATAL_ERR_GMT__
/* -------------*/
E_uwGmtFatalError1, " The handle of the game material is invalid ",
E_uwGmtFatalError2, " ",
E_uwGmtFatalError3, " ",
E_uwGmtFatalError4, " ",
#endif /*__FATAL_ERR_GMT__*/
#ifdef __WARNING1_ERR_GMT__
/* ----------------*/
E_uwGmtWarning1Error1, " ",
E_uwGmtWarning1Error2, " ",
E_uwGmtWarning1Error3, " ",
#endif /*__WARNING1_ERR_GMT__*/
#ifdef __WARNING2_ERR_GMT__
/* ----------------*/
E_uwGmtWarning2Error1, " ",
E_uwGmtWarning2Error2, " ",
E_uwGmtWarning2Error3, " ",
E_uwGmtWarning2Error4, " ",
E_uwGmtWarning2Error5, " ",
#endif /*__WARNING2_ERR_GMT__*/
#ifdef __WARNING3_ERR_GMT__
/* ----------------*/
E_uwGmtWarning3Error1, " ",
E_uwGmtWarning3Error2, " ",
#endif /*__WARNING3_ERR_GMT__*/
0xFFFF, "\0"/*fin*/
};
#endif /*__DeclareGlobalVariableErrGmt_h__ && CPA_WANTS_IMPORT*/
;
#endif /*__ERROR_STRINGS__*/
/* ////////////////////////////////////////////////////////////////////////////
// Description : GMT_fn_vRaiseFatalError
// Used to raise a fatal error of the GMT module (PRIVATE FUNCTION !)
//////////////////////////////////////////////////////////////////////////////
// Input :
// Output :
//////////////////////////////////////////////////////////////////////////// */
void GMT_fn_vRaiseFatalError();
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__ERRGMT_H__*/

View File

@@ -0,0 +1,178 @@
/* (c) Ubi R&D 1996*/
/* See Alain Robin for any comment or question*/
#ifndef __GMTFUNCT_H__
#define __GMTFUNCT_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For DLLs who are using this module : */
#undef 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
/****************************************************************************/
/* ACCESSORS FOR GMT */
/****************************************************************************/
/*----------------------------------------------------------------------------
// Description : GMT_fn_hGetVisualMaterial
// Used to get the visual part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output : Handle to the visual material
----------------------------------------------------------------------------*/
extern CPA_EXPORT ACP_tdxHandleOfMaterial GMT_fn_hGetVisualMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetVisualMaterial
// Used to set the visual part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _hVisualMat : Handle to the visual meterial
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetVisualMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
ACP_tdxHandleOfMaterial _hVisualMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hGetMechanicsMaterial
// Used to get the mechanics part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output : Handle to the mechanics material
----------------------------------------------------------------------------*/
extern CPA_EXPORT DNM_tdxHandleToMecMatCharacteristics GMT_fn_hGetMechanicsMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetMechanicsMaterial
// Used to set the mechanics part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _hMechanicsMat : Handle to the mechanics characteristics
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetMechanicsMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
DNM_tdxHandleToMecMatCharacteristics _hMechanicsMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hGetSoundMaterial
// Used to set the sound characteristics of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output : the sound material
----------------------------------------------------------------------------*/
extern CPA_EXPORT SND_tdxHandleToSoundMaterial GMT_fn_hGetSoundMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetSoundMaterial
// Used to set the sound part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _hMechanicsMat : Handle to the mechanics characteristics
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetSoundMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
SND_tdxHandleToSoundMaterial _hSoundMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hGetCollideMaterial
// Used to set the collision part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output : the collide material
----------------------------------------------------------------------------*/
extern CPA_EXPORT GMT_tdxHandleToCollideMaterial GMT_fn_hGetCollideMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetCollideMaterial
// Used to set the collision part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _hCollideMat : Handle to the collide material
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetCollideMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
GMT_tdxHandleToCollideMaterial _hCollideMat);
#ifdef SECTOR_IN_GMT
/*----------------------------------------------------------------------------
// Description : GMT_fn_hGetSectorMaterial
// Used to set the sector part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output : the sector material (handle to the next sector)
----------------------------------------------------------------------------*/
extern CPA_EXPORT HIE_tdxHandleToSuperObject GMT_fn_hGetSectorMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetSectorMaterial
// Used to set the sector part of the material
//----------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _hSectorMat : Handle to the sector material
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetSectorMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
HIE_tdxHandleToSuperObject _hSectorMat);
#endif /*SECTOR_IN_GMT*/
/****************************************************************************/
/* ACCESSORS FOR COLLIDE MATERIAL */
/****************************************************************************/
/*----------------------------------------------------------------------------
// Description : GMT_fn_wGetTypeOfCollideMaterial
// Used to get the type of the collide material
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// Output : GMT_C_wZDM or GMT_C_wZDR or GMT_C_wZDE
----------------------------------------------------------------------------*/
extern CPA_EXPORT short GMT_fn_wGetTypeOfCollideMaterial(GMT_tdxHandleToCollideMaterial _hCollideMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetTypeOfCollideMaterial
// Used to set the type of the collide material
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the game material
// GMT_C_wZDM or GMT_C_wZDR or GMT_C_wZDE
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetTypeOfCollideMaterial(GMT_tdxHandleToCollideMaterial _hCollideMat,
short wType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hGetCollideMaterialIdentifier
// Used to get the identifier of the collide material
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// Output : the identifier
----------------------------------------------------------------------------*/
extern CPA_EXPORT GMT_tdxMask GMT_fn_hGetCollideMaterialIdentifier(GMT_tdxHandleToCollideMaterial _hCollideMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hSetCollideMaterialIdentifier
// Used to set the collide identifier part of the collide material
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// the identifier
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_hSetCollideMaterialIdentifier(GMT_tdxHandleToCollideMaterial _hCollideMat,
GMT_tdxMask wIdentifier);
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* __GMTFUNCT_H__*/

View File

@@ -0,0 +1,5 @@
/* (c) Ubi R&D 1996*/
/* See Alain Robin for any comment or question*/
/* Nothing here !!! */
/* Now, this file is located into the HDL module */

View File

@@ -0,0 +1,71 @@
/*///////////////////////////////////////////////////////////*/
/* //*/
/* Management of the link table of the Module GMT //*/
/* // */
/* File Name : GmtLnkTb.h //*/
/* Date : 04/01/97 //*/
/* Author : Alain Robin //*/
/* //*/
/*///////////////////////////////////////////////////////////*/
/* //*/
/* abbreviation of the module-name. Used in macro is 'Gmt' //*/
/* //*/
/*///////////////////////////////////////////////////////////*/
#ifndef __GMTLNKTB_H__
#define __GMTLNKTB_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For DLLs who are using this module : */
#undef 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
#include "SCR.h"
/*------------------*/
/* Global Variables*/
/*------------------*/
#undef __GMTLNKTB_EXTERN
#ifndef __DeclareGlobalVariableGmtLnkTb_h__
#define __GMTLNKTB_EXTERN extern /*external declaration*/
#else /*__DeclareGlobalVariableGmtLnkTb_h__*/
#define __GMTLNKTB_EXTERN /*replace by nothing : we have to declare*/
#endif /*__DeclareGlobalVariableGmtLnkTb_h__*/
#undef __GMTZONELNKTB_EXTERN
#ifndef __DeclareGlobalVariableGmtZoneLnkTb_h__
#define __GMTZONELNKTB_EXTERN extern /*external declaration*/
#else /*__DeclareGlobalVariableGmtZoneLnkTb_h__*/
#define __GMTZONELNKTB_EXTERN /*replace by nothing : we have to declare*/
#endif /*__DeclareGlobalVariableGmtZoneLnkTb_h__*/
#if !defined(U64)
__GMTLNKTB_EXTERN CPA_EXPORT SCR_tdst_Link_Table g_stGmtLinkTable;
__GMTLNKTB_EXTERN CPA_EXPORT SCR_tdst_Link_Table g_stGmtZoneLinkTable;
/*------------------*/
/* Public functions*/
/*------------------*/
extern CPA_EXPORT SCR_tdst_Link_Table* GMT_fn_p_stGetLinkTable();
extern CPA_EXPORT SCR_tdst_Link_Table* GMT_fn_p_stGetZoneLinkTable();
#endif /* U64 */
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__GMTLNKTB_H__*/

View File

@@ -0,0 +1,98 @@
#define C_SectionGameMaterial "GameMaterial"
#define C_EntryVisualGameMaterialToLoad "VisualMat"
#define C_EntryMechanicalMaterialToLoad "MechanicalMat"
#define C_EntryCollideMaterialToLoad "CollideMat"
#define C_EntrySoundMaterial "SoundType"
/* Not used anymore : Use DPT functions instead */
/*#define GMT_C_VisualMaterialPath "GameData\\World\\Graphics\\Visuals\\"*/
/*#define GMT_C_MaterialPath "GameData\\World\\Libraries\\Materials\\"*/
/*****************************************************************************
// Description : GMT_fn_vInitLoadGameMaterial
// Loading process initialization
//////////////////////////////////////////////////////////////////////////////
// Input :
// Output :
*****************************************************************************/
void GMT_fn_vInitLoadGameMaterial(void);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hLoadGameMaterial
// Load a game material from the scripts or from the binary bloc
//----------------------------------------------------------------------------
// Input : _szSectionName : Name of the section to load
// Output : A handle to the loaded game material
----------------------------------------------------------------------------*/
GMT_tdxHandleToGameMaterial GMT_fn_hLoadGameMaterial(char* _szSectionName);
/*BEGIN OS 4/3/98*/
GMT_tdxHandleToGameMaterial GMT_fn_hLoadBinGameMaterial(char* _szSectionName);
/*END OS 4/3/98*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_vWriteAllGameMaterialBinaryBlocs
//----------------------------------------------------------------------------
// Input : _szBinaryFileName : Name of the binary file
// Output :
----------------------------------------------------------------------------*/
void GMT_fn_vWriteAllGameMaterialBinaryBlocs(char* _szBinaryFileName);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vRestorePointerFromIds
//-------------------------------------------------------
// Input : _ulPointer: Handle to the loaded game material
// Output :
----------------------------------------------------------------------------*/
void GMT_fn_vRestorePointerFromIds(unsigned long _ulPointer);
/*----------------------------------------------------------------------------
// Description : GMT_fn_ulWriteBinaryBloc
//----------------------------------------------------------------------------
// Input : _hGmtMaterial : Handle to the game material to save
// _p_cBuffer : Binarisation buffer
// _szBinaryFileName : Name of the binary file
// Output : The pointer to the created game material
----------------------------------------------------------------------------*/
unsigned long GMT_fn_ulReadBinaryBloc(char* _p_cLoadedBuffer, unsigned long _ulLoadedBufferSize);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vReadAllGameMaterialBinaryBlocs
//----------------------------------------------------------------------------
// Input : _szBinaryFileName : Name of the binary file
// Output :
----------------------------------------------------------------------------*/
void GMT_fn_vReadAllGameMaterialBinaryBlocs(char* _szBinaryFileName);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vReadAllGameMaterialBinaryBlocs2
//----------------------------------------------------------------------------
// Input : _szBinaryFileName : Name of the binary file
// Output :
----------------------------------------------------------------------------*/
void GMT_fn_vReadAllGameMaterialBinaryBlocs2(char* _szBinaryFileName);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vPrepareSaveBinaryBloc
//----------------------------------------------------------------------------
// Input :
// Output :
----------------------------------------------------------------------------*/
void GMT_fn_vPrepareSaveBinaryBloc();
/*---------------------------------------------------------------------------/
// Description : GMT_fn_vDeleteGMTEntryWithPriority
------------------------------------------------------------------------------
// Input :
// Output :
----------------------------------------------------------------------------*/
void GMT_fn_vDeleteGMTEntryWithPriority(unsigned char ucPrioMin, unsigned char ucPrioMax);
/*----------------------------------------------------------------------------
// Description : GMT_fn_p_cGeneralAllocationFunction
//----------------------------------------------------------------------------
// Input : _ulSize : size to be allocated
// Output :
----------------------------------------------------------------------------*/
char* GMT_fn_p_cGeneralAllocationFunction(unsigned long _ulSize);

View File

@@ -0,0 +1,359 @@
/* (c) Ubi R&D 1996*/
/* See Alain Robin for any comment or question*/
#ifndef __GMTPROTO_H__
#define __GMTPROTO_H__
#ifdef __cplusplus
extern "C" {
#endif
/* For DLLs who are using this module : */
#undef 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
/****************************************************************************/
/* STRUCTURE */
/****************************************************************************/
typedef struct GMT_tdstCollideMaterial_
{
short wTypeOfZone; /* GMT_C_wZDM or GMT_C_wZDR or GMT_C_wZDE or GMT_C_ZDD*/
GMT_tdxMask xIdentifier;
} GMT_tdstCollideMaterial;
typedef struct GMT_tdstGameMaterial_
{
ACP_tdxHandleOfMaterial hVisualMaterial ;
DNM_tdxHandleToMecMatCharacteristics hMechanicsMaterial ;
SND_tdxHandleToSoundMaterial hSoundMaterial;
GMT_tdxHandleToCollideMaterial hCollideMaterial ;
/* fbolefeysot - 01/10/98*/
/* remove init values in GMT{*/
/* struct GMT_tdstGameMaterial_* p_stInitialValues; // To be filled with the loaded values*/
/*END fbolefeysot}*/
#ifdef SECTOR_IN_GMT
HIE_tdxHandleToSuperObject hSectorMaterial ;
#endif
} GMT_tdstGameMaterial ;
/****************************************************************************/
/* INVALID VALUES */
/****************************************************************************/
#define GMT_C_InvalidSoundMaterial ((SND_tdxHandleToSoundMaterial)(-1))
#define GMT_C_InvalidCollideMaterial ((GMT_tdxHandleToCollideMaterial)(-1))
#define GMT_C_ulInvalidHandle (GMT_tdxHandleToGameMaterial)(0xcdcdcdcd)
/****************************************************************************/
/* CONSTANTS */
/****************************************************************************/
#define GMT_C_wZDM (short)0
#define GMT_C_wZDR (short)1
#define GMT_C_wZDE (short)2
#define GMT_C_wZDD (short)3
/****************************************************************************/
/* INITIALISATION FUNCTION FOR GAME MATERIAL */
/****************************************************************************/
extern CPA_EXPORT void GMT_fn_vInitFor3DOS();
extern CPA_EXPORT void GMT_fn_vInitForA3D();
/****************************************************************************/
/* BASIC FUNCTIONS FOR GAME MATERIAL */
/****************************************************************************/
/*----------------------------------------------------------------------------
// Description : GMT_fn_vInitGameMaterialErrorAndMemory
// Used to initialize the memory and error variables
----------------------------------------------------------------------------//
// Input :
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vInitGameMaterialErrorAndMemory(void);
/*----------------------------------------------------------------------------
// Description : GMT_fn_hCreateGameMaterial
// To create an empty game material handle
//----------------------------------------------------------------------------
// Input :
// Output : Handle to the created game material
----------------------------------------------------------------------------*/
extern CPA_EXPORT GMT_tdxHandleToGameMaterial GMT_fn_hCreateGameMaterial(void);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vDestroyGameMaterial
// Delete a created game material handle
//----------------------------------------------------------------------------
// Input : _hOld : game material handle to delete
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vDestroyGameMaterial(GMT_tdxHandleToGameMaterial _hOld);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vCopyGameMaterial
// Used to copy an existing game material
//----------------------------------------------------------------------------
// Input : _hSrc : source game material
// Output : _hDst : copied game material
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vCopyGameMaterial(GMT_tdxHandleToGameMaterial _hDst, GMT_tdxHandleToGameMaterial _hSrc);
/*----------------------------------------------------------------------------
// Description : GMT_fn_b_ulIsValid
// Used to check the validity of a game material handle
//----------------------------------------------------------------------------
// Input : _hMaterial
// Output : TRUE -> valid FALSE -> not valid
----------------------------------------------------------------------------*/
extern CPA_EXPORT unsigned long GMT_fn_b_ulIsValid(GMT_tdxHandleToGameMaterial _hMaterial);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vInvalidate
// Used to invlidate a game material handle
//----------------------------------------------------------------------------
// Input : _hOld : pointer to the handle to invalidate
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vInvalidate(GMT_tdxHandleToGameMaterial* _p_hOld);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vReInitializeGameMaterial
// Restore loaded values
//----------------------------------------------------------------------------
// Input : _hGameMat : game material
// Output :
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT void GMT_fn_vReInitializeGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat);*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetGameMaterialInitialValues
// put current values into initial values
//----------------------------------------------------------------------------
// Input : _hGameMat : game material
// Output :
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT void GMT_fn_vSetGameMaterialInitialValues(GMT_tdxHandleToGameMaterial _hGameMat);*/
/****************************************************************************/
/* BASIC FUNCTIONS FOR COLLIDE MATERIAL */
/****************************************************************************/
/*----------------------------------------------------------------------------
// Description : GMT_fn_hCreateCollideMaterial
// To create an empty collide material handle
//----------------------------------------------------------------------------
// Input :
// Output : Handle to the created collide material
----------------------------------------------------------------------------*/
extern CPA_EXPORT GMT_tdxHandleToCollideMaterial GMT_fn_hCreateCollideMaterial(void);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vDestroyCollideMaterial
// Delete a created collide material handle
//----------------------------------------------------------------------------
// Input : _p_hOld : collide material handle to delete
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vDestroyCollideMaterial(GMT_tdxHandleToCollideMaterial* _p_hOld);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vCopyGameMaterial
// Used to copy an existing game material
//----------------------------------------------------------------------------
// Input : _hSrc : source game material
// Output : _hDst : copied game material
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vCopyCollideMaterial(GMT_tdxHandleToCollideMaterial _hDst, GMT_tdxHandleToCollideMaterial _hSrc);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetCollideMaterialType
// Set to 1 the corresponding bit of the identifier
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// _uwType : Number of the type (0 to 15)
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetCollideMaterialTypeOfIdentifier(GMT_tdxHandleToCollideMaterial _hCollideMat,
unsigned short _uwType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vResetCollideMaterialType
// Set to 0 the corresponding bit of the identifier
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// _uwType : Number of the type (0 to 15)
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vResetCollideMaterialTypeOfIdentifier(GMT_tdxHandleToCollideMaterial _hCollideMat,
unsigned short _uwType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_xTestCollideMaterialType
// Test the corresponding bit of the identifier
//----------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// _uwType : Number of the type (0 to 15)
// Output : TRUE if the bit is set to 1 FALSE else
----------------------------------------------------------------------------*/
extern CPA_EXPORT ACP_tdxBool GMT_fn_xTestCollideMaterialTypeOfIdentifier(GMT_tdxHandleToCollideMaterial _hCollideMat,
unsigned short _uwType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetCollideIdentifierTypeOfGameMaterial
// Set the collide type for the identifier to 1
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _uwType : Type to set into the identifier (0 to 15)
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetCollideIdentifierTypeOfGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
unsigned short _uwType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vResetCollideIdentifierTypeOfGameMaterial
// Set the collide type for the identifier to 0
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _uwType : Type to reset into the identifier (0 to 15)
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vResetCollideIdentifierTypeOfGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
unsigned short _uwType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_xTestCollideIdentifierTypeOfGameMaterial
// Test the collide type for the identifier
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _uwType : Type to test into the identifier (0 to 15)
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT ACP_tdxBool GMT_fn_xTestCollideIdentifierTypeOfGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
unsigned short _uwType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_xMultipleTestCollideIdentifier
// Test the collide type for the identifier (test several bits in one operation)
------------------------------------------------------------------------------
// Input : _hCollideMat : Handle to the collide material
// _xType : Mask containing the bits to test
// Output : TRUE if all the bits set in _xType are present into the collide material
// identifier, FALSE else
----------------------------------------------------------------------------*/
extern CPA_EXPORT ACP_tdxBool GMT_fn_xMultipleTestCollideIdentifier(GMT_tdxHandleToCollideMaterial _hCollideMat,
GMT_tdxMask _xType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_xMultipleTestCollideIdentifierFromGameMaterial
// Test the collide type for the identifier (test several bits in one operation)
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the collide material
// _xType : Mask containing the bits to test
// Output : TRUE if all the bits set in _xType are present into the collide material
// identifier, FALSE else
----------------------------------------------------------------------------*/
extern CPA_EXPORT ACP_tdxBool GMT_fn_xMultipleTestCollideIdentifierFromGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
GMT_tdxMask _xType);
/*----------------------------------------------------------------------------
// Description : GMT_fn_xCombineMask
// Combine 2 GMT_tdxMask and return the result
------------------------------------------------------------------------------
// Input : _xMaskA, _xMaskB : The 2 masks to combine
// Output : the combinaison
----------------------------------------------------------------------------*/
extern CPA_EXPORT GMT_tdxMask GMT_fn_xCombineMask(GMT_tdxMask _xMaskA,GMT_tdxMask _xMaskB);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetEntireMask
// Set all the bits of a mask to 1
----------------------------------------------------------------------------//
// Input : _p_xMask : Pointer to the mask
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetEntireMask(GMT_tdxMask* _p_xMask);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vResetEntireMask
// Set all the bits of a mask to 0
----------------------------------------------------------------------------//
// Input : _p_xMask : Pointer to the mask
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vResetEntireMask(GMT_tdxMask* _p_xMask);
/*
* Returns the name linked to _xMask
*/
#if !defined(U64)
char * GMT_fn_p_szZdmMaskToName(GMT_tdxMask _xMask);
#endif /* U64 */
/*----------------------------------------------------------------------------
// Description : GMT_fn_ulGetStructureSize
//----------------------------------------------------------------------------
// Input :
// Output : the size
----------------------------------------------------------------------------*/
unsigned long GMT_fn_ulGetStructureSize();
/*----------------------------------------------------------------------------
// Description : GMT_fn_xGetOneTextureFromGameMaterial
// Get one of the texture composing the animated texture
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// _llNumberOfAnimatedTexture : Number of the texture into the texture list
// Output : The handle to the texture
----------------------------------------------------------------------------*/
extern CPA_EXPORT ACP_tdxHandleOfTexture GMT_fn_xGetOneTextureFromGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat,
long _llNumberOfAnimatedTexture);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vUnLockTextureFromGameMaterial
// Unlock the animated texture (locked with GMT_fn_xGetOneTextureFromGameMaterialAndLockIt)
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vUnLockTextureFromGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_lGetCurrentFrameOfAnimatedTexturesFromGameMaterial
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT long GMT_fn_lGetCurrentFrameOfAnimatedTexturesFromGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vSetCurrentFrameOfAnimatedTexturesFromGameMaterial
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vSetCurrentFrameOfAnimatedTexturesFromGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat, long _lTextureNumber);
/*----------------------------------------------------------------------------
// Description : GMT_fn_lGetNumberOfAnimatedTexturesFromGameMaterial
------------------------------------------------------------------------------
// Input : _hGameMat : Handle to the game material
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT long GMT_fn_lGetNumberOfAnimatedTexturesFromGameMaterial(GMT_tdxHandleToGameMaterial _hGameMat);
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* __GMTPROTO_H__*/

View File

@@ -0,0 +1,151 @@
/* (c) Ubi R&D 1996*/
/* See Alain Robin for any comment or question*/
#ifndef __GMTZNLOD_H__
#define __GMTZNLOD_H__
#ifdef __cplusplus
extern "C" {
#endif
/* For DLLs who are using this module : */
#undef 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
/****************************************************************************/
/* CONSTANTS */
/****************************************************************************/
#define C_EntryCollideMaterial "Collision"
#define C_SectionCollideMaterial "CollideMaterial"
#define GMT_C_szZDM "Zdm"
#define GMT_C_szZDR "Zdr"
#define GMT_C_szZDE "Zde"
#define GMT_C_szZDD "Zdd"
/*
* Types of ZDM
* When adding a type, remember to modify GMT_fn_p_szZdmMaskToName()
*/
#define GMT_C_uwPieds 1
#define GMT_C_uwCorps 2
#define GMT_C_uwTete 4
#define GMT_C_uwMains 8
#define GMT_C_uwFigee 16
#define GMT_C_uwDos 32
#define GMT_C_szPieds "ZdmPieds"
#define GMT_C_szCorps "ZdmCorps"
#define GMT_C_szTete "ZdmTete"
#define GMT_C_szMains "ZdmMains"
#define GMT_C_szFigee "ZdmFigee"
#define GMT_C_szDos "ZdmDos"
/*
* Types of ZDM: the end
*/
/*ROMTEAM WorldEditor (Cristi Petrescu 11/12/97)*/
/*
* Zone types
* Tells what zones are used by a specific material
* Use them as bit flags
*/
#define GMT_C_uwZDM 1
#define GMT_C_uwZDR 2
#define GMT_C_uwZDE 4
#define GMT_C_uwZDD 8 /* this might be unnecessary*/
#define GMT_C_uwBoundingVolume 16 /* this might be unnecessary*/
#define GMT_C_uwTestPoint 32 /* this might be unnecessary*/
/*
* Zone types: the end
*/
/*ENDROMTEAM WorldEditor (Cristi Petrescu)*/
/*////////////////////////////////////////////////////////////////////////////
// Description : GMT_fn_vInitLoadGameMaterial
// Loading process initialization
//////////////////////////////////////////////////////////////////////////////
// Input :
// Output :
*****************************************************************************/
extern CPA_EXPORT void GMT_fn_vInitLoadCollideMaterial();
/*----------------------------------------------------------------------------
// Description : GMT_fn_hLoadCollideMaterial
// Load a collide material from the scripts or from the binary bloc
//----------------------------------------------------------------------------
// Input : _szSectionName : Name of the section to load
// Output : A handle to the loaded collide material
----------------------------------------------------------------------------*/
extern CPA_EXPORT GMT_tdxHandleToCollideMaterial GMT_fn_hLoadCollideMaterial(char* _szSectionName);
/*----------------------------------------------------------------------------
// Description : GMT_fn_vPrepareSaveBinaryBloc
//----------------------------------------------------------------------------
// Input :
// Output :
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT void GMT_fn_vPrepareSaveCollideBinaryBloc();*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_ulWriteCMTBinaryBloc
//----------------------------------------------------------------------------
// Input : _ulStructAdress : Address of the structure to be written
// _p_cDestBuffer : Output buffer
// Output : The length of the data written
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT unsigned long GMT_fn_ulWriteCMTBinaryBloc(unsigned long _ulStructAdress,
char* _p_cDestBuffer);
*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_vWriteAllCMTBinaryBlocs
//----------------------------------------------------------------------------
// Input : _szBinaryFileName
// Output :
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT void GMT_fn_vWriteAllCMTBinaryBlocs(char* _szBinaryFileName);*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_ulReadBinaryBloc
//----------------------------------------------------------------------------
// Input : _p_cLoadedBuffer : Input buffer
// _ulLoadedBufferSize : Size of the loaded buffer
// Output : The address of the allocated bloc
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT unsigned long GMT_fn_ulReadCMTBinaryBloc(char* _p_cLoadedBuffer,unsigned long _ulLoadedBufferSize);*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_vReadAllCMTBinaryBlocs
//----------------------------------------------------------------------------
// Input : _szBinaryFileName : The binary file name
// Output :
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT void GMT_fn_vReadAllCMTBinaryBlocs(char* _szBinaryFileName);*/
/*----------------------------------------------------------------------------
// Description : GMT_fn_vReadAllCMTBinaryBlocs
//----------------------------------------------------------------------------
// Input : _szBinaryFileName : The binary file name
// Output :
----------------------------------------------------------------------------*/
/*extern CPA_EXPORT void GMT_fn_vReadAllCMTBinaryBlocs2(char* _szBinaryFileName);*/
/*---------------------------------------------------------------------------/
// Description : GMT_fn_vDeleteCMTEntryWithPriority
------------------------------------------------------------------------------
// Input :
// Output :
----------------------------------------------------------------------------*/
extern CPA_EXPORT void GMT_fn_vDeleteCMTEntryWithPriority(unsigned char ucPrioMin, unsigned char ucPrioMax);
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif

View File

@@ -0,0 +1,53 @@
/*///////////////////////////////////////////////////////////*/
/* //*/
/* Memory Management of the Module : Gmt //*/
/* // */
/* File Name : MmgGmt.h //*/
/* Date : Mar 97 //*/
/* Author : Alain Robin //*/
/* //*/
/*///////////////////////////////////////////////////////////*/
#ifndef __MemGmt_H__
#define __MemGmt_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For DLLs who are using this module : */
#undef 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
#include "MMG.h"
typedef enum e_ucGmtStaticBlocks_{
E_ucGmtBlock1,
E_ucGmtMaxBlocksNb /* maximum number of static block, You have to follow this syntax 'E_uc+ Abbreviation Module +MaxBlocksNb'*/
} e_ucGmtStaticBlocks;
#undef __MEMGMT_EXTERN
#ifdef __DeclareGlobalVariableMmgGmt_h__
#define __MEMGMT_EXTERN /*nothing*/
#else /* no __DeclareGlobalVariableMmgGmt_h__*/
#define __MEMGMT_EXTERN extern
#endif /*__DeclareGlobalVariableMmgGmt_h__*/
__MEMGMT_EXTERN CPA_EXPORT struct tdstBlockInfo_ g_a_stGmtBlocksInfo[E_ucGmtMaxBlocksNb];
#ifdef __DYNAMIC_MALLOC_ALLOWED__
#ifdef __DEBUG_MALLOC_MODE__
__MEMGMT_EXTERN CPA_EXPORT struct tdstDynInfo_ g_stGmtDynInfo;
#endif /*__DEBUG_MALLOC_MODE__*/
#endif /*__DYNAMIC_MALLOC_ALLOWED__*/
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__MemGmt_H__*/