亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? resourceloader.cpp

?? 骨骼動畫....把魔獸模型解出的代碼..
?? CPP
字號:
//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "ResourceLoader.h"


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
RESOURCE_LOADER ResourceLoader;


//+-----------------------------------------------------------------------------
//| Constructor
//+-----------------------------------------------------------------------------
RESOURCE_LOADER::RESOURCE_LOADER()
{
	//Empty
}


//+-----------------------------------------------------------------------------
//| Destructor
//+-----------------------------------------------------------------------------
RESOURCE_LOADER::~RESOURCE_LOADER()
{
	ClearAllLoaders();
}


//+-----------------------------------------------------------------------------
//| Registers all loaders
//+-----------------------------------------------------------------------------
VOID RESOURCE_LOADER::RegisterAllLoaders()
{
	ClearAllLoaders();

	RegisterModelLoader("mdl", &ModelLoaderMdl);
	RegisterModelLoader("mdx", &ModelLoaderMdx);

	RegisterTextureLoader("bmp", &TextureLoaderBasic);
	RegisterTextureLoader("tga", &TextureLoaderBasic);
	RegisterTextureLoader("png", &TextureLoaderBasic);
	RegisterTextureLoader("jpg", &TextureLoaderBasic);
	RegisterTextureLoader("jpeg", &TextureLoaderBasic);
	RegisterTextureLoader("pcx", &TextureLoaderPcx);
	RegisterTextureLoader("blp", &TextureLoaderBlp);
}


//+-----------------------------------------------------------------------------
//| Clears all loaders
//+-----------------------------------------------------------------------------
VOID RESOURCE_LOADER::ClearAllLoaders()
{
	ModelLoaderMap.clear();
	TextureLoaderMap.clear();
}


//+-----------------------------------------------------------------------------
//| Checks if an extention is a model extention
//+-----------------------------------------------------------------------------
BOOL RESOURCE_LOADER::IsModelExtention(CONST std::string& Extention) CONST
{
	std::map<std::string, MODEL_LOADER*>::const_iterator i;

	i = ModelLoaderMap.find(Common.LowerCase(Extention));
	if(i == ModelLoaderMap.end()) return FALSE;

	return TRUE;
}


//+-----------------------------------------------------------------------------
//| Checks if an extention is a texture extention
//+-----------------------------------------------------------------------------
BOOL RESOURCE_LOADER::IsTextureExtention(CONST std::string& Extention) CONST
{
	std::map<std::string, TEXTURE_LOADER*>::const_iterator i;

	i = TextureLoaderMap.find(Common.LowerCase(Extention));
	if(i == TextureLoaderMap.end()) return FALSE;

	return TRUE;
}


//+-----------------------------------------------------------------------------
//| Saves a model
//+-----------------------------------------------------------------------------
BOOL RESOURCE_LOADER::SaveModel(MODEL& Model, CONST std::string& FileName, BUFFER& Buffer) CONST
{
	std::string Extention;
	std::map<std::string, MODEL_LOADER*>::const_iterator i;

	Extention = Common.LowerCase(Common.GetExtention(FileName));
	i = ModelLoaderMap.find(Extention);
	if(i == ModelLoaderMap.end())
	{
		Error.SetMessage("Unable to save \"" + FileName + "\", unknown extention \"" + Extention + "\"!");
		return FALSE;
	}

	return i->second->Save(Model, FileName, Buffer);
}


//+-----------------------------------------------------------------------------
//| Loads a model
//+-----------------------------------------------------------------------------
BOOL RESOURCE_LOADER::LoadModel(MODEL& Model, CONST std::string& FileName, BUFFER& Buffer) CONST
{
	std::string Extention;
	std::map<std::string, MODEL_LOADER*>::const_iterator i;

	Model.Clear();

	Extention = Common.LowerCase(Common.GetExtention(FileName));
	i = ModelLoaderMap.find(Extention);
	if(i == ModelLoaderMap.end())
	{
		Error.SetMessage("Unable to load \"" + FileName + "\", unknown extention \"" + Extention + "\"!");
		return FALSE;
	}

	return i->second->Load(Model, FileName, Buffer);
}


