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

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

?? windowgeosetdialog.cpp

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


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
WINDOW_GEOSET_DIALOG GeosetDialog;


//+-----------------------------------------------------------------------------
//| Static member variables
//+-----------------------------------------------------------------------------
MODEL_GEOSET_DATA WINDOW_GEOSET_DIALOG::StaticData;
MODEL_GEOSET* WINDOW_GEOSET_DIALOG::StaticGeoset;
MODEL_MATERIAL* WINDOW_GEOSET_DIALOG::StaticMaterial;


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


//+-----------------------------------------------------------------------------
//| Destructor
//+-----------------------------------------------------------------------------
WINDOW_GEOSET_DIALOG::~WINDOW_GEOSET_DIALOG()
{
	//Empty
}


//+-----------------------------------------------------------------------------
//| Displays the dialog
//+-----------------------------------------------------------------------------
BOOL WINDOW_GEOSET_DIALOG::Display(HWND ParentWindow, MODEL_GEOSET* Geoset, MODEL_GEOSET_DATA& Data, MODEL_MATERIAL*& Material) CONST
{
	StaticData = Data;
	StaticGeoset = Geoset;
	StaticMaterial = Material;
	if(DialogBoxParam(GetModuleHandle(NULL), MAKEINTRESOURCE(DialogGeoset), ParentWindow, DialogMessageHandler, 0))
	{
		Data = StaticData;
		Material = StaticMaterial;
		StaticData = MODEL_GEOSET_DATA();
		StaticGeoset = NULL;
		return TRUE;
	}

	StaticData = MODEL_GEOSET_DATA();
	StaticGeoset = NULL;
	return FALSE;
}


//+-----------------------------------------------------------------------------
//| Handles the dialog messages
//+-----------------------------------------------------------------------------
BOOL CALLBACK WINDOW_GEOSET_DIALOG::DialogMessageHandler(HWND Window, UINT Message, WPARAM W, LPARAM L)
{
	switch(Message)
	{
		case WM_INITDIALOG:
		{
			AddWindow(Window);
			CenterWindow(Window);

			SetInt(GetDlgItem(Window, DialogGeosetEditSelectionGroup), StaticData.SelectionGroup);
			SetFloat(GetDlgItem(Window, DialogGeosetEditBoundsRadius), StaticData.Extent.Radius);
			SetFloat(GetDlgItem(Window, DialogGeosetEditMinX), StaticData.Extent.Min.x);
			SetFloat(GetDlgItem(Window, DialogGeosetEditMinY), StaticData.Extent.Min.y);
			SetFloat(GetDlgItem(Window, DialogGeosetEditMinZ), StaticData.Extent.Min.z);
			SetFloat(GetDlgItem(Window, DialogGeosetEditMaxX), StaticData.Extent.Max.x);
			SetFloat(GetDlgItem(Window, DialogGeosetEditMaxY), StaticData.Extent.Max.y);
			SetFloat(GetDlgItem(Window, DialogGeosetEditMaxZ), StaticData.Extent.Max.z);
			CheckDlgButton(Window, DialogGeosetButtonUnselectable, BoolToCheckState(StaticData.Unselectable));

			BuildMaterialIdList(Window);

			return TRUE;
		}

		case WM_COMMAND:
		{
			switch(LOWORD(W))
			{
				case DialogGeosetButtonVertices:
				{
					if(!VerticesDialog.Display(Window, StaticGeoset, &StaticData.VertexContainer)) return TRUE;

					return TRUE;
				}

				case DialogGeosetButtonFaces:
				{
					if(!FacesDialog.Display(Window, StaticGeoset, &StaticData.FaceContainer)) return TRUE;

					return TRUE;
				}

				case DialogGeosetButtonGroups:
				{
					if(!GroupsDialog.Display(Window, &StaticData.GroupContainer)) return TRUE;

					return TRUE;
				}

				case DialogGeosetButtonExtents:
				{
					if(!ExtentsDialog.Display(Window, &StaticData.ExtentContainer)) return TRUE;

					return TRUE;
				}

				case DialogGeosetButtonOk:
				{
					StaticData.SelectionGroup = GetInt(GetDlgItem(Window, DialogGeosetEditSelectionGroup));
					StaticData.Extent.Radius = GetFloat(GetDlgItem(Window, DialogGeosetEditBoundsRadius));
					StaticData.Extent.Min.x = GetFloat(GetDlgItem(Window, DialogGeosetEditMinX));
					StaticData.Extent.Min.y = GetFloat(GetDlgItem(Window, DialogGeosetEditMinY));
					StaticData.Extent.Min.z = GetFloat(GetDlgItem(Window, DialogGeosetEditMinZ));
					StaticData.Extent.Max.x = GetFloat(GetDlgItem(Window, DialogGeosetEditMaxX));
					StaticData.Extent.Max.y = GetFloat(GetDlgItem(Window, DialogGeosetEditMaxY));
					StaticData.Extent.Max.z = GetFloat(GetDlgItem(Window, DialogGeosetEditMaxZ));
					StaticData.Unselectable = CheckStateToBool(IsDlgButtonChecked(Window, DialogGeosetButtonUnselectable));

					StaticMaterial = reinterpret_cast<MODEL_MATERIAL*>(::SendMessage(GetDlgItem(Window, DialogGeosetComboMaterialId), CB_GETITEMDATA, ::SendMessage(GetDlgItem(Window, DialogGeosetComboMaterialId), CB_GETCURSEL, 0, 0), 0));

					RemoveWindow(Window);
					EndDialog(Window, 1);
					return TRUE;
				}

				case DialogGeosetButtonCancel:
				{
					RemoveWindow(Window);
					EndDialog(Window, 0);
					return TRUE;
				}
			}

			return FALSE;
		}

		case WM_CLOSE:
		{
			::SendMessage(Window, WM_COMMAND, DialogGeosetButtonCancel, 0);
			return TRUE;
		}
	}

	return FALSE;
}


