Game Engine Programming 039 - Switching projects + Visual Studio automation | C++ Game Engine

preview_player
Показать описание
We've been working on the graphics part of the engine for the most part of the year now, and although it's been a lot of fun for me to do so, I kind of feel the need for a break from C++ side and would like to spend some time working a little bit on the editor side again. And the reason for this, other than that I like to code in C# as well, is that we need to prepare the editor for importing assets for the engine to consume. So, since I didn't work on the editor for some time now, I made this warming-up video where we work on the ability to switch between game projects and fixing the issues that we encounter while doing so. In the next couple of episodes that follow, we'll work towards having a basic content browser and importing geometry assets from FBX files.
🟩(Green Episode)

✅ Support Game Engine Series

✅ Buy me potatoes

✅ Discord

🐱 Mr. Frummel & Louis

❤️ Big thanks to Shaman patrons:
Michael McMahon, Neil Wang, Shaun Mitchell, Zachary Shrout, mg, Talis Lincoln

00:00 - intro
01:18 - adding a menu to world editor
03:28 - using application commands for menu items
08:00 - fix Visual Studio automation class
09:32 - COM server and Message Filter
13:53 - using the message filter on an STA thread
18:45 - blocking code using ManualResetEventSlim
20:08 - synchronizing/serializing Visual Studio automation calls
27:15 - fixing invalid namespace and class names (but not really)
29:27 - determining engine location dynamically

further reading:
IMessageFilter implementation:

IMessageFilter documentation:

Understanding COM threading models:

Descriptions and workings of OLE threading models:

keywords: EnvDTE, Visual Studio Automatin, message filter

by Arash Khatami
-------------------------------------------------------------
#PrimalEngine #GameEngineSeries #GameEngineProgramming #TheGameEngineProgrammingSeries
Рекомендации по теме
Комментарии
Автор

Good stuff, it can still crash on a slower pc(on project creation, and if you fart with something to fast before it finally loads the selected project), but at least all those sleeps are gone.

OneMeanDragon
visit shbcf.ru