initial
This commit is contained in:
188
hammer/wadtexture.h
Normal file
188
hammer/wadtexture.h
Normal file
@@ -0,0 +1,188 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Implementation of the IEditorTexture interface for WAD textures.
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef WADTEXTURE_H
|
||||
#define WADTEXTURE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
#include <afxtempl.h>
|
||||
#include "BlockArray.h"
|
||||
#include "IEditorTexture.h"
|
||||
|
||||
|
||||
class IMaterial;
|
||||
|
||||
|
||||
class CWADTexture : public IEditorTexture
|
||||
{
|
||||
public:
|
||||
|
||||
CWADTexture(void);
|
||||
virtual ~CWADTexture(void);
|
||||
|
||||
static bool Initialize(void);
|
||||
static void ShutDown(void);
|
||||
|
||||
BOOL Init(int, DWORD, BOOL, LPCTSTR);
|
||||
|
||||
BOOL AdjustTexture(char *pLoadBuf);
|
||||
|
||||
inline const char *GetName(void) const
|
||||
{
|
||||
return(m_szName);
|
||||
}
|
||||
int GetShortName(char *pszName) const;
|
||||
|
||||
int GetKeywords(char *pszKeywords) const;
|
||||
|
||||
void Draw(CDC *pDC, RECT &rect, int iFontHeight, int iIconHeight, DrawTexData_t &DrawTexData);//, DWORD dwFlags = (drawCaption|drawIcons));
|
||||
void GetSize(SIZE &size);
|
||||
|
||||
const char *GetFileName(void) const;
|
||||
|
||||
int GetImageDataRGB( void *pImageRGB );
|
||||
int GetImageDataRGBA( void *pImageRGBA );
|
||||
|
||||
inline int GetPreviewImageWidth() const
|
||||
{
|
||||
return( m_datawidth );
|
||||
}
|
||||
|
||||
inline int GetPreviewImageHeight() const
|
||||
{
|
||||
return( m_dataheight );
|
||||
}
|
||||
|
||||
inline int GetWidth() const
|
||||
{
|
||||
return(m_nWidth);
|
||||
}
|
||||
|
||||
inline int GetHeight() const
|
||||
{
|
||||
return(m_nHeight);
|
||||
}
|
||||
|
||||
inline int GetMappingWidth() const
|
||||
{
|
||||
return(m_nWidth);
|
||||
}
|
||||
|
||||
inline int GetMappingHeight() const
|
||||
{
|
||||
return(m_nHeight);
|
||||
}
|
||||
|
||||
inline float GetDecalScale() const
|
||||
{
|
||||
return( 1.0f );
|
||||
}
|
||||
|
||||
CPalette *GetPalette() const;
|
||||
|
||||
inline int GetTextureID() const
|
||||
{
|
||||
return( m_nTextureID );
|
||||
}
|
||||
|
||||
inline TEXTUREFORMAT GetTextureFormat() const
|
||||
{
|
||||
return(format);
|
||||
}
|
||||
|
||||
inline int GetSurfaceAttributes() const
|
||||
{
|
||||
return(m_WALsurface);
|
||||
}
|
||||
|
||||
inline int GetSurfaceContents() const
|
||||
{
|
||||
return(m_WALcontents);
|
||||
}
|
||||
|
||||
inline int GetSurfaceValue() const
|
||||
{
|
||||
return(m_WALvalue);
|
||||
}
|
||||
|
||||
inline bool HasAlpha() const
|
||||
{
|
||||
return( false );
|
||||
}
|
||||
|
||||
inline bool HasData( void ) const
|
||||
{
|
||||
return(m_pData != NULL);
|
||||
}
|
||||
|
||||
inline bool HasPalette() const
|
||||
{
|
||||
return(m_bLocalPalette == TRUE);
|
||||
}
|
||||
|
||||
inline bool IsDummy( void ) const
|
||||
{
|
||||
return( false );
|
||||
}
|
||||
|
||||
bool Load( void );
|
||||
void Reload( bool bFullReload ) {}
|
||||
bool IsLoaded() const;
|
||||
|
||||
inline void SetTextureFormat(TEXTUREFORMAT eFormat)
|
||||
{
|
||||
format = eFormat;
|
||||
}
|
||||
|
||||
inline void SetTextureID( int nTextureID )
|
||||
{
|
||||
m_nTextureID = nTextureID;
|
||||
}
|
||||
|
||||
bool IsWater( void ) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
BOOL Load(int fd, HANDLE hFile);
|
||||
void DrawNoImage(CDC *pDC, RECT &rect, int iFontHeight);
|
||||
|
||||
char m_szName[MAX_PATH];
|
||||
char m_szFileName[MAX_PATH];
|
||||
|
||||
// additional data for new .WAL textures:
|
||||
int m_WALsurface;
|
||||
int m_WALvalue;
|
||||
int m_WALcontents;
|
||||
|
||||
// Used when the texture is in a .WAD or a .PAK file.
|
||||
// Otherwise, texture is loaded automatically.
|
||||
DWORD m_ulFileOffset; // Offset to texture in WAD file.
|
||||
DWORD m_ulFileID; // ID of WAD file the texture is in.
|
||||
|
||||
TEXTUREFORMAT format;
|
||||
|
||||
LOGPALETTE *m_pPalette; // This texture's palette.
|
||||
BOOL m_bLocalPalette; // Use m_pPalette?
|
||||
|
||||
int m_nTextureID; // Uniquely identifies this texture in all 3D renderers.
|
||||
|
||||
int m_datawidth;
|
||||
int m_dataheight;
|
||||
|
||||
int m_nWidth;
|
||||
int m_nHeight;
|
||||
|
||||
void *m_pData; // Loaded pixel data (NULL if not loaded)
|
||||
};
|
||||
|
||||
|
||||
#endif // WADTEXTURE_H
|
||||
Reference in New Issue
Block a user