Scaleform 4.5.32 Release Notes
This lists the new features, improvements, and bug fixes in Scaleform 4.5.32.
Unreal integration updates
- Integration packages available for UE 4.11 and UE 4.12.5.
- Latest UE 4.12.5 supports GFx 4.5.31 and 4.5.32.
- Reduce render target space used by filters.
- No longer allocate fullscene blend targets when advanced blends are disabled.
- Reuse identical objects drawn multiple times by updating the render node in the DrawingContext between closing paths.
- BitmapData.dispose allocates fewer textures.
- Allow baselineOffset to be a font configuration parameter.
- FontConfig configuration can be specified in an XML. (Note: Only XML supports baselineOffset feature).
- Promote HALConfig_NoInternalSubmit from PS4 to common code, and respect it in D3D1x, D3D12 and Metal.
- Profile mode that shows complex vs. simple meshes.
- Added new AS3 method scaleform.gfx.SystemEx.getApplicationDomainClasses which returns a vector of classes belonging to an Application Domain.
- Added support for thread/memory/safe stack/undefined behavior/address sanitizers to the makefiles.
- Re-enabled H.264 codec support for XboxOne and PS4.
- Video encoder UI: re-enabled H.264 codec, updated supported platforms.
- Updated the channel ordering for Wwise video sound.
- ShaderMaker now supports latest UE4 integration.
- CRI Movie 4.06 support.
- Optimization: filters were using more render target space than required.
- Optimization: If you have disabled advanced blends, don't allocate the fullscene blend target.
- Optimization: Always update the render node in the DrawingContext between closing paths. This allows reuse of identical objects drawn multiple times.
- Optimization: BitmapData.dispose no longer creates a texture for a delegate being disposing.
- Fix: Mask clear rectangle batching was broken on PS4, causing masks to sometimes display incorrectly.
- Fix: If you set Bitmap.bitmapData = null, the Bitmap would erroneously display the original bitmapData image.
- Fix: Crash when unloading a Loader movie, and also the main fontlib simultaneously.
- Fix: If integration code calls glBindSampler(s), and doesn't unbind them before rendering Scaleform, Scaleform's samplers will be incorrect.
- Fix: If a parent of a cached blend clip's Cxform (only) changes, the cached advanced blend would not update.
- Fix: D3D12 compressed images which don't have the same scanline count as height were copying data to/from potentially invalid memory.
- Fix: If using HALConfig_DisableAdvancedBlends, filter and ignored blends would read past the end of the array.
- Fix: It was possible that the indices (only) of a batch would overflow, causing an assert when trying to batch.
- Fix: Add "NoExportNames" option in GFxExport2. This will cause AS3 image classes to export with generated filenames, instead of filenames based on the class name.
- Fix: If you used BitmapData.perlinNoise with more than 64 octave offsets, a memory overwrite would occur.
- Fix: If using HALConfig_DisableAdvancedBlends, darken and lighten were not using the legacy versions, they were instead just using normal.
- Fix: Cap the maximum height ratio of text to 10x its size. In 3D, it is possible to get 'unreasonable' height ratios, generating extremely large meshes, which overflow.
- Fix: In D3D1x textures being rescaled need to have a compatible target. If the target is too small, it will corrupt memory.
- Fix: If the MeshCache was completely exhausted and fences for resources on previous frames will never complete, then an infinite loop would occur.
- Fix: If you attempt to call graphics.beginFill/beginBitmapFill without ending a previous fill first, the second fill will not actually appear.
- Fix: If for some reason the command buffer execution gives an error in Metal, have the RenderSync report that it is not pending.
- Fix: If a target blend mode would cache its target, but has no layer parent, it cannot cache, otherwise rendering will be incorrect.
- Fix: ColorMatrixFilter.matrix in AS3 was returning incorrect values.
- Fix: If you have a DisplayObject with cacheAsBitmap=true, and no other filters, and accessing the 'filters' array could crash.
- Fix: If you create a a context that has a BitmapData in it, and then switch the capture thread, the DrawableImageContext's internal Render::Context doesn't get the updated thread Id. If you then call BitmpaData.draw, you'll get an assert, because it thinks you're still on the other thread.
- Fix: Andoid processes more input keys correctly (in Scaleform samples).
- Fix tracing of AS3 VM.
- Fix a bug with handling of effects with the VM bytecode optimizer.
- Fix a bug with AS3::HashTable::SetAdd()
- Fix a bug with the method AbcBlock::ReductNotNot().
- Fix a bug with Bubble::AllocLarge.
- Changed method Button::SwitchState() to take IsEnabledFlagSet() into account.
- Fix a bug with calculation of positions when DisplayObject::scrollRect is set.
- Fix a bug with method GFx::Sprite::GetBounds. The properties of the scrollRect Rectangle object should use the display object's coordinate space.
- Fix a bug with Date::GetCurrentTimeValue() on PS4 and Linux.
- Fix method GamePadAnalogEvent::AS3Constructor().
- Fix GamePadAnalogEvent::Clone().
- Fix EventDispatcher::CreateGamePadAnalogEventObject().
- Fix an uninitialized member within MovieDefImpl::SearchInfo.
- Fix a bug with initialization of slots of ClassClass. Slots were not inherited from Object.
- Initialize member Classes::fl_gfx::GamePad::PAD_START.
- Fix a bug with serialization of the Vector class containing a user-defined class.
- Disabled calls to MovieImpl::SortPlayList(). This method was a performance bottleneck, and was needed in very rare situations.
- Fix a crash with Xcode 7.3 and 8.0. This is a workaround for a bug with the compiler.
- Fix data alignment within DebugStorageMH::FreeAll().
- Prevent buffer overflow with UTF6Utils.
- Fix StringBuffer::SetGrowSize(). It had a problem with compilation with msvc 14 x64.
- Fix crash on exit if GFX_AS_ENABLE_GFXVALUE_CLEANUP is enabled.
- Fix warnings in AS3 Video and NetStream if video is disabled.
- Changed logic of releasing H.264 decoder work buffer memory.
- Add CRI memory allocation diagnostics to track possible leaks, etc.
- Removed assert - H.264 work buffer can be NULL (valid situation) in case of Sofdec Prime codec.
- Removed unused & empty implementation of SetFrameTime() for XboxOne, WPhone8 and WinMetro platforms.
- Added additional VideoPlayer access synchronization to fix potential race condition.