01 July 2008

Visual Mode.lua

One of the big obstacles to third party map editor development is the reliance of many map makers on Forge's visual mode. In order to give the authors of these editors some time to focus on the essentials of geometry and stability, I added some functions to the Lua API in 0.20 to allow scripts to access map textures and lights. I also added a .save level command, which will export the level in its current texture state.

Since 0.20 came out, Irons and I have written a script which fairly accurately reproduces some of the major functionality in Forge's visual mode, appropriately called Visual Mode.lua.

You can get it from http://www.simplici7y.com/items/visual-mode-lua

Visual Mode.lua uses the engine's built-in keys, so it isn't quite as easy to use as Forge. But, once you get used to it, it should flow pretty well.

What can Forge do that Visual Mode.lua can also do?
  • Mouse click application of textures/landscapes, lights, and transfer modes to primary and secondary solid sides
  • Automatic alignment of surrounding textures
  • Drag to align textures (not quite as well as Forge, but OK)
  • Copy and apply textures without lights, copy and apply lights without textures, apply textures without aligning surrounding textures
  • Jump
  • One level Undo
What can Visual Mode.lua do that Forge can't do?
  • Work natively in Mac OS X, Windows, and Linux
  • Use OpenGL replacement textures
  • Not crash on long distance views, too many transparent lines
  • Apply textures from all collections, and all landscapes
  • Use larger texture collections without creating sequences, and landscape collections with multiple bitmaps
  • Use embedded shapes patches (including save)
  • Teleport to numbered polygon
  • Freeze in mid-air
  • Co-operative texturing
What can Forge do that Visual Mode.lua can't do (yet?)
  • Apply transparent textures
  • Drag to change floor/ceiling elevations
  • Place switches, pattern buffers, terminals, and rechargers
  • Be a little more elegant about the user interface, saving, etc., since it's a real application
We may be able to overcome these limitations some day, but in the mean time, this script plus Pfhorge should be an adequate Forge replacement. Smithy is also coming along nicely, so there's another option there.


tseulik said...

Cooperative texturing.

Sounds awesome.

Irons said...

Hey bro, you might want to update the link to VML, just in case someone finds it here. I even was nice enough to paste it in here: