Jump to content
  • Advertisement
  • entries
  • comments
  • views

Leadwerks 3: Editor features and workflow enhancements

Sign in to follow this  
Josh Klint


[color=rgb(0,0,0)][font=arial]This update to Leadwerks 3 brings the addition of lightmapping across curved surfaces with smooth groups. The image below is a set of lightmapped CSG brushes, not mesh lighting. You can read a detailed account of our implementation of this feature [/font][/color]here[color=rgb(0,0,0)][font=arial].[/font][/color]


[color=rgb(0,0,0)][font=arial]The project manager now includes an "Update" button, so you can easily update your project any time we modify files in the template folders. Although we tested with no problems, it is recommended you back up your project before using this feature. The editor will make a copy of any overwritten files, as an added precaution.[/font][/color]


[color=rgb(0,0,0)][font=arial]You've now got full control over all the features and settings in the Leadwerks editor, through the new Options dialog. This gives you control over various program behaviors and settings. You can toggle grid snapping, control the snap angle, and lots of other stuff.[/font][/color]


[color=rgb(0,0,0)][font=arial]As we use the editor more and hear about the community's experience, it allows us to refine our tools more. One of the more subtle but we made is in the properties editor. One of the annoyances I experienced was when setting a property like mass or position when an entire hierarchy of entities was selected. Obviously I didn't want to set the mass for every single bone in a character, but how to tell the editor that? I went through all the properties, and for ones that the user is unlikely to want set, I made the following rule: If the entity has a selected parent anywhere in the hierarchy, it gets ignored when properties are retrieved and applied. (Other things like color will still work uniformily.) Just try it, and you'll see. It speeds up editing dramatically.[/font][/color]

[color=rgb(0,0,0)][font=arial]In a similar vein, we finally solved the problem of "too many selection widgets", We only display the top-most control widget for each group of selected objects. Again, it's easier for you to just try it and see than for me to explain in detail. If we did our job right, you might not even notice because the editor will just do what you want without any thought.[/font][/color]

[color=rgb(0,0,0)][font=arial]You've also got control over the color scheme, and can use it to customize the look and feel of the 3D viewports and code editor.[/font][/color]


[color=rgb(0,0,0)][font=arial]On Windows we fixed an annoyance that triggered menu shortcuts when the user tried to copy and paste in text fields. This tended to happen in the properties editor. We're working to resolve the same issue in the Cocoa UI for Mac.[/font][/color]

[color=rgb(0,0,0)][font=arial]I'm a big fan of the 3ds max Max Script system, so in the output panel we've added a real-time Lua console:[/font][/color]

[color=rgb(0,0,0)][font=arial]You can type Lua commands in and interact with Leadwerks in real-time. Just for fun, try pasting in this line of code and see what happens:[/font][/color]
[color=rgb(0,0,136)]for[/color] i[color=rgb(102,102,0)]=[/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]10[/color] [color=rgb(0,0,136)]do[/color] a [color=rgb(102,102,0)]=[/color] Model[color=rgb(102,102,0)]:[/color]Box[color=rgb(102,102,0)]();[/color] a[color=rgb(102,102,0)]:[/color]SetColor[color=rgb(102,102,0)]([/color]math[color=rgb(102,102,0)].[/color]random[color=rgb(102,102,0)]([/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]1[/color][color=rgb(102,102,0)]),[/color]math[color=rgb(102,102,0)].[/color]random[color=rgb(102,102,0)]([/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]1[/color][color=rgb(102,102,0)]),[/color]math[color=rgb(102,102,0)].[/color]random[color=rgb(102,102,0)]([/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]1[/color][color=rgb(102,102,0)]));[/color] a[color=rgb(102,102,0)]:[/color]SetPosition[color=rgb(102,102,0)]([/color]i[color=rgb(102,102,0)]*[/color][color=rgb(0,102,102)]2[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)]);[/color] [color=rgb(0,0,136)]end[/color]
[color=rgb(0,0,0)][font=arial]You can't create objects the editor will recognize (yet), but it's fun to play with and should give you an idea of where we're going with the editor.[/font][/color]

[color=rgb(0,0,0)][font=arial]This is an important update that includes new features and enhancements that improve usability and workflow. Thank you for your feedback. It's great to see all the activity that is taking place as people learn Leadwerks 3.[/font][/color]
Sign in to follow this  


Recommended Comments

I am quite impressed with your toolset.  May I ask what technology you use for your editors / tools?  I'm not in the market for purchasing an engine, but I would like to add some editor functionality to my own engine.  I have some bindings to MFC, but it doesn't seem to scale very well (or at least I don't know how to make it scale up...).

Share this comment

Link to comment

We use MFC on Windows and Cocoa on Mac.  It's difficult, but you end up with a windowed application that actually looks like it belongs on the operating system it's running on.  I prefer this much more than home-made GUIs.  The text editor uses Scintilla.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!