//+-----------------------------------------------------------------------------
//| Saves a texture
//+-----------------------------------------------------------------------------
BOOL RESOURCE_LOADER::SaveTexture(TEXTURE& Texture, CONST std::string& FileName, BUFFER& Buffer) CONST
{
	std::string Extention;
	std::map<std::string, TEXTURE_LOADER*>::const_iterator i;

	Extention = Common.LowerCase(Common.GetExtention(FileName));
	i = TextureLoaderMap.find(Extention);
	if(i == TextureLoaderMap.end())
	{
		Error.SetMessage("Unable to save \"" + FileName + "\", unknown extention \"" + Extention + "\"!");
		return FALSE;
	}

	return i->second->Save(Texture, FileName, Buffer);
}


//+-----------------------------------------------------------------------------
//| Loads a texture
//+-----------------------------------------------------------------------------
BOOL RESOURCE_LOADER::LoadTexture(TEXTURE& Texture, CONST std::string& FileName, BUFFER& Buffer) CONST
{
	std::string Extention;
	std::map<std::string, TEXTURE_LOADER*>::const_iterator i;

	Texture.Clear();

	Extention = Common.LowerCase(Common.GetExtention(FileName));
	i = TextureLoaderMap.find(Extention);
	if(i == TextureLoaderMap.end())
	{
		Error.SetMessage("Unable to load \"" + FileName + "\", unknown extention \"" + Extention + "\"!");
		return FALSE;
	}

	return i->second->Load(Texture, FileName, Buffer);
}


//+-----------------------------------------------------------------------------
//| Registers a model loader
//+-----------------------------------------------------------------------------
VOID RESOURCE_LOADER::RegisterModelLoader(CONST std::string& Extention, MODEL_LOADER* ModelLoader)
{
	ModelLoaderMap.insert(std::make_pair(Common.LowerCase(Extention), ModelLoader));
}


