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

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

?? mainwindow.cpp

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


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
MAIN_WINDOW MainWindow;


//+-----------------------------------------------------------------------------
//| Constructor
//+-----------------------------------------------------------------------------
MAIN_WINDOW::MAIN_WINDOW()
{
	ModelLoaded = FALSE;
	ModelSaved = FALSE;
	ModelNeverSaved = FALSE;

	ModelFileName = "";

	WindowActive = TRUE;
}


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


//+-----------------------------------------------------------------------------
//| Creates a new window
//+-----------------------------------------------------------------------------
BOOL MAIN_WINDOW::Create()
{
	FrameInfo.Title = EDITOR_NAME;
	FrameInfo.Width = DEFAULT_MAIN_WINDOW_WIDTH;
	FrameInfo.Height = DEFAULT_MAIN_WINDOW_HEIGHT;
	FrameInfo.Menu = ::LoadMenu(GetModuleHandle(NULL), MAKEINTRESOURCE(MainMenu));
	FrameInfo.Style |= (WS_MAXIMIZEBOX | WS_SIZEBOX);

	if(!WINDOW_FRAME::Create()) return FALSE;

	TeamColor.SetTeamColorIcons(GetMenu());
	CheckMenuItem(TeamColor.GetCurrentTeamColorId(), TRUE);

	if(!GraphicsWindow.Create(Window)) return FALSE;

	ModelLoaded = FALSE;
	ModelSaved = FALSE;
	ModelNeverSaved = FALSE;

	ModelFileName = "";

	UpdateWindowStatus(TRUE);

	return TRUE;
}


//+-----------------------------------------------------------------------------
//| Destroys the window
//+-----------------------------------------------------------------------------
VOID MAIN_WINDOW::Destroy()
{
	GraphicsWindow.Destroy();

	WINDOW_FRAME::Destroy();
}


//+-----------------------------------------------------------------------------
//| Handles the window messages
//+-----------------------------------------------------------------------------
LRESULT MAIN_WINDOW::MessageHandler(UINT Message, WPARAM W, LPARAM L)
{
	switch(Message)
	{
		case WM_PAINT:
		{
			Graphics.SetCamera(Camera);
			UpdateAndRender(0);
			ValidateRect(Window, NULL);
			return 0;
		}

		case WM_SIZE:
		{
			WindowActive = (W != SIZE_MINIMIZED);

			Camera.DisableMouseMove();
			GraphicsWindow.Resize();
			return 0;
		}

		case WM_SIZING:
		{
			Camera.DisableMouseMove();
			GraphicsWindow.Resize();
			return 0;
		}

		case WM_SHOWWINDOW:
		{
			WindowActive = static_cast<BOOL>(W);
			return 0;
		}

		case WM_CLOSE:
		{
			SendMessage(WM_COMMAND, MainFileExit, 0);
			return 0;
		}

		case WM_DESTROY:
		{
			return 0;
		}
	}

	return DefWindowProc(Window, Message, W, L);
}


