class CD3DFont { char m_strFontName[80]; // Font properties DWORD m_dwFontFlags; LPDIRECT3DDEVICE7 m_pd3dDevice; LPDIRECTDRAWSURFACE7 m_pTexture; D3DTLVERTEX m_pVB[300]; DWORD m_dwTexWidth; DWORD m_dwTexHeight; float m_fTexCoords[128-32][4]; DWORD m_dwSavedStateBlock; DWORD m_dwDrawTextStateBlock; public: CD3DFont(){} ~CD3DFont(){} void Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice , const char* strFontName, DWORD dwHeight, DWORD dwFlags=0L ); void Cleanup(); HRESULT GetTextExtent(const char* strText, SIZE* pSize ); HRESULT DrawText( float x, float y, DWORD dwColor,const char* strText, DWORD dwFlags=0L ); }; struct Screen { GUID guid; TCHAR szDesc[200]; HMONITOR hmon; LPDIRECTDRAW7 pDD; LPDIRECTDRAWSURFACE7 pDDSFront; LPDIRECTDRAWSURFACE7 pDDSBack; LPDIRECTDRAWSURFACE7 pDDSImage; //one attatched image sruface LPDIRECT3D7 pD3D; LPDIRECT3DDEVICE7 pD3DDevice; LPDIRECTDRAWSURFACE7 pDDSTexture; CD3DFont pFont[3]; }; void __cdecl HSH_DrawRect(int SCREENID,int left,int top,int right,int bottom,DWORD color); void __cdecl HSH_DrawFrame(int SCREENID,int left,int top,int right,int bottom,DWORD color,int pix=1); void __cdecl HSH_DrawText(int SCREENID,int x,int y,const char* text,int size,DWORD color,int align=0); void __cdecl HSH_DrawTexture(int SCREENID,int x,int y,RECT& rc,bool fcolorkey=true,DWORD colorkey=0x0000); void __cdecl HSH_DrawTexture(int SCREENID,int x,int y,int l,int t,int r,int b,bool fcolorkey=true,DWORD colorkey=0x0000); void __cdecl HSH_DrawRadarTexture(int id,int x,int y); int __cdecl HSH_CopyTargetImage(int finit=0); bool __cdecl HSH_LoadBitmapFileToTexture(int SCREENID,int x,int y,const char* strName ); bool __cdecl HSH_LoadBitmapFileToTexture(LPDIRECTDRAWSURFACE7 pddsTexture,int x,int y,const char* strName ); LPDIRECTDRAWSURFACE7 __cdecl HSH_CreateAlphaTexture256x256(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice, CHAR* strName ); #define RADAR_SCALE 2.8f extern bool multimonitor_initialized; extern int SCREENS; extern Screen Screens[8]; extern float texuv2[21][11][4]; extern int offset2[21][11][2]; extern DWORD textcoords[2][3][128-32][4]; void __cdecl HSH_Draw3DTexture(int SCREENID,float x,float y,float w,float h,DWORD dwColor, float tx1,float tx2,float ty1,float ty2); void __cdecl HSH_Draw3DTexture2(int SCREENID,float pt[4][2],DWORD dwColor, float tx1,float tx2,float ty1,float ty2); HRESULT __cdecl HSH_BeginScene( int index); HRESULT __cdecl HSH_EndScene(int index); void __cdecl HSH_RenderRadarTorsoView(float e); void __cdecl HSH_RenderMapTorsoView(float x,float y,float e); void __cdecl HSH_RenderAux1SmallMech(int num,int part,int color); void __cdecl HSH_DrawRadarNumber(int x,int y,const char* text,int align); // from GameOS extern char AssetsDirectory1[MAX_PATH];