//+-----------------------------------------------------------------------------
//| Registers a texture loader
//+-----------------------------------------------------------------------------
VOID RESOURCE_LOADER::RegisterTextureLoader(CONST std::string& Extention, TEXTURE_LOADER* TextureLoader)
{
	TextureLoaderMap.insert(std::make_pair(Common.LowerCase(Extention), TextureLoader));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品乱码亚洲一区二区不卡| 亚洲激情自拍视频| 这里是久久伊人| 色综合亚洲欧洲| 亚洲一区二区av在线| 国产精品久久久久久亚洲伦| 99免费精品视频| 国产馆精品极品| 亚洲国产经典视频| 久久先锋资源网| 欧美男男青年gay1069videost| 午夜不卡在线视频| 亚洲美女免费视频| 中文字幕在线不卡一区| 91在线观看高清| 国产一区二区三区四区五区美女| 免费观看久久久4p| 成人午夜碰碰视频| 成人免费在线视频| 亚洲日本欧美天堂| 日韩一级高清毛片| 亚洲一区二区av电影| 久久精品国产在热久久| 日本在线播放一区二区三区| 日本亚洲免费观看| 色综合久久综合网97色综合| 99精品一区二区| 精品国产乱码久久久久久牛牛 | 日本二三区不卡| 国产美女精品一区二区三区| 国产suv精品一区二区883| 成人爱爱电影网址| 91久久精品网| 欧美va天堂va视频va在线| 欧美日韩色综合| 久久精品在线免费观看| 国产丝袜在线精品| 天天做天天摸天天爽国产一区| 狠狠色丁香婷综合久久| 欧美主播一区二区三区| 欧美疯狂做受xxxx富婆| 亚洲人成7777| 亚洲成人免费av| 麻豆精品国产91久久久久久| av激情亚洲男人天堂| 99久久99久久免费精品蜜臀| 97国产一区二区| 欧美日韩不卡视频| 久久精品这里都是精品| 国产精品无码永久免费888| 一区二区三区精品视频在线| 日本免费新一区视频| 99精品视频中文字幕| 国产亚洲欧美在线| 免费成人在线播放| 亚洲成人免费在线| 色嗨嗨av一区二区三区| 国产亚洲精品资源在线26u| 午夜天堂影视香蕉久久| 一本高清dvd不卡在线观看| 精品播放一区二区| 国产精品久久久久精k8| 国产另类ts人妖一区二区| 精品国产区一区| 美女视频黄a大片欧美| 成人午夜av影视| 91久久久免费一区二区| 亚洲色图丝袜美腿| 国产一区视频网站| 91精品久久久久久久99蜜桃| 精品国产1区二区| 日韩电影在线一区二区三区| 欧美日韩国产系列| 婷婷国产v国产偷v亚洲高清| 日韩欧美不卡一区| 另类欧美日韩国产在线| 91精品国产欧美一区二区成人| 国产一区在线观看视频| 久久久夜色精品亚洲| 欧美视频一区二区在线观看| 精品亚洲成av人在线观看| 欧美大肚乱孕交hd孕妇| 99这里都是精品| 国产日本欧美一区二区| 欧美亚洲国产怡红院影院| 韩国在线一区二区| 国产精品色一区二区三区| 国产成人在线视频网站| 午夜视黄欧洲亚洲| 91精品国产欧美一区二区18| 99re热视频精品| 韩国av一区二区| 亚洲人成影院在线观看| 宅男噜噜噜66一区二区66| 国产福利精品一区二区| 亚洲成人动漫精品| 欧美系列亚洲系列| 91视频国产观看| 毛片基地黄久久久久久天堂| 成人h动漫精品一区二区| 天堂在线亚洲视频| 亚洲一级片在线观看| 亚洲最新视频在线播放| 精品国产自在久精品国产| 91精品国产综合久久久久 | 欧美刺激午夜性久久久久久久| 国产成人久久精品77777最新版本| 久久国产生活片100| 蜜桃久久久久久| 青青青爽久久午夜综合久久午夜| 精品国产伦理网| 日韩va亚洲va欧美va久久| 99精品久久只有精品| 欧美一区二区三区在线电影 | 亚洲午夜电影在线观看| 欧美色图第一页| 国产成人欧美日韩在线电影| 日韩福利电影在线| 成人福利电影精品一区二区在线观看| 日韩欧美在线影院| 偷拍与自拍一区| www.亚洲精品| 亚洲视频在线一区观看| 韩国成人精品a∨在线观看| 欧美体内she精视频| 婷婷一区二区三区| 91福利社在线观看| 午夜成人免费视频| 在线日韩av片| 日欧美一区二区| 精品国产91久久久久久久妲己| 日韩高清欧美激情| 久久午夜国产精品| 国产一区二区三区在线观看免费| 91精品国产综合久久精品麻豆| 一区二区三区在线看| 91麻豆精品国产自产在线观看一区| 一二三区精品视频| 91网上在线视频| 亚洲成人午夜影院| 欧美日韩久久一区二区| 一区二区三区四区视频精品免费| 欧美日韩在线亚洲一区蜜芽| 欧美aaa在线| 717成人午夜免费福利电影| 五月婷婷综合网| 欧美日韩精品系列| 狠狠色狠狠色合久久伊人| 国产精品高潮久久久久无| 成人18精品视频| 亚洲一区二区三区爽爽爽爽爽| 欧美一区二区三区四区视频 | 精品国产第一区二区三区观看体验| 国产精品亚洲视频| 亚洲色图另类专区| 欧洲一区二区三区在线| 激情欧美一区二区| 久久久久久久av麻豆果冻| 日本电影亚洲天堂一区| 亚洲一区二区三区小说| 精品国产凹凸成av人网站| 色狠狠一区二区三区香蕉| 一个色综合网站| 久久精品一区二区三区不卡牛牛| 国产福利一区二区| 午夜电影网一区| 日韩欧美国产精品| 99久久婷婷国产综合精品电影 | 久久久久久久久久久久久女国产乱 | 日韩欧美国产电影| 99综合影院在线| 麻豆一区二区在线| 亚洲精品中文在线影院| 欧美日韩一区在线| 奇米四色…亚洲| 亚洲另类在线一区| 日韩一区二区在线观看| 91视频www| 国模娜娜一区二区三区| 洋洋成人永久网站入口| 久久久午夜电影| 欧美妇女性影城| 色天使久久综合网天天| 成人自拍视频在线| 亚洲精品免费一二三区| 久久精品欧美日韩精品| 91精品国产一区二区人妖| 国产一本一道久久香蕉| 偷拍一区二区三区四区| 国产三区在线成人av| 日韩一卡二卡三卡| 国产精品影视在线观看| 日本麻豆一区二区三区视频| 一区二区三区中文在线观看| 亚洲精选视频免费看| 日韩一区二区三区免费看| 色综合天天综合网国产成人综合天 | 日韩欧美国产一区二区在线播放| 色av综合在线| 国模娜娜一区二区三区|