mirror of
https://github.com/thug1src/thug.git
synced 2025-01-22 05:43:47 +00:00
63 lines
1.6 KiB
C
63 lines
1.6 KiB
C
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
// p_NxFont.h
|
||
|
|
||
|
#ifndef __GFX_P_NX_IMPOSTER_H__
|
||
|
#define __GFX_P_NX_IMPOSTER_H__
|
||
|
|
||
|
#include "gfx/NxImposter.h"
|
||
|
|
||
|
namespace Nx
|
||
|
{
|
||
|
|
||
|
/******************************************************************/
|
||
|
/* */
|
||
|
/* */
|
||
|
/******************************************************************/
|
||
|
struct sImposterPolyVert
|
||
|
{
|
||
|
float x, y, z;
|
||
|
float u, v;
|
||
|
};
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////////////
|
||
|
// Private classes
|
||
|
//
|
||
|
|
||
|
struct sRemovedTextureDetails
|
||
|
{
|
||
|
IDirect3DTexture8* mp_texture;
|
||
|
int m_time_removed;
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
// Here's a machine specific implementation of the CImposterGroup
|
||
|
class CXboxImposterGroup : public CImposterGroup
|
||
|
{
|
||
|
public:
|
||
|
CXboxImposterGroup();
|
||
|
virtual ~CXboxImposterGroup();
|
||
|
|
||
|
|
||
|
private: // It's all private, as it is machine specific
|
||
|
|
||
|
virtual void plat_create_imposter_polygon( void );
|
||
|
virtual void plat_remove_imposter_polygon( void );
|
||
|
virtual bool plat_update_imposter_polygon( void );
|
||
|
virtual void plat_draw_imposter_polygon( void );
|
||
|
virtual float plat_check_distance( void );
|
||
|
virtual void plat_process( void );
|
||
|
|
||
|
void process_removed_textures( void );
|
||
|
|
||
|
// Machine specific members
|
||
|
sImposterPolyVert m_vertex_buffer[4];
|
||
|
IDirect3DTexture8* mp_texture;
|
||
|
Lst::Head <sRemovedTextureDetails> * mp_removed_textures_list;
|
||
|
};
|
||
|
|
||
|
} // Namespace Nx
|
||
|
|
||
|
#endif
|