reman3/Rayman_X/cpa/public/GAM/TextFrmt.h

81 lines
2.9 KiB
C

#ifndef __TEXTFRMT_H__
#define __TEXTFRMT_H__
#if _MSC_VER >= 1000
#pragma once
#endif
#include "GAM/Header.h"
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
/*the structure that holds all the relevant information for formatting*/
typedef struct stTfmtStatus_
{
MTH_tdxReal xScreenWidth;
MTH_tdxReal xBaseCharX, xBaseCharZ;
MTH_tdxReal xBaseToAddX;
MTH_tdxReal xRandomPosRadius;
MTH_tdxReal xCharWidth, xLineHeight, xCharZoom;
MTH_tdxReal xCurCharZoom ;
MTH_tdxReal xCurCharWidth ;
tdxHandleToObjectsTablesList hSourceObjectTable;
char cJustificationMode;
} tdstTfmtStatus;
typedef struct stTfmtLineResults_
{
short wStartChar;
short wEndChar;
MTH3D_tdstVector stLineOrigin;
} tdstTfmtLineResults;
#define MAX_TEXTAFFICHE 30
typedef struct stInfoTextAffiche_
{
BOOL bFirstInit;
unsigned long ulCurrentDelay; /* Delay between letters*/
unsigned long ulTimer; /* The Timer*/
unsigned long ulEvent; /* Evenement*/
short wCurrentLetterInString; /* Position of the current letter in string*/
} tdstInfoTextAffiche;
#define TFMT_MAX_SCALEDPATTERN 50
#define TFMT_MAX_WIDTHTABLEELMENT 256
extern unsigned char g_ucTextAfficheId;
extern HIE_tdxHandleToSuperObject gp_SuperObjPersoGenerated[MAX_TEXTAFFICHE];
extern tdstInfoTextAffiche g_stInfoTextAffiche[MAX_TEXTAFFICHE];
extern BOOL g_bFreeTextAfficheBlocs[MAX_TEXTAFFICHE];
short TFMT_wPositionModulesAccordingToText(tdstTfmtStatus *_p_stStatus, HIE_tdxHandleToSuperObject _hSuperObjPerso, char *_pszText, long _lStart, long _lEnd, MTH_tdxReal _xScreenWidth, tdstTfmtLineResults *_d_stLineResults, short _wNbLines);
unsigned long TFMT_wPositionModulesAccordingToText2(tdstTfmtStatus *_p_stStatus, HIE_tdxHandleToSuperObject _hSuperObjPerso, char *_pszText, long _lStart, long _lEnd, ACP_tdxBool *bFirstTime, short *pwCurrentChar, unsigned long *ulDelay);
void TFMT_vInitFormatterStatus(tdstTfmtStatus *_p_stStatus, HIE_tdxHandleToSuperObject _hSuperObjPerso, MTH_tdxReal _xScreenWidth);
void TFMT_vChangeLetter( HIE_tdxHandleToSuperObject hSuperObjPerso, unsigned char ucPosLetter, unsigned char ucLetter );
void TEXT_vComputeLengthOgString( char *p_szString, tdstTfmtStatus *p_stStatus );
void TFMT_vSetDefaultValuesCharacter(MTH_tdxReal _xCharWidth, MTH_tdxReal _xLineHeight, MTH_tdxReal _xCharZoom);
void TFMT_vInitTextAfficheStructure( void );
unsigned char TFMT_ucNumberOfCurrentTextAffiche( HIE_tdxHandleToSuperObject p_SuperObjPersoTreated );
unsigned char TFMT_ucSetNumber4CurrentTextAffiche( void );
void TFMT_ucClearNumberOfCurrentTextAffiche( HIE_tdxHandleToSuperObject p_SuperObjPersoTreated );
void TFMT_vInitScapingTable ( MTH_tdxReal xValue ) ;
void TFMT_vUpdateSpacingTable ( char *szText ) ;
void TFMT_vInitScaleTable ( MTH_tdxReal xValue ) ;
void TFMT_vUpdateScaleTable ( char *szText ) ;
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __TEXTFRMT_H__ */