Files
UnrealEngineUWP/Engine/Source/Editor/WorldBrowser/Private/LevelModel.h

346 lines
10 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "CoreMinimal.h"
class AActor;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
struct FAssetData;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
class FLevelCollectionModel;
class FLevelDragDropOp;
class FLevelModel;
class ULevel;
class ULevelStreaming;
template< typename TItemType > class IFilter;
typedef TArray<TSharedPtr<class FLevelModel>> FLevelModelList;
class FLevelCollectionModel;
/**
* Interface for level collection hierarchy traversal
*/
struct FLevelModelVisitor
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3386262 on 2017/04/10 by Ben.Marsh Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path. Change 3386999 on 2017/04/10 by Ben.Marsh Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on. Change 3387073 on 2017/04/10 by Ben.Marsh Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin. Change 3387988 on 2017/04/11 by Steve.Robb Comments added to clarify the role of DestructItem and DestructItems. Change 3388085 on 2017/04/11 by Ben.Marsh UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT. Change 3390048 on 2017/04/12 by Richard.Hinckley #jira UE-43876 Fixed description of Streaming settings (within Project Settings). Change 3390697 on 2017/04/12 by Steve.Robb CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed. Change 3390711 on 2017/04/12 by Steve.Robb AGRESSIVE_ARRAY_FORCEINLINE removed. Change 3392167 on 2017/04/13 by Robert.Manuszewski UObject can be added to GC cluster only if all of its Outers can also be added to it. Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters. #jira UE-42948 Change 3392309 on 2017/04/13 by Robert.Manuszewski When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it. Change 3392620 on 2017/04/13 by Ben.Marsh UGS: Only check for updates every 5 minutes. Change 3392623 on 2017/04/13 by Ben.Marsh UGS: Only poll for new changes every 60 seconds. Change 3392744 on 2017/04/13 by Ben.Marsh UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load. Change 3392874 on 2017/04/13 by Ben.Marsh UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc... Change 3392878 on 2017/04/13 by Ben.Marsh Update UGS to version 1.96 Change 3395635 on 2017/04/17 by Ben.Marsh UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command. Change 3395655 on 2017/04/17 by Ben.Marsh UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded. Change 3396989 on 2017/04/17 by Wes.Hunt CrashReporter configurable tweaks. * Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min). - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min. - Zero means never alert. * Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day). - Interval by which to report disk space availability. - Default is never (Zero) * Updated config file to match production config. #codereview:jin.zhang Change 3397656 on 2017/04/18 by Ben.Marsh UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file. Change 3397677 on 2017/04/18 by Robert.Manuszewski PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym) Change 3397722 on 2017/04/18 by Robert.Manuszewski PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist) Change 3397739 on 2017/04/18 by Richard.Hinckley #jira UE-44100 Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating. Change 3398023 on 2017/04/18 by Ben.Marsh PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist) Change 3398095 on 2017/04/18 by Ben.Marsh PR #3051: Generate map file from UAT (Contributed by projectgheist) Change 3398212 on 2017/04/18 by Ben.Marsh PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist) Change 3399304 on 2017/04/19 by Ben.Marsh UGS: Prevent editor target files being removed when running custom tools. Change 3399306 on 2017/04/19 by Robert.Manuszewski Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe Change 3399729 on 2017/04/19 by Steve.Robb Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array. RemoveAtSwap() now simply decrements the count instead of calling RemoveAt(). Checks for a positive count added to RemoveAt() and RemoveAtSwap(). Change 3399750 on 2017/04/19 by Jin.Zhang Order branch alphabetically #RB Change 3400186 on 2017/04/19 by Steve.Robb Per-header generated code. Change 3401458 on 2017/04/20 by Steve.Robb Static log categories moved out of headers to prevent duplicates when the header is included multiple times. #jira UE-37507 Change 3401657 on 2017/04/20 by Gil.Gribb UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme. Change 3401735 on 2017/04/20 by Gil.Gribb UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms. Change 3403362 on 2017/04/21 by Steve.Robb Algo::Sort() fixed to support C arrays. Size+count versions of Also::IsSorted() deprecated. Algo::IsSortedBy() added. Algo::FindBy() added to allow an element to be found by projection. Simplifications and generalizations. Change 3404017 on 2017/04/21 by Ben.Marsh Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins. Change 3405299 on 2017/04/24 by Steve.Robb Clarified the class of the incompatible function in the error message about incompatible BP event specifiers. #jira UE-35106 Change 3405302 on 2017/04/24 by Ben.Marsh UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file. Change 3405629 on 2017/04/24 by Ben.Marsh Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name. Change 3406431 on 2017/04/24 by Ben.Marsh UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present. Change 3406670 on 2017/04/24 by Ben.Marsh UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang). Change 3407080 on 2017/04/25 by Gil.Gribb UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull. Change 3407486 on 2017/04/25 by Gil.Gribb UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads. Change 3407495 on 2017/04/25 by Gil.Gribb UE4 - Tweaked out XBox and Windows low level file IO. Change 3407497 on 2017/04/25 by Gil.Gribb UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads. Change 3407705 on 2017/04/25 by Ben.Marsh Removing most of the junk in DotNETUtilities. Change 3409701 on 2017/04/26 by Ben.Marsh Disable another static analyzer warning for third party libraries. Change 3410074 on 2017/04/26 by Daniel.Lamb Network platform file runs heart beats and responds to modified file changes. Cook on the fly server in the editor (COTS) now detects changes to content and notifies client. Fixed issue with network platform file not using correct sandbox. #test cook on the side shootergame Change 3411131 on 2017/04/27 by Steve.Robb TIsTriviallyDestructible now supports forward-declared enums. Change 3411186 on 2017/04/27 by Steve.Robb Fix for #includes in generated code for Within classes which are in a different module from the generated class. Change 3411917 on 2017/04/27 by Steve.Robb Fixes to pushing/popping the CPP macro. Change 3411966 on 2017/04/27 by Steve.Robb Include spam reduced in generated code. Change 3412155 on 2017/04/27 by Ben.Marsh Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians. Change 3412223 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Calling SetHelperA.Num() twice. Change 3412273 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Duplicated variable name. Change 3412511 on 2017/04/27 by Ben.Marsh PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff) Change 3412582 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code Change 3413136 on 2017/04/28 by Robert.Manuszewski Helper functions for dissolving specific GC clusters Change 3413310 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code. Change 3413341 on 2017/04/28 by Gil.Gribb UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame. Change 3413351 on 2017/04/28 by Ben.Marsh Include code analysis macros directly from Platform.h, so that macros are available to everything. Change 3413352 on 2017/04/28 by Ben.Marsh Fixing a few more PVS studio warnings. Change 3413437 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Comparison is always true. Change 3413759 on 2017/04/28 by Ben.Marsh Suppressing warnings for PVS-Studio. Change 3413784 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning. Change 3413898 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: Same conditional is checked twice. Change 3413915 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: LHS of expression is identical to RHS. Change 3413989 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block. Change 3414053 on 2017/04/28 by Ben.Marsh More PVS-Studio fixes. Change 3414062 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed. Change 3414070 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Fix incorrect condition. Change 3414071 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Array index is always zero. Change 3414116 on 2017/04/28 by Ben.Marsh BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute. Change 3414160 on 2017/04/28 by Ben.Marsh Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout. Change 3414237 on 2017/04/28 by Ben.Marsh EC: Allow disabling and enabling the log preprocessor via special markers in the log. To disable: <-- Suspend Log Parsing --> To enable: <-- Resume Log Parsing --> Change 3414343 on 2017/04/28 by Ben.Marsh UBT: Exclude ThirdParty folders from PVS output. Change 3414392 on 2017/04/28 by Ben.Marsh Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory. Change 3414459 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Object goes out of scope without being freed. Change 3414495 on 2017/04/28 by Ben.Marsh Suppress some more PVS-Studio warnings. Change 3414514 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead. Change 3414526 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Variable assigned to itself has no effect. Change 3415183 on 2017/04/29 by Ben.Marsh Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS. Change 3415765 on 2017/05/01 by Ben.Marsh Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not. Change 3415853 on 2017/05/01 by Ben.Marsh EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created. Change 3416138 on 2017/05/01 by Ben.Marsh Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that. Change 3416309 on 2017/05/01 by Ben.Marsh Build: Fix node names for static analysis. Change 3416360 on 2017/05/01 by Ben.Marsh UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows. Change 3416398 on 2017/05/01 by Daniel.Lamb Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed. #test Cook on the side shootergame. Change 3416826 on 2017/05/01 by Daniel.Lamb Added callback to game when files are requested reload from networkfileserver. Game will need to unload / reload effected objects. Working on simple reload capability in shootergame. #test Cook on the side shootergame with reloading Change 3417983 on 2017/05/02 by Ben.Marsh EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern. Change 3418747 on 2017/05/02 by Steve.Robb Fix for const pointer properties. Fix for UHT debugging manifest. Test added for pointer properties. Change 3420477 on 2017/05/03 by Gil.Gribb UE4 - Removed check from windows async IO layer. [CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
virtual ~FLevelModelVisitor() { }
virtual void Visit(FLevelModel& Item) = 0;
};
/**
* Interface for non-UI presentation logic for a level in a world
*/
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 4047413) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3795481 by Nick.Shin HTML5 - disable SupportsScreenPercentage() - render the full screen otherwise, this is causing HTML5 screen to only render a portion of the screen and in black... - there may be another function is that not getting fired off "to render the screen" properly - this may be due to IsMobileHDR checks that are not fully accounted for the HTML5 platform #jira UE-52640 HTML5 only renders a black rectangle in the browser when launched Change 3807007 by Nick.Shin HTML5 - remove webgl1 only precompile guards (UE4_HTML5_TARGET_WEBGL2) toolchain can "fallback" to webgl1 -- webgl2 functions in UE4 code are "if checked"/configured/setup at start up #jira UE-51267 WebGL1 fails to compile Change 3822593 by Nick.Shin #jira UE-27141 Remove all #if PLATFORM_HTML5 from high level code Change 3823512 by Nick.Shin #jira UE-27141 Remove all #if PLATFORM_HTML5 from high level code Change 3824639 by Nick.Shin HTML5 - OSX - RunMacHTML5LaunchHelper.command - more helpful warning messages #jira UE-49861 A copied RunMacHTML5LaunchHelper.command gives unspecific Mono error Change 3829092 by Josh.Adams - Updated UnrealRemote to 1.4.1 Change 3832708 by Chris.Babcock Allow UE4Commandline.txt in APK #jira #ue4 #android Change 3835867 by Nick.Shin HTML5 - code cleanup origial work was for: UE-27141 (Remove all #if PLATFORM_HTML5 from high level code) this exposed an issue that i totally forgot about (.../Engine/Source/Developer/... only does builds tools -- which does not make use of PLATFORM_XXX preprocessor) tested with HTML5 builds with QAGame project :: TM-ShaderModels map #jira UE-53524 UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning Change 3839967 by Mi.Wang Override MaxObjectInGame on Android to save ~30M with the ObjectArray size. #Android Change 3842022 by Mi.Wang Fix an AssetRegistry size calculation bug. Change 3843552 by Sorin.Gradinaru UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled #4.19 #Android #jira UE-54139 S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash. Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags) Change 3844210 by Nick.Shin HTML5 - filter out "windows/super" keys - these are not used in UE4 - but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead... #jira UE-54056 HTML5 crashes inside browser upon pressing windows key Change 3844874 by Nick.Shin HTML5 - detect "SyntaxError: " and do a forced reload - an actual syntax error would be caught during compile time - this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page #jira UE-54017 QAGame fails to launch properly on HTML5 Firefox 64 bit Change 3846695 by Nick.Shin #jira UE-53524 UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning Change 3847309 by Nick.Shin HTML5 - (not to) show virtual joystick - virtual joysticks are not shown by default-- and the mouse not captured - this now behaves like the win64 client version #jira UE-33854 Virtual Joysticks In HTML5 if Mobile/Tablet Project is chosen Change 3847310 by Nick.Shin HTML5 - set controller axis and button max value in code instead of relying on emscripten_get_gamepad_status() - seems emscripten might be uninitialized by the time controlers are used... #jira UE-28513 - Using a controller in HTML5 causes error Change 3850606 by Nick.Shin HTML5 - more static warning fix ups #jira UE-53524 UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning Change 3850624 by Nick.Shin HTML5 - tell user/developer to show unsupported WebGL browsers on old hardware -- will need to try another browser note: using following jira to track progress: #jira UE-47066 Packaged HTML 5 Map Prompts for Firefox Update in Chrome Change 3855610 by Sorin.Gradinaru UE-49173 Progress bar causes black screen on iOS #iOS #4.20 #jira UE-49173 The bug occurs on iOS with Metal, when the last Slate element to be draw in the scene is a ScrollBar with progress between 0 and 1. As a workaround, adding another widget (eg. button, image) in the Blueprint solves the problem. The bug can be reproduced by adding OutDrawElements.PushClip & OutDrawElements.PopClip in any SWidget::OnPaint. The solution is to disable the scissor RHICmdList.SetScissorRect(false, 0, 0, 0, 0); in FSlateRHIRenderingPolicy::DrawElements after the batch rendering Change 3855652 by Sorin.Gradinaru iOS 3D browser UE-53248 Web Browser on a Widget Component is 2D when launching on to iOS #jira UE-53248 #iOS #4.20 Uses the same WebTexture from the WebBrowser plugin as the Android version. + Code contributed by Juan.Belon from Alea S.r.l at https://udn.unrealengine.com/questions/390166/3d-world-space-widget-is-being-rendered-in-screen.html Change 3856174 by Nick.Shin HTML5 - python forking will still error while trying to terminate already terminated processes - added same "WindowsError code 5" handler found in subprocess.py #jira UE-51618 HTML5 fails to build, [Error 5] Access is denied Change 3863322 by Sorin.Gradinaru UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format #jira UE-54317 #Android #4.19 Change 3878088 by Nick.Shin UEMOB-425 superceeds this jira #jira UE-25257 Mac HTML5 project crashes upon downloading expression HasFoundDataDirectory failed Change 3884560 by Jack.Porter Fix logspam in FAVMoviePlayer #jira UE-54760 Change 3886533 by Mi.Wang Fix a potential crash that the VirtualKeyboardWidget has been hide while trying to use in gamethread. Change 3889081 by Sorin.Gradinaru UE-54490 Android Startup Movie audio still playing when app paused, and after app resumed the movie is blackscreen until engine ticked. #Android #4.20 #jira UE-54490 Call ForceCompletion for the intial movie player on onPause. Call App Restart on Resume. Programmatically restarting an Android application basically consists in killing the current app, then using the launch intent as parameter for startActivity. This can be done only in onResume , which means that the movie player still has to be manually paused/stopped in onPause. I╞ve tried to kill the activity on onPause, tested on several devices, with various problems: the app doesn╞t restart anymore (onResume is not called) or the app is automatically sent to background (seems to be crashing when using the multitasking soft key). Change 3890320 by Chris.Babcock Fix initializer ordering #jira UE-55189 #ue4 Change 3958226 by Nick.Shin HTML5 disable memory poison tests and fix a bug during Realloc() // for Linux... and in turn for HTML5 #jria none Change 3958250 by Nick.Shin HTML5 - FText::FormatStr - skip if multi-threading not supported #jira none Change 3968328 by Nick.Shin HTML5 CORS fixes still need datarouter.ol.epicgames.com fixes to completely solve these issues. (API server own estimates no later than mid-April) note: the following are all related: + answerhub 756723 - HTML5 CORS / Access-Control-Allow-Headers + answerhub 756942 - HTML5 CORS Issue to my Hosts API / Hosted Server + UE-22285 - Session events are not generated for HTML5 + UE-19330 - HTML5 Analytics cross-origin request blocked header Access-Control-Allow-Origin missing #jira UE-19330 Change 3971405 by Nick.Shin HTML5 suppress double printing to console.log #jira none Change 3978767 by Nick.Shin HTML5 CORS fixes note: the following are all related: + answerhub 756723 - HTML5 CORS / Access-Control-Allow-Headers + answerhub 756942 - HTML5 CORS Issue to my Hosts API / Hosted Server + UE-22285 - Session events are not generated for HTML5 + UE-19330 - HTML5 Analytics cross-origin request blocked header Access-Control-Allow-Origin missing tested (against datarouter.ol.epicgames.com fixes) and found to be functional #jira UE-22285 Change 3981103 by Nick.Shin HTML5 - num pad keys crashes project match latest Engine/Source/Runtime/InputCore/Private/Linux/LinuxPlatformInput.cpp to HTML5PlatformInput.cpp also fix a HUD crash... #jira UE-54056 HTML5 crashes inside browser upon pressing windows key Change 3983424 by Sorin.Gradinaru UE-57107 Attempting to load a streamed media source causes the app to become unresponsive when device is not connected to internet #jira UE-57107 #Android #4.20 The ANR is because the android.media.MediaExtractor.setDataSource(UrlPath) calls an underlying api which retries the download (10-30 times). Additional issue (all platforms): the MediaFrameworkTest/StreamSource_Infiltrator souce seems to have been removed (no longer at https://docs.unrealengine.com/latest/attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4). According to the docs (https://docs.unrealengine.com/en-US/Engine/MediaFramework/HowTo/StreamMediaSource) the new location of the Sample Video is at https://dnnrz1gqa.blob.core.windows.net/portals/attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4?sr=b&si=DNNFileManagerPolicy&sig=F%2BBpnYueeQTUTSW0nCRSrXEfr35LIawe7C3MQoe2%2FPI%3D Change 3985248 by Nick.Shin HTML5 game window size add project setting drop down box to select canvas scaling mode #jira UE-46555 HTML5 game window does not scale with browser size Change 3986190 by Sorin.Gradinaru UE-56076 Android Launch On "Running..." toast intermittently doesn't appear #jira UE-56076 #Android #4.10 When cancelling Launch on Device, always call CancelContinuations for the current task Change 3986412 by Nick.Shin CIS error fix #jira none Change 3987007 by Nick.Shin HTML5 fullscreen size fix - when using FIXED scale mode initially, there's some strange padding margins - but, setting UE4_fullscreenScaleMode to anything "but FIXED scale mode" will work... #jira UE-46555 HTML5 game window does not scale with browser size Change 3988408 by Nick.Shin HTML5 call EndSession() onbeforeunload() ? should PreExit() be called instead? #jira UE-57207 Session End event is not generated for HTML5 Change 3991828 by Nick.Shin HTML5 shipping build crash some FVector2D needs ContainsNaN() checks #jira UE-57401 Projects packaged for Shipping HTML5 do not launch the engine in the browser Change 3992884 by Nick.Shin HTML5 call EndSession() onbeforeunload() code cleanup #jira UE-57207 Session End event is not generated for HTML5 Change 3992887 by Nick.Shin datarouter: Session events code cleanup #jira UE-22285 - Session events are not generated for HTML5 Change 4002603 by Sorin.Gradinaru UE-56177 Unplugging a device while launching onto it from a source build will result in the "Running..." toast staying open #jira UE-56177 #Android #iOS #4.10 Using the device discovery to signal when the running device gets disconnected Change 4007162 by Dmitriy.Dyomin Merging using Dev-Mobile->FortMain Added ObjectOrientation material node for decals, returns decal projection direction ( X-axis) #jira none Change 4012196 by Sorin.Gradinaru UE-57120 Lighting needs to be rebuilt error appears on Camera test app on Nexus 9 and Note 4. #jira UE-57120 #Android #4.20 Level lightings rebuilt and QA-Media_Camera_BuiltData.uasset added. The message appeared (rarely and only on certain devices) because the engine tries to load the pre-computed lightmap data on the render thread, then to add it to the scene on the game thread (in FPrecomputedVolumetricLightmap::AddToScene). Most of the times there is a desync and the data is not yet loaded when the lightmap is validated (in FScene::AddPrecomputedVolumetricLightmap). Change 4013034 by Sorin.Gradinaru UE-55427 iOS application crashes when suspending and resuming the startup movie in rapid succession #jira UE-55427 #iOS #4.20 Caused by ToggleSuspend waiting for FDefaultGameMoviePlayer::WaitForMovieToFinish() Renamed InitialMovie to StartupMovie, including the methods related to the Android platform. Change 4015449 by Sorin.Gradinaru UE-38306 "Running xxx on yyy" panel Cancel button should terminate app #jira UE-38306 #Android #4.10 Run on device: Pressing Cancel on the "Running..." message should stop the application, if running Cancel Android builds using "adb shell am force-stop <bundle_id> <device_id>" Note: Using a new AutomationTool command (re-starting the Automation tool after canceling the BuildCookRun task chain) is too slow - takes 3-10 sec depending on the PC configuration. AutomationTool is used now only to correctly retrieve the bundle id for each Android device. This is done inside the BuildCookRun command when the application is deployed on the device(s). Cannot simply use the current project's properties to retrieve the bundle id, because when using Launch-> Device Launcher, the user can choose to cook&deploy a different project/texture format, also the user can create & use a profile with multiple devices / with different texture formats. Change 4016057 by Sorin.Gradinaru UE-57845 GitHub 4666 : Pull request clipboard on android #jira UE-57845 #4.20 #Android #4666 https://github.com/EpicGames/UnrealEngine/pull/4666 Implemented Clipboard function on Android. Change 4020229 by Sorin.Gradinaru UE-57845 GitHub 4666 : Pull request clipboard on android #jira UE-57845 #Android #4.20 GameActivity.java: moving the methods related to clipboard above the native public declarations Change 4021188 by Sorin.Gradinaru UE-57876 Location accuracy is ignored by ULocationServicesIOSImpl #jira UE-57876 #iOS #4.30 In ULocationServicesIOSImpl::InitLocationServices(ELocationAccuracy Accuracy, float UpdateFrequency, float MinDistance) the first param must be converted to CLLocationAccuracy and used as the first param of LocationDelegateinitLocationServices, rather than using the hardcoded kCLLocationAccuracyHundredMeters. Also fixed a compilation error (!) when enabling The Location Services plugin on iOS Change 4024839 by Sorin.Gradinaru UE-38306 "Running xxx on yyy" panel Cancel button should terminate app #jira UE-38306 #Android #4.10 Removed unnecessary #include "AndroidTargetDevice.h", causing circular reference => nightly build errors Change 4024962 by Cosmin.Sulea UE-56294 - Packaging step fails when packaging project for distribution #jira UE-56294 Change 4026122 by Sorin.Gradinaru UE-57149 Razer Phone: Crash after Switching Camera Format 22-26 times #jira UE-57149 #Android #4.20 jobject obj = env->GetObjectArrayElement must be followed by env->DeleteLocalRef(obj) The bug can probably be reproduced by using a MediaPlayer. Change 4038185 by Nick.Shin HTML5 - merge error fix MallocAnsi.cpp was stomped on #jira UE-58367 //UE4/Dev-Mobile - Compile UE4Game HTML5 - use of undeclared identifier 'malloc_usable_size' Change 4039521 by Dmitriy.Dyomin Export WorldBrowser API so plugin makers can use it #jira UE-57323 Change 4039523 by Dmitriy.Dyomin Exposed MobilePatchingLibrary API #jira UE-55941 Change 4039526 by Dmitriy.Dyomin Fixed: Hierarchy filtering does not work in world composition #jira UE-57900 Change 4039529 by Dmitriy.Dyomin Fixed: 'Apply Fogging' in Material does not work on Mobile (GitHub 4357) #jira UE-53618 #4357 Change 4039874 by Sorin.Gradinaru UEMOB-436 Support "All Android" Launch On and Project Launcher options The main change is in the DeviceProxy class. A new type ("All devices" proxy) was added, and the proxy now holds a list of physical device IDs for every variant (texture format), instead of a single device ID. The "All devices" proxy is updated automatically by the device discovery thread. The change was necessary because the list in the Project Launcher is using the device proxy list. #jira UEMOB-436 #Android #UE4 #4.19 Change 4041446 by John.Mauney Fix that Chris B made locally on my machine #jira UE-58420 Change 4041791 by Jack.Porter Fix CIS incremental UE4Editor Win64 #jira 0 [CL 4047603 by Jack Porter in Main branch]
2018-05-02 22:53:38 -04:00
class WORLDBROWSER_API FLevelModel
: public TSharedFromThis<FLevelModel>
{
public:
typedef IFilter<const TWeakObjectPtr<AActor>&> ActorFilter;
DECLARE_EVENT( FLevelModel, FSimpleEvent );
public:
FLevelModel(FLevelCollectionModel& InLevelCollectionModel);
virtual ~FLevelModel();
/** Traverses level model hierarchy */
void Accept(FLevelModelVisitor& Vistor);
/** Sets level selection flag */
void SetLevelSelectionFlag(bool bExpanded);
/** @return Level selection flag */
bool GetLevelSelectionFlag() const;
/** Sets level child hierarchy expansion flag */
void SetLevelExpansionFlag(bool bExpanded);
/** @return Level child hierarchy expansion flag */
bool GetLevelExpansionFlag() const;
/** Sets level filtered out flag */
void SetLevelFilteredOutFlag(bool bFiltredOut);
/** @return Whether this level model was filtered out */
bool GetLevelFilteredOutFlag() const;
/** @return Level display name */
FString GetDisplayName() const;
/** @return Level package file name */
FString GetPackageFileName() const;
/** @return Whether level model has valid package file */
virtual bool HasValidPackage() const { return true; };
/** @return Pointer to UObject to be used as key in SNodePanel */
virtual UObject* GetNodeObject() = 0;
/** @return ULevel object if any */
virtual ULevel* GetLevelObject() const = 0;
/** @return Level asset name */
virtual FName GetAssetName() const = 0;
/** @return Level package file name */
virtual FName GetLongPackageName() const = 0;
/** Update asset associated with level model */
virtual void UpdateAsset(const FAssetData& AssetData) = 0;
/** Refreshes cached data */
virtual void Update();
/** Refreshes visual information */
virtual void UpdateVisuals();
/** @return Whether level is in PIE/SIE mode */
bool IsSimulating() const;
/** @return Whether level is CurrentLevel */
bool IsCurrent() const;
/** @return Whether level is PersistentLevel */
bool IsPersistent() const;
/** @return Whether level is editable */
bool IsEditable() const;
/** @return Whether level is dirty */
bool IsDirty() const;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
/** @return Whether level is a lighting scenario */
bool IsLightingScenario() const;
void SetIsLightingScenario(bool bNew);
/** @return Whether level has loaded content */
bool IsLoaded() const;
/** @return Whether level is in process of loading content */
bool IsLoading() const;
/** @return Whether level is visible in the world */
bool IsVisible() const;
/** @return Whether level is locked */
bool IsLocked() const;
/** @return Whether level package file is read only */
bool IsFileReadOnly() const;
/** @return Whether this level can be add/removed/unloaded by user */
bool IsUserManaged() const;
/** @return Whether the streaming level object is transient */
virtual bool IsTransient() const { return false; }
/** Loads level into editor */
virtual void LoadLevel();
/** Sets the Level's visibility */
virtual void SetVisible(bool bVisible);
/** Static function analog to the non-static SetVisible but applied to an TArray of FLevelModel elements */
static void SetVisible(TArray<FLevelModel*>& LevelModels, const TArray<bool>& bAreVisible);
/** Sets the Level's locked/unlocked state */
void SetLocked(bool bLocked);
/** Sets Level as current in the world */
void MakeLevelCurrent();
/** @return Whether specified point is hovering level */
virtual bool HitTest2D(const FVector2D& Point) const;
/** @return Level top left corner position */
virtual FVector2D GetLevelPosition2D() const;
/** @return XY size of level */
virtual FVector2D GetLevelSize2D() const;
/** @return Level bounding box */
virtual FBox GetLevelBounds() const;
/** @return level translation delta, when user moving level item */
FVector2D GetLevelTranslationDelta() const;
/** Sets new translation delta to this model and all descendants*/
void SetLevelTranslationDelta(FVector2D InAbsoluteDelta);
/** @return level color, used for visualization. (Show -> Advanced -> Level Coloration) */
virtual FLinearColor GetLevelColor() const;
/** Sets level color, used for visualization. (Show -> Advanced -> Level Coloration) */
virtual void SetLevelColor(FLinearColor InColor);
/** Whether level should be drawn in world composition view */
virtual bool IsVisibleInCompositionView() const;
/** @return Whether level has associated blueprint script */
bool HasKismet() const;
/** Opens level associated blueprint script */
void OpenKismet();
/**
* Sets parent for this item
* @return false in case attaching has failed
*/
bool AttachTo(TSharedPtr<FLevelModel> InParent);
/** Notifies level model that filters has been changed */
void OnFilterChanged();
/** @return Level child hierarchy */
const FLevelModelList& GetChildren() const;
/** @return Parent level model */
TSharedPtr<FLevelModel> GetParent() const;
/** Sets link to a parent model */
void SetParent(TSharedPtr<FLevelModel>);
/** Removes all entries from children list*/
void RemoveAllChildren();
/** Removes specific child */
void RemoveChild(TSharedPtr<FLevelModel> InChild);
/** Adds new entry to a children list */
void AddChild(TSharedPtr<FLevelModel> InChild);
/** @return Whether this model has in ancestors specified level model */
bool HasAncestor(const TSharedPtr<FLevelModel>& InLevel) const;
/** @return Whether this model has in descendants specified level model */
bool HasDescendant(const TSharedPtr<FLevelModel>& InLevel) const;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3431234) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3323393 on 2017/02/27 by Ben.Cosh This fixes an issue with actor details component selection causing actor selection to get out of sync across undo operations #Jira UE-40753 - [CrashReport] UE4Editor_LevelEditor!FLevelEditorActionCallbacks::Paste_CanExecute() [leveleditoractions.cpp:1602] #Proj Engine Change 3379355 on 2017/04/04 by Lauren.Ridge Adding sort priorities to Material Parameters and Parameter Groups. If sort priorities are equal, fallback to alphabetical sort. Default sort priority is 0, can be set on the parameter in the base material. Parameters are still sorted within groups.Group sort priority is set on the main material preferences. Change 3379389 on 2017/04/04 by Nick.Darnell Core - Removing several old macros that were referring to EMIT_DEPRECATED_WARNING_MESSAGE, which is no longer defined in the engine, so these macros are double deprecated. Change 3379551 on 2017/04/04 by Nick.Darnell Automation - Adding more logging to the automation controller when generating reports. Change 3379554 on 2017/04/04 by Nick.Darnell UMG - Making the WidgetComponent make more things caneditconst in the editor depending on what the settings are to make it more obvious what works in certain contexts. Change 3379565 on 2017/04/04 by Nick.Darnell UMG - Deprecating OPTIONA_BINDING, moving to PROPERTY_BINDING in place and you'll need to define a PROPERTY_BINDING_IMPLEMENTATION. Will make bindings safer to call from blueprints. Change 3379576 on 2017/04/04 by Lauren.Ridge Parameter group dropdown now sorts alphabetically Change 3379592 on 2017/04/04 by JeanMichel.Dignard Fbx Morph Targets import optimisation - Only reimport the points for each morphs and compute the tangents for the wedges affected by those points. - Removed the full skeletal mesh rebuild on each morph target import. - Allow MeshUtilities::ComputeTangents_MikkTSpace to only recompute the tangents that are zero. Gains around 7.30 mins for 785 morph targets in mikkt space and 1.30 mins using built-in normals, with provided test file. #jira UE-34125 Change 3380260 on 2017/04/04 by Nick.Darnell UMG - Fixing some OPTIONAL_BINDINGS that needed to be converted. Change 3380551 on 2017/04/05 by Andrew.Rodham Sequencer: Fixed ImplIndex sometimes not relating to the source data index when compiling at the track level #jira UE-43446 Change 3380555 on 2017/04/05 by Andrew.Rodham Sequencer: Automated unit tests for the segment and track compilers Change 3380647 on 2017/04/05 by Nick.Darnell UMG - Tweaking some stuff on the experimental rich textblock. Change 3380719 on 2017/04/05 by Yannick.Lange Fix 'Compile FortniteClient Mac' and 'Compile Ocean iOS' Failed with Material.cpp errors. Wrapping WITH_EDITOR around ParameterGroupData. #jira UE-43667 Change 3380765 on 2017/04/05 by Nick.Darnell UMG - Fixing a few more instances of OPTIONAL_BINDING. Change 3380786 on 2017/04/05 by Yannick.Lange Wrap SortPriority in GetParameterSortPriority with WITH_EDITOR. Change 3380872 on 2017/04/05 by Matt.Kuhlenschmidt PR #3453: UE-43004: YesNo MessageDialog instead of YesNoCancel (Contributed by projectgheist) Change 3381635 on 2017/04/05 by Matt.Kuhlenschmidt Expose static mesh material accessors to blueprints #jira UE-43631 Change 3381643 on 2017/04/05 by Matt.Kuhlenschmidt Added a way to enable or disable the component transform units display independently from unit display anywhere else. This is off by default Change 3381705 on 2017/04/05 by Yannick.Lange - Slate application multiple input pre-processors. - Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor. Change 3381959 on 2017/04/05 by Yannick.Lange Back out changelist 3381705. Old changelist. Change 3382049 on 2017/04/05 by Yannick.Lange - Slate application multiple input pre-processors in a wrapper class. - Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor. - Deprecated SetInputPreProcessor, but made it work with RegisterInputPreProcessor and UnregisterInputPreProcessor. Change 3382450 on 2017/04/06 by Andrew.Rodham Sequencer: Fixed 'ambiguous' overloaded constructor for UT linux server builds Change 3382468 on 2017/04/06 by Yannick.Lange Rename AllowWorldMovement parameter to bAllow. Change 3382474 on 2017/04/06 by Yannick.Lange Make GetInteractors constant because we dont want it to be possible to change this arrray. Change 3382492 on 2017/04/06 by Yannick.Lange VR Editor: Floating UI's are stored in a map with FNames as key. Change 3382502 on 2017/04/06 by Yannick.Lange VR Editor: Use asset container for auto scaler sound. Change 3382589 on 2017/04/06 by Nick.Darnell Slate - Upgrading usages of SetInputPreprocessor. Also adjusting the API for the new preprocessor functions to have an option to remove all, which was what several usages expected. Also updated the deprecated version of SetInputPreprocessor to removeall if null is provided for the remove, mimicing the old functionality. Change 3382594 on 2017/04/06 by Nick.Darnell UMG - Deprecating GetMousePositionScaledByDPI, this function has too many issues, and I don't want to break buggy backwards compatability, so just going to deprecate it instead. For replacement, you can now access an FGeometry representing the viewport (after DPI scale has been added to the transform stack), and also the FGeometry for a Player's Screen widget host, which might be constrained for splitscreen, or camera aspect. Change 3382672 on 2017/04/06 by Nick.Darnell Build - Fixing incremental build. Change 3382674 on 2017/04/06 by Nick.Darnell Removing a hack added by launcher. Change 3382697 on 2017/04/06 by Matt.Kuhlenschmidt Fixed plugin browser auto-resizing when scrolling. Gave it a proper splitter Change 3382875 on 2017/04/06 by Michael.Trepka Modified FMacApplication::OnCursorLock() to avoid a thread safety problem with using TSharedPtr/Ref<FMacWindow> of the same window on main and game threads simultaneously. #jira FORT-34952 Change 3383303 on 2017/04/06 by Lauren.Ridge Adding sort priority to texture parameter code Change 3383561 on 2017/04/06 by Jamie.Dale Fixed MaximumIntegralDigits incorrectly including group separators in its count Change 3383570 on 2017/04/06 by Jamie.Dale Added regression tests for formatting a number with MaximumIntegralDigits and group separators enabled Change 3384507 on 2017/04/07 by Lauren.Ridge Mesh painting no longer paints on invisible components. Toggling visiblity refreshes the selected set. #jira UE-21172 Change 3384804 on 2017/04/07 by Joe.Graf Fixed a clang error on Linux due to missing virtual destructor when deleting through the interface pointer #CodeReview: marc.audy #rb: n/a Change 3385011 on 2017/04/07 by Matt.Kuhlenschmidt Fix dirtying levels just by copying actors if the level contains a foliage actor. The foliage system makes lazy asset pointers #jira UE-43750 Change 3385127 on 2017/04/07 by Lauren.Ridge Adding WITHEDITOR to OnDragDropCheckOverride Change 3385241 on 2017/04/07 by Jamie.Dale Removing warning if asking for a null or empty localization provider Change 3385442 on 2017/04/07 by Arciel.Rekman Fix a number of problems with Linux splash. - Thread safety (UE-40354). - Inconsistent font (UE-35000). - Change by Cengiz Terzibas. Change 3385708 on 2017/04/08 by Lauren.Ridge Resaving VREditor asset container with engine version Change 3385711 on 2017/04/08 by Arciel.Rekman Speculative fix for a non-unity Linux build. Change 3386120 on 2017/04/10 by Matt.Kuhlenschmidt Fix stats not being enabled when in simulate Change 3386289 on 2017/04/10 by Matt.Kuhlenschmidt PR #3466: Git plugin: add option to autoconfigure Git LFS (Contributed by SRombauts) Change 3386301 on 2017/04/10 by Matt.Kuhlenschmidt PR #3470: Git Plugin: disable "Keep Files Checked Out" checkbox on Submit to Source Control Window (Contributed by SRombauts) Change 3386381 on 2017/04/10 by Michael.Trepka PR #3461: Mac doesn't return the correct exit code (Contributed by projectgheist) Change 3388223 on 2017/04/11 by matt.kuhlenschmidt Deleted collection: MattKTest Change 3388808 on 2017/04/11 by Lauren.Ridge Reset arrows now only display for non-default values in the Material Instance editor. Reset to default arrows now are placed in the correct location for SObjectPropertyEntryBox and SPropertyEditorAsset. SResetToDefaultPropertyEditor now takes a property handle in the constructor, instead of an FPropertyEditor. #jira UE-20882 Change 3388843 on 2017/04/11 by Lauren.Ridge Forward declaring custom reset override. Fix for incremental build error Change 3388950 on 2017/04/11 by Nick.Darnell PR #3450: UMG "Lock" Feature (Contributed by GBX-ABair). Epic Edit: Made some changes to make it work with named slots, added an option not to always recursively itterate the children, also removed the dependency on SWidget changes. Change 3388996 on 2017/04/11 by Matt.Kuhlenschmidt Removed crashtracker Change 3389004 on 2017/04/11 by Lauren.Ridge Fix for automated test error - additional safety check for if the reset button has been successfully created. Change 3389056 on 2017/04/11 by Matt.Kuhlenschmidt Removed editor live streaming Change 3389077 on 2017/04/11 by Jamie.Dale Removing QAGame config change Change 3389078 on 2017/04/11 by Nick.Darnell Fortnite - Fixing an input preprocessor warning. Change 3389136 on 2017/04/11 by Nick.Darnell Slate - Removing deprecated 'aspect ratio' locking box cells, never really worked, deprecated a long time ago. Change 3389147 on 2017/04/11 by Nick.Darnell UMG - Fixing a critical error with the alignment of the lock icon. #jira UE-43881 Change 3389401 on 2017/04/11 by Nick.Darnell UMG - Adds a designer option to control respecting the locked mode. Change 3389638 on 2017/04/11 by Nick.Darnell UMG - Adding the Widget Reflector button to the widget designer. Change 3389639 on 2017/04/11 by Nick.Darnell UMG - Tweaking the respect lock icon. Change 3390032 on 2017/04/12 by JeanMichel.Dignard Fixed project generation when using subfolders in Target.SolutionDirectory (ie: SolutionDirectory = "Programs\MyProgram") Change 3390033 on 2017/04/12 by Matt.Kuhlenschmidt PR #3472: Exposed Distributions to Game Projects and Plugins (Contributed by StormtideGames) Change 3390041 on 2017/04/12 by Matt.Kuhlenschmidt PR #3446: Add missing TryLock to PThreadCriticalSection and add RAII helper for try locking. (Contributed by Laurie-Hedge) Change 3390196 on 2017/04/12 by Lauren.Ridge Fix for crash on opening assets without reset to default button enable Change 3390414 on 2017/04/12 by Matt.Kuhlenschmidt PR #3300: UE-5528: Added check for empty startup tutorial path (Contributed by projectgheist) #jira UE-5528 Change 3390427 on 2017/04/12 by Jamie.Dale Fixed not being able to set pure whitespace values on FText properties #jira UE-42007 Change 3390712 on 2017/04/12 by Jamie.Dale Content Browser search now takes the display names of properties into account #jira UE-39564 Change 3390897 on 2017/04/12 by Nick.Darnell Slate - Changing the order that the tabs draw in so that the draw front to back, instead of back to front. Change 3390900 on 2017/04/12 by Nick.Darnell Making a Cast CastChecked in UScaleBox. Change 3390907 on 2017/04/12 by Nick.Darnell UMG - Adding GetMousePositionOnPlatform and GetMousePositionOnViewport as other replacements that people can use rather than GetMousePositionScaledByDPI. Change 3390934 on 2017/04/12 by Cody.Albert Fix to set correct draw layer in FSlateElementBatcher::AddElements Change 3390966 on 2017/04/12 by Nick.Darnell Input - Force inline some core input functions. Change 3391207 on 2017/04/12 by Jamie.Dale Fixed moving a folder containing a level not moving the level Also removed some redundant usage of ContentBrowserUtils::GetUnloadedAssets #jira UE-42091 Change 3391327 on 2017/04/12 by Mike.Fricker Removed Twitch support and GameLiveStreaming Change 3391405 on 2017/04/12 by Mike.Fricker Removed Twitch support and GameLiveStreaming (part 2) Change 3391407 on 2017/04/12 by Mike.Fricker Removed some remaining EditorLiveStreaming and CrashTracker code Change 3392296 on 2017/04/13 by Yannick.Lange VR Editor: New assets in asset containers for gizmo rotation. Change 3392332 on 2017/04/13 by Nick.Darnell Slate - Removing delegate hooks from the safezone and scalebox widget when the widgets are cleaned up. Change 3392349 on 2017/04/13 by Cody.Albert Corrected typo Change 3392688 on 2017/04/13 by Yannick.Lange VR Editor: Resaved asset containers Change 3392905 on 2017/04/13 by Jamie.Dale Fixed FPaths::ChangeExtension and FPaths::SetExtension stomping over the path part of a filename if the name part of the had no extension but the path contained a dot, eg) C:/First.Last/file Change 3393514 on 2017/04/13 by Yannick.Lange VR Editor: Temp direct interaction pointer. Change 3393930 on 2017/04/14 by Yannick.Lange VR Editor: Remove unused transform gizmo Change 3394084 on 2017/04/14 by Max.Chen Audio Capture: No longer beta Change 3394499 on 2017/04/14 by Cody.Albert Updated UMovieSceneSpawnTrack::PostLoad to call ConditionalPostLoad on bool track before converting it to a spawn track #rnx Change 3395703 on 2017/04/17 by Yannick.Lange Duplicate from Release-4.16 CL 3394172 Viewport Interaction: Fix disable animation when aiming for gizmo stretch handles. #jira UE-43964 Change 3395794 on 2017/04/17 by Mike.Fricker #rn Fixed FastXML not loading XML files with attributes delimited by single quote characters Change 3395945 on 2017/04/17 by Yannick.Lange VR Editor: Swap end and start of laser, because they start of laser was using end mesh. Change 3396253 on 2017/04/17 by Michael.Dupuis #jiraUE-43693: While moving foliage instance between levels, UI count was'nt updating properly Moved MoveSelectedFoliageToLevel to EdModeFoliage as we required more treatment than was done in LevelCollectionModel Ask to save foliage type as asset while moving between level foliage instances containing local foliage type Change 3396291 on 2017/04/17 by Michael.Dupuis #jira UE-35029: Added a cache for mesh bounds so if the bounds changed we can rebuild the occlusion tree Added possibility to register on bounds changed of a static mesh in editor mode Rebuild the occlusion tree if the mesh bounds changed Rebuild the occlusion tree if we change the mesh associated with a foliage type Optimize some operation to not Rebuild the occlusion tree for every instance added/remove instead it's done at the end of the operation Change 3396293 on 2017/04/17 by Michael.Dupuis #jira UE-40685: Improve Collision With World algo, to support painting pitch rotated instance or not on a flat terrain or slope respecting the specified ground angles Change 3397660 on 2017/04/18 by Matt.Kuhlenschmidt PR #3480: Git plugin: improve/cleanup init and settings (Contributed by SRombauts) Change 3397675 on 2017/04/18 by Alex.Delesky #jira UE-42383 - Adds a delegate to the placement mode module to allow users to register custom categories and listen to when they should be refreshed. Change 3397818 on 2017/04/18 by Yannick.Lange ViewportInteraction and VR Editor: - Replace GENERATED_UCLASS_BODY with GENERATED_BODY. - Remove destructors for uobjects. Change 3397832 on 2017/04/18 by Yannick.Lange VR Editor: Remove unused vreditorbuttoon Change 3397884 on 2017/04/18 by Yannick.Lange VREditor: Addition to 3397832, remove unused vreditorbuttoon. Change 3397985 on 2017/04/18 by Michael.Trepka Another attempt to solve the issue with dsymutil failing with an error saying the input file did not exist. We now check for the input file's existence in a loop 30 times (once a second) before trying to call dsymutil. Also, added a FixDylibDependencies as a prerequisite for dSYM generation. #jira UE-43900 Change 3398030 on 2017/04/18 by Jamie.Dale Fixed outline changes not automatically updating the text layout used by a text block #jira UE-42116 Change 3398039 on 2017/04/18 by Jamie.Dale Unified asset drag-and-drop FAssetDragDropOp now handles both assets and asset paths, and FAssetPathDragDropOp has been removed. This allows assets and folders to be drag-dropped at the same time in the Content Browser. #jira UE-39208 Change 3398074 on 2017/04/18 by Michael.Dupuis Fixed crash in cooking fortnite Change 3398351 on 2017/04/18 by Alex.Delesky Fixing PlacementMode module build error Change 3398513 on 2017/04/18 by Yannick.Lange VR Editor: - Remove unused previousvreditor member. - Removing extensions when exiting vr mode without having to find the extensions. Change 3398540 on 2017/04/18 by Alex.Delesky Removing a private PlacementMode header that was included in a public one. Change 3399434 on 2017/04/19 by Matt.Kuhlenschmidt Remove uncessary files from p4 Change 3400657 on 2017/04/19 by Jamie.Dale Fixed potential underflow when using negative digit ranges with FastDecimalFormat Change 3400722 on 2017/04/19 by Jamie.Dale Removed some check's that could trip with malformed data Change 3401811 on 2017/04/20 by Jamie.Dale Improved the display of asset tags in the Content Browser - Numeric tags are now displayed pretty printed. - Numeric tags can now be displayed as a memory value (the numeric value should be in bytes). - Dimensional tags are now split and each part pretty printed. - Date/Time tags are now stored as a timestamp (which has the side effect of sorting correctly) and displayed as a localized date/time. - The column view now shows the same display values as the tooltips do. - The tooltip now uses the tag meta-data display name (if set). - The tag meta-data display name can now be used as an alias in the Content Browser search. #jira UE-34090 Change 3401868 on 2017/04/20 by Cody.Albert Add screenshot save directory parameter to editor and project settings #rn Added options to the settings menu to specify screenshot save directory Change 3402107 on 2017/04/20 by Jamie.Dale Cleaned up the "View Options" menu in the Content Browser Re-organized some of the settings into better groups, and fixed some places where items would still be shown in the asset view when some of these content filter options were disabled (either via a setting, or via the UI). Change 3402283 on 2017/04/20 by Jamie.Dale Creating a folder in the Content Browser now creates the folder on disk, and cancelling a folder naming now removes the temporary folder #jira UE-8892 Change 3402572 on 2017/04/20 by Alex.Delesky #jira UE-42421 PR #3311: Improved log messages (Contributed by projectgheist) Change 3403226 on 2017/04/21 by Yannick.Lange VR Editor: - Removed previous quick menu floating UI panel. - Added the concept of a info display floating UI panel. - Used info display for showing sequencer timer. Change 3403277 on 2017/04/21 by Yannick.Lange VR Editor: - Set window mesh for info display panel. - Add option to null out widget when hidden. Change 3403289 on 2017/04/21 by Yannick.Lange VR Editor: Don't load VREditorAssetContainer asset when starting editor. Change 3403353 on 2017/04/21 by Yannick.Lange VR Editor: Fix variable 'RelativeOffset' is uninitialized when used within its own initialization. Change 3404183 on 2017/04/21 by Matt.Kuhlenschmidt Fix typo Change 3405378 on 2017/04/24 by Alex.Delesky #jira UE-42550 - Audio thumbnails should never rerender now, even with real-time thumbnails enabled Change 3405382 on 2017/04/24 by Alex.Delesky #jira UE-42097 - The Main Frame window will no longer steadily grow if it's closed while not maximized Change 3405384 on 2017/04/24 by Alex.Delesky #jira UE-43985 - Duplicating Force Feedback, Sound Wave, or Sound Cue assets from the context menu after right-clicking on the playback controls will now correctly select the newly created asset for rename. Change 3405386 on 2017/04/24 by Alex.Delesky #jire UE-42239 - Blueprints that have been duplicated from another blueprint will now render their thumbnails correctly instead of displaying a flat black thumbnail. Change 3405388 on 2017/04/24 by Alex.Delesky #jira UE-43241 - Blueprint classes that derive from notplaceable classes (such as SpectatorPawn and GameMode) can no longer be placed within the level editor via the right-click Add/Replace menus Change 3405394 on 2017/04/24 by Alex.Delesky #jira UE-42137 - Users can no longer access the widget object of a Widget Component from within actor construction scripts Change 3405429 on 2017/04/24 by Alex.Delesky Fixing a naming issue for CL 3405378 Change 3405579 on 2017/04/24 by Cody.Albert Fixed bad include from CL#1401868 #jira UE-44238 Change 3406716 on 2017/04/24 by Max.Chen Sequencer: Add attach/detach rules for attach section. #jira UE-40970 Change 3406718 on 2017/04/24 by Max.Chen Sequencer: Set component velocity for attached objects #jira UE-36337 Change 3406721 on 2017/04/24 by Max.Chen Sequencer: Re-evaluate on stop. This fixes a situation where if you set the playback position to the end of a sequence while it's playing, the sequence will stop playing but won't re-evaluate to the end of the sequence. #jira UE-43966 Change 3406726 on 2017/04/24 by Max.Chen Sequencer: Added StopAndGoToEnd() function to player #jira UE-43967 Change 3406727 on 2017/04/24 by Max.Chen Sequencer: Add cinematic options to level sequence player #jira UE-39388 Change 3407097 on 2017/04/25 by Yannick.Lange VR Editor: Temp asset for free rotation handle gizmo. Change 3407123 on 2017/04/25 by Michael.Dupuis #jira UE-44329: Only display the message in attended mode and editor (so user can actually perform the save) Change 3407135 on 2017/04/25 by Max.Chen Sequencer: Load level sequence asynchronously. #jira UE-43807 Change 3407137 on 2017/04/25 by Shaun.Kime Fixing comments to refer to correct function name. Change 3407138 on 2017/04/25 by Max.Chen Sequencer: Mark actor that the spawnable duplicates as a transient so that the level isn't dirtied. Then clear the transient flag on the object template. #jira UE-30007 Change 3407139 on 2017/04/25 by Max.Chen Sequencer: Fix active marker in sub, cinematic, control rig sections. #jira UE-44235 Change 3407229 on 2017/04/25 by Max.Chen Sequencer: Prioritize buttons over label. #jira UE-26813 Change 3407343 on 2017/04/25 by Matt.Kuhlenschmidt Added a world accessor to blutilties so they can operate on the editor world (spawn,destroy actors etc) Change 3407401 on 2017/04/25 by Nick.Darnell Slate - Adding a Round function to SlateRect. Also adding a way to convert a Transform2D to a full matrix. Change 3407842 on 2017/04/25 by Matt.Kuhlenschmidt Made AssetTools a uobject interface so it could be access from script. A few methods were deprecated and renamed to enforce a consistent UI. Now all asset tools methods that expose a dialog have "WithDialog" in their name to differentiate them from methods that do not open dialogs and could be used by scripts for automation. C++ users may still access IAssetTools but should not ever need to use the UAssetTools interface class Change 3407890 on 2017/04/25 by Matt.Kuhlenschmidt Removed temp method Change 3408084 on 2017/04/25 by Matt.Kuhlenschmidt Exposed source control helpers to script Change 3408163 on 2017/04/25 by Matt.Kuhlenschmidt Deprecated actor grouping methods on UUnrealEdEngine and moved their functionality into their own class( UActorGroupingUtils). There is a new editor config setting to set which grouping utils class is used and defaults to the base class. The new utility methods are exposed to script. Change 3408220 on 2017/04/25 by Alex.Delesky #jira UE-43387 - The Levels window will now support the organization of streaming levels using editor-only folders. Change 3408239 on 2017/04/25 by Matt.Kuhlenschmidt Added a file helpers API to script. This one is a wrapper around FEditorFileUtils for now to work around some issues exposing legacy methods to script but FEditorFileUtils will be deprecated soon Change 3408314 on 2017/04/25 by Jamie.Dale Fixed typo Change 3408911 on 2017/04/25 by Max.Chen Level Editor: Delegate for when viewport tab content changes. #jira UE-37805 Change 3408912 on 2017/04/25 by Max.Chen Sequencer: Transport controls are added when viewport content changes and only to viewports that support it (ie. cinematic viewport doesn't allow it since it has its own transport controls). This fixes issues where transport controls wouldn't be visible in newly created viewports and also would get disabled when switching from default to cinematic and back to default. #jira UE-37805 Change 3409073 on 2017/04/26 by Yannick.Lange VR Editor: Fix starting point of lasers. Change 3409330 on 2017/04/26 by Matt.Kuhlenschmidt Fix CIS Change 3409497 on 2017/04/26 by Alexis.Matte Fix crash importing animation with skeleton that do not match the fbx skeleton. #jira UE-43865 Change 3409530 on 2017/04/26 by Michael.Dupuis #jira UE-44329: Only display the log if we're not running a commandlet Change 3409559 on 2017/04/26 by Alex.Delesky #jira none - Fixing case of header include for CL 3408220 Change 3409577 on 2017/04/26 by Yannick.Lange VR Editor: being able to push/pull along the laser using touchpad or analog stick when transforming object towards laser impact. Change 3409614 on 2017/04/26 by Max.Chen Sequencer: Add Scrub() to movie scene player. Change 3409658 on 2017/04/26 by Jamie.Dale Made the handling of null item selection consistent in SComboBox If the selection was initially null and the combo was closed, it would previously pass through the null entry to its child SListView, which would then always think the selection was changing when the combo was opened and cause it to immediately close again. Change 3409659 on 2017/04/26 by Jamie.Dale Added preset Unicode block range selection to the font editor UI #jira UE-44312 Change 3409755 on 2017/04/26 by Max.Chen Sequencer: Back out bIsUISound for scrubbing. Change 3410015 on 2017/04/26 by Max.Chen Sequencer: Fix crash on asynchronous level sequence player load. #jira UE-43807 Change 3410094 on 2017/04/26 by Max.Chen Slate: Enter edit mode and return handled if not read only. Change 3410151 on 2017/04/26 by Michael.Trepka Fix for building EngineTest project on Mac Change 3410930 on 2017/04/27 by Matt.Kuhlenschmidt Expose editor visibility methods on Actor to blueprint/script Change 3411164 on 2017/04/27 by Matt.Kuhlenschmidt Fix crash when repeatedly spaming ctrl+s and ctrl+shift+s to save. PR #3511: UE-44098: Replace check with if-statement (Contributed by projectgheist) Change 3411187 on 2017/04/27 by Jamie.Dale No longer attempt to use the game culture override in the editor Change 3411443 on 2017/04/27 by Alex.Delesky #jira UE-43730, UE-43703 - Material Instances will now correctly use their preview meshes when being edited, or will use their parent's preview mesh if their preview mesh has not been set and the parent's is valid. Change 3411809 on 2017/04/27 by Max.Chen Sequencer: Prioritize buttons over label. #jira UE-26813 Change 3411810 on 2017/04/27 by Cody.Albert Scrollbox now properly calls Invalidate while scrolling Change 3411892 on 2017/04/27 by Alex.Delesky #jira UE-40031 PR #3065: Ignore .vs folder when initializing git projects (Contributed by mattiascibien) Change 3412002 on 2017/04/27 by Jamie.Dale Fixed crash when using an invalid regex pattern #jira UE-44340 Change 3412009 on 2017/04/27 by Cody.Albert Fixed Invalidation Panel to apply scale only to volatile elements, correcting an issue with Cache Relative Positions Change 3412631 on 2017/04/27 by Jamie.Dale Implemented support for hiding empty folders in the Content Browser "Empty" in this case is defined as folders that recursively don't contain assets or classes. Folders that have been created by the user or have at any point contained content during the current editing session are always shown. This also fixes some places where the content filters would miss certain folders (usually due to missing checks when processing AssetRegistry events), and allows asset and path views to be synced to folder selections (as well as asset selections), which improves the experience when renaming folders, and navigating the Content Browser history. #jira UE-40038 Change 3413023 on 2017/04/27 by Max.Chen Sequencer: Fix filtering so that it includes parent nodes only and doesn't recurse through to add their children. Change 3413309 on 2017/04/28 by Jamie.Dale Fixed shadow warning Change 3413327 on 2017/04/28 by Jamie.Dale Added code to sanitize some known strings before passing them to ICU Change 3413486 on 2017/04/28 by Matt.Kuhlenschmidt Allow AssetRenameData to be exposed to blueprints/script Change 3413630 on 2017/04/28 by Jamie.Dale Moved FUnicodeBlockRange into Slate so that it can be used for C++ defined fonts as well as those defined in the font editor Change 3414164 on 2017/04/28 by Jamie.Dale Removing some type-unsafe placement new array additions Change 3414497 on 2017/04/28 by Yannick.Lange ViewportInteraction: - Add arcball sphere asset. - Add opacity parameter to translucent gizmo material. Change 3415021 on 2017/04/28 by Max.Chen Sequencer: Remove spacer nodes at the top and bottom of the node tree. This fixes the artifact of having spaces at the top and bottom which get selected when you click on the space and when you press Home and End to go to the top or bottom of the tree. #jira UE-28931 Change 3415786 on 2017/05/01 by Matt.Kuhlenschmidt #rn PR #3518: Allow PaintedVertices to be sized down (Contributed by jasoncalvert) Change 3415836 on 2017/05/01 by Alex.Delesky #jira UE-39203 - You can now summon the reference viewer from the content browser using the keyboard shortcut. Change 3415837 on 2017/05/01 by Alex.Delesky #jira UE-34947 - When the user attempts to download an IDE from within the editor (due to needing one to add a C++ class), the window that hosts the widget will now close if it's a modal window. Change 3415839 on 2017/05/01 by Alex.Delesky #jira UE-42049 PR #3266: Profiler: added Thread filter (Contributed by StefanoProsperi) Change 3415842 on 2017/05/01 by Michael.Dupuis #jira UE-44514 : Removed the warning as it's causing more issue than it fixes. Change 3416511 on 2017/05/01 by Matt.Kuhlenschmidt Make UHT generate WITH_EDITOR guards around UFunctions generated in a WITH_EDITOR C++ block. This prevents these functions from being generated in non-editor builds Change 3416520 on 2017/05/01 by Yannick.Lange Viewport Interaction: - Toggle ViewportWorldInteraction with command for desktop testing without having to use VREditor. - Add helper function to add a unique extension by subclass. Change 3416956 on 2017/05/01 by Matt.Kuhlenschmidt Exposed EditorLevelUtils to script. This allows creation of streaming levels, setting the current level and moving actors between levels Change 3416964 on 2017/05/01 by Matt.Kuhlenschmidt Prevent foliage from marking actors dirty as HISM components are added and removed from the scene. Change 3416988 on 2017/05/01 by Lauren.Ridge PR #3122: UE-40262: Color tabs according to asset type (Contributed by projectgheist) Changed the highlight style to be around the icon and match the content browser color and style. #jira UE-40437 Change 3418014 on 2017/05/02 by Yannick.Lange Viewport Interaction: Remove material members from base transform gizmo and use asset container to get materials. Change 3418087 on 2017/05/02 by Lauren.Ridge Adding minor tab icon surrounds Change 3418602 on 2017/05/02 by Jamie.Dale Fixed a crash that could occur due to bad data in the asset registry It was possible for FAssetRegistry::PrioritizeSearchPath to re-order the BackgroundAssetResults in response to callback from FAssetRegistry::AssetSearchDataGathered, which caused integrity issues with the array, and would lead to results being missed, or an existing result being processed twice (which due to certain assumptions would result in it being deleted, and bad data being left in the asset registry). These results lists now use a custom type that prevents the mutation of items that have already been processed but not yet trimmed. Change 3418702 on 2017/05/02 by Matt.Kuhlenschmidt Fix USD files that reference other USD files not finding the referenced files by relative path. Requires USD third party changes only Change 3419071 on 2017/05/02 by Arciel.Rekman UBT: optimize FixDeps step on Linux. - Removes the need to re-link unrelated engine libraries when recompiling a code project. - Makes builds faster on machines with multiple cores. - The module that has circularly referenced dependencies is considered cross-referenced itself. - Tested compilation on Linux (native & cross) and Mac (native). Change 3419240 on 2017/05/02 by Cody.Albert Bound widgets in animation tracks can no longer be swapped with widgets from a different widget blueprint, which would lead to a crash Change 3420011 on 2017/05/02 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3420507 on 2017/05/03 by Lauren.Ridge Selecting a camera or other preview actor in VR Mode now creates a floating in-world viewport. Also deselect all Actors when moving into and out of VR Mode Change 3420643 on 2017/05/03 by andrew.porter QAGame - Adding test content to QA-Sequencer for using spawnables with override bindings Change 3420678 on 2017/05/03 by andrew.porter QAGame: Updating override binding sequence Change 3420961 on 2017/05/03 by Jamie.Dale Exposed some missing Internationalization functions to BPs Change 3422767 on 2017/05/04 by Yannick.Lange ViewportInteraction: Extensibility for dragging on gizmo handles Removed ETransformGizmoInteractionType completely and replaced it with UViewportDragOperation. Using the ETransformGizmoInteractionType enum made external extensibility impossible. Now every gizmo handle group has a component called UViewportDragOperationComponent which holds a UViewportDragOperation of a certain type. This UViewportDragOperation can be inherited to create a custom method to calculate a new transform for the objects when dragging the gizmo handle. Change 3422789 on 2017/05/04 by Yannick.Lange ViewportInteraction: Fix duplicate console variable. Change 3422817 on 2017/05/04 by Andrew.Rodham Sequencer: Changed level sequence object references to always use a package and object path based lookup - Newly created binding references now consist of a package name and an inner object path for actors, and just an inner object path for components. The package name is fixed up dynamically for PIE, which means it can work correctly for multiplayer PIE, and when levels are streamed in during PIE (functionality previously unavailable to lazy object ptrs) - Added a way of rebinding all possessable objects in the current sequence (Rebind Possessable References) - Level sequence binding references no longer use native serialization now that TMap serialization is fully supported. - Multiple bindings are now supported in the API layer of level sequence references, although this is not yet exposed to the sequencer UI. #jira UE-44490 Change 3422826 on 2017/05/04 by Andrew.Rodham Removed erroneous braces Change 3422874 on 2017/05/04 by James.Golding Adding MaterialEditingLibrary to allow manipulation of materials within the editor. - Refactored code out of MaterialEditor where possible Marked some material types as BP-accessible, to allow to editor-Blueprint access. Remove unused 'bSkipPrim' property from Set/CheckMaterialUsage Change 3422942 on 2017/05/04 by Lauren.Ridge Tab padding adjustment to allow tabs with icons to be the same height as tabs without Change 3423090 on 2017/05/04 by Jamie.Dale Added a way to get the source package path for a localized package path Added tests for the localized package path checks. Change 3423133 on 2017/05/04 by Jamie.Dale Fixed a bug where a trailing quote without a newline at the end of a CSV file would be added to the parsed text rather than converted to a terminator Change 3423301 on 2017/05/04 by Max.Chen Sequencer: Add JumpToPosition which updates to a position in a scrubbing state. Change 3423344 on 2017/05/04 by Jamie.Dale Updated localized asset group caching so that it works in non-cooked builds Change 3423486 on 2017/05/04 by Lauren.Ridge Fixing deselection code in VWI Change 3423502 on 2017/05/04 by Jamie.Dale Adding automated localization tests Change 3424219 on 2017/05/04 by Yannick.Lange - Hide FWidget when ViewportWorldInteraction starts. - Added option to EditorViewportClient to not render FWidget without using FWidget::SetDefaultVisibility. Change 3425116 on 2017/05/05 by Matt.Kuhlenschmidt PR #3527: Modified comments (Contributed by projectgheist) Change 3425239 on 2017/05/05 by Matt.Kuhlenschmidt Fix shutdown crash in projects that unregister asset tools in UObjects being destroyed at shutdown. Change 3425241 on 2017/05/05 by Max.Chen Sequencer: Components aren't deselected from the sequencer tree view when they get deselected in the viewport/outliner. #jira UE-44559 Change 3425286 on 2017/05/05 by Jamie.Dale Text duplicated as part of a widget archetype now maintains its existing key #jira UE-44715 Change 3425477 on 2017/05/05 by Andrew.Rodham Sequencer: Do not deprecate legacy object references since they still need to be serialized on save - Also re-add identical via equality operator so that serialization works again Change 3425681 on 2017/05/05 by Jamie.Dale Fixed fallback font height/baseline measuring Change 3426137 on 2017/05/05 by Jamie.Dale Removing PPF_Localized It's an old UE3-ism that's no longer tested anywhere Change 3427434 on 2017/05/07 by Yannick.Lange ViewportInteraction: Null check for viewport. Change 3427905 on 2017/05/08 by Matt.Kuhlenschmidt Removed the concept of a global selection annotation. This poses a major problem when more than one selection set is clearing it. If more than one selection set is in a transaction the last one to be serialized will clear and rebuild the annotation thus causing out of sync issues with component and actor selection sets. This change introduces the concept of a per-selection set annotation to avoid being out of sync. Actor and ActorComponent now override IsSelected (editor only) to make use of these selections. #jira UE-44655 Change 3428738 on 2017/05/08 by Matt.Kuhlenschmidt Fix other usage of USelection not having a selection annotation #jira UE-44786 Change 3429562 on 2017/05/08 by Matt.Kuhlenschmidt Fix crash on platforms without a cursor #jira UE-44815 Change 3429862 on 2017/05/08 by tim.gautier QAGame: Enable Include CrashReporter in Project Settings Change 3430385 on 2017/05/09 by Lauren.Ridge Resetting user focus to game viewport after movie finishes playback #jira UE-44785 Change 3430695 on 2017/05/09 by Lauren.Ridge Fix for crash on leaving in the middle of a loading movie #jira UE-44834 Change 3431234 on 2017/05/09 by Matt.Kuhlenschmidt Fixed movie player setting all users to focus which breaks VR controllers [CL 3432852 by Matt Kuhlenschmidt in Main branch]
2017-05-10 11:49:32 -04:00
/** Returns the folder path that the level should use when displayed in the world hierarchy */
virtual FName GetFolderPath() const { return NAME_None; }
/** Sets the folder path that the level should use when displayed in the world hierarchy */
virtual void SetFolderPath(const FName& InFolderPath) {}
/** Returns true if the level model can be added to hierarchy folders */
virtual bool HasFolderSupport() const { return false; }
/** @return Handles drop operation */
virtual void OnDrop(const TSharedPtr<FLevelDragDropOp>& Op);
/** @return Whether it's possible to drop onto this level */
virtual bool IsGoodToDrop(const TSharedPtr<FLevelDragDropOp>& Op) const;
/** Notification when level was added(shown) to world */
virtual void OnLevelAddedToWorld(ULevel* InLevel);
/** Notification when level was removed(hidden) from world */
virtual void OnLevelRemovedFromWorld();
/** Notification on level reparenting */
virtual void OnParentChanged() {};
/** Event when level model has been changed */
void BroadcastLevelChanged();
/*
*
*/
struct FSimulationLevelStatus
{
bool bLoaded;
bool bLoading;
bool bVisible;
};
/** Updates this level simulation status */
void UpdateSimulationStatus(ULevelStreaming* StreamingLevel);
/** Broadcasts whenever level has changed */
FSimpleEvent ChangedEvent;
void BroadcastChangedEvent();
/** Deselects all Actors in this level */
void DeselectAllActors();
/** Deselects all BSP surfaces in this level */
void DeselectAllSurfaces();
/**
* Selects in the Editor all the Actors assigned to the Level, based on the specified conditions.
*
* @param bSelect if true actors will be selected; If false, actors will be deselected
* @param bNotify if true the editor will be notified of the selection change; If false, the editor will not
* @param bSelectEvenIfHidden if true actors that are hidden will be selected; If false, they will be skipped
* @param Filter Only actors which pass the filters restrictions will be selected
*/
void SelectActors(bool bSelect, bool bNotify, bool bSelectEvenIfHidden,
const TSharedPtr<ActorFilter>& Filter = TSharedPtr<ActorFilter>(NULL));
/**
* Set the level to use external actors and convert its actors to external packaging or vice versa
* @param bUseExternal Convert to external if `bUseExternal` is true, convert to internal otherwise
*/
void ConvertLevelToExternalActors(bool bUseExternal);
/**
* Return if the level can be converted to the specified external packaging mode.
* @param bToExternal The packaging mode we want to convert to. (i.e true: external, false: internal)
* @return true if we can convert the level to the `bToExternal` packaging mode.
*/
bool CanConvertLevelToExternalActors(bool bToExternal);
/** Updates cached value of level actors count */
void UpdateLevelActorsCount();
/** Updates cached value of level display name */
void UpdateDisplayName();
/** @return the Level's Lightmass Size as a FString */
FString GetLightmassSizeString() const;
/** @return the Level's File Size as a FString */
FString GetFileSizeString() const;
/** @return Class used for streaming this level */
virtual UClass* GetStreamingClass() const;
protected:
/** Called when the map asset is renamed */
void OnAssetRenamed(const FAssetData& AssetData, const FString& OldObjectPath);
protected:
/** Level model display name */
FString DisplayName;
/** Reference to owning collection model */
FLevelCollectionModel& LevelCollectionModel;
/** The parent level */
TWeakPtr<FLevelModel> Parent;
/** Filtered children of this level */
FLevelModelList FilteredChildren;
/** All children of this level */
FLevelModelList AllChildren;
// Level simulation status
FSimulationLevelStatus SimulationStatus;
// Whether this level model is selected
bool bSelected;
// Whether this level model is expended in hierarchy view
bool bExpanded;
// Whether this level model is in a process of loading content
bool bLoadingLevel;
// Whether this level model does not pass filters
bool bFilteredOut;
// Current translation delta
FVector2D LevelTranslationDelta;
// Cached level actors count
int32 LevelActorsCount;
};