etqw-sdk/source/decllib/declTypeHolder.h

112 lines
8.9 KiB
C
Raw Permalink Normal View History

2008-05-29 00:00:00 +00:00
// Copyright (C) 2007 Id Software, Inc.
//
#ifndef __DECLTYPEHOLDER_H__
#define __DECLTYPEHOLDER_H__
//===============================================================
//
// sdDeclTypeHolder
//
//===============================================================
#include "../framework/declManager.h"
class sdDeclTypeHolder {
public:
sdDeclTypeHolder();
sdDeclWrapperTemplate< class idDeclTable > declTableType;
sdDeclWrapperTemplate< class idMaterial > declMaterialType;
sdDeclWrapperTemplate< class idDeclSkin > declSkinType;
sdDeclWrapperTemplate< class idSoundShader > declSoundShaderType;
sdDeclWrapperTemplate< class idDeclEntityDef > declEntityDefType;
sdDeclWrapperTemplate< class idDeclAF > declAFType;
sdDeclWrapperTemplate< class rvDeclEffect > declEffectsType;
sdDeclWrapperTemplate< class sdDeclAtmosphere > declAtmosphereType;
sdDeclWrapperTemplate< class sdDeclAmbientCubeMap > declAmbientCubeMapType;
sdDeclWrapperTemplate< class sdDeclStuffType > declStuffTypeType;
sdDeclWrapperTemplate< class sdDeclDecal > declDecalType;
sdDeclWrapperTemplate< class sdDeclSurfaceType > declSurfaceTypeType;
sdDeclWrapperTemplate< class sdDeclSurfaceTypeMap > declSurfaceTypeMapType;
sdDeclWrapperTemplate< class sdDeclRenderProgram > declRenderProgramType;
sdDeclWrapperTemplate< class sdDeclRenderBinding > declRenderBindingType;
sdDeclWrapperTemplate< class sdDeclTemplate > declTemplateType;
sdDeclWrapperTemplate< class sdDeclImposter > declImposterType;
sdDeclWrapperTemplate< class sdDeclImposterGenerator > declImposterGeneratorType;
sdDeclWrapperTemplate< class sdDeclLocStr > declLocStrType;
sdDeclWrapperTemplate< class sdDeclModelExport > declModelExportType;
const class idDeclTable* FindTable( const char* name, bool makeDefault = true ) const { return declTableType.LocalFind( name, makeDefault ); }
const class idMaterial* FindMaterial( const char* name, bool makeDefault = true ) const { return declMaterialType.LocalFind( name, makeDefault ); }
const class idDeclSkin* FindSkin( const char* name, bool makeDefault = true ) const { return declSkinType.LocalFind( name, makeDefault ); }
const class idSoundShader* FindSoundShader( const char* name, bool makeDefault = true ) const { return declSoundShaderType.LocalFind( name, makeDefault ); }
const class idDeclEntityDef* FindEntityDef( const char* name, bool makeDefault = true ) const { return declEntityDefType.LocalFind( name, makeDefault ); }
const class idDeclAF* FindAF( const char* name, bool makeDefault = true ) const { return declAFType.LocalFind( name, makeDefault ); }
const class rvDeclEffect* FindEffect( const char* name, bool makeDefault = true ) const { return declEffectsType.LocalFind( name, makeDefault ); }
const class sdDeclAtmosphere* FindAtmosphere( const char* name, bool makeDefault = true ) const { return declAtmosphereType.LocalFind( name, makeDefault ); }
const class sdDeclAmbientCubeMap* FindAmbientCubeMap( const char* name, bool makeDefault = true ) const { return declAmbientCubeMapType.LocalFind( name, makeDefault ); }
const class sdDeclStuffType* FindStuffType( const char* name, bool makeDefault = true ) const { return declStuffTypeType.LocalFind( name, makeDefault ); }
const class sdDeclDecal* FindDecal( const char* name, bool makeDefault = true ) const { return declDecalType.LocalFind( name, makeDefault ); }
const class sdDeclSurfaceType* FindSurfaceType( const char* name, bool makeDefault = true ) const { return declSurfaceTypeType.LocalFind( name, makeDefault ); }
const class sdDeclSurfaceTypeMap* FindSurfaceTypeMap( const char* name, bool makeDefault = true ) const { return declSurfaceTypeMapType.LocalFind( name, makeDefault ); }
const class sdDeclRenderProgram* FindRenderProgram( const char* name, bool makeDefault = true ) const { return declRenderProgramType.LocalFind( name, makeDefault ); }
const class sdDeclRenderBinding* FindRenderBinding( const char* name, bool makeDefault = true ) const { return declRenderBindingType.LocalFind( name, makeDefault ); }
const class sdDeclTemplate* FindTemplate( const char* name, bool makeDefault = true ) const { return declTemplateType.LocalFind( name, makeDefault ); }
const class sdDeclImposter* FindImposter( const char* name, bool makeDefault = true ) const { return declImposterType.LocalFind( name, makeDefault ); }
const class sdDeclLocStr* FindLocStr( const char* name, bool makeDefault = true ) const { return declLocStrType.LocalFind( name, makeDefault ); }
const class idDeclTable* FindTableByIndex( int index, bool forceParse = true ) const { return declTableType.LocalFindByIndex( index, forceParse ); }
const class idMaterial* FindMaterialByIndex( int index, bool forceParse = true ) const { return declMaterialType.LocalFindByIndex( index, forceParse ); }
const class idDeclSkin* FindSkinByIndex( int index, bool forceParse = true ) const { return declSkinType.LocalFindByIndex( index, forceParse ); }
const class idSoundShader* FindSoundShaderByIndex( int index, bool forceParse = true ) const { return declSoundShaderType.LocalFindByIndex( index, forceParse ); }
const class idDeclEntityDef* FindEntityDefByIndex( int index, bool forceParse = true ) const { return declEntityDefType.LocalFindByIndex( index, forceParse ); }
const class idDeclAF* FindAFByIndex( int index, bool forceParse = true ) const { return declAFType.LocalFindByIndex( index, forceParse ); }
const class rvDeclEffect* FindEffectByIndex( int index, bool forceParse = true ) const { return declEffectsType.LocalFindByIndex( index, forceParse ); }
const class sdDeclAtmosphere* FindAtmosphereByIndex( int index, bool forceParse = true ) const { return declAtmosphereType.LocalFindByIndex( index, forceParse ); }
const class sdDeclAmbientCubeMap* FindAmbientCubeMapByIndex( int index, bool forceParse = true ) const { return declAmbientCubeMapType.LocalFindByIndex( index, forceParse ); }
const class sdDeclStuffType* FindStuffTypeByIndex( int index, bool forceParse = true ) const { return declStuffTypeType.LocalFindByIndex( index, forceParse ); }
const class sdDeclDecal* FindDecalByIndex( int index, bool forceParse = true ) const { return declDecalType.LocalFindByIndex( index, forceParse ); }
const class sdDeclSurfaceType* FindSurfaceTypeByIndex( int index, bool forceParse = true ) const { return declSurfaceTypeType.LocalFindByIndex( index, forceParse ); }
const class sdDeclSurfaceTypeMap* FindSurfaceTypeMapByIndex( int index, bool forceParse = true ) const { return declSurfaceTypeMapType.LocalFindByIndex( index, forceParse ); }
const class sdDeclRenderProgram* FindRenderProgramByIndex( int index, bool forceParse = true ) const { return declRenderProgramType.LocalFindByIndex( index, forceParse ); }
const class sdDeclRenderBinding* FindRenderBindingByIndex( int index, bool forceParse = true ) const { return declRenderBindingType.LocalFindByIndex( index, forceParse ); }
const class sdDeclTemplate* FindTemplateByIndex( int index, bool forceParse = true ) const { return declTemplateType.LocalFindByIndex( index, forceParse ); }
const class sdDeclImposter* FindImposterByIndex( int index, bool forceParse = true ) const { return declImposterType.LocalFindByIndex( index, forceParse ); }
const class sdDeclLocStr* FindLocStrByIndex( int index, bool forceParse = true ) const { return declLocStrType.LocalFindByIndex( index, forceParse ); }
};
/*
============
sdDeclTypeHolder::sdDeclTypeHolder
============
*/
ID_INLINE sdDeclTypeHolder::sdDeclTypeHolder() {
declTableType.Init( declTableIdentifier );
declMaterialType.Init( declMaterialIdentifier );
declSkinType.Init( declSkinIdentifier );
declSoundShaderType.Init( declSoundShaderIdentifier );
declEntityDefType.Init( declEntityDefIdentifier );
declEffectsType.Init( declEffectsIdentifier );
declAFType.Init( declAFIdentifier );
declAtmosphereType.Init( declAtmosphereIdentifier );
declAmbientCubeMapType.Init( declAmbientCubeMapIdentifier );
declStuffTypeType.Init( declStuffTypeIdentifier );
declDecalType.Init( declDecalIdentifier );
declSurfaceTypeType.Init( declSurfaceTypeIdentifier );
declSurfaceTypeMapType.Init( declSurfaceTypeMapIdentifier );
declRenderProgramType.Init( declRenderProgramIdentifier );
declRenderBindingType.Init( declRenderBindingIdentifier );
declTemplateType.Init( declTemplateIdentifier );
declImposterType.Init( declImposterIdentifier );
declImposterGeneratorType.Init( declImposterGeneratorIdentifier );
declLocStrType.Init( declLocStrIdentifier );
declModelExportType.Init( declModelExportIdentifier );
}
typedef sdSingleton< sdDeclTypeHolder > declTypeHolder;
#define declHolder declTypeHolder::GetInstance()
#endif /* __DECLTYPEHOLDER_H__ */