### 7.5 Changes May 1, 2002 This is a list of the changes in the LightWave 7.5 release that affect the SDK. The changes include a new Layout tool class and a new globals, as well as enhancement of many of the info globals defined in `lwrender.h`. Structures associated with the Item Info, Object Info, Light Info, Scene Info, and Interface Info, globals were changed, but the shader version number and the global name strings weren't incremented. In all cases, the changes involve members added to the ends of structures, so they have no effect on existing plug-ins. New plug-ins can use the Product Info global to verify that they're running in at least LightWave 7.0 before they use the new structure members. `lwcustobj.h` A bit definitions for the `flags` function return value has been added. The `LWCOF_VIEWPORT_INDEX` flag tells layout to use the viewport number instead of its type in the LWCustomObjAccess view element `The LWCOF_NO_DEPTH_BUFFER` flag prevent textured quads from being obscured by OpenGL drawing that is done in front of them. The `text` function justification argument values are now defined. `lwfilter.h` A new flag tor the PixelFiltel, `LWPFF_EVERYPIXEL`, has been added. It tells layout to call this filter for every pixel, despite adaptive sampling settings. `lwhost.h` A formal define for the content directory string passed to the Directory Info global, `LWFTYPE_CONTENT`, has been added. `lwenvel.h` A new event code, `LWCEVNT_TRACK`, has been added to signal temporary changes to channels done during interactive editing. Caution should be used when handling these events, ad they will be plentiful, and ambitious callbacks could result in significant performance degradation. A new event code, `LWCEVNT_CREATE`, has been added to signal the addition of a channel to a group. A new event code, `LWCEVNT_RENAME`, has been added to signal than a channel group has been renamed. `lwlaytool.h` The new plug-in class, LayoutTool actually works now. `lwmaster.h` An `LWEVNT_RENDER_DONE` event code has been added (MasterHandler). `lwmodtool.h` Per-vertex and per-polygon custom allocation available to MeshEdits is now available to MeshEditTools via the bit definitions in the return values of the `Test` function. These bits are conveniently defined by the `LWT_VMEM()` and `LWT_PMEM()` preprocessor macros, which take the memory size as arguments. `lwtxtr.h` The `LWTEXTUREFUNCS_GLOBAL` global (Texture Functions) has incremented to "Texture Functions 3" due to the new tags supported by `getParam` and `setParam`. New tag definitions were added: `TXTAG_ACTIVE`, `TXTAG_INVERT` and `TXTAG_BLEND`. The possible blend modes have been enumerated: t`ypedef enum LWTextureBlendMode {` `TXBLN_NORMAL=0,` `TXBLN_SUBTRACT,` `TXBLN_DIFFERENCE,` `TXBLN_MULTIPLY,` `TXBLN_DIVIDE,` `TXBLN_ALPHA,` `TXBLN_DISPLACE,` `TXBLN_ADD }` `lwserver.h` New server tag `SRVTAG_SELECTCMD` has been added to generate a command upon selection of the item to which the plugin is applied. `lwrender.h` A function to retrieve the state of the UI motion locks (`axisLocks`) has been added to LWItemInfo (Item Info). Three new functions (`matteColor, thickness,` and`edgeZScale`) have been added to LWObjectInfo. The `thickness` function uses one of the following types: `LWTHICK_SILHOUETTE` `LWTHICK_UNSHARED` `LWTHICK_CREASE` `LWTHICK_SURFACE` `LWTHICK_OTHER` `LWTHICK_LINE` `LWTHICK_PARTICLE_HEAD` `LWTHICK_PARTICLE_TAIL` The LWObjectInfo `flags` function returns new flags `LWOBJF_MATTE,` and`LWOBJF_UNSEEN_BY_ALPHA`. Three new functions (`animFilename, RGBPrefix,` and `alphaPrefix` ) have been added to LWSceneInfo. A new function, `shadowColor`, has been added to LWLightInfo. Four new bit definitions are available in the LWSceneInfo `renderOpts`: `LWROPT_ENHANCEDAA, LWROPT_SAVEANIM, LWROPT_SAVERGB,` and `LWROPT_SAVEALPHA`.. The LWInterfaceInfo structure now contains `autoKeyCreate,` with values defined as `LWAKC_OFF, LWAKC_MODIFIED,` and`LWAKC_ALL`. The `generalFlags` can now reveal the AutoKey state in the `LWGENF_AUTOKEY` bit. A new global (Viewport Info) has been added to facilitate custom drawing and tool handle processing. The server name is `LWVIEWPORTINFO_GLOBAL`. Miscellaneous The Item Info `first` function now returns `LWITEM_NULL` when called with `LWI_BONE` type and `LWITEM_NULL` as the id of the parent object, instead of returning the id of the first bone in the scene..