//+-----------------------------------------------------------------------------
//| Builds the material ID list
//+-----------------------------------------------------------------------------
VOID WINDOW_GEOSET_DIALOG::BuildMaterialIdList(HWND Window)
{
	INT i;
	INT Index;
	HWND ComboBox;

	ComboBox = GetDlgItem(Window, DialogGeosetComboMaterialId);
	if(ComboBox == NULL) return;

	Index = static_cast<INT>(::SendMessage(ComboBox, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(NAME_NO_ID.c_str())));
	::SendMessage(ComboBox, CB_SETITEMDATA, Index, 0);
	::SendMessage(ComboBox, CB_SETCURSEL, 0, 0);

	for(i = 0; i < Model.Data().MaterialContainer.GetTotalSize(); i++)
	{
		if(Model.Data().MaterialContainer.ValidIndex(i))
		{
			std::stringstream Stream;

			Stream << "Material " << Model.Data().MaterialContainer[i];
			Index = static_cast<INT>(::SendMessage(ComboBox, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(Stream.str().c_str())));
			::SendMessage(ComboBox, CB_SETITEMDATA, Index, reinterpret_cast<LPARAM>(Model.Data().MaterialContainer[i]));

			if(Model.Data().MaterialContainer[i] == StaticMaterial)
			{
				::SendMessage(ComboBox, CB_SETCURSEL, Index, 0);
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产麻豆不卡| 精品视频免费看| 久久精品无码一区二区三区| 国产麻豆91精品| 中文一区在线播放| 91精品啪在线观看国产60岁| 精品88久久久久88久久久| 成人性生交大合| 亚洲激情欧美激情| 51午夜精品国产| 国产精品资源在线| 亚洲男女一区二区三区| 精品一区二区三区蜜桃| 国产精品情趣视频| 色综合 综合色| 免费成人小视频| 色欧美片视频在线观看在线视频| 91麻豆高清视频| 日本在线播放一区二区三区| 久久新电视剧免费观看| 在线观看免费一区| 黑人巨大精品欧美一区| 亚洲精品国产视频| 精品国免费一区二区三区| 97精品久久久久中文字幕| 欧美日韩高清影院| 国产91在线看| 亚洲不卡在线观看| 最好看的中文字幕久久| 日韩色视频在线观看| 91浏览器入口在线观看| 国产精品亚洲专一区二区三区 | 九色综合国产一区二区三区| 国产精品成人网| 久久亚洲免费视频| 91麻豆精品国产| 欧美日韩高清一区二区不卡| 风流少妇一区二区| 国产激情偷乱视频一区二区三区| 欧美军同video69gay| 97aⅴ精品视频一二三区| 高清av一区二区| 国产乱码精品一区二区三区av | 中文字幕日本不卡| 一本色道a无线码一区v| 亚洲国产欧美一区二区三区丁香婷| 精品视频一区二区三区免费| 波多野结衣精品在线| 国产成人精品免费在线| 亚洲免费电影在线| 欧美精品第1页| 粉嫩久久99精品久久久久久夜| 国产精品久久久久久久久久免费看 | 国产精品一线二线三线| 国产一区啦啦啦在线观看| 九一久久久久久| 国产成人精品免费一区二区| 高清国产一区二区| 99这里只有久久精品视频| www.性欧美| 91麻豆免费看| 国产精品电影一区二区三区| 亚洲精品国产无套在线观| 亚洲与欧洲av电影| 日韩精品一二三| 国内精品伊人久久久久av影院| 国产精品成人午夜| 亚洲一区二区高清| 热久久国产精品| 国产精品一区二区久久不卡| 亚洲成人动漫精品| 国产一区二区三区免费播放| 成人激情动漫在线观看| 色呦呦国产精品| 日韩精品一区二区三区视频| 久久毛片高清国产| 亚洲激情av在线| 九一久久久久久| 久久精品国产秦先生| 亚洲一线二线三线视频| 精品午夜一区二区三区在线观看 | 蜜臀国产一区二区三区在线播放| 亚洲一级不卡视频| 激情亚洲综合在线| 欧美熟乱第一页| 国产日韩一级二级三级| 久久日韩精品一区二区五区| 亚洲男人的天堂在线观看| 国产一区二区三区蝌蚪| 国内精品免费**视频| 激情小说欧美图片| 激情亚洲综合在线| 欧美人与z0zoxxxx视频| 国产精品伦一区二区三级视频| 久久毛片高清国产| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩av午夜在线观看| 99国产精品久久久久| 国产色婷婷亚洲99精品小说| 国产精品理伦片| 国产伦精一区二区三区| 日韩精品一区二区三区四区视频 | 亚洲五月六月丁香激情| av资源站一区| 久久电影网站中文字幕| 国产一区在线精品| 99久久99久久久精品齐齐| 国产三级久久久| 国内不卡的二区三区中文字幕 | 国产精品久久久久久久久免费丝袜| 亚洲人被黑人高潮完整版| 成人黄色免费短视频| 91成人看片片| 亚洲国产一区在线观看| 欧美吞精做爰啪啪高潮| 一区二区三区在线视频播放| 91女人视频在线观看| 亚洲精品视频在线看| 色嗨嗨av一区二区三区| 尤物视频一区二区| 欧美日韩一区二区在线观看视频| 日韩免费高清av| 久久久久国产免费免费| 亚洲精品一区二区三区福利| 99国产精品国产精品久久| 欧美精品一二三区| 一区二区三区四区精品在线视频| 五月激情综合色| 欧美一卡二卡三卡四卡| 国产成人99久久亚洲综合精品| 制服丝袜在线91| 中文在线免费一区三区高中清不卡| 无码av免费一区二区三区试看 | 亚洲人成网站影音先锋播放| 九九热在线视频观看这里只有精品| 91色在线porny| 日韩 欧美一区二区三区| 精品va天堂亚洲国产| 99re热这里只有精品视频| 亚洲综合色噜噜狠狠| 99久久er热在这里只有精品66| 精品国产伦一区二区三区观看方式 | 豆国产96在线|亚洲| 亚洲一区在线视频| 亚洲国产成人在线| 欧美群妇大交群中文字幕| 成人一道本在线| 日本亚洲一区二区| 亚洲品质自拍视频| 久久这里只有精品6| 欧美片在线播放| bt7086福利一区国产| 极品少妇xxxx精品少妇| 亚洲高清免费在线| 亚洲女女做受ⅹxx高潮| 国产亚洲欧美色| 精品日韩欧美在线| 国产suv精品一区二区三区| 日韩av网站在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 国产曰批免费观看久久久| 午夜国产不卡在线观看视频| 久久精品人人爽人人爽| www.亚洲激情.com| 成人亚洲一区二区一| 国产高清视频一区| 老司机精品视频导航| 五月天欧美精品| 久久久久久亚洲综合影院红桃 | 一区二区欧美精品| 亚洲激情图片一区| 精品久久久久久无| 日韩一卡二卡三卡国产欧美| 国产揄拍国内精品对白| 日韩无一区二区| 51午夜精品国产| 51久久夜色精品国产麻豆| 日韩美女一区二区三区| 7777精品伊人久久久大香线蕉的 | av电影天堂一区二区在线| 99视频精品免费视频| 成人永久看片免费视频天堂| 国产精品1区2区| 99re6这里只有精品视频在线观看| 一二三四区精品视频| 一区二区三区中文字幕电影 | 亚洲国产成人午夜在线一区| 欧美成人一区二区三区在线观看 | 日韩不卡免费视频| 免费高清在线视频一区·| 国产高清在线观看免费不卡| 国产成人精品网址| 色综合久久久网| 奇米色一区二区| 另类中文字幕网| 粉嫩aⅴ一区二区三区四区五区 | 日韩三级.com| 国产无人区一区二区三区| 色婷婷av一区二区三区软件| 51久久夜色精品国产麻豆|