So here it is. WW2.0 is here. A bunch of long-standing bugs or UI quirks are now squashed. And a bunch of new capabilities and functions are here.
I am thankful for all the testers in the last few weeks who provided a lot of feedback . Without you guys, it would have taken me much longer and I may have lost the motivation to push through this update. Many of the fixes and changes deal with aspects of WW that I just learned to live with or get around.
The changelog is below. I am going to be releasing various videos in the next week or two to discuss some of these changes, as well as demonstrating some of the various features in WW.
Version 2.0 released on 4-23-2014
* Initial release of the Work-in-Progress of Hammered to the Max: A Hammer User's Guide to 3ds Max (http://www.wallworm.com/projects/utilities/Hammered-to-the-Max.pdf). This guide is currently unfinished but will continue in the coming weeks.
* WWMT: Major update to data storage. Added new Custom Attributes for WWMT helpers. This is the main reason for the 2.0 version change. This means that when the WWMT Helper is selected, many properties can be edited in the Modify Panel.
* WWMT: Updated WWMT to no longer lose the tie between a WWMT Helper and the mesh(es) assigned to it. This update affects the Model, Hull and Gibs models. The LODs and Attachment still have the legacy need to not change node names.
* WWMT: When you pick a node with WWMT that is assigned as a mesh to multiple WWMT Helpers, the UI prompts you to pick the WWMT Helper instead.
* WWMT: Updated core WWMT functions to no longer write to the model's userProp Data. Still has redundant userprop data in the WWMT Helper, but not the model itself. This means you can now copy a mesh used in a WWMT Helper and no longer worry about the copy being associated with the old WWMT Helper.
* WWMT: Updated the pick model button to not allow picking any object that is invalid (like displacements, world geometry, etc).
* WWMT: Added new pick filter check button in main UI next to the Pick Model button. When off, picking models uses the new comprehensive picking filter. When off, uses a faster pick filter.
* WWMT: Updated the Sequence Menu to jump to the start frame of a sequence when selected.
* WWMT: Updated sequence storage/retrieval to be far more efficient than in past. Previously, a model with dozens of sequences could be very slow to load.
* WWMT: Added new Compile button for selected sequence. This allows you to recompile the just the SMD for the selected sequence.
* WWMT: Updated WWMT to use global rotate preferences when first created.
* SMD Exporter: Fixed long-standing bug that bone transformations were incorrect if a bone in the model was parented to another object or bone that was not part of the model/skeleton.
* SMD Exporter: Fixed long-standing bug where meshes could be offset if Max's slider time isn't set to 0 when export starts.
* Materials: Updated Model materials to export more accurate texture transforms. At moment, you should get accurate results in bitmap texture transforms in Model VMTs with tiling/offsets without rotation... or rotation without tiling/offsets. Using rotation with tiling/offset at same time on model bitmaps is not yet supported. (This refers to $basetexturetransform which is derived from the Bitmap node's coordinate properties in the material editor.)
* VMF Exporter: Updated the materials and UVs to be what user expects even if the Material ID of the face is not found in the MultiMaterial applied to an object. Previously, the incorrect UVW and/or material could be applied to a side if the face material ID was out of range or missing in the multi-material (despite the fact that Max may show a material).
* VMF Exporter: Now excludes EnlightObject lights from the light collection. EnlightObjects (from Afterworks) are not appropriate light entities in Source.
* VMF Exporter: Fixed bug with exporting CorVex objects or Concave Brush objects in the 3D Sky.
* VMF Exporter: Fixed bug exporting levels with names starting with "r", "t" and "n". This bug would manifest when re-opening a file after exported once and then changing settings in the VMF Exporter window.
* VMF Exporter: Fixed bug with displacement dispinfo values having too many decimal places even when the user turns off "Precise Coords".
* Anvil: Updated Set Selection as Brush Geometry AND Brush Mode to only tag GeometryClass objects as brushes. You can no longer assign a brush tag to a shape object (like a spline).
* Anvil: Updated Set Selection as Brush Geometry AND Brush Mode to exclude WWMT Proxy models. You can no longer assign a brush tag to new Proxy Models. Any WWMT Proxy currently assigned as brush geometry should be removed with the Remove Selection as Brush Geometry menu in WW.
* Anvil: Added function to change a displacement's power. Currently, reducing Power works best if you happen to have TurboReverse plugin from Marius Silaghi. Also, only works on displacements not currently in a Sculpt mesh.
* Anvil: Fixed bug in Faces to Displacements where Vertex Alpha was missing data for one vertex in the face. Now vertex alpha is correct for all vertexes in the base geometry.
* Anvil: Fixed bug in Faces to Displacements that led to displacements that would not have any vertex alpha if the original faces the displacement was derived from had no vertex alpha data--which could lead to a sculpt mesh that might get committed or collapsed back to displacements and the vertex alpha might get lost.
* Displacements: Updated sculpt mesh Commit button to return to the Modify Panel after a commit. Only affects newly created sculpt meshes.
* Displacements: Added New global setting for displacements called Displacement Topo Listen. This setting tells WW to listen for vertex order/count changes on displacements and displacement brushes and forces an UNDO when a topological change is detected. For performance, this can be turned off now. Sculpt meshes still have the listener at all times. NOTE: only turn this off if you understand the implications! For example, if you add/delete a vertex on a displacement that is part of a sculpt mesh, the sculpt mesh could create wildly inaccurate results when committed. Also, any displacement with incorrect vertex ordering/count will fail to export correctly.
* Displacements: Updated the displacement startup script and updating functions to skip all displacement objects that already have the latest custom attribute definitions. This will speed up opening scenes with many displacements. In test scenes with 2000 displacements, this reduced scene load times from 2.5 minutes to 12 seconds. (Opening old scenes with out-dated displacement custom attributes can still take longer to open, but once the definitions are updated, the next time opening will be quicker.)
* VMT Importer: Fixed some errors when importing some VMTs with unexpected values. Also affects the Material Library Generator.
* Problem Checker: Fixed error in checking for Out-of-Date Entities. The function was erroneously stating that the FGD required parsing even when not true if no entity tool was previously opened during session.
* SMD Importer: Added animated model support. Now properly imports bone names and re-uses existing scene bones for skinned models and sequences. Imports sequences when importing a QC.
* SMD Importer: Fixed bug in mesh orientation. Now imports mesh orientation correctly with skinned models.
* VMF Importer: Improved world geometry creation. Fewer brushes will have coplanar faces.
* VMF Importer: Added new button to Remove Coplanar Faces on selected geometry. You can use this to clean up imported geometry that passed the detection during the import.
* Entities: Fixed bug in entities when opening modify panel with some entities where there was an undefined variable named "propname". Updated Entities to version 31.
A bug was reported so I've pushed another update to fix that.
Version 2.01 released on 4-24-2014
* Entities: Updated Entity CA update function to cast old values as new value type when updating entities in a scene. This fixes an error when updating an older entity that defined a value as a different type than the new CA (for example, converting a string to an integer).
* WWMT: Added two new buttons for writing just the QC or just the SMDs.