I know it's been a little quiet in this section for the last week or two. I've been in the lab experimenting and nothing really solidified until now.
I've never been entirely convinced the original editor I was making was the best path to take. I'm not sure running the editor inside the engine is the best way to handle it. It's certainly not a terrible way to do it, but it has drawbacks. One thing I like about Unreal Engine 4 is the ability to launch the editor, create a project, work on it, then export it to a folder that's ready to ship. I'd like to achieve the same thing. While it's possible with the editor running inside the engine, it gets really messy. Having the editor as an engine plugin was another drawback, as this makes using the editor to manage plugins kind of.. uh.. awkward.
The biggest thing that made me change my mind on building the editor inside the engine is having to constantly expand the GUI system to support things people have come to expect from modern applications. Resizing, rearranging, docking, multiple windows, etc. The ability to utilize multiple monitors. It all becomes very painful with the editor running inside the engine.
With the decision made to build the editor outside of the engine I needed a GUI library that was robust and cross platform. First two choices that came to mind are Qt and wxWidgets. I pursued Qt for about a week, but in the end it felt like too much. It's good at what it does, but it's very robust, and required precompilation steps, etc. It was hard to fit into the build system, and I wasn't really gaining anything extremely valuable from all the extra hassle. I tried out wxWidgets, which I've used in the past in the form of wxPython, and it seems to fit the bill much better. I've begun adapting the engine to be able to run inside of an existing application and it's going quite well.
Screenshot of the game window docked:
As you can see I've also rigged up the telnet remote console inside the application so you can use the console from the editor. Last but not least, wxWidgets has a styled text control which uses Scintilla as the backend. This allows us to implement a torquescript IDE right into the editor. @ LukasPJ has begun implementing the lexer for torquescript. The end goal here is to build a solid script editor like Torsion inside of the editor suite.
Here's an in-progress shot of @ LukasPJ's work:
I'll be honest I'm no UI designer, and I've never put together an editor suite before. That's why I'm making this thread. I'm going to start posting some design/layout ideas and I need feedback to help shape the editor suite.