Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
// $NoKeywords: $
//===========================================================================//
#ifndef ENGINESPRITE_H
#define ENGINESPRITE_H
#ifdef _WIN32
#pragma once
#endif
#include "mathlib/vector.h"
#include "avi/iavi.h"
#include "avi/ibik.h"
#include "const.h"
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class IMaterial; class IMaterialVar; typedef struct wrect_s wrect_t;
//-----------------------------------------------------------------------------
// Purpose: Sprite Models
//-----------------------------------------------------------------------------
class CEngineSprite { // NOTE: don't define a constructor or destructor so that this can be allocated
// as before.
public: int GetWidth() { return m_width; } int GetHeight() { return m_height; } int GetNumFrames() { return m_numFrames; } IMaterial *GetMaterial( RenderMode_t nRenderMode ) { return m_material[nRenderMode]; } IMaterial *GetMaterial( RenderMode_t nRenderMode, int nFrame ); void SetFrame( RenderMode_t nRenderMode, int nFrame ); bool Init( const char *name ); void Shutdown( void ); void UnloadMaterial(); void SetColor( float r, float g, float b ); int GetOrientation( void ); void GetHUDSpriteColor( float* color ); float GetUp() { return up; } float GetDown() { return down; } float GetLeft() { return left; } float GetRight() { return right; } void DrawFrame( RenderMode_t nRenderMode, int frame, int x, int y, const wrect_t *prcSubRect ); void DrawFrameOfSize( RenderMode_t nRenderMode, int frame, int x, int y, int iWidth, int iHeight, const wrect_t *prcSubRect); bool IsAVI(); bool IsBIK(); void GetTexCoordRange( float *pMinU, float *pMinV, float *pMaxU, float *pMaxV );
private: AVIMaterial_t m_hAVIMaterial; BIKMaterial_t m_hBIKMaterial; int m_width; int m_height; int m_numFrames; IMaterial *m_material[kRenderModeCount]; int m_orientation; float m_hudSpriteColor[3]; float up, down, left, right; };
#endif // ENGINESPRITE_H
|