4.21.0.5 Change Log
Below is a “sanitized” version of the Daz Studio change log leading to the General Release of version 4.21.0.5. This log is posted as part of a conscious effort to be more transparent in the development process. That being said, not all information relating to a particular build is present on this page - some information is still considered private and is therefore not included.
Public Build Channel
Public Beta (4.20.1.34)
DAZ Studio : Incremented build number to 4.20.1.1
Source maintenance
Update to dForce 1.6.1.1
DAZ Studio : Incremented build number to 4.20.1.2
DAZ Studio : Incremented build number to 4.20.1.3
DAZ Studio : Incremented build number to 4.20.1.4
DAZ Studio : Incremented build number to 4.20.1.5
DAZ Studio : Incremented build number to 4.20.1.6
DAZ Studio : Incremented build number to 4.20.1.7
DAZ Studio : Incremented build number to 4.20.1.8
DAZ Studio : Incremented build number to 4.20.1.9
DAZ Studio : Incremented build number to 4.20.1.10
DAZ Studio : Incremented build number to 4.20.1.11
DAZ Studio : Incremented build number to 4.20.1.12
DAZ Studio : Incremented build number to 4.20.1.13
DAZ Studio : Incremented build number to 4.20.1.14
DAZ Studio : Incremented build number to 4.20.1.15
DAZ Studio : Incremented build number to 4.20.1.16
DAZ Studio : Incremented build number to 4.20.1.17
Source maintenance
Build system tweaks
DAZ Studio : Incremented build number to 4.20.1.18
DAZ Studio : Incremented build number to 4.20.1.19
Source maintenance
Implemented support for NVIDIA Iray curves/fibers for strand-based hair/fur
The Render Settings > Render Mode > “Render Mode” property must be set to “Photoreal”
For display via the NVIDIA Iray DrawStyle, the Parameters > General > Line Tessellation > “Viewport Line Tessellation Sides” property must be set to 1
For offline rendering, the Parameters > General > Line Tessellation > “Render Line Tessellation Sides” property must be set to 0
Extended get_line_root_to_tip_blend in ./shaders/iray/daz_3d/basic.mdl to support both vertically and horizontally UV oriented hair strands
Extended the DzMdlDAZ3DBasicGetLineRootToTipBlend (Get Line Root To Tip Blend) Shader Mixer brick to allow discrete setting of “Fiber UV Orientation”
DAZ Studio : Incremented build number to 4.20.1.20
Source maintenance
Extended material functions in ./shaders/iray/daz_3d/basic.mdl, dual_lobe_hair.mdl, irayubermaterial.mdl, pbr_skin.mdl to consider hair
Added ./shaders/iray/daz_3d/fiber_chiang_hair_fur.mdl
NVIDIA Iray curves/fiber type is now discretely set to BSpline for strand-based hair/fur
DAZ Studio : Incremented build number to 4.20.1.21
DAZ Studio : Incremented build number to 4.20.1.22
DAZ Studio : Incremented build number to 4.20.1.23
DAZ Studio : Incremented build number to 4.20.1.24
DAZ Studio : Incremented build number to 4.20.1.25
DAZ Studio : Incremented build number to 4.20.1.26
DAZ Studio : Incremented build number to 4.20.1.27
Source maintenance
Fixed an issue with incorrectly setting the asset id of some modifier types when duplicating an object
Fixed an issue with DzActionMgr::addCustomAction() not assigning the shortcut parameter to the newly created custom action
Removed errant warnings when removing mapped directories
DAZ Studio : Incremented build number to 4.20.1.28
DAZ Studio : Incremented build number to 4.20.1.29
Source maintenance
Fixed an issue with populating the Grouping list in the Tool Settings pane for the Geometry Editor tool when selecting/deselecting an object
Fixed an issue with populating/clearing items in DzPathItemModel
DAZ Studio : Incremented build number to 4.20.1.30
DAZ Studio : Incremented build number to 4.20.1.31
DAZ Studio : Incremented build number to 4.20.1.32
DAZ Studio : Incremented build number to 4.20.1.33
DAZ Studio : Incremented build number to 4.20.1.34
Public Beta (4.20.1.38)
Source maintenance
Extended DzLayout scripting
API; added leftMargin, topMargin, rightMargin, bottomMargin properties
Modified DzLayout scripting
API; deprecated autoAdd property
Extended DzProperty public
API; added restoreAttributesFromDefinition()
Modified DzProperty public
API; PropertyResetFlag::ResetToDefinition constant value changed to support bitwise OR when passed to reset()
Updated SDK version to 4.20.1.35; SDK min is 4.5.0.100
Updated scripting
API documentation; DzDialog, DzBasicDialog, DzLayout, DzBoxLayout, DzHBoxLayout, DzVBoxLayout, DzGridLayout, DzButtonGroup, DzButton, DzPushButton, DzComboBox, DzTabWidget, DzListView, DzListBox, DzTextEdit, DzTextBrowser, DzPopupMenu, DzLCDNumber, DzDateTimeEdit, DzUri, DzProperty
Fixed an issue in DzProperty::reset() where it was not limiting attributes being reset with ResetToDefinition to only the attributes that are considered part of a property's definition
DAZ Studio : Incremented build number to 4.20.1.35
DAZ Studio : Incremented build number to 4.20.1.36
Source maintenance
Modified DzLineEdit scripting
API; setDoubleValidator() now supports setting an unlimited range; setDoubleValidator() now supports setting unlimited decimal places; setIntValidator() now supports setting an unlimited range
Modified DzComboEdit scripting
API; setDoubleValidator() now supports setting an unlimited range; setDoubleValidator() now supports setting unlimited decimal places; setIntValidator() now supports setting an unlimited range
Updated scripting
API documentation; DzLineEdit, DzComboEdit, DzComboBox
DAZ Studio : Incremented build number to 4.20.1.37
DAZ Studio : Incremented build number to 4.20.1.38
Public Beta (4.20.1.43)
Source maintenance
Extended Pixmap scripting
API; added toByteArray()
Modified Pixmap scripting
API; save() now takes parameters for format and quality; save() now returns a Boolean value to indicate success/failure
Extended Image scripting
API; added toByteArray()
Modified Image scripting
API; save() now takes parameters for format and quality; save() now returns a Boolean value to indicate success/failure
Updated scripting
API documentation; Pixmap, Image
Updated public
API documentation; DzCustomData, DzElementData, DzSimpleElementData, DzSimpleElementScriptData, DzElementPostLoadFileData, DzSceneData, DzSimpleSceneData, DzSimpleSceneScriptData
DAZ Studio : Incremented build number to 4.20.1.39
DAZ Studio : Incremented build number to 4.20.1.40
DAZ Studio : Incremented build number to 4.20.1.41
Source maintenance
Updated public
API documentation; DzApp, DzAssetMgr, DzProductAssetContainer, DzElement, DzObject, DzShape, DzStorable, DzMaterialSelectionSet, DzCustomData, DzElementData, DzSimpleElementData, DzSimpleElementScriptData, DzElementPostLoadFileData, DzSceneData, DzSimpleSceneData, DzSimpleSceneScriptData, DzSourceFileData, DzGeomSourceFileData, DzLegacyIKChains, DzLegacyIKChain, DzPoserIKTargetFlag, DzPoserNonPropagatingScaleFlag, DzPoserPropagatingScaleFlag, Dz3DViewport, DzCamera, DzBasicCamera, DzActivityLayout, DzButton, DzComboBox, DzLCDNumber, DzDir, DzFileInfo
Extended DzDebugViewUtil scripting
API; added clearPointChannelsFromScene(), clearLineChannelsFromScene(), clearPointChannelFromScene(), clearLineChannelFromScene(), clearChannelFromScene(), clearPointChannels(), clearLineChannels(), clearPointChannel(), clearLineChannel(), clearChannel(), postPointDebugData(), postLineDebugData(), postDebugData()
Updated scripting
API documentation; DzDebugViewUtil
DAZ Studio : Incremented build number to 4.20.1.42
Source maintenance
Fixed an issue with DzImageProperty not being accounted for in DzShaderMaterial::getAllMaps()
Fixed an issue in DzBrickMaterial::getAllMaps() that allowed duplicates
Fixed an issue in DzUberIrayMaterial::getAllMaps() that allowed duplicates
Fixed an issue with DzPbrMaterial::getAllMaps() failing to collect maps
Updated public
API documentation; DzMorph, DzMorphDeltas, DzDebugViewUtil, DzAssetMgr
DAZ Studio : Incremented build number to 4.20.1.43
Public Beta (4.20.1.58)
Source maintenance
Updated public
API documentation; DzFacetMesh
DAZ Studio : Incremented build number to 4.20.1.44
Source maintenance
Updated public
API documentation; DzTexture, DzImageTexture, DzLayeredTexture
DAZ Studio : Incremented build number to 4.20.1.45
DAZ Studio : Incremented build number to 4.20.1.46
DAZ Studio : Incremented build number to 4.20.1.47
Source maintenance
Fixed a crash in the Node info page (displayed in the footer of the Scene pane) when a bone is selected that has been added to the scene but is not owned by a skeleton
Fixed an issue in the FBX exporter that was causing polygon groups to be omitted from the file
Exporting FBX now includes StudioNodeName and StudioNodeLabel properties for all nodes, not just nodes with a presentation
DAZ Studio : Incremented build number to 4.20.1.48
Source maintenance
FBX exporter refactoring
DAZ Studio : Incremented build number to 4.20.1.49
Source maintenance
FBX exporter refactoring
Updated public
API documentation; DzFacetMesh, DzFacetShape, DzSelectionGroup
DAZ Studio : Incremented build number to 4.20.1.50
Source maintenance
FBX exporter refactoring
DAZ Studio : Incremented build number to 4.20.1.51
Source maintenance
FBX exporter refactoring
DAZ Studio : Incremented build number to 4.20.1.52
Source maintenance
FBX exporter refactoring
Updated “FBX Export Options” dialog labels; clarify purpose/context
Reorganized the options in the “FBX Export Options” dialog to clarify the context of each
Modified labels of options in the “FBX Export Options” dialog
The “Merge Followers (into Target)” and “Make Followers Static (Props)” options in the “FBX Export Options” dialog now properly reflect exclusivity
The enabled state of “Figure” related options in the “FBX Export Options” dialog now correspond with the checked state of the “Include Figures” option
The options area of “FBX Export Options” dialog is now scrollable
The options/staging area of “FBX Export Options” dialog is now resizable
OBJ exporter refactoring
Fixed an issue with the Morph Asset Save Options dialog that caused mesh modifiers designed to not be auto-loaded to display their properties
DAZ Studio : Incremented build number to 4.20.1.53
Source maintenance
FBX exporter refactoring
OBJ exporter refactoring
DAZ Studio : Incremented build number to 4.20.1.54
DAZ Studio : Incremented build number to 4.20.1.55
DAZ Studio : Incremented build number to 4.20.1.56
DAZ Studio : Incremented build number to 4.20.1.57
Source maintenance
Fixed an issue in the FBX Exporter where the export would fail with an unknown error if the exported objects contained a prop (or a skeleton with no selection map) and the “Include Face Groups as Selection Sets” option was active
Added cursor busy state feedback to FBX Exporter
DAZ Studio : Incremented build number to 4.20.1.58
Public Beta (4.20.1.78)
DAZ Studio : Incremented build number to 4.20.1.59
DAZ Studio : Incremented build number to 4.20.1.60
Source maintenance
Updated public
API documentation; DzWeightMap
DAZ Studio : Incremented build number to 4.20.1.61
Source maintenance
A fallback has been implemented to allow access to the features unlocked by a “free Pro” serial number in the event a serial number is not automatically issued
DzImageMgr::createLayeredTexture() now incorporates its name argument into the temporary file name given to layered textures
Added support for blended general weight (LBS/DQS) mesh skinning to FBX Exporter
If “Weight Mapping Mode” is set to “Blended”, and “Blend Mode” is set to “Linear (General) / Dual Quaternion (General)”, the skinning type will be FbxSkin::eBlend
If the “Blend Weights” map has been added, the weights defined in the map will be written to file
Improved support for layered images in FBX Exporter
Now ensures temp files have been created prior to export
Added error logging in the event of a failure
Use of the “Embed Textures” or “Collect Textures” options are recommended due to the temporary nature of the generated files
The “Convert Figure to Weight Mapping…” action (DzConvertFigureAction) can now be triggered from script with a settings Object (const QVariantMap& if calling from C++), via DzAction::triggerWithSettings(), to control its operation
If a RunSilent Boolean property is true, the “Convert Figure to Weight Mapping” dialog is not displayed - the “TriAx Weight Mapping” option is the default choice
If an additional LocalWeight Boolean property is true, or an additional GeneralWeight Boolean property is false, the “TriAx Weight Mapping” option is discretely chosen
If an additional LocalWeight Boolean property is false, or an additional GeneralWeight Boolean property is true, the “General Weight Mapping” option is discretely chosen
Refactored FBX Importer
DAZ Studio : Incremented build number to 4.20.1.62
DAZ Studio : Incremented build number to 4.20.1.63
DAZ Studio : Incremented build number to 4.20.1.64
Source maintenance
Added an option to include Post Load Script/Data to “Preset Save Options” dialogs for preset types that modify properties on existing scene elements (as opposed to preset types that load elements into the scene and can therefore embed element post load data)
Made tweaks to Post Load script/data options in the Character Preset Save Options dialog
Added support for a PostLoadEnable bool value, a PostLoadScriptPath string value, and a PostLoadScriptSettings settings value to several DzAssetFileOutFilter subclass settings APIs; DzCharacterAssetFilter, DzHierarchicalMaterialAssetFilter, DzHierarchicalPoseAssetFilter, DzPropertiesAssetFilter, DzShapingAssetFilter, DzPoseAssetFilter, DzMaterialAssetFilter, DzShaderAssetFilter, DzRenderSettingsAssetFilter, DzSimulationSettingsAssetFilter, DzLayerAssetFilter
DAZ Studio : Incremented build number to 4.20.1.65
DAZ Studio : Incremented build number to 4.20.1.66
DAZ Studio : Incremented build number to 4.20.1.67
Source maintenance
Extended public
API; added DzPathValidator; added support for drive letter, max component length and max length
Updated SDK
API documentation; DzPathValidator, DzSubPathValidator, DzFileNameValidator, DzNodeNameValidator, DzNodeLabelValidator
Updated SDK version to 4.20.1.68; SDK min is 4.5.0.100
Improved validation logic; DzSubPathValidator, DzFileNameValidator
Extended scripting support for validators; DzLineEdit, DzComboEdit
Updated scripting
API documentation; DzLineEdit, DzComboEdit
Added support for Layers, and Layers_<image_name> settings values to the Layered Image(s) Preset (DzLayerAssetFilter) settings APIs
Setting a bool value where the key is the label of a layer in a layered image, the value represents whether or not to include that layer when writing to file
The Layers settings value serves as a global list for all layered images being saved to the preset
Any Layers_<image_name> settings values serve as an override for a discrete layered image being saved to the preset
The base layer of a given layered image is always included unless a bool value named _NO_BASE_ defines otherwise
If only one layer is included by configuration (considered illegal due to the nature of how the preset type is applied), all layers are saved to the preset
If the Layers, and/or Layers_<image_name> settings values are not defined, all layers are saved to the preset
Fixed an issue in “Layered Image Editor” that caused the file selection dialog to not initialize to the path of the currently assigned resource
Triggering the “Convert Figure to Weight Mapping…” action (DzConvertFigureAction) with settings can now also be used when the RunSilent setting is false or omitted
Added an “Update Vertex Positions (from current shape)” option to the “Update Base Geometry…” action (DzUpdateGeometryAction)
Requires the cached mesh of the object to have the same vertex count as the current base mesh - e.g., base resolution, no grafting, etc
The “Update Base Geometry…” action (DzUpdateGeometryAction) can now be triggered from script with a settings Object (const QVariantMap& if calling from C++), via DzAction::triggerWithSettings(), to control its operation
If a RunSilent property is true the “Update Base Geometry” dialog is not displayed - the “Update Vertex Positions (from current shape)” option is the default choice
If an additional UpdateVertexPositions Boolean property is true, the “Update Vertex Positions (from current shape)” option is discretely chosen
If an additional UpdateFullGeometry Boolean property is true and an additional Filename String property is not empty (provides the full path of a file to import), the “Update Full Geometry (from file)” option is discretely chosen
An additional Importer Object property can be used to provide importer options
DAZ Studio : Incremented build number to 4.20.1.68
Source maintenance
Update to dForce 1.6.1.2
DAZ Studio : Incremented build number to 4.20.1.69
Refactored the “Element Data…” dialog
Changed titles/labels/widgets/layout/etc to facilitate extraction of a more generalized “Custom Data Item” dialog that supports display/management/editing of “element data” and “scene data” items
Added columns
Added tooltips for each column
“Name” shows the full, non-elided, name of the data item
“File Path” shows the full, non-elided, file path associated with the data item (if it has one)
“Settings” shows whether or not the data item has the settings option enabled
“Editable” shows whether or not the data item can be edited
“Persistent” shows whether or not the data item persists (will be saved when the owning object is saved)
Added a context menu
Modified the dialog displayed by the “Element Data…” action (DzHPNodeElementDataEditorAction)
Accessible via:
Edit > Object > Element Data…
Edit > Figure > Element Data…
Scene pane option menu > Edit > Element Data…
Now displays, and provides access to, all “custom data items” associated with an element rather than just a couple of specific subtypes
Provides the ability to manage (remove) all DzElementData derived types
Provides the ability to create/view/edit DzSimpleElementData (and derived), or DzElementPostLoadFileData (and derived), instances
Added a “Scene Data…” action (DzHPSceneDataEditorAction)
Accessible via:
Displays, and provides access to, the “custom data items” associated with the scene
Provides the ability to manage (remove) all DzSceneData derived types
Provides the ability to create/view/edit DzSimpleSceneData (and derived) instances
Updated default menus
DAZ Studio : Incremented build number to 4.20.1.70
DAZ Studio : Incremented build number to 4.20.1.71
DAZ Studio : Incremented build number to 4.20.1.72
Source maintenance
Extended DzScene public
API;
Updated SDK
API documentation; DzScene
Updated SDK version to 4.20.1.73; SDK min is 4.5.0.100
Changed the label of the “Element Data…” action (DzHPNodeElementDataEditorAction) to “Node Data…” to reflect actual scope - and in preparation for additional “element data” actions
“Node Data…” and “Scene Data…” action dialog validation now offers to fix detected issues
Added a “Surface Data…” action (DzMaterialElementDataEditorAction)
Accessible via:
Edit > Object > Surfaces > Surface Data…
Edit > Figure > Surfaces > Surface Data…
Surfaces pane option menu > Edit > Surface Data…
Displays, and provides access to, all “custom data items” associated with a surface (material)
Provides the ability to manage (remove) all DzElementData derived types
Provides the ability to create/view/edit DzSimpleElementData (and derived), or DzElementPostLoadFileData (and derived), instances
Added an “Element Data…” action (DzElementDataEditorAction) that can be triggered from script with a settings Object (const QVariantMap& if calling from C++), via DzAction::triggerWithSettings(), to control its operation
If an ElementId Number property provides the value of the DzElement::elementID of an element in the scene AND an ElementType String property provides the base class name of the element (i.e., DzNode, DzObject, DzShape, DzModifier, DzMaterial), these value will be used (via DzScene::find*ByElementID()) to provide context to the editor
If an additional Title String property is not empty, the title of the resultant dialog will incorporate the value, otherwise DzElement::getTypeLabel() and DzElement::getLabel() will be used to construct the title
Changed the label of the “Edit Surface Selection Set(s)…” action (DzEditMaterialSelectionSetsAction) to “Surface Selection Sets…”
Now accessible via:
Edit > Object > Surfaces > Surface Selection Sets…
Edit > Figure > Surfaces > Surface Selection Sets…
Surfaces pane option menu > Edit > Surface Selection Sets…
Updated the “Surface Selection Set” dialog, and “New Surface Selection Set” sub-dialog
Updated default menus
DAZ Studio : Incremented build number to 4.20.1.73
Source maintenance
Modified DzLayeredTexture public
API; deprecated refeshLayeredTexture()
Extended DzLayeredTexture public
API; added refreshLayeredTexture()
Extended DzImageMgr public
API; added saveImage() override
Updated public
API documentation; DzLayeredTexture, DzImageMgr, DzImageExporter
Updated SDK version to 4.20.1.74; SDK min is 4.5.0.100
Fixed an initialization issue in DzLayeredTexture
Fixed a DzTextureComponent conversion/initialization format mismatch; ARGB32 vs RGB32
DzTextureComponent now uses QImage instead of discrete pixel processing when inverting an image
DzTextureComponent now uses QImage instead of discrete pixel processing when rotating an image
Added support for specifying a “Quality” option to the PNG exporter settings
API
The value must be in the [-1,100] range
-1 (the default) uses the default settings
0 results in smaller, compressed, files
100 results in larger, uncompressed, files
DAZ Studio : Incremented build number to 4.20.1.74
Source maintenance
Extended DzImageMgr public
API; added getLayeredTextureSaveQuality(), setLayeredTextureSaveQuality()
Updated public
API documentation; DzImageMgr
Updated SDK version to 4.20.1.75; SDK min is 4.5.0.100
Fixed a regression in the PNG exporter that caused saving to fail if no options are provided
Fixed an issue with layered textures where the enabled state of a texture component was not being copied
Manifested in “Layered Image Editor” not accurately representing the current enabled state of a layer/mask, and ultimately potentially changing the layered image when/if the editor was accepted
Manifested when/if DzTextureComponent::copyFrom() was used
Added a “Layered Textures” preference to allow a user to choose between “Compression” vs “Speed/Size” of “baked” layered images to Edit > Preferences… (F2) > Interface > Miscellaneous
DAZ Studio : Incremented build number to 4.20.1.75
DAZ Studio : Incremented build number to 4.20.1.76
Source maintenance
Made adjustments to the labeling/layout of the “Check for Updates” preference
Added support for a “Once per Session” option to the “Check for Updates” interval
Extended DzApp public
API; added getDefaultTempPath()
Updated public
API documentation; DzApp
Updated SDK version to 4.20.1.77; SDK min is 4.5.0.100
DAZ Studio : Incremented build number to 4.20.1.77
Source maintenance
The “Stop
CMS” dialog has been refactored to support inline help and recording/restoring position/size
DAZ Studio : Incremented build number to 4.20.1.78
Public Beta (4.20.1.88)
DAZ Studio : Incremented build number to 4.20.1.79
DAZ Studio : Incremented build number to 4.20.1.80
DAZ Studio : Incremented build number to 4.20.1.81
DAZ Studio : Incremented build number to 4.20.1.82
DAZ Studio : Incremented build number to 4.20.1.83
Source maintenance
Extended DzTextureLayer public
API; added BlendModeSourceOver, BlendModeDestinationOver, BlendModeClear, BlendModeSource, BlendModeDestination, BlendModeSourceIn, BlendModeDestinationIn, BlendModeSourceOut, BlendModeDestinationOut, BlendModeSourceAtop, BlendModeDestinationAtop, BlendModeXor, BlendModePlus, BlendModeMultiply, BlendModeScreen, BlendModeOverlay, BlendModeDarken, BlendModeLighten, BlendModeColorDodge, BlendModeColorBurn, BlendModeHardLight, BlendModeSoftLight, BlendModeDifference, BlendModeExclusion enumerated values
Updated scripting
API documentation; DzTextureLayer
Updated SDK version to 4.20.1.84; SDK min is 4.5.0.100
Implemented asset IO support for new DzTextureLayer blend modes
Made quality of life improvements to “Layered Image Editor”
A checker pattern is now drawn in the background of the “Preview” area to indicate transparency
Added support for the new blend modes
First section preserves existing/legacy modes
Alpha Channel Blend
Additive Blend
Subtractive Blend
Multiplicative Blend
Second section adds alpha targeted composition modes
Source Over
Destination Over
Clear
Source
Destination
Source In
Destination In
Source Out
Destination Out
Source Atop
Destination Atop
Xor
Third section adds color/alpha composition modes
Plus
Multiply
Screen
Overlay
Darken
Lighten
Color Dodge
Color Burn
Hard Light
Soft Light
Difference
Exclusion
Fixed an issue that caused the blend mode option to not be updated when a mask was selected
Updated the “Paste Layer Settings” sub-dialog layout to make more efficient use of space
Added object names to widgets in “Paste Layer Settings” sub-dialog
The Image > Gamma slider now provides full width manual text editing
The Image > Gamma slider is now restorable (to initialized value) via [Alt] + click
Extended inline help (tooltips/what's this)
Image > Width and Image > Height line-edits have been replaced with spin-boxes
Clicking the Zoom level indicator will now restore 100%
DAZ Studio : Incremented build number to 4.20.1.84
Source maintenance
DSON format files are now written with a
0.6.1.0 file_version
-
blend_clear
blend_color_burn
blend_color_dodge
blend_darken
blend_destination
blend_destination_atop
blend_destination_in
blend_destination_out
blend_destination_over
blend_difference
blend_exclusion
blend_hard_light
blend_lighten
blend_multiply
blend_overlay
blend_plus
blend_screen
blend_soft_light
blend_source
blend_source_atop
blend_source_in
blend_source_out
blend_source_over
blend_xor
Clicking the “Zoom” level indicator in “Layered Image Editor” will now present a menu with options for “25%”, “50%”, “100%”, “200%” and “Custom…”
Clicking a pre-defined value will set the zoom factor to that value
Clicking “Custom…” will present a dialog that allows a custom value (in the [10,600] range) to be manually defined
DAZ Studio : Incremented build number to 4.20.1.85
DAZ Studio : Incremented build number to 4.20.1.86
Source maintenance
The default blend mode for a DzTextureComponent is now BlendModeSourceOver instead of BlendAlpha
Fixed an issue where saving a layered image would not record the enabled state of a given layer
Recorded to a new
active value on
DSON image_map objects
Fixed an issue where loading a layered image would not restore the enabled state of a given layer
Read from a new
active value on
DSON image_map objects
Fixed an issue in “Layered Image Editor” where the blend mode of a layer mask was being displayed as that of the last selected layer instead of the host layer
Fixed a crash in “Layered Image Editor” when clicking the resource browse button if no layer was selected
Widgets in “Layered Image Editor” that operate in the context of the selected layer now enable/disable based on layer selection
Adding a layer to a new/empty layered texture in “Layered Image Editor” now automatically selects the new layer in all cases
Launching “Layered Image Editor” without a texture now automatically creates a new layer
Creating a new layer in “Layered Image Editor” now defaults to white
Launching “Layered Image Editor” now automatically performs “Zoom to Fit”
Fixed an issue in “Layered Image Editor” when creating a new layer for an empty image that could result in updates not occurring when expected
DAZ Studio : Incremented build number to 4.20.1.87
Source maintenance
Added “Layered Image Editor” inline help file to footprint
Extended DzLayeredTexture public
API; added findLayerByLabel(), getUniqueLabel(), getLabelNumber(), stripLabelNumber()
Updated public
API documentation; DzLayeredTexture
Updated SDK version to 4.20.1.88; SDK min is 4.5.0.100
Made quality of life improvements to “Layered Image Editor”
“Add Layer” has been split into discrete “Add Color Layer” and “Add Image Layer…” actions
“Add Image Layer…” immediately prompts for a file path
“Add Image Layer…” can be canceled
“Add Image Layer…” sets the label of the layer to the basename of the selected file
“Add Image Layer…” ensures the label is unique
“Add Mask” has been split into discrete “Add Color Mask” and “Add Image Mask…” actions
Renaming a layer now ensures the label is not empty
Renaming a layer now ensures the label is unique
The context menu for the “Layers” list is now populated with actions for adding a layer, adding a mask, removing a layer or mask, copying settings, and pasting settings
The context menu for the “Preview” area is now populated with actions for selecting each layer in the texture
DAZ Studio : Incremented build number to 4.20.1.88
Public Beta (4.20.1.91)
Source maintenance
Fixed an issue where the window title of the “Load Options” dialog for a Shader Preset incorrectly indicated that it was for a Materials Preset
Fixed an issue where the window title of the “Load Options” dialog for a Layered Image Preset incorrectly indicated that it was for a Material Preset
DAZ Studio : Incremented build number to 4.20.1.89
DAZ Studio : Incremented build number to 4.20.1.90
Source maintenance
Fixed an issue in “Layered Image Editor” that prevented use of the enter/return key to finish/finalize manual editing of slider values without accepting the dialog
The “X Position” and “Y Position” sliders in the “Layered Image Editor” are now limitless
Layer/Mask selection within “Layered Image Editor” now enables/disables layer controls to reflect the ability of a given layer/mask type to be modified
Color layers and color masks cannot be rotated, flipped, or inverted, but image layers and image masks can
Color masks cannot be offset or scaled, but image masks and color layers can
DAZ Studio : Incremented build number to 4.20.1.91
Public Beta (4.21.0.5)
Source maintenance
Extended Rect scripting
API; added bottomLeft, bottomRight, size, topLeft, topRight properties; added contains(), moveTopLeft(), moveBottomRight(), moveTopRight(), moveBottomLeft(), moveCenter(), translate(), translate(), translated(), translated(), moveTo(), setRect(), setCoords(), adjust(), adjusted(), normalized()
Extended Point scripting
API; added isNull(), manhattanLength()
Modified Size scripting
API; deprecated translate()
Extended Size scripting
API; added isNull(), isEmpty(), isValid(), transpose(), scale(), expandedTo(), boundedTo()
Extended Pixmap scripting
API; added hasAlphaChannel(), setAlphaChannel(), cacheKey(), copy(), scaled(), scaledToHeight(), scaledToWidth()
Extended Image scripting
API; added hasAlphaChannel(), setAlphaChannel(), allGray(), isGrayscale(), bitPlaneCount(), bytesPerLine(), cacheKey(), pixelColor(), setPixelColor(), pixelColor(), setPixelColor(), pixelIndex(), rect(), sizeInBytes(), valid(), mirrored(), scaledToHeight(), scaledToWidth(), rgbSwapped(), colorCount(), setColorCount(), createAlphaMask(), createHeuristicMask(), createMaskFromColor()
Modified Image scripting
API; deprecated pixel(), setPixel()
Updated scripting
API documentation; DzSystem, Array, Date, Function, Point, Rect, Size, ByteArray, Pixmap, Image
DAZ Studio : Incremented build number to 4.20.1.92
DAZ Studio : Incremented build number to 4.21.0.1
DAZ Studio : Incremented build number to 4.21.0.2
DAZ Studio : Incremented build number to 4.21.0.3
Source maintenance
Fixed #CS-421314 - A regression where the last settings used for a geometry importer would not be restored when using the “Update Base Geometry” action
UI
Updated public
API documentation; DzContentMgr
Updated scripting
API documentation; DzMorphDeltas
DAZ Studio : Incremented build number to 4.21.0.4
DAZ Studio : Incremented build number to 4.21.0.5
Release to Production