93 lines
3.9 KiB
C
93 lines
3.9 KiB
C
/*---------------------------------------------------------------------------*/
|
|
/* AITools.h : Some useful functions*/
|
|
/* author : Olivier Couvreur.*/
|
|
/* date : 05/05/1996*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#if !defined(__AITOOLS_H__)
|
|
#define __AITOOLS_H__
|
|
|
|
/* WARNING constant are bits */
|
|
#define DISTANCE_TO_ORIGIN 0x00
|
|
#define DISTANCE_TO_CENTER_OF_BOUNDING_VOLUME 0x80
|
|
|
|
#define C_DISTANCE_X 1
|
|
#define C_DISTANCE_Y 2
|
|
#define C_DISTANCE_Z 4
|
|
#define C_DISTANCE_XY 3
|
|
#define C_DISTANCE_XZ 5
|
|
#define C_DISTANCE_YZ 6
|
|
#define C_DISTANCE_XYZ 7
|
|
|
|
#define C_DISTANCE_MASK C_DISTANCE_XYZ
|
|
|
|
#if defined(U64)
|
|
#include "AIUseCPA.h"
|
|
#include "specif/AIOption.h"
|
|
#include "AIMacros.h"
|
|
#include "AI_Erm.h"
|
|
#include "WPWayPt.h"
|
|
#include "Strintel.h"
|
|
#endif
|
|
|
|
#include "GSParam.h"
|
|
|
|
/* CGHT*/
|
|
#if 0
|
|
/* MODIF YLG*/
|
|
ACP_tdxBool fn_bIsEndReached(MTH_tdxReal xStart,MTH_tdxReal xEnd,MTH_tdxReal xSpeed);
|
|
#endif
|
|
|
|
#ifdef ACTIVE_EDITOR
|
|
void fn_vCheckModuleAccess(HIE_tdxHandleToSuperObject hPerso, ACP_tdxBool _bNextArgIsAChannel, void *_p_vChannelOrModuleHandle);
|
|
#endif
|
|
|
|
char *fn_szGetStringFromTextOrStringParam(tdstGetSetParam *p_stValue);
|
|
|
|
MTH_tdxReal fn_xComputeDirectionAngle(struct MTH3D_tdstVector_ *p_stVector);
|
|
|
|
MTH_tdxReal fn_xComputeBestEcartDirectionAngle(MTH_tdxReal xAngleFollowed,MTH_tdxReal xAngleToFollow);
|
|
|
|
MTH_tdxReal fn_xDistanceBetweenPersoAndWP(HIE_tdxHandleToSuperObject p_SuperObjPerso, WP_tdhWayPoint hWP);
|
|
MTH_tdxReal fn_xDistanceBetweenPerso(HIE_tdxHandleToSuperObject p_SuperObjPerso1, HIE_tdxHandleToSuperObject p_SuperObjPerso2);
|
|
|
|
MTH_tdxReal fn_xExtendedDistanceBetweenPerso(HIE_tdxHandleToSuperObject p_SuperObjPerso1, HIE_tdxHandleToSuperObject p_SuperObjPerso2, unsigned char ucFlags);
|
|
MTH_tdxReal fn_xExtendedDistanceBetweenVertexAndPerso(MTH3D_tdstVector *p_stVertex1,HIE_tdxHandleToSuperObject p_SuperObjPerso2 , unsigned char ucFlags);
|
|
|
|
MTH_tdxReal fn_xRealModuloAround(MTH_tdxReal xFrom,MTH_tdxReal xModulus,MTH_tdxReal xValue);
|
|
void fn_vVectorModuloAround(MTH_tdxReal xFrom,MTH_tdxReal xModulus,struct MTH3D_tdstVector_ *p_stRotationVector);
|
|
|
|
/*void fn_vMakeAngularSpeedVectorPositive(struct MTH3D_tdstVector_ *p_stRotationVector,struct MTH3D_tdstVector_ *p_stAngleVector,struct MTH3D_tdstVector_ *p_stAimAngleVector);*/
|
|
|
|
struct stMACDPID *fn_p_stGetMACDPIDPointer(HIE_tdxHandleToSuperObject p_SuperObjPerso);
|
|
struct DNM_stReport *fn_pstGetDNMReport(HIE_tdxHandleToSuperObject p_SuperObjPerso);
|
|
|
|
unsigned char fn_ucIsThereFloatIfYesConvertItToInteger(struct tdstGetSetParam_ *p_stParam);
|
|
unsigned char fn_ucAreThereFloatIfYesConvertThem(struct tdstGetSetParam_ *p_stParam1,struct tdstGetSetParam_ *p_stParam2);
|
|
|
|
void fn_vGetCenterOfBoundingVolume(HIE_tdxHandleToSuperObject hPerso,struct MTH3D_tdstVector_ *p_stVertex);
|
|
|
|
void fn_vSetDontCheckNULLFlag(signed char _cValue);
|
|
unsigned char fn_ucGetDontCheckNULLFlag(void);
|
|
|
|
#if defined(__DEBUG_AI__)
|
|
char *fn_szGetPersoName(HIE_tdxHandleToSuperObject hPerso);
|
|
#endif
|
|
|
|
ACP_tdxBool fn_bSetPositionWithCollideTest(HIE_tdxHandleToSuperObject p_SuperObjPerso, struct MTH3D_tdstVector_ *p_stVertex);
|
|
/*ANNECY BBB { parti dans gam\actions\dynam.h*/
|
|
/*ACP_tdxBool fn_bSetPositionWithoutCollideTest(HIE_tdxHandleToSuperObject p_SuperObjPerso, struct MTH3D_tdstVector_ *p_stVertex);*/
|
|
/*ANNECY BBB } parti dans gam\actions\dynam.h*/
|
|
|
|
#if 0
|
|
/* YLG modif*/
|
|
void fn_vBoolAddRequest(HIE_tdxHandleToSuperObject p_SuperObjPerso,enum LRM_eKindOfRequest_ eRequest);
|
|
#endif
|
|
unsigned char fn_bGethDynamAndMACDPIDPointers(HIE_tdxHandleToSuperObject p_SuperObjPerso, MS_tdxHandleToDynam *p_h_Dynam, tdstMACDPID **p_p_stMACDPID);
|
|
|
|
unsigned char fn_ucInternalTurn(HIE_tdxHandleToSuperObject p_SuperObjPerso,MTH_tdxReal xAngle);
|
|
|
|
void fn_vConvertParamToColor(struct tdstGetSetParam_ *p_stParam,struct GEO_tdstColor_ *p_stColor);
|
|
void fn_vConvertColorToParam(struct GEO_tdstColor_ *p_stColor,struct tdstGetSetParam_ *p_stParam);
|
|
|
|
#endif /* __AITOOLS_H__*/
|