mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
UTIL is never used, and JA2 is always used. assumption being we'll never make 1.13 for Wizardry 8. video2.h doesn't exist, which prevented me from deleting it.
167 lines
6.5 KiB
C
167 lines
6.5 KiB
C
#ifndef __FONT_H_
|
|
#define __FONT_H_
|
|
|
|
#include "Types.h"
|
|
#include "himage.h"
|
|
#include "vobject.h"
|
|
//#ifdef WINFONTS
|
|
#include "WinFont.h"
|
|
//#endif
|
|
#include "Font Control.h"
|
|
|
|
#define MAX_FONTS 25
|
|
|
|
#define DEFAULT_SHADOW 2
|
|
#define MILITARY_SHADOW 67
|
|
#define NO_SHADOW 0
|
|
|
|
|
|
// these are bogus! No palette is set yet!
|
|
// font foreground color symbols
|
|
#define FONT_FCOLOR_WHITE 208
|
|
#define FONT_FCOLOR_RED 162
|
|
#define FONT_FCOLOR_NICERED 164
|
|
#define FONT_FCOLOR_BLUE 203
|
|
#define FONT_FCOLOR_GREEN 184
|
|
#define FONT_FCOLOR_YELLOW 144
|
|
#define FONT_FCOLOR_BROWN 184
|
|
#define FONT_FCOLOR_ORANGE 76
|
|
#define FONT_FCOLOR_PURPLE 160
|
|
|
|
// font background color symbols
|
|
#define FONT_BCOLOR_WHITE 208
|
|
#define FONT_BCOLOR_RED 162
|
|
#define FONT_BCOLOR_BLUE 203
|
|
#define FONT_BCOLOR_GREEN 184
|
|
#define FONT_BCOLOR_YELLOW 144
|
|
#define FONT_BCOLOR_BROWN 80
|
|
#define FONT_BCOLOR_ORANGE 76
|
|
#define FONT_BCOLOR_PURPLE 160
|
|
|
|
|
|
|
|
// typedefs
|
|
|
|
typedef struct
|
|
{
|
|
UINT16 usNumberOfSymbols;
|
|
UINT16 *DynamicArrayOf16BitValues;
|
|
|
|
} FontTranslationTable;
|
|
/*
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
*/
|
|
extern INT32 FontDefault;
|
|
extern UINT32 FontDestBuffer;
|
|
extern UINT32 FontDestPitch;
|
|
extern UINT32 FontDestBPP;
|
|
extern SGPRect FontDestRegion;
|
|
extern BOOLEAN FontDestWrap;
|
|
|
|
#define SetFontDestObject(x) (SetFontDestBuffer(x, \
|
|
FontDestRegion.left, \
|
|
FontDestRegion.top, \
|
|
FontDestRegion.right, \
|
|
FontDestRegion.bottom,\
|
|
FontDestWrap))
|
|
|
|
#define SetFontDestClip(x1, y1, x2, y2) (SetFontDestBuffer(FontDestBuffer, \
|
|
x1, y1, \
|
|
x2, y2, \
|
|
FontDestWrap))
|
|
#define SetFontDestWrap(x) (SetFontDestBuffer(FontDestBuffer, \
|
|
FontDestRegion.left, \
|
|
FontDestRegion.top, \
|
|
FontDestRegion.right, \
|
|
FontDestRegion.bottom,\
|
|
x))
|
|
// functions
|
|
|
|
void SetFontColors(UINT16 usColors);
|
|
void SetFontForeground(UINT8 ubForeground);
|
|
void SetFontBackground(UINT8 ubBackground);
|
|
void SetFontShadow(UINT8 ubBackground);
|
|
|
|
//Kris: added these
|
|
void SetRGBFontForeground( UINT32 uiRed, UINT32 uiGreen, UINT32 uiBlue );
|
|
void SetRGBFontBackground( UINT32 uiRed, UINT32 uiGreen, UINT32 uiBlue );
|
|
void SetRGBFontShadow( UINT32 uiRed, UINT32 uiGreen, UINT32 uiBlue );
|
|
|
|
// Flugente: set 16 bit colour directly
|
|
void SetRGBFontForeground( UINT16 usFontForeground16 );
|
|
void SetRGBFontShadow( UINT16 usFontShadow16 );
|
|
|
|
BOOLEAN ResetFontObjectPalette(INT32 iFont);
|
|
UINT16 *SetFontObjectPalette8BPP(INT32 iFont, SGPPaletteEntry *pPal8);
|
|
UINT16 *SetFontObjectPalette16BPP(INT32 iFont, UINT16 *pPal16);
|
|
UINT16 *GetFontObjectPalette16BPP(INT32 iFont);
|
|
|
|
void DestroyEnglishTransTable( void );
|
|
|
|
extern BOOLEAN IsFontLoaded(INT32 iFont);
|
|
extern HVOBJECT GetFontObject(INT32 iFont);
|
|
extern UINT32 gprintf(INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
extern UINT32 gprintfDirty(INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
extern UINT32 mprintf(INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
extern UINT32 gprintf_buffer( UINT8 *pDestBuf, UINT32 uiDestPitchBYTES, UINT32 FontType, INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
extern UINT32 mprintf_buffer( UINT8 *pDestBuf, UINT32 uiDestPitchBYTES, UINT32 FontType, INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
|
|
// Function for displaying coded test. Since it's slower to do this, it's separate from the normal fuctions
|
|
#define FONT_CODE_BEGINCOLOR 180
|
|
#define FONT_CODE_RESETCOLOR 181
|
|
|
|
UINT32 mprintf_buffer_coded( UINT8 *pDestBuf, UINT32 uiDestPitchBYTES, UINT32 FontType, INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
UINT32 mprintf_coded( INT32 x, INT32 y, const STR16 pFontString, ...);
|
|
|
|
|
|
extern BOOLEAN SetFontDestBuffer(UINT32 DestBuffer, INT32 x1, INT32 y1, INT32 x2, INT32 y2, BOOLEAN wrap);
|
|
extern BOOLEAN SetFont(INT32 iFontIndex);
|
|
|
|
extern INT32 LoadFontFile(const STR8 pFileName);
|
|
extern UINT16 GetFontHeight(INT32 FontNum);
|
|
extern BOOLEAN InitializeFontManager(UINT16 usDefaultPixDepth, FontTranslationTable *pTransTable);
|
|
extern void ShutdownFontManager(void);
|
|
extern void UnloadFont(UINT32 FontIndex);
|
|
|
|
extern FontTranslationTable *CreateEnglishTransTable( );
|
|
|
|
extern INT16 GetIndex(CHAR16 siChar);
|
|
extern UINT32 GetWidth(HVOBJECT hSrcVObject, INT16 ssIndex);
|
|
|
|
extern INT16 StringPixLengthArgFastHelp( INT32 usUseFont, INT32 usBoldFont, UINT32 uiCharCount, STR16 pFontString );
|
|
extern INT16 StringPixLengthArg(INT32 usUseFont, UINT32 uiCharCount, STR16 pFontString, ...);
|
|
extern INT16 StringPixLength(const STR16 string,INT32 UseFont);
|
|
extern INT16 SubstringPixLength(STR16 string, UINT32 iStart, UINT32 iEnd, INT32 UseFont);
|
|
extern INT16 StringNPixLength(STR16 string, UINT32 uiMaxCount, INT32 UseFont);
|
|
extern void SaveFontSettings(void);
|
|
extern void RestoreFontSettings(void);
|
|
|
|
void VarFindFontRightCoordinates( INT16 sLeft, INT16 sTop, INT16 sWidth, INT16 sHeight, INT32 iFontIndex, INT16 *psNewX, INT16 *psNewY, const STR16 pFontString, ... );
|
|
|
|
void VarFindFontCenterCoordinates( INT16 sLeft, INT16 sTop, INT16 sWidth, INT16 sHeight, INT32 iFontIndex, INT16 *psNewX, INT16 *psNewY, const STR16 pFontString, ... );
|
|
|
|
void FindFontRightCoordinates( INT16 sLeft, INT16 sTop, INT16 sWidth, INT16 sHeight, const STR16 pStr, INT32 iFontIndex, INT16 *psNewX, INT16 *psNewY );
|
|
|
|
void FindFontCenterCoordinates( INT16 sLeft, INT16 sTop, INT16 sWidth, INT16 sHeight, const STR16 pStr, INT32 iFontIndex, INT16 *psNewX, INT16 *psNewY );
|
|
|
|
//extern FontBase *LoadFontFile(CHAR8 *pFileName);
|
|
//extern UINT8 *GetFontPalette(CHAR8 *pFileName);
|
|
//extern UINT16 GetMaxFontWidth(FontBase *pBase);
|
|
//extern void UnloadFont(FontBase *pBase);
|
|
//extern BOOLEAN SetFontPalette(FontBase *pFont, UINT16 siDepthPix, SGPPaletteEntry *pNewPalette);
|
|
// make sure the pFontString is terminated by 0
|
|
//extern BOOLEAN PrintFontString(STR16 pFontString, UINT8 *pDestBuffer, UINT16 siDestWidth, UINT16 siDestPixelDepth, UINT16 siDestPitch, UINT16 siDestHeight, UINT16 siX, UINT16 siY, UINT16 siTotalWidth, UINT16 siTotalHeight, BOOLEAN MultiLine, FontBase *pFontBase);
|
|
//extern BOOLEAN SetFont16BitData(FontBase *pFontBase, UINT16 *pData16);
|
|
|
|
/*
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
*/
|
|
|
|
#endif
|
|
|
|
CHAR16 GetUnicodeChar(CHAR16 siChar);
|