//+-----------------------------------------------------------------------------
//| Handles the window menu messages
//+-----------------------------------------------------------------------------
LRESULT MAIN_WINDOW::MenuHandler(WORD MenuItem)
{
	BOOL Cancel;
	std::string FileName;

	switch(MenuItem)
	{
		case MainFileNew:
		{
			if(!SaveFileIfNeccessary(Cancel))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			if(Cancel) return 0;

			if(!NewFile())
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainFileOpen:
		{
			if(!SaveFileIfNeccessary(Cancel))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			if(Cancel) return 0;

			if(!OpenFile())
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainFileSave:
		{
			if(!SaveFile(Cancel, FALSE))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainFileSaveAs:
		{
			if(!SaveFile(Cancel, TRUE))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainFileClose:
		{
			if(!SaveFileIfNeccessary(Cancel))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			if(Cancel) return 0;

			if(!CloseFile())
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainFileImport:
		{
			if(!SaveFileIfNeccessary(Cancel))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			if(Cancel) return 0;

			if(!ImportFile())
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainFileExit:
		{
			if(!SaveFileIfNeccessary(Cancel))
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			if(Cancel) return 0;

			if(!CloseFile())
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			PostQuitMessage(0);

			return 0;
		}

		case MainHistoryClear:
		{
			ModelHistory.Clear();
			return 0;
		}

		case MainEditRegisterExtentions:
		{
			REGISTER_INFO RegisterInfo;

			if(RegisterDialog.Display(Window, RegisterInfo))
			{
				if(!RegisterExtentions(RegisterInfo))
				{
					Error.DisplayMessage(Window);
					Error.ClearMessage();
					return 0;
				}

				return 0;
			}

			return 0;
		}

		case MainEditCalculateExtents:
		{
			if(!CalculateExtents())
			{
				Error.DisplayMessage(Window);
				Error.ClearMessage();
				return 0;
			}

			return 0;
		}

		case MainEditProperties:
		{
			PROPERTIES_INFO PropertiesInfo;

			PropertiesInfo = Properties.GetPropertiesInfo();
			if(PropertiesDialog.Display(Window, PropertiesInfo))
			{
				Properties.SetPropertiesInfo(PropertiesInfo);
				if(!Properties.SavePropertiesInfo(PATH_PROPERTIES))
				{
					Error.DisplayMessage(Window);
					Error.ClearMessage();
					return 0;
				}

				return 0;
			}

			return 0;
		}

		case MainEditModelProperties:
		{
			MODEL_INFO_DATA Data;

			Data = Model.Data().Info;
			if(!ModelPropertiesDialog.Display(Window, Data)) return 0;
			Model.Data().Info = Data;

			MakeModelUnsaved();

			return 0;
		}

		case MainEditModelInfo:
		{
			ModelInfoDialog.Display(Window);
			return 0;
		}

		case MainViewResize:
		{
			SetWindowDimension(DEFAULT_MAIN_WINDOW_WIDTH, DEFAULT_MAIN_WINDOW_HEIGHT);
			GraphicsWindow.Resize();
			return 0;
		}

		case MainViewResetCamera:
		{
			Camera.Reset(Window);
			return 0;
		}

		case MainWindowsModelEditor:
		{
			ModelWindow.Show();
			ModelWindow.Restore();
			ModelWindow.Activate();
			return 0;
		}

		case MainWindowsAnimationController:
		{
			AnimationWindow.Show();
			AnimationWindow.Restore();
			AnimationWindow.Activate();
			return 0;
		}

		case MainWindowsNodeManager:
		{
			NodeManagerWindow.Show();
			NodeManagerWindow.Restore();
			NodeManagerWindow.Activate();
			return 0;
		}

		case MainWindowsCameraManager:
		{
			CameraManagerWindow.Show();
			CameraManagerWindow.Restore();
			CameraManagerWindow.Activate();
			return 0;
		}

		case MainWindowsGeosetManager:
		{
			GeosetManagerWindow.Show();
			GeosetManagerWindow.Restore();
			GeosetManagerWindow.Activate();
			return 0;
		}

		case MainWindowsGeosetAnimationManager:
		{
			GeosetAnimationManagerWindow.Show();
			GeosetAnimationManagerWindow.Restore();
			GeosetAnimationManagerWindow.Activate();
			return 0;
		}

		case MainWindowsTextureManager:
		{
			TextureManagerWindow.Show();
			TextureManagerWindow.Restore();
			TextureManagerWindow.Activate();
			return 0;
		}

		case MainWindowsTextureAnimationManager:
		{
			TextureAnimationManagerWindow.Show();
			TextureAnimationManagerWindow.Restore();
			TextureAnimationManagerWindow.Activate();
			return 0;
		}

		case MainWindowsMaterialManager:
		{
			MaterialManagerWindow.Show();
			MaterialManagerWindow.Restore();
			MaterialManagerWindow.Activate();
			return 0;
		}

		case MainWindowsSequenceManager:
		{
			SequenceManagerWindow.Show();
			SequenceManagerWindow.Restore();
			SequenceManagerWindow.Activate();
			return 0;
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97久久精品人人做人人爽50路| 五月激情综合网| 国产精品综合二区| 久久久久国产精品麻豆ai换脸| 久久99精品久久久久久国产越南| 日韩欧美亚洲国产另类| 国产福利不卡视频| 亚洲欧美电影一区二区| 欧美三级电影精品| 久久av资源网| 国产精品福利电影一区二区三区四区| av一区二区三区四区| 亚洲丶国产丶欧美一区二区三区| 91精品国产手机| 国产精品亚洲专一区二区三区 | 国产一区二区三区免费播放| 久久久综合视频| 色哦色哦哦色天天综合| 日本网站在线观看一区二区三区 | 色综合久久天天| 日韩福利视频网| 国产精品天干天干在线综合| 在线欧美一区二区| 九色porny丨国产精品| 中文字幕欧美日韩一区| 欧美日韩一区 二区 三区 久久精品| 久久精品免费看| 亚洲青青青在线视频| 日韩午夜三级在线| 不卡的av网站| 精品一区二区三区在线播放视频| 自拍偷在线精品自拍偷无码专区| 欧美一区二区在线观看| 99视频精品在线| 久久99精品国产麻豆婷婷洗澡| 中文字幕欧美一区| 欧美精品一区在线观看| 日韩欧美一区二区在线视频| 91丝袜美腿高跟国产极品老师 | 欧洲一区二区三区在线| 精品夜夜嗨av一区二区三区| 亚洲精品国产品国语在线app| 欧美成人官网二区| 欧美影院精品一区| 国产91露脸合集magnet| 日韩制服丝袜先锋影音| 亚洲另类一区二区| 国产欧美日韩亚州综合| 欧美不卡123| 欧美日韩情趣电影| 99久久99久久精品国产片果冻| 蜜桃久久久久久| 亚洲第一综合色| 亚洲激情图片qvod| 亚洲欧洲成人精品av97| 久久综合成人精品亚洲另类欧美| 欧美精品粉嫩高潮一区二区| 日本精品一区二区三区高清| 成人h动漫精品一区二区| 国产在线精品一区在线观看麻豆| 无吗不卡中文字幕| 一区二区三区影院| 中文字幕在线视频一区| 久久久久久久久一| 2019国产精品| 日韩免费看的电影| 日韩丝袜情趣美女图片| 欧美日韩精品一区视频| 欧美特级限制片免费在线观看| 色婷婷激情综合| 在线免费观看日本欧美| 在线观看www91| 在线观看国产精品网站| 欧美亚洲图片小说| 欧美三级电影网| 欧美日韩国产首页| 欧美日本在线看| 91精品中文字幕一区二区三区| 欧美日韩高清不卡| 91麻豆精品国产91久久久更新时间 | 日韩免费高清视频| 日韩精品在线网站| 精品国产乱子伦一区| 久久久久久9999| 欧美经典一区二区三区| 欧美激情一区二区三区四区| 国产精品免费网站在线观看| 国产精品伦理一区二区| 亚洲色图.com| 亚洲一区二区三区四区在线| 午夜精品成人在线| 老司机精品视频一区二区三区| 久久99国产精品麻豆| 国产成人av电影在线| 99久久综合精品| 欧美性感一区二区三区| 91麻豆精品国产91久久久久久 | thepron国产精品| 亚洲成人av电影| 日韩国产高清影视| 99久久国产免费看| 在线看日韩精品电影| 欧美日韩精品高清| 日韩精品中文字幕在线不卡尤物| 久久免费视频色| 自拍偷拍亚洲欧美日韩| 天使萌一区二区三区免费观看| 精品一区二区三区在线观看| 99久久精品一区| 欧美一区二区在线视频| 国产精品网站在线观看| 五月天激情综合| 成人久久久精品乱码一区二区三区 | 久久99精品国产麻豆婷婷| 成人午夜短视频| 欧美男男青年gay1069videost| 久久亚洲综合色| 一区二区三区久久| 蓝色福利精品导航| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲影视在线观看| 精彩视频一区二区三区| 91蜜桃免费观看视频| 精品捆绑美女sm三区| 亚洲精品精品亚洲| 国产一区999| 欧美日韩精品一区二区三区| 国产情人综合久久777777| 亚洲成av人片一区二区三区| 国产v综合v亚洲欧| 欧美va亚洲va国产综合| 亚洲一区二区三区精品在线| 国产成a人无v码亚洲福利| 欧美日本一道本| 亚洲女性喷水在线观看一区| 国产精品资源在线| 91.com在线观看| 夜夜精品视频一区二区 | 久久色.com| 天天亚洲美女在线视频| 99热这里都是精品| 国产日韩精品视频一区| 精品中文字幕一区二区| 欧美性猛片aaaaaaa做受| 国产精品理伦片| 国产精品18久久久久久久久久久久 | 一区二区三区日本| 成人黄色一级视频| 久久只精品国产| 青青草国产精品97视觉盛宴 | 懂色av一区二区在线播放| 日韩欧美在线影院| 午夜电影久久久| 精品视频一区三区九区| 亚洲精品国产视频| 色天使色偷偷av一区二区| 亚洲日本中文字幕区| 99久久精品情趣| 国产精品久久久久一区| 成人免费视频视频| 国产片一区二区| 风间由美性色一区二区三区| 久久久久久久综合狠狠综合| 经典三级在线一区| 久久九九99视频| 粉嫩av亚洲一区二区图片| 中文字幕成人网| www.激情成人| 亚洲欧美日本在线| 91福利在线看| 午夜精品在线看| 正在播放一区二区| 激情亚洲综合在线| 久久精品在这里| 不卡的av电影| 亚洲综合在线免费观看| 欧美日韩国产高清一区二区| 日韩精品视频网站| 久久在线观看免费| 粉嫩aⅴ一区二区三区四区 | 欧美高清你懂得| 久久99蜜桃精品| 国产欧美一区二区精品性色| 成人av综合一区| 亚洲高清免费观看| 日韩欧美一区二区久久婷婷| 国产精品中文字幕日韩精品 | av电影天堂一区二区在线观看| 中文字幕一区二区视频| 色女孩综合影院| 蜜臀国产一区二区三区在线播放| 久久综合久色欧美综合狠狠| 成人午夜激情影院| 午夜国产精品影院在线观看| 日韩精品中文字幕在线不卡尤物 | 亚洲电影你懂得| 久久久久国产精品麻豆ai换脸 | 成人综合在线观看| 亚洲免费观看高清在线观看| 欧美丰满高潮xxxx喷水动漫|