2019-12-26 15:32:37 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/*=============================================================================
|
|
|
|
|
ScriptDisassembler.h: Disassembler for Kismet bytecode.
|
|
|
|
|
=============================================================================*/
|
|
|
|
|
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3229490 on 2016/12/09 by Cody.Albert
Integrated fix to support named changelists in SVN
Change 3229574 on 2016/12/09 by Simon.Tourangeau
Fix actor mobility getting changed on scene reimport
#jira UE-39102
Change 3229692 on 2016/12/09 by Cody.Albert
Fixing an XML Parser assert when parsing a root tag that completes on the same line.
#jira UE-30393
Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt
PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut)
Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt
Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load.
Change 3231475 on 2016/12/12 by Alex.Delesky
#jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100.
Change 3231476 on 2016/12/12 by Alex.Delesky
#jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once.
Change 3231477 on 2016/12/12 by Alex.Delesky
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3231479 on 2016/12/12 by Alex.Delesky
#jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown.
Change 3231480 on 2016/12/12 by Alex.Delesky
#jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file
Change 3231508 on 2016/12/12 by Alex.Delesky
Removing todo comment
#jira none
Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt
Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes
Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates
Change 3231618 on 2016/12/12 by Alex.Delesky
#jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value.
Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt
Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default
Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt
Brighten up the output log by default
Change 3231648 on 2016/12/12 by Alex.Delesky
#jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot.
Change 3231666 on 2016/12/12 by Alex.Delesky
#jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets.
Change 3231674 on 2016/12/12 by Alex.Delesky
#jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch.
Change 3231745 on 2016/12/12 by Alex.Delesky
Back out changelist 3231477 to fix build error C2259
Change 3232417 on 2016/12/13 by Simon.Tourangeau
Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event
- FBX Version
- Filename Hash
- Import Type
#jira UE-37453
Change 3232477 on 2016/12/13 by Michael.Dupuis
#jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side.
Change 3232571 on 2016/12/13 by Alex.Delesky
Back out changelist 3231745
#jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection.
Change 3232675 on 2016/12/13 by Alexis.Matte
Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue.
#jira UE-39692
Change 3232975 on 2016/12/13 by Alex.Delesky
Fix to build error C2259 for the IPluginWizardDefinition API change.
Change 3233146 on 2016/12/13 by Michael.Dupuis
#jira UE-38766 : Added eye dropper to select flatten height
Fixed a rounding errors resulting in not flattening to the specified height
Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value
Change 3233153 on 2016/12/13 by Alexis.Matte
We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array
#jira UE-38827
Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt
Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices.
#jira UE-7388
Change 3234485 on 2016/12/14 by Michael.Dupuis
tentative build fix for Mac
Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt
Made a setting to control if PIE enter and exit sounds are played. Off by default
Change 3236709 on 2016/12/15 by Simon.Tourangeau
Fix camera export rotation offset
#jira UE-34692
#jira UE-39740
Change 3236782 on 2016/12/15 by Jamie.Dale
Fixed EmitTermExpr failing to use the correct package ID
FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null.
Change 3236853 on 2016/12/15 by Alexis.Matte
Fix the serialization of the staticmesh property FMeshSectionInfoMap
Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt
Remove old define
Change 3239328 on 2016/12/18 by Richard.TalbotWatkin
Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition.
#jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport
Change 3239660 on 2016/12/19 by Alex.Delesky
#jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component.
Change 3239662 on 2016/12/19 by Alex.Delesky
#jira UE-39007 - The data table row editor now contains a Reset to Default control.
Change 3239663 on 2016/12/19 by Alex.Delesky
#jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog.
Change 3240696 on 2016/12/20 by Michael.Dupuis
#jira UETOOL-1009:
Added paddiing to columns view
Added auto resize of column when double clicking on splitter handle in the header
Remove right number alignment after discussion with Matt K.
Change 3240758 on 2016/12/20 by Michael.Dupuis
added missing non abstract implementation
Change 3240782 on 2016/12/20 by Michael.Dupuis
Added missing documentation for content browser column auto resizing
Change 3240817 on 2016/12/20 by Alex.Delesky
#jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab.
Change 3240834 on 2016/12/20 by Michael.Dupuis
tentative fix for build error
Change 3240984 on 2016/12/20 by Michael.Dupuis
Removed unnecessary functions
Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt
Fix compile errors
Change 3241966 on 2016/12/21 by Chris.Wood
Fixed Typo and changed execution order in "ComboBoxString" Component
[UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component
PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi)
#github https://github.com/EpicGames/UnrealEngine/pull/2971
Change 3242126 on 2016/12/21 by Alexis.Matte
Back out changelist 3236853
We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h.
Change 3244492 on 2017/01/02 by Jamie.Dale
Improved error message
Change 3244545 on 2017/01/02 by Nick.Darnell
Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded.
Change 3244549 on 2017/01/02 by Nick.Darnell
Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely.
The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors.
Now users through C++ can load and replace the hardware cursors with custom ones of their own,
e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0))));
The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources.
Change 3244845 on 2017/01/03 by Jamie.Dale
Fixing typo
#jira UE-39920
Change 3244903 on 2017/01/03 by Jamie.Dale
PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift)
Change 3245125 on 2017/01/03 by Alexis.Matte
Put back the dev-editor version because there was some data create before we back it out
Change 3246106 on 2017/01/04 by Chris.Wood
Removed broken CrashReportReciever pre-upload phase from CrashReportClient.
[UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever
Change 3246251 on 2017/01/04 by Alex.Delesky
#jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location.
Change 3246252 on 2017/01/04 by Alex.Delesky
#jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import.
The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point.
Change 3247620 on 2017/01/05 by Nick.Darnell
Automation - Removing an adjustment to the number of shots we take for high res shots.
Change 3247621 on 2017/01/05 by Nick.Darnell
Automation - Adding a few more rendering tests to the cornell box.
Change 3247629 on 2017/01/05 by Nick.Darnell
Automation - Improving the comparison row display for screenshots so it's obvious what each image represents.
Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt
PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist)
Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt
Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first
Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt
Fixed automation test warnings
#jira UE-40198
Change 3249481 on 2017/01/06 by Michael.Dupuis
#jira UE-37875 : Fill empty layers of components on assignation or creation
Also fill new component added with the tool from neighbours predominance
Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt
PR #3093: Include guard cleanup (Contributed by projectgheist)
Change 3249544 on 2017/01/06 by Michael.Dupuis
#jira UE-40299: validate if UISettings is valid
Change 3250738 on 2017/01/09 by Nick.Darnell
UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget.
#jira UE-39845
Change 3250865 on 2017/01/09 by Nick.Darnell
Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums.
Change 3250867 on 2017/01/09 by Nick.Darnell
Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size.
Change 3250936 on 2017/01/09 by Nick.Darnell
Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch.
Change 3250937 on 2017/01/09 by Nick.Darnell
Automation - Adding another example to the CornellBox test.
Change 3250958 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251162 on 2017/01/09 by Nick.Darnell
Slate - Fixing some other cases where people were referring to ESizingRule::Type.
Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt
Attempt to fix static analysis warnings
Change 3251373 on 2017/01/09 by Nick.Darnell
Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order.
Change 3251525 on 2017/01/09 by Nick.Darnell
Automation - Fixing a build issue in ImageComparer.
Change 3252321 on 2017/01/10 by Alex.Delesky
#jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections.
Change 3252354 on 2017/01/10 by Nick.Darnell
Image Compare - Fixing a potential threading hazard in the image comparer.
Change 3252356 on 2017/01/10 by Nick.Darnell
Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata.
Change 3252601 on 2017/01/10 by Alexis.Matte
Fbx automation test, reload feature implementation
Change 3252761 on 2017/01/10 by Jamie.Dale
Fixing some IWYU errors with PCH disabled
Change 3252765 on 2017/01/10 by Jamie.Dale
Fixing some static analysis warnings
Change 3252793 on 2017/01/10 by Jamie.Dale
Fixing FText natvis
The text data visualizers have to be defined before the text visualizer
Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt
PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts)
Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt
Refactor scene importing to allow for plugins to make scene importers
Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt
Fix calling LoadModule in perforce source control off the main thread
Change 3256472 on 2017/01/12 by Jamie.Dale
Improved error reporting from IncludeTool
- The error reporting was using zero-based line indices which was misleading.
- The error reporting now includes the offending line to remove ambiguity.
Change 3256725 on 2017/01/13 by Jamie.Dale
IncludeTool can now parse typedef in Fwd headers
Change 3256758 on 2017/01/13 by Jamie.Dale
Added support for String Tables
String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text.
String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo.
Change 3257018 on 2017/01/13 by Alexis.Matte
FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag
Change 3257168 on 2017/01/13 by Jamie.Dale
Removed code that was writing null into bytecode during save
Change 3257344 on 2017/01/13 by Jamie.Dale
Backing out changelist 3256725, and excluding my header from the scan instead
Change 3257426 on 2017/01/13 by Nick.Darnell
Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha.
Change 3257572 on 2017/01/13 by Nick.Darnell
Slate - Fixing a build error.
Change 3257970 on 2017/01/14 by Jamie.Dale
Fixing exclude path
Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin)
Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3126: Fix to load editor style assets (Contributed by projectgheist)
Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt
PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88)
Change 3258539 on 2017/01/16 by Nick.Darnell
Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping.
Change 3258607 on 2017/01/16 by Nick.Darnell
Fixing the mac build.
Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt
Actors with experimental components no longer say
"Uses experimental class: Actor" when selecting the actor root in the details panel
#jira UE-40535
Change 3258678 on 2017/01/16 by Nick.Darnell
Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown.
Change 3258924 on 2017/01/16 by Nick.Darnell
Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups.
Change 3258929 on 2017/01/16 by Nick.Darnell
UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed.
Change 3259109 on 2017/01/16 by Nick.Darnell
Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype.
Change 3259111 on 2017/01/16 by Alexis.Matte
Avoid to move the camera when we re-import in the static mesh editor
#jira UE-40613
Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt
Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget
Change 3259300 on 2017/01/16 by Nick.Darnell
UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer.
Change 3259306 on 2017/01/16 by Nick.Darnell
Games - Removing the Game Specific implementations of PreConstruct.
Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt
Fix static analysis
Change 3261049 on 2017/01/17 by Nick.Darnell
Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird.
Change 3261434 on 2017/01/17 by Nick.Darnell
Fixing the mac build.
Change 3261435 on 2017/01/17 by Nick.Darnell
Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously.
Change 3261460 on 2017/01/17 by Nick.Darnell
UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code.
Change 3261833 on 2017/01/18 by Alexis.Matte
Fix all warning for fbx automation tests
#jira UE-40208
Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt
PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts)
Change 3262000 on 2017/01/18 by Jamie.Dale
Updated Slate to allocate widgets using MakeShared
This saves one allocation per-widget
Change 3262003 on 2017/01/18 by Nick.Darnell
UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing.
#jira UE-40523
Change 3262052 on 2017/01/18 by Alexis.Matte
Put back the staticmesh skinxx workflow
#jira UE-40782
Change 3262775 on 2017/01/18 by Nick.Darnell
Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU.
Change 3262818 on 2017/01/18 by Alex.Delesky
#jira UE-40668 - Editor preferences will now save for data pin styles
Change 3263679 on 2017/01/19 by Nick.Darnell
Slate - Adding some comments to the Slate Vertex Rounder.
Change 3265154 on 2017/01/19 by Nick.Darnell
Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way.
Change 3265478 on 2017/01/20 by Chris.Wood
Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog
[UE-40838] - Make hang time configurable and increase default in UnrealWatchdog
Change 3265600 on 2017/01/20 by Nick.Darnell
Slate - Making some const local variables const.
Change 3265714 on 2017/01/20 by Alex.Delesky
#jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon.
Change 3265865 on 2017/01/20 by Alex.Delesky
#jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel.
Change 3267989 on 2017/01/23 by Jamie.Dale
Exposed String Tables to Blueprints
Change 3268018 on 2017/01/23 by Jamie.Dale
Small API clean-up for string tables
Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt
Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level
#jira UE-40930
Change 3269388 on 2017/01/24 by Chris.Wood
Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close.
[UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users
Standalone tool code only - doesn't touch engine
Change 3270205 on 2017/01/24 by Cody.Albert
Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object.
Change 3270231 on 2017/01/24 by Cody.Albert
Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters
Change 3271734 on 2017/01/25 by Michael.Dupuis
#jira UE-38631
Add sorting for landscape target layer, user can now sort alphabetical, material based or custom
Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot
Fixed SDropTarget to only consider the drop action if it was started by it
Added visibility toggle to only show used layers in the currently loaded data
Change 3271797 on 2017/01/25 by Jamie.Dale
Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense
Change 3271813 on 2017/01/25 by Jamie.Dale
Fixed bad access of a shared this during widget destruction when a context menu was open
Change 3271988 on 2017/01/25 by Nick.Darnell
Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days.
Change 3271992 on 2017/01/25 by Nick.Darnell
Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property.
Change 3272134 on 2017/01/25 by Jamie.Dale
Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs
This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text).
Change 3272301 on 2017/01/25 by Nick.Darnell
Slate - More cleanup from the removal of a old legacy enum that people were still using.
Change 3273070 on 2017/01/26 by Chris.Wood
Fix CIS errors in landscape code from CL 3271734
Change 3273123 on 2017/01/26 by Chris.Wood
Fix crash during init of CRC when running packaged without access to main engine config hierarchy.
Change 3273194 on 2017/01/26 by Nick.Darnell
Fixing some build warnings.
Change 3273242 on 2017/01/26 by Michael.Dupuis
#jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels
Change 3273279 on 2017/01/26 by Jamie.Dale
String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine")
Change 3273483 on 2017/01/26 by Alex.Delesky
#jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce.
Also makes a slight change to the ResavePackages commandlet to submit files marked for delete.
Change 3273568 on 2017/01/26 by Alex.Delesky
Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template.
#jira none
Change 3273855 on 2017/01/26 by Alex.Delesky
#jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode.
Change 3274200 on 2017/01/26 by Alex.Delesky
For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods.
Change 3274317 on 2017/01/26 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3275072 on 2017/01/27 by Michael.Dupuis
#jira UE-38631 tweaks
Fix typo error
Iterate all components, not only active one
Force expand the Target Layers widget
Change 3275249 on 2017/01/27 by Alexis.Matte
Color grading controls: Keep the vector ratio when changing the master slider
#jira UETOOL-1098
Change 3275282 on 2017/01/27 by Alexis.Matte
Color grading controls: Cosmetic changes
#jira UETOOL-1099
Change 3275292 on 2017/01/27 by Alexis.Matte
Make sure the build is called once when we import a staticmesh.
#jira UE-40947
Change 3275430 on 2017/01/27 by Alexis.Matte
Add some fbx automation tests
- Import a mesh with no material
- Import corrupted asset with no section in a LOD
- Import morph targets
- Materials name clash
- Max Multimap material ordering
Change 3275683 on 2017/01/27 by Michael.Dupuis
#jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo
Change 3276237 on 2017/01/27 by Jamie.Dale
Deleting a seemingly corrupted asset that was accidentially submitted
Change 3276266 on 2017/01/27 by Jamie.Dale
Fix for accessing a potentially null pointer
Change 3277065 on 2017/01/30 by Chris.Wood
Move crash report temp files to saved config and cleanup on schedule.
[UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor
Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt
Fix crash when cancelling SaveCurrentLevelAs
#jira UE-41182
Change 3277409 on 2017/01/30 by Jamie.Dale
Improved text rendering when the last resort font is missing
The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing.
- The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings).
- The Slate font renderer no longer tries to use the last resort font if it's not available.
- Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing).
- HarfBuzz shaped text now uses the fallback character correctly.
Change 3277749 on 2017/01/30 by Nick.Darnell
Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value.
Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes.
Change 3277805 on 2017/01/30 by Nick.Darnell
Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make.
Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt
Fix Niagara slate style warning on startup
Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile error
Change 3278132 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt
Fixed compile errors
Change 3278186 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278525 on 2017/01/30 by Nick.Darnell
Fixed compile error
Change 3278534 on 2017/01/30 by Nick.Darnell
Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration.
Change 3278941 on 2017/01/31 by Nick.Darnell
Fixing a build warning due to build team refactor.
Change 3278949 on 2017/01/31 by Nick.Darnell
Fixing incrmenetal build issues.
Change 3278953 on 2017/01/31 by Nick.Darnell
Fixing some incrmental linux build issues.
Change 3278964 on 2017/01/31 by Nick.Darnell
FIxing more incremental build issues.
Change 3279256 on 2017/01/31 by Michael.Dupuis
#jira UE-41319
#jira UE-41315
#jira UE-41316
Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor
Change 3279270 on 2017/01/31 by Chad.Garyet
re-updating the automation test pool
[CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
|
|
|
#pragma once
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2022-07-20 12:03:45 -04:00
|
|
|
#include "Containers/Array.h"
|
|
|
|
|
#include "Containers/UnrealString.h"
|
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"
|
2022-07-20 12:03:45 -04:00
|
|
|
#include "Math/Quat.h"
|
|
|
|
|
#include "Math/Rotator.h"
|
|
|
|
|
#include "Math/Transform.h"
|
|
|
|
|
#include "Math/UnrealMathSSE.h"
|
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 "UObject/Script.h"
|
|
|
|
|
|
2022-07-20 12:03:45 -04:00
|
|
|
class FOutputDevice;
|
|
|
|
|
class UFunction;
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
/**
|
|
|
|
|
* Kismet bytecode disassembler; Can be used to create a human readable version
|
|
|
|
|
* of Kismet bytecode for a specified structure or class.
|
|
|
|
|
*/
|
|
|
|
|
class FKismetBytecodeDisassembler
|
|
|
|
|
{
|
|
|
|
|
private:
|
|
|
|
|
TArray<uint8> Script;
|
|
|
|
|
FString Indents;
|
|
|
|
|
FOutputDevice& Ar;
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* Construct a disassembler that will output to the specified archive.
|
|
|
|
|
*
|
|
|
|
|
* @param InAr The archive to emit disassembled bytecode to.
|
|
|
|
|
*/
|
2019-09-19 10:57:39 -04:00
|
|
|
SCRIPTDISASSEMBLER_API FKismetBytecodeDisassembler(FOutputDevice& InAr);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Disassemble all of the script code in a single structure.
|
|
|
|
|
*
|
|
|
|
|
* @param [in,out] Source The structure to disassemble.
|
|
|
|
|
*/
|
2019-09-19 10:57:39 -04:00
|
|
|
SCRIPTDISASSEMBLER_API void DisassembleStructure(UFunction* Source);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Disassemble all functions in any classes that have matching names.
|
|
|
|
|
*
|
|
|
|
|
* @param InAr The archive to emit disassembled bytecode to.
|
|
|
|
|
* @param ClassnameSubstring A class must contain this substring to be disassembled.
|
|
|
|
|
*/
|
2019-09-19 10:57:39 -04:00
|
|
|
SCRIPTDISASSEMBLER_API static void DisassembleAllFunctionsInClasses(FOutputDevice& Ar, const FString& ClassnameSubstring);
|
2014-03-14 14:13:41 -04:00
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
// Reading functions
|
|
|
|
|
int32 ReadINT(int32& ScriptIndex);
|
|
|
|
|
uint64 ReadQWORD(int32& ScriptIndex);
|
|
|
|
|
uint8 ReadBYTE(int32& ScriptIndex);
|
|
|
|
|
FString ReadName(int32& ScriptIndex);
|
|
|
|
|
uint16 ReadWORD(int32& ScriptIndex);
|
|
|
|
|
float ReadFLOAT(int32& ScriptIndex);
|
2020-06-08 19:02:07 -04:00
|
|
|
double ReadDOUBLE(int32& ScriptIndex);
|
2021-05-05 15:07:25 -04:00
|
|
|
FVector ReadFVECTOR(int32& ScriptIndex);
|
2022-03-30 13:17:01 -04:00
|
|
|
FRotator ReadFROTATOR(int32& ScriptIndex);
|
|
|
|
|
FQuat ReadFQUAT(int32& ScriptIndex);
|
|
|
|
|
FTransform ReadFTRANSFORM(int32& ScriptIndex);
|
2014-03-14 14:13:41 -04:00
|
|
|
CodeSkipSizeType ReadSkipCount(int32& ScriptIndex);
|
Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2888098 on 3/1/2016 by Nick.Darnell
Adding back the SetWidgetToFocusOnActivate call and deprecating it. Will need to also do this in 4.11.
#lockdown Nick.Penwarden
Change 2851669 on 2016/02/01 by Alexis.Matte
#jira UE-25928
Skeletal mesh import now support _skinXX that are not sequential.
Static mesh was already supporting non sequential _skinxx ordering
#codereview nick.darnell
Change 2851672 on 2016/02/01 by Alexis.Matte
#jira UE-25971
The proxy camera mesh is now properly reset to zero
#codereview nick.darnell
Change 2851675 on 2016/02/01 by Alexis.Matte
#jira UE-25525
Update the tooltips
#codereview nick.darnell
Change 2851764 on 2016/02/01 by Alexis.Matte
#jira UE-25595
The fbx plus and minus icons are now brighter
#codereview nick.darnell
Change 2852116 on 2016/02/01 by Bob.Tellez
#UE4 Submitting pull request 2013 from GitHub (Pull request 2013). Thanks for the fix hoelzl!
Fix file selection when reimporting curve from moved CSV file
When reimporting a data curve after moving the CSV file from which it was generated, the file selection dialog does not present an option to select CVS files. This patch fixes the issue by assigning the correct 'SupportedClass' value for `UReimportCurveFactory` instances.
#codereview Nick.Darnell
#JIRA UE-26247
#2013
Change 2852375 on 2016/02/02 by Richard.TalbotWatkin
Spline component improvements: added facility to not restore component instance cache after the construction script has run, so the points can act as inputs to the construction script. Created a new property bInputSplinePointsToConstructionScript for that. Added SetUpVectorAtSplinePoint, and corrected some bugs.
#jira UE-24931 - Set Location at Spline Point doesn't do anything
Change 2852726 on 2016/02/02 by Richard.TalbotWatkin
Fixed FPropertyChangedEvent::GetArrayIndex when called from PostEditChangeProperty.
#jira UE-25316 - PropertyChangedEvent.GetArrayIndex broken
#codereview Robert.Manuszewski
Change 2853152 on 2016/02/02 by Jamie.Dale
Fixed multi-line editable texts not updating their font when changed in UMG
Also made all the SetStyle functions use the default if they're passed null (to match SEditableTextBox), and tidied up some of the property panel layout when editing styles.
#codereview Chris.Wood
Change 2853220 on 2016/02/02 by Alexis.Matte
#jira UE-26303
We now apply the scene option transform to the vertex of meshes instead of the root node of the scene. This allow re-alignment of the mesh to go with animation.
#codereview nick.darnell
Change 2853282 on 2016/02/02 by Alexis.Matte
Back out changelist 2853220
Change 2854211 on 2016/02/03 by Nick.Darnell
Widget Reflector - Limit the minimum scale that can be applied to something more reasonable 50%, instead of 10%.
Change 2854216 on 2016/02/03 by Nick.Darnell
Scene Viewport - The scene viewport handles application scale better now, allowing click locations to be interepreted correctly and transformed into pixel hit location, rather than local space widget location, which may not match.
Change 2854220 on 2016/02/03 by Nick.Darnell
Slate - Allowing mousewheel or gesture to be routed directly for a widget path like has been done for other mouse events, this permits more kinds of mouse like actions in a VR environment onto widgets in the scene. (not actually hooked up to do it, but this now permits it at the slate level to be done correctly).
Change 2854449 on 2016/02/03 by Alexis.Matte
-Fix the fbx import options, for the scene transform value that was not apply correctly
-Add an inspector on the scene import option in the reimport dialog
Change 2855659 on 2016/02/04 by Alexis.Matte
-Fix the bake pivot when there is a hierarchy, we now accumulate the pivot effect in the hierarchy to place the object at the correct place.
#codereview nick.darnell
Change 2855922 on 2016/02/04 by Alexis.Matte
#jira UE-26303
The animation is now align with the imported skeletal mesh, the bakepivot is also supported
#codereview nick.darnell
Change 2856989 on 2016/02/05 by Jamie.Dale
Some improvements to the source code loc gatherer
* We now strip any comments out of any pre-processor tokens before we start handling them.
* Fixed a case where "#if defined" and "#elif defined" would parse incorrectly.
* Fixed a case where "#define LOCTEXT_NAMESPACE" and "#define LOC_DEFINE_REGION" may not be paired correctly with their corresponding "#undef".
[CL 2888106 by Nick Darnell in Main branch]
2016-03-01 15:17:24 -05:00
|
|
|
FString ReadString(int32& ScriptIndex);
|
2014-03-14 14:13:41 -04:00
|
|
|
FString ReadString8(int32& ScriptIndex);
|
|
|
|
|
FString ReadString16(int32& ScriptIndex);
|
|
|
|
|
|
|
|
|
|
EExprToken SerializeExpr(int32& ScriptIndex);
|
|
|
|
|
void ProcessCommon(int32& ScriptIndex, EExprToken Opcode);
|
|
|
|
|
|
|
|
|
|
void InitTables();
|
|
|
|
|
|
|
|
|
|
template<typename T>
|
|
|
|
|
void Skip(int32& ScriptIndex)
|
|
|
|
|
{
|
|
|
|
|
ScriptIndex += sizeof(T);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AddIndent()
|
|
|
|
|
{
|
|
|
|
|
Indents += TEXT(" ");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DropIndent()
|
|
|
|
|
{
|
|
|
|
|
// Blah, this is awful
|
2019-11-19 13:27:07 -05:00
|
|
|
Indents.LeftInline(Indents.Len() - 2);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
|
T* ReadPointer(int32& ScriptIndex)
|
|
|
|
|
{
|
|
|
|
|
return (T*)ReadQWORD(ScriptIndex);
|
|
|
|
|
}
|
|
|
|
|
};
|